diff options
-rw-r--r-- | native/src/window/action.rs | 2 | ||||
-rw-r--r-- | winit/src/application/state.rs | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/native/src/window/action.rs b/native/src/window/action.rs index d891c6ac..73338e22 100644 --- a/native/src/window/action.rs +++ b/native/src/window/action.rs @@ -13,6 +13,8 @@ pub enum Action<T> { height: u32, }, /// Move the window. + /// + /// Unsupported on Wayland. Move { /// The new logical x location of the window x: i32, diff --git a/winit/src/application/state.rs b/winit/src/application/state.rs index 5e953cb5..9c539548 100644 --- a/winit/src/application/state.rs +++ b/winit/src/application/state.rs @@ -190,16 +190,20 @@ where self.title = new_title; } - // Update scale factor + // Update scale factor and size let new_scale_factor = application.scale_factor(); + let new_size = window.inner_size(); + let current_size = self.viewport.physical_size(); - if self.scale_factor != new_scale_factor { - let size = window.inner_size(); - + if self.scale_factor != new_scale_factor + || (current_size.width, current_size.height) + != (new_size.width, new_size.height) + { self.viewport = Viewport::with_physical_size( - Size::new(size.width, size.height), + Size::new(new_size.width, new_size.height), window.scale_factor() * new_scale_factor, ); + self.viewport_version = self.viewport_version.wrapping_add(1); self.scale_factor = new_scale_factor; } |