Mercurial > sdl-ios-xcode
view test/testtimer.c @ 3413:4b1f10cfd304
Adam Strzelecki to SDL
When using deployment in Xcode we use 10.4 SDK for PPC & i386 and 10.6 SDK for x86_64 unfortunately MAC_OS_X_VERSION_10_6 is defined only in 10.6 SDK, in older SDKs it is undefined which makes >= comparison return always TRUTH, so the GCC complains about undefined <NSWindowDelegate>, even if the original intention was to omit <NSWindowDelegate> on older SDKs.
Solution, don't relay on MAC_OS_X_VERSION_10_6 but use OSX revision number 1060 directly as SDL does in many other places.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 23 Oct 2009 03:58:23 +0000 |
parents | c121d94672cb |
children |
line wrap: on
line source
/* Test program to check the resolution of the SDL timer on the current platform */ #include <stdlib.h> #include <stdio.h> #include "SDL.h" #define DEFAULT_RESOLUTION 1 static int ticks = 0; static Uint32 SDLCALL ticktock(Uint32 interval) { ++ticks; return (interval); } static Uint32 SDLCALL callback(Uint32 interval, void *param) { printf("Timer %d : param = %d\n", interval, (int) (uintptr_t) param); return interval; } int main(int argc, char *argv[]) { int desired; SDL_TimerID t1, t2, t3; if (SDL_Init(SDL_INIT_TIMER) < 0) { fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); return (1); } /* Start the timer */ desired = 0; if (argv[1]) { desired = atoi(argv[1]); } if (desired == 0) { desired = DEFAULT_RESOLUTION; } SDL_SetTimer(desired, ticktock); /* Wait 10 seconds */ printf("Waiting 10 seconds\n"); SDL_Delay(10 * 1000); /* Stop the timer */ SDL_SetTimer(0, NULL); /* Print the results */ if (ticks) { fprintf(stderr, "Timer resolution: desired = %d ms, actual = %f ms\n", desired, (double) (10 * 1000) / ticks); } /* Test multiple timers */ printf("Testing multiple timers...\n"); t1 = SDL_AddTimer(100, callback, (void *) 1); if (!t1) fprintf(stderr, "Could not create timer 1: %s\n", SDL_GetError()); t2 = SDL_AddTimer(50, callback, (void *) 2); if (!t2) fprintf(stderr, "Could not create timer 2: %s\n", SDL_GetError()); t3 = SDL_AddTimer(233, callback, (void *) 3); if (!t3) fprintf(stderr, "Could not create timer 3: %s\n", SDL_GetError()); /* Wait 10 seconds */ printf("Waiting 10 seconds\n"); SDL_Delay(10 * 1000); printf("Removing timer 1 and waiting 5 more seconds\n"); SDL_RemoveTimer(t1); SDL_Delay(5 * 1000); SDL_RemoveTimer(t2); SDL_RemoveTimer(t3); SDL_Quit(); return (0); }