diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2012-07-22 10:41:41 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2012-07-26 14:01:01 +0100 |
commit | 25878c6c13778596d3583b9547edf8896614b26d (patch) | |
tree | dfb0cc400cc7601883d30c1291a0e9736e098f60 /tests/interactive | |
parent | 17860b128ed9dba0cdc7adc1c4f1349c3a29647a (diff) | |
download | clutter-25878c6c13778596d3583b9547edf8896614b26d.tar.gz |
interactive/keyframe: Use transition-stopped signal
Diffstat (limited to 'tests/interactive')
-rw-r--r-- | tests/interactive/test-keyframe-transition.c | 21 |
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); |