summaryrefslogtreecommitdiff
path: root/rust/crates/gpu/src
diff options
context:
space:
mode:
Diffstat (limited to 'rust/crates/gpu/src')
-rw-r--r--rust/crates/gpu/src/context.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/rust/crates/gpu/src/context.rs b/rust/crates/gpu/src/context.rs
index da835280..353d54da 100644
--- a/rust/crates/gpu/src/context.rs
+++ b/rust/crates/gpu/src/context.rs
@@ -604,6 +604,10 @@ impl GpuContext {
width: u32,
height: u32,
) -> Result<(), GpuError> {
+ let previous_size = self
+ .gl_canvas
+ .as_ref()
+ .map(|gl_canvas| (gl_canvas.width(), gl_canvas.height()));
let gl_canvas = self.render_texture_to_gl_canvas_surface(texture, width, height)?;
let ctx: web_sys::OffscreenCanvasRenderingContext2d = canvas
@@ -616,6 +620,11 @@ impl GpuContext {
ctx.draw_image_with_html_canvas_element(gl_canvas, 0.0, 0.0)
.map_err(|_| GpuError::AdapterUnavailable)?;
+ if let Some((previous_width, previous_height)) = previous_size {
+ gl_canvas.set_width(previous_width);
+ gl_canvas.set_height(previous_height);
+ }
+
Ok(())
}