3
#include <egg/egg-hack.h>
5
/* We use a nice slow timeline for this test since we
6
* dont want the timeouts to interpolate the timeline
7
* forward multiple frames */
8
#define TEST_TIMELINE_FPS 10
9
#define TEST_TIMELINE_FRAME_COUNT 20
11
typedef struct _TestState {
12
EggTimeline *timeline;
14
gint completion_count;
20
new_frame_cb (EggTimeline *timeline,
24
gint current_frame = egg_timeline_get_current_frame (state->timeline);
26
if (state->prev_frame != egg_timeline_get_current_frame (state->timeline))
28
g_print("timeline previous frame=%-4i actual frame=%-4i (OK)\n",
34
g_print("timeline previous frame=%-4i actual frame=%-4i (FAILED)\n",
38
state->passed = FALSE;
41
state->prev_frame = current_frame;
46
completed_cb (EggTimeline *timeline,
49
state->completion_count++;
51
if (state->completion_count == 2)
68
main(int argc, char **argv)
72
egg_init(&argc, &argv);
75
egg_timeline_new (TEST_TIMELINE_FRAME_COUNT,
77
egg_timeline_set_loop (state.timeline, TRUE);
78
g_signal_connect (G_OBJECT(state.timeline),
80
G_CALLBACK(new_frame_cb),
82
g_signal_connect (G_OBJECT(state.timeline),
84
G_CALLBACK(completed_cb),
87
state.prev_frame = -1;
88
state.completion_count = 0;
91
egg_timeline_start (state.timeline);