2 /* Test program to check the resolution of the SDL timer on the current
11 #define DEFAULT_RESOLUTION 1
15 static Uint32 SDLCALL
ticktock(Uint32 interval
)
21 static Uint32 SDLCALL
callback(Uint32 interval
, void *param
)
23 printf("Timer %d : param = %d\n", interval
, (int)(uintptr_t)param
);
27 int main(int argc
, char *argv
[])
30 SDL_TimerID t1
, t2
, t3
;
32 if ( SDL_Init(SDL_INIT_TIMER
) < 0 ) {
33 fprintf(stderr
, "Couldn't initialize SDL: %s\n", SDL_GetError());
40 desired
= atoi(argv
[1]);
43 desired
= DEFAULT_RESOLUTION
;
45 SDL_SetTimer(desired
, ticktock
);
48 printf("Waiting 10 seconds\n");
52 SDL_SetTimer(0, NULL
);
54 /* Print the results */
57 "Timer resolution: desired = %d ms, actual = %f ms\n",
58 desired
, (double)(10*1000)/ticks
);
61 /* Test multiple timers */
62 printf("Testing multiple timers...\n");
63 t1
= SDL_AddTimer(100, callback
, (void*)1);
65 fprintf(stderr
,"Could not create timer 1: %s\n", SDL_GetError());
66 t2
= SDL_AddTimer(50, callback
, (void*)2);
68 fprintf(stderr
,"Could not create timer 2: %s\n", SDL_GetError());
69 t3
= SDL_AddTimer(233, callback
, (void*)3);
71 fprintf(stderr
,"Could not create timer 3: %s\n", SDL_GetError());
74 printf("Waiting 10 seconds\n");
77 printf("Removing timer 1 and waiting 5 more seconds\n");