Mercurial > sdl-ios-xcode
diff src/timer/riscos/SDL_systimer.c @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | 92947e3a18db |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/src/timer/riscos/SDL_systimer.c Sun May 21 17:27:13 2006 +0000 +++ b/src/timer/riscos/SDL_systimer.c Sun May 28 13:04:16 2006 +0000 @@ -37,144 +37,154 @@ /* Timer SDL_arraysize(Timer ),start/reset time */ static Uint32 timerStart; /* Timer running function */ -void RISCOS_CheckTimer(); +void RISCOS_CheckTimer (); #else #include <pthread.h> extern Uint32 riscos_main_thread; extern int riscos_using_threads; -extern Uint32 SDL_ThreadID(); -extern Uint32 SDL_EventThreadID(void); +extern Uint32 SDL_ThreadID (); +extern Uint32 SDL_EventThreadID (void); #endif -extern void RISCOS_BackgroundTasks(void); +extern void RISCOS_BackgroundTasks (void); /* The first ticks value of the application */ clock_t start; -void SDL_StartTicks(void) +void +SDL_StartTicks (void) { - /* Set first ticks value */ - start = clock(); + /* Set first ticks value */ + start = clock (); } -Uint32 SDL_GetTicks (void) +Uint32 +SDL_GetTicks (void) { - clock_t ticks; + clock_t ticks; - ticks=clock()-start; + ticks = clock () - start; #if CLOCKS_PER_SEC == 1000 - return(ticks); + return (ticks); #elif CLOCKS_PER_SEC == 100 - return (ticks * 10); + return (ticks * 10); #else - return ticks*(1000/CLOCKS_PER_SEC); + return ticks * (1000 / CLOCKS_PER_SEC); #endif } -void SDL_Delay (Uint32 ms) +void +SDL_Delay (Uint32 ms) { - Uint32 now,then,elapsed; + Uint32 now, then, elapsed; #if !SDL_THREADS_DISABLED int is_event_thread; - if (riscos_using_threads) - { - is_event_thread = 0; - if (SDL_EventThreadID()) - { - if (SDL_EventThreadID() == SDL_ThreadID()) is_event_thread = 1; - } else if (SDL_ThreadID() == riscos_main_thread) is_event_thread = 1; - } else is_event_thread = 1; + if (riscos_using_threads) { + is_event_thread = 0; + if (SDL_EventThreadID ()) { + if (SDL_EventThreadID () == SDL_ThreadID ()) + is_event_thread = 1; + } else if (SDL_ThreadID () == riscos_main_thread) + is_event_thread = 1; + } else + is_event_thread = 1; #endif - /*TODO: Next version of Unixlib may allow us to use usleep here */ - /* for non event threads */ + /*TODO: Next version of Unixlib may allow us to use usleep here */ + /* for non event threads */ - /* Set the timeout interval - Linux only needs to do this once */ - then = SDL_GetTicks(); + /* Set the timeout interval - Linux only needs to do this once */ + then = SDL_GetTicks (); - do { - /* Do background tasks required while sleeping as we are not multithreaded */ + do { + /* Do background tasks required while sleeping as we are not multithreaded */ #if SDL_THREADS_DISABLED - RISCOS_BackgroundTasks(); + RISCOS_BackgroundTasks (); #else - /* For threaded build only run background tasks in event thread */ - if (is_event_thread) RISCOS_BackgroundTasks(); + /* For threaded build only run background tasks in event thread */ + if (is_event_thread) + RISCOS_BackgroundTasks (); #endif - /* Calculate the time interval left (in case of interrupt) */ - now = SDL_GetTicks(); - elapsed = (now-then); - then = now; - if ( elapsed >= ms ) { - break; - } - ms -= elapsed; + /* Calculate the time interval left (in case of interrupt) */ + now = SDL_GetTicks (); + elapsed = (now - then); + then = now; + if (elapsed >= ms) { + break; + } + ms -= elapsed; #if !SDL_THREADS_DISABLED - /* Need to yield to let other threads have a go */ - if (riscos_using_threads) pthread_yield(); + /* Need to yield to let other threads have a go */ + if (riscos_using_threads) + pthread_yield (); #endif - } while ( 1 ); + } + while (1); } #if SDL_THREADS_DISABLED /* Non-threaded version of timer */ -int SDL_SYS_TimerInit(void) +int +SDL_SYS_TimerInit (void) { - return(0); + return (0); } -void SDL_SYS_TimerQuit(void) +void +SDL_SYS_TimerQuit (void) { - SDL_SetTimer(0, NULL); + SDL_SetTimer (0, NULL); } -int SDL_SYS_StartTimer(void) +int +SDL_SYS_StartTimer (void) { - timerStart = SDL_GetTicks(); + timerStart = SDL_GetTicks (); - return(0); + return (0); } -void SDL_SYS_StopTimer(void) +void +SDL_SYS_StopTimer (void) { - /* Don't need to do anything as we use SDL_timer_running - to detect if we need to check the timer */ + /* Don't need to do anything as we use SDL_timer_running + to detect if we need to check the timer */ } -void RISCOS_CheckTimer() +void +RISCOS_CheckTimer () { - if (SDL_timer_running && SDL_GetTicks() - timerStart >= SDL_alarm_interval) - { - Uint32 ms; + if (SDL_timer_running + && SDL_GetTicks () - timerStart >= SDL_alarm_interval) { + Uint32 ms; - ms = SDL_alarm_callback(SDL_alarm_interval); - if ( ms != SDL_alarm_interval ) - { - if ( ms ) - { - SDL_alarm_interval = ROUND_RESOLUTION(ms); - } else - { - SDL_alarm_interval = 0; - SDL_timer_running = 0; - } - } - if (SDL_alarm_interval) timerStart = SDL_GetTicks(); - } + ms = SDL_alarm_callback (SDL_alarm_interval); + if (ms != SDL_alarm_interval) { + if (ms) { + SDL_alarm_interval = ROUND_RESOLUTION (ms); + } else { + SDL_alarm_interval = 0; + SDL_timer_running = 0; + } + } + if (SDL_alarm_interval) + timerStart = SDL_GetTicks (); + } } #else @@ -187,47 +197,53 @@ static int timer_alive = 0; static SDL_Thread *timer = NULL; -static int RunTimer(void *unused) +static int +RunTimer (void *unused) { - while ( timer_alive ) { - if ( SDL_timer_running ) { - SDL_ThreadedTimerCheck(); - } - SDL_Delay(1); - } - return(0); + while (timer_alive) { + if (SDL_timer_running) { + SDL_ThreadedTimerCheck (); + } + SDL_Delay (1); + } + return (0); } /* This is only called if the event thread is not running */ -int SDL_SYS_TimerInit(void) +int +SDL_SYS_TimerInit (void) { - timer_alive = 1; - timer = SDL_CreateThread(RunTimer, NULL); - if ( timer == NULL ) - return(-1); - return(SDL_SetTimerThreaded(1)); + timer_alive = 1; + timer = SDL_CreateThread (RunTimer, NULL); + if (timer == NULL) + return (-1); + return (SDL_SetTimerThreaded (1)); } -void SDL_SYS_TimerQuit(void) +void +SDL_SYS_TimerQuit (void) { - timer_alive = 0; - if ( timer ) { - SDL_WaitThread(timer, NULL); - timer = NULL; - } + timer_alive = 0; + if (timer) { + SDL_WaitThread (timer, NULL); + timer = NULL; + } } -int SDL_SYS_StartTimer(void) +int +SDL_SYS_StartTimer (void) { - SDL_SetError("Internal logic error: RISC OS uses threaded timer"); - return(-1); + SDL_SetError ("Internal logic error: RISC OS uses threaded timer"); + return (-1); } -void SDL_SYS_StopTimer(void) +void +SDL_SYS_StopTimer (void) { - return; + return; } #endif /* SDL_THREADS_DISABLED */ #endif /* SDL_TIMER_RISCOS */ +/* vi: set ts=4 sw=4 expandtab: */