symbian-qemu-0.9.1-12/libsdl-trunk/docs/html/sdladdtimer.html
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 <HTML
       
     2 ><HEAD
       
     3 ><TITLE
       
     4 >SDL_AddTimer</TITLE
       
     5 ><META
       
     6 NAME="GENERATOR"
       
     7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
       
     8 "><LINK
       
     9 REL="HOME"
       
    10 TITLE="SDL Library Documentation"
       
    11 HREF="index.html"><LINK
       
    12 REL="UP"
       
    13 TITLE="Time"
       
    14 HREF="time.html"><LINK
       
    15 REL="PREVIOUS"
       
    16 TITLE="SDL_Delay"
       
    17 HREF="sdldelay.html"><LINK
       
    18 REL="NEXT"
       
    19 TITLE="SDL_RemoveTimer"
       
    20 HREF="sdlremovetimer.html"></HEAD
       
    21 ><BODY
       
    22 CLASS="REFENTRY"
       
    23 BGCOLOR="#FFF8DC"
       
    24 TEXT="#000000"
       
    25 LINK="#0000ee"
       
    26 VLINK="#551a8b"
       
    27 ALINK="#ff0000"
       
    28 ><DIV
       
    29 CLASS="NAVHEADER"
       
    30 ><TABLE
       
    31 SUMMARY="Header navigation table"
       
    32 WIDTH="100%"
       
    33 BORDER="0"
       
    34 CELLPADDING="0"
       
    35 CELLSPACING="0"
       
    36 ><TR
       
    37 ><TH
       
    38 COLSPAN="3"
       
    39 ALIGN="center"
       
    40 >SDL Library Documentation</TH
       
    41 ></TR
       
    42 ><TR
       
    43 ><TD
       
    44 WIDTH="10%"
       
    45 ALIGN="left"
       
    46 VALIGN="bottom"
       
    47 ><A
       
    48 HREF="sdldelay.html"
       
    49 ACCESSKEY="P"
       
    50 >Prev</A
       
    51 ></TD
       
    52 ><TD
       
    53 WIDTH="80%"
       
    54 ALIGN="center"
       
    55 VALIGN="bottom"
       
    56 ></TD
       
    57 ><TD
       
    58 WIDTH="10%"
       
    59 ALIGN="right"
       
    60 VALIGN="bottom"
       
    61 ><A
       
    62 HREF="sdlremovetimer.html"
       
    63 ACCESSKEY="N"
       
    64 >Next</A
       
    65 ></TD
       
    66 ></TR
       
    67 ></TABLE
       
    68 ><HR
       
    69 ALIGN="LEFT"
       
    70 WIDTH="100%"></DIV
       
    71 ><H1
       
    72 ><A
       
    73 NAME="SDLADDTIMER"
       
    74 ></A
       
    75 >SDL_AddTimer</H1
       
    76 ><DIV
       
    77 CLASS="REFNAMEDIV"
       
    78 ><A
       
    79 NAME="AEN8482"
       
    80 ></A
       
    81 ><H2
       
    82 >Name</H2
       
    83 >SDL_AddTimer&nbsp;--&nbsp;Add a timer which will call a callback after the specified number of milliseconds has
       
    84 elapsed.</DIV
       
    85 ><DIV
       
    86 CLASS="REFSYNOPSISDIV"
       
    87 ><A
       
    88 NAME="AEN8485"
       
    89 ></A
       
    90 ><H2
       
    91 >Synopsis</H2
       
    92 ><DIV
       
    93 CLASS="FUNCSYNOPSIS"
       
    94 ><A
       
    95 NAME="AEN8486"
       
    96 ></A
       
    97 ><P
       
    98 ></P
       
    99 ><PRE
       
   100 CLASS="FUNCSYNOPSISINFO"
       
   101 >#include "SDL.h"</PRE
       
   102 ><P
       
   103 ><CODE
       
   104 ><CODE
       
   105 CLASS="FUNCDEF"
       
   106 >SDL_TimerID <B
       
   107 CLASS="FSFUNC"
       
   108 >SDL_AddTimer</B
       
   109 ></CODE
       
   110 >(Uint32 interval, SDL_NewTimerCallback callback, void *param);</CODE
       
   111 ></P
       
   112 ><P
       
   113 ></P
       
   114 ></DIV
       
   115 ></DIV
       
   116 ><DIV
       
   117 CLASS="REFSECT1"
       
   118 ><A
       
   119 NAME="SDLNEWTIMERCALLBACK"
       
   120 ></A
       
   121 ><H2
       
   122 >Callback</H2
       
   123 ><PRE
       
   124 CLASS="PROGRAMLISTING"
       
   125 >/* type definition for the "new" timer callback function */
       
   126 typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param);</PRE
       
   127 ></DIV
       
   128 ><DIV
       
   129 CLASS="REFSECT1"
       
   130 ><A
       
   131 NAME="AEN8495"
       
   132 ></A
       
   133 ><H2
       
   134 >Description</H2
       
   135 ><P
       
   136 >Adds a callback function to be run after the specified number of
       
   137 milliseconds has elapsed. The callback function is passed the current
       
   138 timer interval and the user supplied parameter from the
       
   139 <TT
       
   140 CLASS="FUNCTION"
       
   141 >SDL_AddTimer</TT
       
   142 > call and returns the next timer
       
   143 interval. If the returned value from the callback is the same as the one
       
   144 passed in, the periodic alarm continues, otherwise a new alarm is
       
   145 scheduled.</P
       
   146 ><P
       
   147 >To cancel a currently running timer call
       
   148 <A
       
   149 HREF="sdlremovetimer.html"
       
   150 >SDL_RemoveTimer</A
       
   151 > with the
       
   152 timer ID returned from
       
   153 <TT
       
   154 CLASS="FUNCTION"
       
   155 >SDL_AddTimer</TT
       
   156 >.</P
       
   157 ><P
       
   158 >The timer callback function may run in a different thread than your
       
   159 main program, and so shouldn't call any functions from within itself.
       
   160 You may always call <A
       
   161 HREF="sdlpushevent.html"
       
   162 >SDL_PushEvent</A
       
   163 >, however.</P
       
   164 ><P
       
   165 >The granularity of the timer is platform-dependent, but you should count
       
   166 on it being at least 10 ms as this is the most common number.
       
   167 This means that if
       
   168 you request a 16 ms timer, your callback will run approximately 20 ms
       
   169 later on an unloaded system.  If you wanted to set a flag signaling
       
   170 a frame update at 30 frames per second (every 33 ms), you might set a
       
   171 timer for 30 ms (see example below).
       
   172 
       
   173 If you use this function, you need to pass <TT
       
   174 CLASS="LITERAL"
       
   175 >SDL_INIT_TIMER</TT
       
   176 >
       
   177 to <A
       
   178 HREF="sdlinit.html"
       
   179 >SDL_Init</A
       
   180 >.</P
       
   181 ></DIV
       
   182 ><DIV
       
   183 CLASS="REFSECT1"
       
   184 ><A
       
   185 NAME="AEN8507"
       
   186 ></A
       
   187 ><H2
       
   188 >Return Value</H2
       
   189 ><P
       
   190 >Returns an ID value for the added timer or
       
   191 <SPAN
       
   192 CLASS="RETURNVALUE"
       
   193 >NULL</SPAN
       
   194 > if there was an error.</P
       
   195 ></DIV
       
   196 ><DIV
       
   197 CLASS="REFSECT1"
       
   198 ><A
       
   199 NAME="AEN8511"
       
   200 ></A
       
   201 ><H2
       
   202 >Examples</H2
       
   203 ><P
       
   204 ><PRE
       
   205 CLASS="PROGRAMLISTING"
       
   206 >my_timer_id = SDL_AddTimer((33/10)*10, my_callbackfunc, my_callback_param);</PRE
       
   207 ></P
       
   208 ></DIV
       
   209 ><DIV
       
   210 CLASS="REFSECT1"
       
   211 ><A
       
   212 NAME="AEN8515"
       
   213 ></A
       
   214 ><H2
       
   215 >See Also</H2
       
   216 ><P
       
   217 ><A
       
   218 HREF="sdlremovetimer.html"
       
   219 ><TT
       
   220 CLASS="FUNCTION"
       
   221 >SDL_RemoveTimer</TT
       
   222 ></A
       
   223 >,
       
   224 <A
       
   225 HREF="sdlpushevent.html"
       
   226 ><TT
       
   227 CLASS="FUNCTION"
       
   228 >SDL_PushEvent</TT
       
   229 ></A
       
   230 ></P
       
   231 ></DIV
       
   232 ><DIV
       
   233 CLASS="NAVFOOTER"
       
   234 ><HR
       
   235 ALIGN="LEFT"
       
   236 WIDTH="100%"><TABLE
       
   237 SUMMARY="Footer navigation table"
       
   238 WIDTH="100%"
       
   239 BORDER="0"
       
   240 CELLPADDING="0"
       
   241 CELLSPACING="0"
       
   242 ><TR
       
   243 ><TD
       
   244 WIDTH="33%"
       
   245 ALIGN="left"
       
   246 VALIGN="top"
       
   247 ><A
       
   248 HREF="sdldelay.html"
       
   249 ACCESSKEY="P"
       
   250 >Prev</A
       
   251 ></TD
       
   252 ><TD
       
   253 WIDTH="34%"
       
   254 ALIGN="center"
       
   255 VALIGN="top"
       
   256 ><A
       
   257 HREF="index.html"
       
   258 ACCESSKEY="H"
       
   259 >Home</A
       
   260 ></TD
       
   261 ><TD
       
   262 WIDTH="33%"
       
   263 ALIGN="right"
       
   264 VALIGN="top"
       
   265 ><A
       
   266 HREF="sdlremovetimer.html"
       
   267 ACCESSKEY="N"
       
   268 >Next</A
       
   269 ></TD
       
   270 ></TR
       
   271 ><TR
       
   272 ><TD
       
   273 WIDTH="33%"
       
   274 ALIGN="left"
       
   275 VALIGN="top"
       
   276 >SDL_Delay</TD
       
   277 ><TD
       
   278 WIDTH="34%"
       
   279 ALIGN="center"
       
   280 VALIGN="top"
       
   281 ><A
       
   282 HREF="time.html"
       
   283 ACCESSKEY="U"
       
   284 >Up</A
       
   285 ></TD
       
   286 ><TD
       
   287 WIDTH="33%"
       
   288 ALIGN="right"
       
   289 VALIGN="top"
       
   290 >SDL_RemoveTimer</TD
       
   291 ></TR
       
   292 ></TABLE
       
   293 ></DIV
       
   294 ></BODY
       
   295 ></HTML
       
   296 >