mirror of
https://github.com/danbulant/appit
synced 2026-06-16 04:41:17 +00:00
Requerying the inner window for the new size
This commit is contained in:
parent
0503b3d466
commit
665107f59b
1 changed files with 1 additions and 23 deletions
|
|
@ -475,26 +475,10 @@ where
|
|||
behavior.occlusion_changed(self);
|
||||
}
|
||||
WindowEvent::ScaleFactorChanged { scale_factor } => {
|
||||
let factor_changed = scale_factor - self.scale;
|
||||
let new_inner_size = if factor_changed.abs() >= f64::EPSILON {
|
||||
// TODO use the suggested size from the writer <https://github.com/rust-windowing/winit/issues/3080>
|
||||
PhysicalSize {
|
||||
width: self.inner_size.width
|
||||
+ lossy_f64_to_u32(
|
||||
((f64::from(self.inner_size.width)) * factor_changed).round(),
|
||||
),
|
||||
height: self.inner_size.height
|
||||
+ lossy_f64_to_u32(
|
||||
(f64::from(self.inner_size.height) * factor_changed).round(),
|
||||
),
|
||||
}
|
||||
} else {
|
||||
self.inner_size
|
||||
};
|
||||
// Ensure both values are updated before any behavior
|
||||
// callbacks are invoked.
|
||||
self.scale = scale_factor;
|
||||
// TODO not sure how to implement now
|
||||
let new_inner_size = self.window.inner_size();
|
||||
let inner_size_changed = self.inner_size != new_inner_size;
|
||||
self.inner_size = new_inner_size;
|
||||
behavior.scale_factor_changed(self);
|
||||
|
|
@ -662,12 +646,6 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
/// Performs `f64 as u32` but avoids clippy's lints.
|
||||
#[allow(clippy::cast_possible_truncation, clippy::cast_sign_loss)]
|
||||
fn lossy_f64_to_u32(value: f64) -> u32 {
|
||||
value as u32
|
||||
}
|
||||
|
||||
impl<AppMessage> Application<AppMessage> for RunningWindow<AppMessage>
|
||||
where
|
||||
AppMessage: Message,
|
||||
|
|
|
|||
Loading…
Reference in a new issue