From 51b0411026dc9339b860df27df996ffac320a687 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Tue, 17 Mar 2026 20:48:41 -0400 Subject: [PATCH] fix(viewport): must use logical size when scale changes --- winit/src/window/state.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/winit/src/window/state.rs b/winit/src/window/state.rs index 24614566..9f286dbd 100644 --- a/winit/src/window/state.rs +++ b/winit/src/window/state.rs @@ -151,9 +151,9 @@ where /// Update the scale factor pub(crate) fn update_scale_factor(&mut self, new_scale_factor: f64) { - let size = self.viewport.physical_size(); + let size = self.viewport.logical_size(); - self.viewport = Viewport::with_physical_size( + self.viewport = Viewport::with_logical_size( size, new_scale_factor * self.scale_factor, ); @@ -243,8 +243,8 @@ where if new_size.height == 0 { new_size.height = current_size.height; } - self.viewport = Viewport::with_physical_size( - self.viewport.physical_size(), + self.viewport = Viewport::with_logical_size( + self.viewport.logical_size(), window.scale_factor() * new_scale_factor, );