diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2012-06-24 09:01:57 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2012-06-26 16:12:56 +0100 |
commit | b9bf089887363166bdde4f0cd5578305ff4ab352 (patch) | |
tree | cb3c47f9684451899aabe231f8d288d41360914b | |
parent | 5e5295ab130763eb81176cc8c9011031c1a83148 (diff) | |
download | clutter-b9bf089887363166bdde4f0cd5578305ff4ab352.tar.gz |
action: Add handle_event() virtual function
-rw-r--r-- | clutter/Makefile.am | 1 | ||||
-rw-r--r-- | clutter/clutter-action-private.h | 14 | ||||
-rw-r--r-- | clutter/clutter-action.c | 16 | ||||
-rw-r--r-- | clutter/clutter-action.h | 33 |
4 files changed, 47 insertions, 17 deletions
diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 7899493b0..3982c859f 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -209,6 +209,7 @@ source_c = \ # private headers; these should not be distributed or introspected source_h_priv = \ + $(srcdir)/clutter-action-private.h \ $(srcdir)/clutter-actor-meta-private.h \ $(srcdir)/clutter-actor-private.h \ $(srcdir)/clutter-backend-private.h \ diff --git a/clutter/clutter-action-private.h b/clutter/clutter-action-private.h new file mode 100644 index 000000000..66d1e91bd --- /dev/null +++ b/clutter/clutter-action-private.h @@ -0,0 +1,14 @@ +#ifndef __CLUTTER_ACTION_PRIVATE_H__ +#define __CLUTTER_ACTION_PRIVATE_H__ + +#include "clutter-action.h" +#include "clutter-event.h" + +G_BEGIN_DECLS + +void _clutter_action_handle_event (ClutterAction *action, + const ClutterEvent *event); + +G_END_DECLS + +#endif /* __CLUTTER_ACTION_PRIVATE_H__ */ diff --git a/clutter/clutter-action.c b/clutter/clutter-action.c index c233fd141..df75f3fd1 100644 --- a/clutter/clutter-action.c +++ b/clutter/clutter-action.c @@ -45,7 +45,7 @@ #include "config.h" #endif -#include "clutter-action.h" +#include "clutter-action-private.h" #include "clutter-debug.h" #include "clutter-private.h" @@ -53,11 +53,25 @@ G_DEFINE_ABSTRACT_TYPE (ClutterAction, clutter_action, CLUTTER_TYPE_ACTOR_META); static void +clutter_action_real_handle_event (ClutterAction *self, + const ClutterEvent *event) +{ +} + +static void clutter_action_class_init (ClutterActionClass *klass) { + klass->handle_event = clutter_action_real_handle_event; } static void clutter_action_init (ClutterAction *self) { } + +void +_clutter_action_handle_event (ClutterAction *self, + const ClutterEvent *event) +{ + CLUTTER_ACTION_GET_CLASS (self)->handle_event (self, event); +} diff --git a/clutter/clutter-action.h b/clutter/clutter-action.h index d2e98db6d..da081a6c2 100644 --- a/clutter/clutter-action.h +++ b/clutter/clutter-action.h @@ -69,6 +69,9 @@ struct _ClutterActionClass /*< private >*/ ClutterActorMetaClass parent_class; + void (* handle_event) (ClutterAction *action, + const ClutterEvent *event); + void (* _clutter_action1) (void); void (* _clutter_action2) (void); void (* _clutter_action3) (void); @@ -76,27 +79,25 @@ struct _ClutterActionClass void (* _clutter_action5) (void); void (* _clutter_action6) (void); void (* _clutter_action7) (void); - void (* _clutter_action8) (void); }; GType clutter_action_get_type (void) G_GNUC_CONST; /* ClutterActor API */ -void clutter_actor_add_action (ClutterActor *self, - ClutterAction *action); -void clutter_actor_add_action_with_name (ClutterActor *self, - const gchar *name, - ClutterAction *action); -void clutter_actor_remove_action (ClutterActor *self, - ClutterAction *action); -void clutter_actor_remove_action_by_name (ClutterActor *self, - const gchar *name); -ClutterAction *clutter_actor_get_action (ClutterActor *self, - const gchar *name); -GList * clutter_actor_get_actions (ClutterActor *self); -void clutter_actor_clear_actions (ClutterActor *self); - -gboolean clutter_actor_has_actions (ClutterActor *self); +void clutter_actor_add_action (ClutterActor *self, + ClutterAction *action); +void clutter_actor_add_action_with_name (ClutterActor *self, + const gchar *name, + ClutterAction *action); +void clutter_actor_remove_action (ClutterActor *self, + ClutterAction *action); +void clutter_actor_remove_action_by_name (ClutterActor *self, + const gchar *name); +ClutterAction * clutter_actor_get_action (ClutterActor *self, + const gchar *name); +GList * clutter_actor_get_actions (ClutterActor *self); +void clutter_actor_clear_actions (ClutterActor *self); +gboolean clutter_actor_has_actions (ClutterActor *self); G_END_DECLS |