diff options
| author | 2022-09-20 19:03:00 +0200 | |
|---|---|---|
| committer | 2022-09-20 19:03:00 +0200 | |
| commit | a22cdc9aa5f2c7a6ec96f805ac8928ceb6933b75 (patch) | |
| tree | 0e52f00c9d62c3f2ace1f27d9ed496edbfd72a5d /winit | |
| parent | cbe7200b54d8233723b6f9db84441f43195c3347 (diff) | |
| parent | 1bfd032169f3f297c7d7fa0938991ad122d93429 (diff) | |
| download | iced-a22cdc9aa5f2c7a6ec96f805ac8928ceb6933b75.tar.gz iced-a22cdc9aa5f2c7a6ec96f805ac8928ceb6933b75.tar.bz2 iced-a22cdc9aa5f2c7a6ec96f805ac8928ceb6933b75.zip | |
Merge pull request #1437 from wash2/window_size_sync
fix: sync size of window and viewport
Diffstat (limited to '')
| -rw-r--r-- | winit/src/application/state.rs | 14 | 
1 files changed, 9 insertions, 5 deletions
| 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;          } | 
