Mercurial > sdl-ios-xcode
diff docs/html/sdladdtimer.html @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | 55f1f1b3e27d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/html/sdladdtimer.html Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,275 @@ +<HTML +><HEAD +><TITLE +>SDL_AddTimer</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.61 +"><LINK +REL="HOME" +TITLE="SDL Library Documentation" +HREF="index.html"><LINK +REL="UP" +TITLE="Time" +HREF="time.html"><LINK +REL="PREVIOUS" +TITLE="SDL_Delay" +HREF="sdldelay.html"><LINK +REL="NEXT" +TITLE="SDL_RemoveTimer" +HREF="sdlremovetimer.html"></HEAD +><BODY +CLASS="REFENTRY" +BGCOLOR="#FFF8DC" +TEXT="#000000" +LINK="#0000ee" +VLINK="#551a8b" +ALINK="#ff0000" +><DIV +CLASS="NAVHEADER" +><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TH +COLSPAN="3" +ALIGN="center" +>SDL Library Documentation</TH +></TR +><TR +><TD +WIDTH="10%" +ALIGN="left" +VALIGN="bottom" +><A +HREF="sdldelay.html" +>Prev</A +></TD +><TD +WIDTH="80%" +ALIGN="center" +VALIGN="bottom" +></TD +><TD +WIDTH="10%" +ALIGN="right" +VALIGN="bottom" +><A +HREF="sdlremovetimer.html" +>Next</A +></TD +></TR +></TABLE +><HR +ALIGN="LEFT" +WIDTH="100%"></DIV +><H1 +><A +NAME="SDLADDTIMER" +>SDL_AddTimer</A +></H1 +><DIV +CLASS="REFNAMEDIV" +><A +NAME="AEN7854" +></A +><H2 +>Name</H2 +>SDL_AddTimer -- Add a timer which will call a callback after the specified number of milliseconds has +elapsed.</DIV +><DIV +CLASS="REFSYNOPSISDIV" +><A +NAME="AEN7857" +></A +><H2 +>Synopsis</H2 +><DIV +CLASS="FUNCSYNOPSIS" +><A +NAME="AEN7858" +></A +><P +></P +><PRE +CLASS="FUNCSYNOPSISINFO" +>#include "SDL.h"</PRE +><P +><CODE +><CODE +CLASS="FUNCDEF" +>SDL_TimerID <B +CLASS="FSFUNC" +>SDL_AddTimer</B +></CODE +>(Uint32 interval, SDL_NewTimerCallback callback, void *param);</CODE +></P +><P +></P +></DIV +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="SDLNEWTIMERCALLBACK" +></A +><H2 +>Callback</H2 +><PRE +CLASS="PROGRAMLISTING" +>/* type definition for the "new" timer callback function */ +typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param);</PRE +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN7867" +></A +><H2 +>Description</H2 +><P +>Adds a callback function to be run after the specified number of +milliseconds has elapsed. The callback function is passed the current +timer interval and the user supplied parameter from the +<TT +CLASS="FUNCTION" +>SDL_AddTimer</TT +> 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 continues, otherwise a new alarm is +scheduled.</P +><P +>To cancel a currently running timer call +<A +HREF="sdlremovetimer.html" +>SDL_RemoveTimer</A +> with the +timer ID returned from +<TT +CLASS="FUNCTION" +>SDL_AddTimer</TT +>.</P +><P +>The timer callback function may run in a different thread than your +main program, and so shouldn't call any functions from within itself.</P +><P +>The maximum resolution of this timer is 10 ms, which 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 <TT +CLASS="LITERAL" +>SDL_INIT_TIMER</TT +> +to <A +HREF="sdlinit.html" +>SDL_Init</A +>.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN7878" +></A +><H2 +>Return Value</H2 +><P +>Returns an ID value for the added timer or +<SPAN +CLASS="RETURNVALUE" +>NULL</SPAN +> if there was an error.</P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN7882" +></A +><H2 +>Examples</H2 +><P +><PRE +CLASS="PROGRAMLISTING" +>my_timer_id = SDL_AddTimer((33/10)*10, my_callbackfunc, my_callback_param);</PRE +></P +></DIV +><DIV +CLASS="REFSECT1" +><A +NAME="AEN7886" +></A +><H2 +>See Also</H2 +><P +><A +HREF="sdlremovetimer.html" +><TT +CLASS="FUNCTION" +>SDL_RemoveTimer</TT +></A +></P +></DIV +><DIV +CLASS="NAVFOOTER" +><HR +ALIGN="LEFT" +WIDTH="100%"><TABLE +WIDTH="100%" +BORDER="0" +CELLPADDING="0" +CELLSPACING="0" +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +><A +HREF="sdldelay.html" +>Prev</A +></TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="index.html" +>Home</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +><A +HREF="sdlremovetimer.html" +>Next</A +></TD +></TR +><TR +><TD +WIDTH="33%" +ALIGN="left" +VALIGN="top" +>SDL_Delay</TD +><TD +WIDTH="34%" +ALIGN="center" +VALIGN="top" +><A +HREF="time.html" +>Up</A +></TD +><TD +WIDTH="33%" +ALIGN="right" +VALIGN="top" +>SDL_RemoveTimer</TD +></TR +></TABLE +></DIV +></BODY +></HTML +> \ No newline at end of file