diff options
author | 2020-06-19 19:17:05 +0200 | |
---|---|---|
committer | 2020-06-19 19:17:05 +0200 | |
commit | c9696ca687446d78de374a828183de0a5e4bace3 (patch) | |
tree | fafaee347af956b589fbd28759389f0a90b8fd4b /glutin/src | |
parent | d19c02035ff5e4a895868023bd67f3df1f5d7007 (diff) | |
download | iced-c9696ca687446d78de374a828183de0a5e4bace3.tar.gz iced-c9696ca687446d78de374a828183de0a5e4bace3.tar.bz2 iced-c9696ca687446d78de374a828183de0a5e4bace3.zip |
Add `scale_factor` to `Application` and `Sandbox`
Diffstat (limited to 'glutin/src')
-rw-r--r-- | glutin/src/application.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/glutin/src/application.rs b/glutin/src/application.rs index 63d41573..bcdd9e33 100644 --- a/glutin/src/application.rs +++ b/glutin/src/application.rs @@ -48,6 +48,7 @@ pub fn run<A, E, C>( let mut title = application.title(); let mut mode = application.mode(); let mut background_color = application.background_color(); + let mut scale_factor = application.scale_factor(); let context = { let builder = settings.window.into_builder( @@ -75,7 +76,7 @@ pub fn run<A, E, C>( let physical_size = context.window().inner_size(); let mut viewport = Viewport::with_physical_size( Size::new(physical_size.width, physical_size.height), - context.window().scale_factor(), + context.window().scale_factor() * scale_factor, ); let mut resized = false; @@ -142,6 +143,20 @@ pub fn run<A, E, C>( // Update background color background_color = program.background_color(); + + // Update scale factor + let new_scale_factor = program.scale_factor(); + + if scale_factor != new_scale_factor { + let size = context.window().inner_size(); + + viewport = Viewport::with_physical_size( + Size::new(size.width, size.height), + context.window().scale_factor() * new_scale_factor, + ); + + scale_factor = new_scale_factor; + } } context.window().request_redraw(); @@ -195,6 +210,7 @@ pub fn run<A, E, C>( application::handle_window_event( &window_event, context.window(), + scale_factor, control_flow, &mut modifiers, &mut viewport, |