From 4a9f6ea04e9df80e507bbc3f4734efa428d5d00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bel=C3=A9n=20Albeza?= Date: Wed, 18 Jun 2025 17:13:06 +0200 Subject: [PATCH] :bug: Fix panning and scroll when dpr > 1 (render wasm) --- render-wasm/src/render.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs index 135225c1a3..a72ad6c6d0 100644 --- a/render-wasm/src/render.rs +++ b/render-wasm/src/render.rs @@ -605,10 +605,7 @@ impl RenderState { // Scale and translate the target according to the cached data let navigate_zoom = self.viewbox.zoom / self.cached_viewbox.zoom; - canvas.scale(( - navigate_zoom * self.options.dpr(), - navigate_zoom * self.options.dpr(), - )); + canvas.scale((navigate_zoom, navigate_zoom)); let TileRect(start_tile_x, start_tile_y, _, _) = tiles::get_tiles_for_viewbox_with_interest( @@ -616,8 +613,8 @@ impl RenderState { VIEWPORT_INTEREST_AREA_THRESHOLD, scale, ); - let offset_x = self.viewbox.area.left * self.cached_viewbox.zoom; - let offset_y = self.viewbox.area.top * self.cached_viewbox.zoom; + let offset_x = self.viewbox.area.left * self.cached_viewbox.zoom * self.options.dpr(); + let offset_y = self.viewbox.area.top * self.cached_viewbox.zoom * self.options.dpr(); canvas.translate(( (start_tile_x as f32 * tiles::TILE_SIZE) - offset_x,