=?utf-8?q?=5Bclutter=5D_x11=3A_Add_EventSequence_=E2=86=92_touch_detail_a?= =?utf-8?q?ccessor?=



commit 950e60f82400bdafa0220ba336ee3ed3986befad
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Wed Sep 5 09:38:17 2012 +0100

    x11: Add EventSequence â touch detail accessor
    
    The ClutterEventSequence structure is a fully opaque type; on X11, it is
    just an unsigned integer that gets converted into a pointer, but in the
    future it may become a fully fledged data structure.
    
    Obviously, we cannot tell people to just dereference the pointer into an
    integer in order to use it, and still retain the ability to change the
    type; for this reason, we need a proper accessor function to convert the
    EventSequence into a touch detail, to be used with the XInput API.

 clutter/clutter.symbols                    |    1 +
 clutter/x11/clutter-device-manager-xi2.c   |    6 ++++--
 clutter/x11/clutter-event-x11.c            |   18 ++++++++++++++++++
 clutter/x11/clutter-x11.h                  |    2 ++
 doc/reference/clutter/clutter-sections.txt |    1 +
 5 files changed, 26 insertions(+), 2 deletions(-)
---
diff --git a/clutter/clutter.symbols b/clutter/clutter.symbols
index ba61d37..7da395d 100644
--- a/clutter/clutter.symbols
+++ b/clutter/clutter.symbols
@@ -1594,6 +1594,7 @@ clutter_x11_add_filter
 clutter_x11_disable_event_retrieval
 clutter_x11_enable_xinput
 clutter_x11_event_get_key_group
+clutter_x11_event_sequence_get_touch_detail
 clutter_x11_filter_return_get_type
 clutter_x11_get_current_event_time
 clutter_x11_get_default_display
diff --git a/clutter/x11/clutter-device-manager-xi2.c b/clutter/x11/clutter-device-manager-xi2.c
index 292ee76..db55c97 100644
--- a/clutter/x11/clutter-device-manager-xi2.c
+++ b/clutter/x11/clutter-device-manager-xi2.c
@@ -1098,10 +1098,11 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         if (xev->flags & XITouchEmulatingPointer)
           _clutter_event_set_pointer_emulated (event, TRUE);
 
-        CLUTTER_NOTE (EVENT, "touch %s: win:0x%x device:%s (x:%.2f, y:%.2f, axes:%s)",
+        CLUTTER_NOTE (EVENT, "touch %s: win:0x%x device:%s (seq:%d, x:%.2f, y:%.2f, axes:%s)",
                       event->type == CLUTTER_TOUCH_BEGIN ? "begin" : "end",
                       (unsigned int) stage_x11->xwin,
                       event->touch.device->device_name,
+                      GPOINTER_TO_UINT (event->touch.sequence),
                       event->touch.x,
                       event->touch.y,
                       event->touch.axes != NULL ? "yes" : "no");
@@ -1144,9 +1145,10 @@ clutter_device_manager_xi2_translate_event (ClutterEventTranslator *translator,
         if (xev->flags & XITouchEmulatingPointer)
           _clutter_event_set_pointer_emulated (event, TRUE);
 
-        CLUTTER_NOTE (EVENT, "touch update: win:0x%x device:%s (x:%.2f, y:%.2f, axes:%s)",
+        CLUTTER_NOTE (EVENT, "touch update: win:0x%x device:%s (seq:%d, x:%.2f, y:%.2f, axes:%s)",
                       (unsigned int) stage_x11->xwin,
                       event->touch.device->device_name,
+                      GPOINTER_TO_UINT (event->touch.sequence),
                       event->touch.x,
                       event->touch.y,
                       event->touch.axes != NULL ? "yes" : "no");
diff --git a/clutter/x11/clutter-event-x11.c b/clutter/x11/clutter-event-x11.c
index 16a34bc..9eedbcd 100644
--- a/clutter/x11/clutter-event-x11.c
+++ b/clutter/x11/clutter-event-x11.c
@@ -375,3 +375,21 @@ clutter_x11_event_get_key_group (const ClutterEvent *event)
 
   return event_x11->key_group;
 }
+
+/**
+ * clutter_x11_event_sequence_get_touch_detail:
+ * @sequence: a #ClutterEventSequence
+ *
+ * Retrieves the touch detail froma #ClutterEventSequence.
+ *
+ * Return value: the touch detail
+ *
+ * Since: 1.12
+ */
+guint
+clutter_x11_event_sequence_get_touch_detail (const ClutterEventSequence *sequence)
+{
+  g_return_val_if_fail (sequence != NULL, 0);
+
+  return GPOINTER_TO_UINT (sequence);
+}
diff --git a/clutter/x11/clutter-x11.h b/clutter/x11/clutter-x11.h
index f641982..df04a83 100644
--- a/clutter/x11/clutter-x11.h
+++ b/clutter/x11/clutter-x11.h
@@ -140,6 +140,8 @@ Time clutter_x11_get_current_event_time (void);
 
 gint clutter_x11_event_get_key_group (const ClutterEvent *event);
 
+guint clutter_x11_event_sequence_get_touch_detail (const ClutterEventSequence *sequence);
+
 G_END_DECLS
 
 #endif /* __CLUTTER_X11_H__ */
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index b3bb07b..2876443 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -1364,6 +1364,7 @@ clutter_x11_get_input_devices
 clutter_x11_has_xinput
 clutter_x11_enable_xinput
 clutter_x11_event_get_key_group
+clutter_x11_event_sequence_get_touch_detail
 
 <SUBSECTION Private>
 ClutterX11XInputDevice



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]