diff options
| author | HampusM <hampus@hampusmat.com> | 2026-06-28 00:09:06 +0200 |
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2026-06-30 18:24:47 +0200 |
| commit | 9df8a4d197e66accb389edb5a5c54117933f157e (patch) | |
| tree | 2d348fea32df9dd73ec6b961fae63e8ccb60899d /engine/src/ui | |
| parent | 4a5e3e612e8b597dd1734afefd01324b74fd99ab (diff) | |
feat(engine): add windowing DPI utilities
Diffstat (limited to 'engine/src/ui')
| -rw-r--r-- | engine/src/ui/imgui.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/engine/src/ui/imgui.rs b/engine/src/ui/imgui.rs index aa90e9f..daf8494 100644 --- a/engine/src/ui/imgui.rs +++ b/engine/src/ui/imgui.rs @@ -73,6 +73,7 @@ use crate::texture::{ Wrapping as TextureWrapping, }; use crate::vector::Vec2; +use crate::windowing::dpi::PhysicalSize; use crate::windowing::window::Window; mod reexports @@ -182,17 +183,15 @@ fn handle_window_changed( .get_io_mut() .set_display_framebuffer_scale([hidpi_factor as f32, hidpi_factor as f32]); - let window_size = Dimens { - width: window.inner_size.width as f32, - height: window.inner_size.height as f32, - }; - - let window_logical_size = window_size / (hidpi_factor as f32); + let window_size_logical = PhysicalSize { + width: window.inner_size.width as f64, + height: window.inner_size.height as f64, + }.to_logical::<f64>(hidpi_factor); context .ctx .get_io_mut() - .set_display_size([window_logical_size.width, window_logical_size.height]); + .set_display_size([window_size_logical.width as f32, window_size_logical.height as f32]); } fn update( @@ -494,7 +493,7 @@ fn update_inputs( context.ctx.get_io_mut().add_input_character(character); } - let mouse_pos = mouse.position / window.scale_factor(); + let mouse_pos = mouse.position.to_logical::<f64>(window.scale_factor()); context .ctx |
