[gtk+/gtk-2-24] W32: Support horizontal mouse wheel scrolling
- From: Jehan Pagès <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-2-24] W32: Support horizontal mouse wheel scrolling
- Date: Tue, 28 Apr 2015 04:43:32 +0000 (UTC)
commit 92fb170917468b4e8946e3f0b94c5a3eeb0b33d9
Author: Руслан Ижбулатов <lrn1986 gmail com>
Date: Thu Apr 16 23:11:14 2015 +0000
W32: Support horizontal mouse wheel scrolling
https://bugzilla.gnome.org/show_bug.cgi?id=748014
(cherry picked from commit c0e0a1508be3ccf349717497af2e8a4d77027649)
gdk/win32/gdkevents-win32.c | 10 ++++++++--
gdk/win32/gdkmain-win32.c | 1 +
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 c853e1e..d654b92 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -2663,6 +2663,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
@@ -2713,8 +2714,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 dc139be..46d2774 100644
--- a/gdk/win32/gdkmain-win32.c
+++ b/gdk/win32/gdkmain-win32.c
@@ -980,6 +980,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 7899533..f28ae8a 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -92,6 +92,9 @@
#ifndef WM_APPCOMMAND
#define WM_APPCOMMAND 0x319
#endif
+#ifndef WM_MOUSEHWHEEL
+#define WM_MOUSEHWHEEL 0x20E
+#endif
#ifndef CF_DIBV5
#define CF_DIBV5 17
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]