diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-01 23:58:00 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-01 23:58:00 +0100 |
commit | dee84335974f43f4d3661c5c7df481310357c24c (patch) | |
tree | 0ec8900c6d4768a7ba4af851e010c495c0b74585 /main/events.cpp | |
parent | c9ed7f5a14037a87f74650e4426056cbdec59116 (diff) |
main, imgui: use magnum's virtual dpi scale
Diffstat (limited to 'main/events.cpp')
-rw-r--r-- | main/events.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/main/events.cpp b/main/events.cpp index 922b2d23..11076b54 100644 --- a/main/events.cpp +++ b/main/events.cpp @@ -9,14 +9,13 @@ namespace floormat { void main_impl::viewportEvent(Platform::Sdl2Application::ViewportEvent& event) { - fm_assert(event.framebufferSize() == event.windowSize()); - recalc_viewport(event.windowSize()); - app.on_viewport_event(event.windowSize()); + recalc_viewport(event.framebufferSize(), event.windowSize()); + app.on_viewport_event(event.framebufferSize()); } void main_impl::mousePressEvent(Platform::Sdl2Application::MouseEvent& event) { - app.on_mouse_up_down({event.position(), + app.on_mouse_up_down({event.position() * _virtual_scale, (SDL_Keymod)(std::uint16_t)event.modifiers(), mouse_button(SDL_BUTTON((std::uint8_t)event.button())), std::uint8_t(std::min(255, event.clickCount()))}, @@ -25,7 +24,7 @@ void main_impl::mousePressEvent(Platform::Sdl2Application::MouseEvent& event) void main_impl::mouseReleaseEvent(Platform::Sdl2Application::MouseEvent& event) { - app.on_mouse_up_down({event.position(), + app.on_mouse_up_down({event.position() * _virtual_scale, (SDL_Keymod)(std::uint16_t)event.modifiers(), mouse_button(SDL_BUTTON((std::uint8_t)event.button())), std::uint8_t(std::min(255, event.clickCount()))}, @@ -34,14 +33,14 @@ void main_impl::mouseReleaseEvent(Platform::Sdl2Application::MouseEvent& event) void main_impl::mouseMoveEvent(Platform::Sdl2Application::MouseMoveEvent& event) { - app.on_mouse_move({event.position(), event.relativePosition(), - (mouse_button)(std::uint8_t)(std::uint32_t)event.buttons(), + app.on_mouse_move({event.position() * _virtual_scale, + (mouse_button)(std::uint8_t)std::uint32_t{event.buttons()}, (SDL_Keymod)(std::uint16_t)event.modifiers()}); } void main_impl::mouseScrollEvent(Platform::Sdl2Application::MouseScrollEvent& event) { - app.on_mouse_scroll({event.offset(), event.position(), + app.on_mouse_scroll({event.offset(), event.position() * _virtual_scale, (SDL_Keymod)(std::uint16_t)event.modifiers()}); } |