[clutter/android-enter-leave: 13/29] actor: add touch event vfuncs



commit 01ad9acd4520f9e157920c8daf7123d4f5ed1fa1
Author: Lionel Landwerlin <llandwerlin gmail com>
Date:   Wed Jun 13 11:10:55 2012 +0100

    actor: add touch event vfuncs

 clutter/clutter-actor.c |   26 ++++++++++++++++++++++++++
 clutter/clutter-actor.h |    5 ++++-
 2 files changed, 30 insertions(+), 1 deletions(-)
---
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 1e2fd85..3beed29 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -910,6 +910,7 @@ enum
   LEAVE_EVENT,
   ALLOCATION_CHANGED,
   TRANSITIONS_COMPLETED,
+  TOUCH_EVENT,
 
   LAST_SIGNAL
 };
@@ -7071,6 +7072,25 @@ clutter_actor_class_init (ClutterActorClass *klass)
                   NULL, NULL,
                   _clutter_marshal_VOID__VOID,
                   G_TYPE_NONE, 0);
+
+  /**
+   * ClutterActor::touch-event:
+   * @actor: a #ClutterActor
+   *
+   * The ::touch-event signal is emitted each time a touch
+   * begin/end/update/cancel event.
+   *
+   * Since: 1.12
+   */
+  actor_signals[TOUCH_EVENT] =
+    g_signal_new (I_("touch-event"),
+		  G_TYPE_FROM_CLASS (object_class),
+		  G_SIGNAL_RUN_LAST,
+		  G_STRUCT_OFFSET (ClutterActorClass, touch_event),
+		  _clutter_boolean_handled_accumulator, NULL,
+		  _clutter_marshal_BOOLEAN__BOXED,
+		  G_TYPE_BOOLEAN, 1,
+		  CLUTTER_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
 }
 
 static void
@@ -12005,6 +12025,12 @@ clutter_actor_event (ClutterActor *actor,
 	case CLUTTER_LEAVE:
 	  signal_num = LEAVE_EVENT;
 	  break;
+        case CLUTTER_TOUCH_BEGIN:
+        case CLUTTER_TOUCH_END:
+        case CLUTTER_TOUCH_UPDATE:
+        case CLUTTER_TOUCH_CANCEL:
+          signal_num = TOUCH_EVENT;
+          break;
 	case CLUTTER_DELETE:
 	case CLUTTER_DESTROY_NOTIFY:
 	case CLUTTER_CLIENT_MESSAGE:
diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h
index 51d5af4..b951265 100644
--- a/clutter/clutter-actor.h
+++ b/clutter/clutter-actor.h
@@ -263,9 +263,12 @@ struct _ClutterActorClass
   void     (* paint_node)           (ClutterActor         *self,
                                      ClutterPaintNode     *root);
 
+  gboolean (* touch_event)          (ClutterActor         *self,
+                                     ClutterTouchEvent    *event);
+
   /*< private >*/
   /* padding for future expansion */
-  gpointer _padding_dummy[27];
+  gpointer _padding_dummy[26];
 };
 
 /**



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