summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-16 18:18:36 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-16 18:18:36 +0200
commit4030326a352c365a282980aa2a37d549f4b659ae (patch)
treea50a3f78aa4fb9f10ecf043d2061495195338b51 /winit
parentda5da3958e3b7fe85e371846a795c4ae05cb2df7 (diff)
downloadiced-4030326a352c365a282980aa2a37d549f4b659ae.tar.gz
iced-4030326a352c365a282980aa2a37d549f4b659ae.tar.bz2
iced-4030326a352c365a282980aa2a37d549f4b659ae.zip
Handle `ScaleFactorChanged` in `iced_winit`
Diffstat (limited to 'winit')
-rw-r--r--winit/src/application.rs12
-rw-r--r--winit/src/conversion.rs8
2 files changed, 20 insertions, 0 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs
index 5b93c8af..1fa282a1 100644
--- a/winit/src/application.rs
+++ b/winit/src/application.rs
@@ -360,6 +360,18 @@ pub fn handle_window_event(
);
*resized = true;
}
+ WindowEvent::ScaleFactorChanged {
+ scale_factor: new_scale_factor,
+ new_inner_size,
+ } => {
+ let size = Size::new(new_inner_size.width, new_inner_size.height);
+
+ *viewport = Viewport::with_physical_size(
+ size,
+ new_scale_factor * scale_factor,
+ );
+ *resized = true;
+ }
WindowEvent::CloseRequested => {
*control_flow = ControlFlow::Exit;
}
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index cfa76e88..3a8f54f5 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -24,6 +24,14 @@ pub fn window_event(
height: logical_size.height,
}))
}
+ WindowEvent::ScaleFactorChanged { new_inner_size, .. } => {
+ let logical_size = new_inner_size.to_logical(scale_factor);
+
+ Some(Event::Window(window::Event::Resized {
+ width: logical_size.width,
+ height: logical_size.height,
+ }))
+ }
WindowEvent::CursorMoved { position, .. } => {
let position = position.to_logical::<f64>(scale_factor);