Merge pull request #1437 from wash2/window_size_sync

fix: sync size of window and viewport
This commit is contained in:
Héctor Ramón 2022-09-20 19:03:00 +02:00 committed by GitHub
commit a22cdc9aa5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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;
}