From 9df8a4d197e66accb389edb5a5c54117933f157e Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 28 Jun 2026 00:09:06 +0200 Subject: feat(engine): add windowing DPI utilities --- engine/src/ui/imgui.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'engine/src/ui/imgui.rs') 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::(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::(window.scale_factor()); context .ctx -- cgit v1.2.3-18-g5258