Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019

SDL_AddTimer (3)


SDL_AddTimer - fied number of milliseconds has elapsed.


#include "SDL.h"

SDL_TimerID SDL_AddTimer(Uint32  interval,  SDL_NewTimerCallback  call-
back, void *param);


SDL_AddTimer(3)                SDL API Reference               SDL_AddTimer(3)

       SDL_AddTimer  - Add a timer which will call a callback after the speci-
       fied number of milliseconds has elapsed.

       #include "SDL.h"

       SDL_TimerID SDL_AddTimer(Uint32  interval,  SDL_NewTimerCallback  call-
       back, void *param);

       /* type definition for the "new" timer callback function */
       typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param);

       Adds  a  callback function to be run after the specified number of mil-
       liseconds has elapsed. The callback  function  is  passed  the  current
       timer  interval  and  the user supplied parameter from the SDL_AddTimer
       call and returns the next timer interval. If the  returned  value  from
       the  callback is the same as the one passed in, the periodic alarm con-
       tinues, otherwise a new alarm is scheduled.

       To cancel a currently running timer call SDL_RemoveTimer with the timer
       ID returned from SDL_AddTimer.

       The  timer  callback  function  may run in a different thread than your
       main program, and so shouldn't call any functions from  within  itself.
       You may always call SDL_PushEvent, however.

       The  granularity  of  the  timer  is platform-dependent, but you should
       count on it being at least 10 ms as this is  the  most  common  number.
       This  means  that  if you request a 16 ms timer, your callback will run
       approximately 20 ms later on an unloaded system. If you wanted to set a
       flag  signaling  a  frame update at 30 frames per second (every 33 ms),
       you might set a timer for 30 ms (see example below). If  you  use  this
       function, you need to pass SDL_INIT_TIMER to SDL_Init.

       Returns an ID value for the added timer or NULL if there was an error.

       my_timer_id = SDL_AddTimer((33/10)*10, my_callbackfunc, my_callback_param);

       See attributes(7) for descriptions of the following attributes:

       |Availability   | library/sdl      |
       |Stability      | Volatile         |
       SDL_RemoveTimer, SDL_PushEvent

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from        https://www.lib-

       Further information about this software can be found on the open source
       community website at https://www.libsdl.org/.

SDL                         Tue 11 Sep 2001, 23:01             SDL_AddTimer(3)