aboutsummaryrefslogtreecommitdiff
path: root/src/osx/gui/Window.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/osx/gui/Window.mm')
-rw-r--r--src/osx/gui/Window.mm13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/osx/gui/Window.mm b/src/osx/gui/Window.mm
index 6ed53701..f9891d86 100644
--- a/src/osx/gui/Window.mm
+++ b/src/osx/gui/Window.mm
@@ -125,8 +125,9 @@ void OsxWindowPrivate::OnMouseUp(MouseButton button, Point p, KeyModifier key_mo
mouse_up_event_.Raise({button, TransformMousePoint(p), key_modifier});
}
-void OsxWindowPrivate::OnMouseWheel(float delta, Point p, KeyModifier key_modifier) {
- mouse_wheel_event_.Raise({delta, TransformMousePoint(p), key_modifier});
+void OsxWindowPrivate::OnMouseWheel(float delta, Point p, KeyModifier key_modifier,
+ bool horizontal) {
+ mouse_wheel_event_.Raise({delta, TransformMousePoint(p), key_modifier, horizontal});
}
void OsxWindowPrivate::OnKeyDown(KeyCode key, KeyModifier key_modifier) {
@@ -548,7 +549,13 @@ cru::platform::gui::KeyModifier GetKeyModifier(NSEvent* event) {
auto key_modifier = GetKeyModifier(event);
cru::platform::Point p(event.locationInWindow.x, event.locationInWindow.y);
- _p->OnMouseWheel(static_cast<float>(event.scrollingDeltaY), p, key_modifier);
+ if (event.scrollingDeltaY) {
+ _p->OnMouseWheel(static_cast<float>(event.scrollingDeltaY), p, key_modifier, false);
+ }
+
+ if (event.scrollingDeltaX) {
+ _p->OnMouseWheel(static_cast<float>(event.scrollingDeltaX), p, key_modifier, true);
+ }
}
namespace {