diff options
author | Руслан Ижбулатов <lrn1986@gmail.com> | 2015-04-16 23:11:14 +0000 |
---|---|---|
committer | Руслан Ижбулатов <lrn1986@gmail.com> | 2015-04-17 04:38:34 +0000 |
commit | c0e0a1508be3ccf349717497af2e8a4d77027649 (patch) | |
tree | 14550e6b6f27d1de192dc5e2ee45868690b60297 /gdk | |
parent | bbac0eb3b938769d450310022ab7d5e8109525e4 (diff) | |
download | gtk+-c0e0a1508be3ccf349717497af2e8a4d77027649.tar.gz |
W32: Support horizontal mouse wheel scrolling
https://bugzilla.gnome.org/show_bug.cgi?id=748014
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 10 | ||||
-rw-r--r-- | gdk/win32/gdkmain-win32.c | 1 | ||||
-rw-r--r-- | gdk/win32/gdkprivate-win32.h | 3 |
3 files changed, 12 insertions, 2 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index c55cee049e..7ff7c08232 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2450,6 +2450,7 @@ gdk_event_translate (MSG *msg, break; case WM_MOUSEWHEEL: + case WM_MOUSEHWHEEL: GDK_NOTE (EVENTS, g_print (" %d", (short) HIWORD (msg->wParam))); /* WM_MOUSEWHEEL is delivered to the focus window. Work around @@ -2500,8 +2501,13 @@ gdk_event_translate (MSG *msg, event = gdk_event_new (GDK_SCROLL); event->scroll.window = window; - event->scroll.direction = (((short) HIWORD (msg->wParam)) > 0) ? - GDK_SCROLL_UP : GDK_SCROLL_DOWN; + + if (msg->message == WM_MOUSEWHEEL) + event->scroll.direction = (((short) HIWORD (msg->wParam)) > 0) ? + GDK_SCROLL_UP : GDK_SCROLL_DOWN; + else if (msg->message == WM_MOUSEHWHEEL) + event->scroll.direction = (((short) HIWORD (msg->wParam)) > 0) ? + GDK_SCROLL_RIGHT : GDK_SCROLL_LEFT; event->scroll.time = _gdk_win32_get_next_tick (msg->time); event->scroll.x = (gint16) point.x; event->scroll.y = (gint16) point.y; diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index f12c16673b..ee28ba605a 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -759,6 +759,7 @@ _gdk_win32_message_to_string (UINT msg) CASE (WM_MBUTTONUP); CASE (WM_MBUTTONDBLCLK); CASE (WM_MOUSEWHEEL); + CASE (WM_MOUSEHWHEEL); CASE (WM_XBUTTONDOWN); CASE (WM_XBUTTONUP); CASE (WM_XBUTTONDBLCLK); diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index dbb9a7900b..a14d8f5a37 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -90,6 +90,9 @@ #ifndef WM_APPCOMMAND #define WM_APPCOMMAND 0x319 #endif +#ifndef WM_MOUSEHWHEEL +#define WM_MOUSEHWHEEL 0x20E +#endif #ifndef CF_DIBV5 #define CF_DIBV5 17 |