diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-07-24 17:39:35 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-08-12 23:20:25 +0200 |
commit | 8b1c9c0687e4d2deb65a7235e97bd1a2e63447ab (patch) | |
tree | 0d65bbfce94a43df44021e4d5cb896df957a4ea5 /gtk/gtkgesture.c | |
parent | 3808322f80e322195165a8162d9c8765a68bcc52 (diff) | |
download | gtk+-8b1c9c0687e4d2deb65a7235e97bd1a2e63447ab.tar.gz |
gtkgesture: Refactor gtk_gesture_handle_event()
We'll be dealing with event types and touchpad gesture phases,
replace the switch by a battery of if/elses. Otherwise, it's
just an style change.
Diffstat (limited to 'gtk/gtkgesture.c')
-rw-r--r-- | gtk/gtkgesture.c | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/gtk/gtkgesture.c b/gtk/gtkgesture.c index 15111c5522..827d66d685 100644 --- a/gtk/gtkgesture.c +++ b/gtk/gtkgesture.c @@ -583,10 +583,9 @@ gtk_gesture_handle_event (GtkEventController *controller, if (gtk_gesture_get_sequence_state (gesture, sequence) != GTK_EVENT_SEQUENCE_DENIED) priv->last_sequence = sequence; - switch (event->type) + if (event->type == GDK_BUTTON_PRESS || + event->type == GDK_TOUCH_BEGIN) { - case GDK_BUTTON_PRESS: - case GDK_TOUCH_BEGIN: if (_gtk_gesture_update_point (gesture, event, TRUE)) { gboolean triggered_recognition; @@ -613,10 +612,10 @@ gtk_gesture_handle_event (GtkEventController *controller, return TRUE; } } - - break; - case GDK_BUTTON_RELEASE: - case GDK_TOUCH_END: + } + else if (event->type == GDK_BUTTON_RELEASE || + event->type == GDK_TOUCH_END) + { if (_gtk_gesture_update_point (gesture, event, FALSE)) { if (was_recognized && @@ -625,30 +624,37 @@ gtk_gesture_handle_event (GtkEventController *controller, _gtk_gesture_remove_point (gesture, event); } - break; - case GDK_MOTION_NOTIFY: - if ((event->motion.state & BUTTONS_MASK) == 0) - break; + } + else if (event->type == GDK_MOTION_NOTIFY || + event->type == GDK_TOUCH_UPDATE) + { + if (event->type == GDK_MOTION_NOTIFY) + { + if ((event->motion.state & BUTTONS_MASK) == 0) + return FALSE; - if (event->motion.is_hint) - gdk_event_request_motions (&event->motion); + if (event->motion.is_hint) + gdk_event_request_motions (&event->motion); + } - /* Fall through */ - case GDK_TOUCH_UPDATE: if (_gtk_gesture_update_point (gesture, event, FALSE) && _gtk_gesture_check_recognized (gesture, sequence)) g_signal_emit (gesture, signals[UPDATE], 0, sequence); - break; - case GDK_TOUCH_CANCEL: + } + else if (event->type == GDK_TOUCH_CANCEL) + { _gtk_gesture_cancel_sequence (gesture, sequence); - break; - case GDK_GRAB_BROKEN: + } + else if (event->type == GDK_GRAB_BROKEN) + { if (!event->grab_broken.grab_window || !gesture_within_window (gesture, event->grab_broken.grab_window)) _gtk_gesture_cancel_all (gesture); return FALSE; - default: + } + else + { /* Unhandled event */ return FALSE; } |