diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2014-08-16 19:39:46 +0100 |
---|---|---|
committer | Lionel Landwerlin <llandwerlin@gmail.com> | 2014-08-17 16:55:10 +0100 |
commit | ccd2054fdaba013a9b99b5e0471f5c94203c606d (patch) | |
tree | 929936c6c8f2ae693d9b518fc36d8f45c53bdc5d | |
parent | be8602fbb491c30c1e2febb92553375b2f4ce584 (diff) | |
download | clutter-ccd2054fdaba013a9b99b5e0471f5c94203c606d.tar.gz |
backend: gdk: add translation code for touch events
https://bugzilla.gnome.org/show_bug.cgi?id=734934
-rw-r--r-- | clutter/gdk/clutter-event-gdk.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/clutter/gdk/clutter-event-gdk.c b/clutter/gdk/clutter-event-gdk.c index eb5325cbd..7675cc18e 100644 --- a/clutter/gdk/clutter-event-gdk.c +++ b/clutter/gdk/clutter-event-gdk.c @@ -184,6 +184,33 @@ clutter_gdk_handle_event (GdkEvent *gdk_event) event->button.y); break; + case GDK_TOUCH_BEGIN: + case GDK_TOUCH_END: + case GDK_TOUCH_CANCEL: + case GDK_TOUCH_UPDATE: + event = clutter_event_new (gdk_event->type == GDK_TOUCH_BEGIN ? + CLUTTER_TOUCH_BEGIN : + ((gdk_event->type == GDK_TOUCH_END) ? + CLUTTER_TOUCH_END : + (gdk_event->type == GDK_TOUCH_UPDATE ? + CLUTTER_TOUCH_UPDATE : + CLUTTER_TOUCH_CANCEL))); + event->touch.time = gdk_event->touch.time; + event->touch.x = gdk_event->touch.x; + event->touch.y = gdk_event->touch.y; + event->touch.sequence = (ClutterEventSequence *) gdk_event->touch.sequence; + event->touch.modifier_state = gdk_event->touch.state; + clutter_event_set_device (event, device); + clutter_event_set_source_device (event, source_device); + CLUTTER_NOTE (EVENT, "Touch %p %s [%", + event->touch.sequence, + event->type == CLUTTER_TOUCH_BEGIN ? "begin" : + (event->type == CLUTTER_TOUCH_END ? "end" : + (event->type == CLUTTER_TOUCH_UPDATE ? "update" + : "cancel")), + event->touch.x, event->touch.y); + break; + case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: /* these are handled by clutter-main.c updating click_count */ |