1 From 7e06599edaf97a91943e992f412116e6513c0c7e Mon Sep 17 00:00:00 2001
2 From: Kristian Rietveld <kris@lanedo.com>
3 Date: Sat, 23 Feb 2013 00:52:43 +0100
4 Subject: [PATCH 32/68] Add momentum_phase to GdkEventScroll
6 We need this for the detection of legacy mice that do emit precise
11 gdk/quartz/gdkevents-quartz.c | 16 ++++++++++++----
12 3 files changed, 14 insertions(+), 4 deletions(-)
14 diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
15 index 765b520..1cbfc58 100644
18 @@ -349,6 +349,7 @@ struct _GdkEventScroll
21 GdkEventScrollPhase phase;
22 + GdkEventScrollPhase momentum_phase;
26 diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
27 index 1dac543..7a3732c 100644
30 @@ -10898,6 +10898,7 @@ proxy_button_event (GdkEvent *source_event,
31 event->scroll.delta_x = source_event->scroll.delta_x;
32 event->scroll.delta_y = source_event->scroll.delta_y;
33 event->scroll.phase = source_event->scroll.phase;
34 + event->scroll.momentum_phase = source_event->scroll.momentum_phase;
38 diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c
39 index bb4da70..f3ba2c8 100644
40 --- a/gdk/quartz/gdkevents-quartz.c
41 +++ b/gdk/quartz/gdkevents-quartz.c
42 @@ -63,6 +63,7 @@ static GdkWindow *find_toplevel_under_pointer (GdkDisplay *display,
43 - (CGFloat) scrollingDeltaX;
44 - (CGFloat) scrollingDeltaY;
46 +- (int) momentumPhase;
50 @@ -992,6 +993,7 @@ fill_scroll_event (GdkWindow *window,
53 GdkEventScrollPhase phase,
54 + GdkEventScrollPhase momentum_phase,
55 GdkScrollDirection direction)
57 GdkWindowObject *private;
58 @@ -1015,6 +1017,7 @@ fill_scroll_event (GdkWindow *window,
59 event->scroll.delta_x = delta_x;
60 event->scroll.delta_y = delta_y;
61 event->scroll.phase = phase;
62 + event->scroll.momentum_phase = momentum_phase;
66 @@ -1516,7 +1519,7 @@ gdk_event_translate (GdkEvent *event,
67 if (gdk_quartz_osx_version() >= GDK_OSX_LION &&
68 [(id <PreciseDeltas>) nsevent hasPreciseScrollingDeltas])
70 - GdkEventScrollPhase phase;
71 + GdkEventScrollPhase phase, momentum_phase;
72 dx = [(id <PreciseDeltas>) nsevent scrollingDeltaX];
73 dy = [(id <PreciseDeltas>) nsevent scrollingDeltaY];
75 @@ -1536,9 +1539,10 @@ gdk_event_translate (GdkEvent *event,
78 phase = gdk_event_scroll_phase_from_ns_event_phase ([(id <PreciseDeltas>) nsevent phase]);
79 + momentum_phase = gdk_event_scroll_phase_from_ns_event_phase ([(id <PreciseDeltas>) nsevent momentumPhase]);
81 fill_scroll_event (window, event, nsevent, x, y, x_root, y_root,
82 - TRUE, -dx, -dy, phase, direction);
83 + TRUE, -dx, -dy, phase, momentum_phase, direction);
87 @@ -1553,7 +1557,9 @@ gdk_event_translate (GdkEvent *event,
88 direction = GDK_SCROLL_UP;
90 fill_scroll_event (window, event, nsevent, x, y, x_root, y_root,
91 - FALSE, 0.0, fabs (dy), GDK_EVENT_SCROLL_PHASE_NONE,
92 + FALSE, 0.0, fabs (dy),
93 + GDK_EVENT_SCROLL_PHASE_NONE,
94 + GDK_EVENT_SCROLL_PHASE_NONE,
98 @@ -1564,7 +1570,9 @@ gdk_event_translate (GdkEvent *event,
99 direction = GDK_SCROLL_LEFT;
101 fill_scroll_event (window, event, nsevent, x, y, x_root, y_root,
102 - FALSE, fabs (dx), 0.0, GDK_EVENT_SCROLL_PHASE_NONE,
103 + FALSE, fabs (dx), 0.0,
104 + GDK_EVENT_SCROLL_PHASE_NONE,
105 + GDK_EVENT_SCROLL_PHASE_NONE,
110 1.7.10.2 (Apple Git-33)