From ec05230b97a9b683620af1c84c823eb7d161b64c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Kol=C3=A5s?= Date: Tue, 6 Jul 2010 13:47:49 +0100 Subject: [PATCH] state: added clutter_state_key_get_property_type A function to retrieve the type of the value stored in a key, the equivalent already exists for ClutterAnimator. --- clutter/clutter-state.c | 22 ++++++++++++++++++++++ clutter/clutter-state.h | 1 + doc/reference/clutter/clutter-sections.txt | 17 +++++++++-------- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/clutter/clutter-state.c b/clutter/clutter-state.c index 6cddf59dd..47af79e32 100644 --- a/clutter/clutter-state.c +++ b/clutter/clutter-state.c @@ -1503,6 +1503,28 @@ clutter_state_key_get_target_state_name (const ClutterStateKey *state_key) return state_key->target_state->name; } +/** + * clutter_state_key_get_property_type: + * @key: a #ClutterStateKey + * + * Retrieves the #GType of the property a key applies to + * + * You can use this type to initialize the #GValue to pass to + * clutter_state_key_get_value() + * + * Return value: the #GType of the property + * + * Since: 1.4 + */ +GType +clutter_state_key_get_property_type (const ClutterStateKey *key) +{ + g_return_val_if_fail (key != NULL, G_TYPE_INVALID); + + return G_VALUE_TYPE (&key->value); +} + + /** * clutter_state_set_duration: * @state: a #ClutterState diff --git a/clutter/clutter-state.h b/clutter/clutter-state.h index fbedb3ebf..c420bce65 100644 --- a/clutter/clutter-state.h +++ b/clutter/clutter-state.h @@ -148,6 +148,7 @@ gdouble clutter_state_key_get_post_delay (const ClutterStat gulong clutter_state_key_get_mode (const ClutterStateKey *state_key); void clutter_state_key_get_value (const ClutterStateKey *state_key, GValue *value); +GType clutter_state_key_get_property_type (const ClutterStateKey *key); GObject * clutter_state_key_get_object (const ClutterStateKey *state_key); G_CONST_RETURN gchar *clutter_state_key_get_property_name (const ClutterStateKey *state_key); G_CONST_RETURN gchar *clutter_state_key_get_source_state_name (const ClutterStateKey *state_key); diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt index b1330e0ec..9679b96bf 100644 --- a/doc/reference/clutter/clutter-sections.txt +++ b/doc/reference/clutter/clutter-sections.txt @@ -2250,6 +2250,8 @@ clutter_align_constraint_get_type ClutterState ClutterStateClass clutter_state_new +clutter_state_change +clutter_state_get_state clutter_state_set clutter_state_set_key clutter_state_set_duration @@ -2260,19 +2262,18 @@ clutter_state_remove_key clutter_state_get_timeline clutter_state_set_animator clutter_state_get_animator -clutter_state_get_state -clutter_state_change ClutterStateKey -clutter_state_key_get_pre_delay -clutter_state_key_get_post_delay -clutter_state_key_get_mode -clutter_state_key_get_value -clutter_state_key_get_object -clutter_state_key_get_property_name clutter_state_key_get_source_state_name clutter_state_key_get_target_state_name +clutter_state_key_get_object +clutter_state_key_get_property_name +clutter_state_key_get_mode +clutter_state_key_get_value +clutter_state_key_get_property_type +clutter_state_key_get_pre_delay +clutter_state_key_get_post_delay CLUTTER_TYPE_STATE