mirror of
https://github.com/danbulant/appit
synced 2026-07-04 02:20:49 +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);
|
behavior.occlusion_changed(self);
|
||||||
}
|
}
|
||||||
WindowEvent::ScaleFactorChanged { scale_factor } => {
|
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
|
// Ensure both values are updated before any behavior
|
||||||
// callbacks are invoked.
|
// callbacks are invoked.
|
||||||
self.scale = scale_factor;
|
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;
|
let inner_size_changed = self.inner_size != new_inner_size;
|
||||||
self.inner_size = new_inner_size;
|
self.inner_size = new_inner_size;
|
||||||
behavior.scale_factor_changed(self);
|
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>
|
impl<AppMessage> Application<AppMessage> for RunningWindow<AppMessage>
|
||||||
where
|
where
|
||||||
AppMessage: Message,
|
AppMessage: Message,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue