summaryrefslogtreecommitdiff
path: root/tests/interactive
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2012-07-22 10:41:41 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2012-07-26 14:01:01 +0100
commit25878c6c13778596d3583b9547edf8896614b26d (patch)
treedfb0cc400cc7601883d30c1291a0e9736e098f60 /tests/interactive
parent17860b128ed9dba0cdc7adc1c4f1349c3a29647a (diff)
downloadclutter-25878c6c13778596d3583b9547edf8896614b26d.tar.gz
interactive/keyframe: Use transition-stopped signal
Diffstat (limited to 'tests/interactive')
-rw-r--r--tests/interactive/test-keyframe-transition.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/interactive/test-keyframe-transition.c b/tests/interactive/test-keyframe-transition.c
index 801af448a..747a03934 100644
--- a/tests/interactive/test-keyframe-transition.c
+++ b/tests/interactive/test-keyframe-transition.c
@@ -11,6 +11,17 @@ static const ClutterColor colors[] = {
#define PADDING (64.0f)
#define SIZE (64.0f)
+static void
+on_transition_stopped (ClutterActor *actor,
+ const gchar *transition_name,
+ gboolean is_finished)
+{
+ g_print ("%s: transition stopped: %s (finished: %s)\n",
+ clutter_actor_get_name (actor),
+ transition_name,
+ is_finished ? "yes" : "no");
+}
+
G_MODULE_EXPORT const char *
test_keyframe_transition_describe (void)
{
@@ -36,6 +47,7 @@ test_keyframe_transition_main (int argc, char *argv[])
ClutterActor *rect;
float cur_x, cur_y;
float new_x, new_y;
+ gchar *name;
cur_x = PADDING;
cur_y = PADDING + ((SIZE + PADDING) * i);
@@ -43,8 +55,11 @@ test_keyframe_transition_main (int argc, char *argv[])
new_x = clutter_actor_get_width (stage) - PADDING - SIZE;
new_y = g_random_double_range (PADDING, clutter_actor_get_height (stage) - PADDING - SIZE);
+ name = g_strdup_printf ("rect%02d", i);
+
rect = clutter_actor_new ();
+ clutter_actor_set_name (rect, name);
clutter_actor_set_background_color (rect, &colors[i]);
clutter_actor_set_size (rect, SIZE, SIZE);
clutter_actor_set_position (rect, PADDING, cur_y);
@@ -76,7 +91,13 @@ test_keyframe_transition_main (int argc, char *argv[])
g_object_unref (transition);
clutter_actor_add_transition (rect, "rectAnimation", group);
+
+ g_signal_connect (rect, "transition-stopped",
+ G_CALLBACK (on_transition_stopped),
+ NULL);
g_object_unref (group);
+
+ g_free (name);
}
clutter_actor_show (stage);