mirror of
https://github.com/eliasstepanik/imgui-rs.git
synced 2026-01-19 01:18:27 +00:00
Merge pull request #143 from malikolivier/142-fix-scale-bug
[examples] support: Fix scale bug
This commit is contained in:
commit
48364b77dd
@ -41,6 +41,9 @@
|
||||
Keep redirection.
|
||||
- Rename `ImGuiCol::ChildWindowBg` to `ImGuiCol::ChildBg`.
|
||||
Keep redirection.
|
||||
- Upgrade glium to 0.22.0. This updates winit to 0.16. This changes the way
|
||||
HIDPI are calculated. Depending on your needs, you may want to set HIDPI to 1
|
||||
by setting the environment variable `WINIT_HIDPI_FACTOR=1` if you use X11.
|
||||
|
||||
### Deprecated
|
||||
|
||||
|
||||
@ -129,14 +129,11 @@ pub fn run<F: FnMut(&Ui) -> bool>(title: String, clear_color: [f32; 4], mut run_
|
||||
});
|
||||
}
|
||||
|
||||
let size_pixels = gl_window.get_inner_size().unwrap();
|
||||
let size_points = gl_window.get_inner_size().unwrap();
|
||||
let hdipi = gl_window.get_hidpi_factor();
|
||||
let size_points = (
|
||||
(size_pixels.width as f64 / hdipi) as u32,
|
||||
(size_pixels.height as f64 / hdipi) as u32,
|
||||
);
|
||||
let size_pixels = size_points.to_physical(hdipi);
|
||||
|
||||
let ui = imgui.frame(size_points, size_pixels.into(), delta_s);
|
||||
let ui = imgui.frame(size_points.into(), size_pixels.into(), delta_s);
|
||||
if !run_ui(&ui) {
|
||||
break;
|
||||
}
|
||||
@ -182,11 +179,7 @@ fn configure_keys(imgui: &mut ImGui) {
|
||||
}
|
||||
|
||||
fn update_mouse(imgui: &mut ImGui, mouse_state: &mut MouseState) {
|
||||
let scale = imgui.display_framebuffer_scale();
|
||||
imgui.set_mouse_pos(
|
||||
mouse_state.pos.0 as f32 / scale.0,
|
||||
mouse_state.pos.1 as f32 / scale.1,
|
||||
);
|
||||
imgui.set_mouse_pos(mouse_state.pos.0 as f32, mouse_state.pos.1 as f32);
|
||||
imgui.set_mouse_down(
|
||||
&[
|
||||
mouse_state.pressed.0,
|
||||
@ -196,6 +189,6 @@ fn update_mouse(imgui: &mut ImGui, mouse_state: &mut MouseState) {
|
||||
false,
|
||||
],
|
||||
);
|
||||
imgui.set_mouse_wheel(mouse_state.wheel / scale.1);
|
||||
imgui.set_mouse_wheel(mouse_state.wheel);
|
||||
mouse_state.wheel = 0.0;
|
||||
}
|
||||
|
||||
@ -174,14 +174,11 @@ pub fn run<F: FnMut(&Ui) -> bool>(title: String, clear_color: [f32; 4], mut run_
|
||||
});
|
||||
}
|
||||
|
||||
let size_pixels = window.get_inner_size().unwrap();
|
||||
let size_points = window.get_inner_size().unwrap();
|
||||
let hdipi = window.get_hidpi_factor();
|
||||
let size_points = (
|
||||
(size_pixels.width as f64 / hdipi) as u32,
|
||||
(size_pixels.height as f64 / hdipi) as u32,
|
||||
);
|
||||
let size_pixels = size_points.to_physical(hdipi);
|
||||
|
||||
let ui = imgui.frame(size_points, size_pixels.into(), delta_s);
|
||||
let ui = imgui.frame(size_points.into(), size_pixels.into(), delta_s);
|
||||
if !run_ui(&ui) {
|
||||
break;
|
||||
}
|
||||
@ -221,11 +218,7 @@ fn configure_keys(imgui: &mut ImGui) {
|
||||
}
|
||||
|
||||
fn update_mouse(imgui: &mut ImGui, mouse_state: &mut MouseState) {
|
||||
let scale = imgui.display_framebuffer_scale();
|
||||
imgui.set_mouse_pos(
|
||||
mouse_state.pos.0 as f32 / scale.0,
|
||||
mouse_state.pos.1 as f32 / scale.1,
|
||||
);
|
||||
imgui.set_mouse_pos(mouse_state.pos.0 as f32, mouse_state.pos.1 as f32);
|
||||
imgui.set_mouse_down(
|
||||
&[
|
||||
mouse_state.pressed.0,
|
||||
@ -235,6 +228,6 @@ fn update_mouse(imgui: &mut ImGui, mouse_state: &mut MouseState) {
|
||||
false,
|
||||
],
|
||||
);
|
||||
imgui.set_mouse_wheel(mouse_state.wheel / scale.1);
|
||||
imgui.set_mouse_wheel(mouse_state.wheel);
|
||||
mouse_state.wheel = 0.0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user