summaryrefslogtreecommitdiff
path: root/clutter/clutter-event.c
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2015-05-22 18:30:09 +0200
committerCarlos Garnacho <carlosg@gnome.org>2015-07-10 21:47:01 +0200
commitc185a17783a1b7c0d270def5e02eb3f27ba4fcb8 (patch)
treeb49aaa3567a7862ccbb98d431cf411dd56eafb4f /clutter/clutter-event.c
parenta4b79e1cd33274e20c4febdd15867bfea7c21033 (diff)
downloadclutter-c185a17783a1b7c0d270def5e02eb3f27ba4fcb8.tar.gz
event: Add pinch/swipe gesture event types and structs
We now have ClutterTouchpadPinchEvent and ClutterTouchpadSwipeEvent, each bringing the necessary info for the specific gesture. Each of these events is defined by begin/update/end/cancel phases. These events have been also made to propagate down/up the pointer position, just like scroll and button events do.
Diffstat (limited to 'clutter/clutter-event.c')
-rw-r--r--clutter/clutter-event.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/clutter/clutter-event.c b/clutter/clutter-event.c
index 26d561153..3170b9d4c 100644
--- a/clutter/clutter-event.c
+++ b/clutter/clutter-event.c
@@ -436,6 +436,16 @@ clutter_event_get_position (const ClutterEvent *event,
case CLUTTER_SCROLL:
clutter_point_init (position, event->scroll.x, event->scroll.y);
break;
+
+ case CLUTTER_TOUCHPAD_PINCH:
+ clutter_point_init (position, event->touchpad_pinch.x,
+ event->touchpad_pinch.y);
+ break;
+
+ case CLUTTER_TOUCHPAD_SWIPE:
+ clutter_point_init (position, event->touchpad_swipe.x,
+ event->touchpad_swipe.y);
+ break;
}
}
@@ -498,6 +508,16 @@ clutter_event_set_coords (ClutterEvent *event,
event->scroll.x = x;
event->scroll.y = y;
break;
+
+ case CLUTTER_TOUCHPAD_PINCH:
+ event->touchpad_pinch.x = x;
+ event->touchpad_pinch.y = y;
+ break;
+
+ case CLUTTER_TOUCHPAD_SWIPE:
+ event->touchpad_swipe.x = x;
+ event->touchpad_swipe.y = y;
+ break;
}
}
@@ -1097,6 +1117,11 @@ clutter_event_set_device (ClutterEvent *event,
case CLUTTER_KEY_RELEASE:
event->key.device = device;
break;
+
+ case CLUTTER_TOUCHPAD_PINCH:
+ case CLUTTER_TOUCHPAD_SWIPE:
+ /* Rely on priv data for these */
+ break;
}
}
@@ -1171,6 +1196,11 @@ clutter_event_get_device (const ClutterEvent *event)
case CLUTTER_KEY_RELEASE:
device = event->key.device;
break;
+
+ case CLUTTER_TOUCHPAD_PINCH:
+ case CLUTTER_TOUCHPAD_SWIPE:
+ /* Rely on priv data for these */
+ break;
}
return device;
@@ -1608,6 +1638,10 @@ clutter_event_get_axes (const ClutterEvent *event,
case CLUTTER_MOTION:
retval = event->motion.axes;
break;
+
+ case CLUTTER_TOUCHPAD_PINCH:
+ case CLUTTER_TOUCHPAD_SWIPE:
+ break;
}
if (retval != NULL)