summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-09-20 19:03:00 +0200
committerLibravatar GitHub <noreply@github.com>2022-09-20 19:03:00 +0200
commita22cdc9aa5f2c7a6ec96f805ac8928ceb6933b75 (patch)
tree0e52f00c9d62c3f2ace1f27d9ed496edbfd72a5d
parentcbe7200b54d8233723b6f9db84441f43195c3347 (diff)
parent1bfd032169f3f297c7d7fa0938991ad122d93429 (diff)
downloadiced-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.rs14
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;
}