aboutsummaryrefslogtreecommitdiff
path: root/src/osx/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/osx/gui')
-rw-r--r--src/osx/gui/Window.mm13
-rw-r--r--src/osx/gui/WindowPrivate.h2
2 files changed, 11 insertions, 4 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 {
diff --git a/src/osx/gui/WindowPrivate.h b/src/osx/gui/WindowPrivate.h
index d2335e00..9e7ef2d7 100644
--- a/src/osx/gui/WindowPrivate.h
+++ b/src/osx/gui/WindowPrivate.h
@@ -47,7 +47,7 @@ class OsxWindowPrivate {
void OnMouseMove(Point p);
void OnMouseDown(MouseButton button, Point p, KeyModifier key_modifier);
void OnMouseUp(MouseButton button, Point p, KeyModifier key_modifier);
- void OnMouseWheel(float delta, Point p, KeyModifier key_modifier);
+ void OnMouseWheel(float delta, Point p, KeyModifier key_modifier, bool horizontal);
void OnKeyDown(KeyCode key, KeyModifier key_modifier);
void OnKeyUp(KeyCode key, KeyModifier key_modifier);