Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. <HTML
  2. ><HEAD
  3. ><TITLE
  4. >SDL_SetTimer</TITLE
  5. ><META
  6. NAME="GENERATOR"
  7. CONTENT="Modular DocBook HTML Stylesheet Version 1.64
  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_RemoveTimer"
  17. HREF="sdlremovetimer.html"></HEAD
  18. ><BODY
  19. CLASS="REFENTRY"
  20. BGCOLOR="#FFF8DC"
  21. TEXT="#000000"
  22. LINK="#0000ee"
  23. VLINK="#551a8b"
  24. ALINK="#ff0000"
  25. ><DIV
  26. CLASS="NAVHEADER"
  27. ><TABLE
  28. WIDTH="100%"
  29. BORDER="0"
  30. CELLPADDING="0"
  31. CELLSPACING="0"
  32. ><TR
  33. ><TH
  34. COLSPAN="3"
  35. ALIGN="center"
  36. >SDL Library Documentation</TH
  37. ></TR
  38. ><TR
  39. ><TD
  40. WIDTH="10%"
  41. ALIGN="left"
  42. VALIGN="bottom"
  43. ><A
  44. HREF="sdlremovetimer.html"
  45. >Prev</A
  46. ></TD
  47. ><TD
  48. WIDTH="80%"
  49. ALIGN="center"
  50. VALIGN="bottom"
  51. ></TD
  52. ><TD
  53. WIDTH="10%"
  54. ALIGN="right"
  55. VALIGN="bottom"
  56. >&nbsp;</TD
  57. ></TR
  58. ></TABLE
  59. ><HR
  60. ALIGN="LEFT"
  61. WIDTH="100%"></DIV
  62. ><H1
  63. ><A
  64. NAME="SDLSETTIMER"
  65. >SDL_SetTimer</A
  66. ></H1
  67. ><DIV
  68. CLASS="REFNAMEDIV"
  69. ><A
  70. NAME="AEN8008"
  71. ></A
  72. ><H2
  73. >Name</H2
  74. >SDL_SetTimer&nbsp;--&nbsp;Set a callback to run after the specified number of milliseconds has
  75. elapsed.</DIV
  76. ><DIV
  77. CLASS="REFSYNOPSISDIV"
  78. ><A
  79. NAME="AEN8011"
  80. ></A
  81. ><H2
  82. >Synopsis</H2
  83. ><DIV
  84. CLASS="FUNCSYNOPSIS"
  85. ><A
  86. NAME="AEN8012"
  87. ></A
  88. ><P
  89. ></P
  90. ><PRE
  91. CLASS="FUNCSYNOPSISINFO"
  92. >#include "SDL.h"</PRE
  93. ><P
  94. ><CODE
  95. ><CODE
  96. CLASS="FUNCDEF"
  97. >int <B
  98. CLASS="FSFUNC"
  99. >SDL_SetTimer</B
  100. ></CODE
  101. >(Uint32 interval, SDL_TimerCallback callback);</CODE
  102. ></P
  103. ><P
  104. ></P
  105. ></DIV
  106. ></DIV
  107. ><DIV
  108. CLASS="REFSECT1"
  109. ><A
  110. NAME="SDLTIMERCALLBACK"
  111. ></A
  112. ><H2
  113. >Callback</H2
  114. ><P
  115. >/* Function prototype for the timer callback function */
  116. typedef Uint32 (*SDL_TimerCallback)(Uint32 interval);</P
  117. ></DIV
  118. ><DIV
  119. CLASS="REFSECT1"
  120. ><A
  121. NAME="AEN8021"
  122. ></A
  123. ><H2
  124. >Description</H2
  125. ><P
  126. >Set a callback to run after the specified number of milliseconds has
  127. elapsed. The callback function is passed the current timer interval
  128. and returns the next timer interval.  If the returned value is the
  129. same as the one passed in, the periodic alarm continues, otherwise a
  130. new alarm is scheduled.</P
  131. ><P
  132. >To cancel a currently running timer, call
  133. <TT
  134. CLASS="FUNCTION"
  135. >SDL_SetTimer(0, NULL);</TT
  136. ></P
  137. ><P
  138. >The timer callback function may run in a different thread than your
  139. main constant, and so shouldn't call any functions from within itself.</P
  140. ><P
  141. >The maximum resolution of this timer is 10 ms, which means that if
  142. you request a 16 ms timer, your callback will run approximately 20 ms
  143. later on an unloaded system.  If you wanted to set a flag signaling
  144. a frame update at 30 frames per second (every 33 ms), you might set a
  145. timer for 30 ms (see example below).</P
  146. ><P
  147. >If you use this function, you need to pass <TT
  148. CLASS="LITERAL"
  149. >SDL_INIT_TIMER</TT
  150. >
  151. to <TT
  152. CLASS="FUNCTION"
  153. >SDL_Init()</TT
  154. >.</P
  155. ><DIV
  156. CLASS="NOTE"
  157. ><BLOCKQUOTE
  158. CLASS="NOTE"
  159. ><P
  160. ><B
  161. >Note: </B
  162. >This function is kept for compatibility but has been superseded
  163. by the new timer functions
  164. <A
  165. HREF="sdladdtimer.html"
  166. >SDL_AddTimer</A
  167. > and
  168. <A
  169. HREF="sdlremovetimer.html"
  170. >SDL_RemoveTimer</A
  171. > which support
  172. multiple timers.</P
  173. ></BLOCKQUOTE
  174. ></DIV
  175. ></DIV
  176. ><DIV
  177. CLASS="REFSECT1"
  178. ><A
  179. NAME="AEN8035"
  180. ></A
  181. ><H2
  182. >Examples</H2
  183. ><P
  184. ><PRE
  185. CLASS="PROGRAMLISTING"
  186. >SDL_SetTimer((33/10)*10, my_callback);</PRE
  187. ></P
  188. ></DIV
  189. ><DIV
  190. CLASS="REFSECT1"
  191. ><A
  192. NAME="AEN8039"
  193. ></A
  194. ><H2
  195. >See Also</H2
  196. ><P
  197. ><A
  198. HREF="sdladdtimer.html"
  199. ><TT
  200. CLASS="FUNCTION"
  201. >SDL_AddTimer</TT
  202. ></A
  203. ></P
  204. ></DIV
  205. ><DIV
  206. CLASS="NAVFOOTER"
  207. ><HR
  208. ALIGN="LEFT"
  209. WIDTH="100%"><TABLE
  210. WIDTH="100%"
  211. BORDER="0"
  212. CELLPADDING="0"
  213. CELLSPACING="0"
  214. ><TR
  215. ><TD
  216. WIDTH="33%"
  217. ALIGN="left"
  218. VALIGN="top"
  219. ><A
  220. HREF="sdlremovetimer.html"
  221. >Prev</A
  222. ></TD
  223. ><TD
  224. WIDTH="34%"
  225. ALIGN="center"
  226. VALIGN="top"
  227. ><A
  228. HREF="index.html"
  229. >Home</A
  230. ></TD
  231. ><TD
  232. WIDTH="33%"
  233. ALIGN="right"
  234. VALIGN="top"
  235. >&nbsp;</TD
  236. ></TR
  237. ><TR
  238. ><TD
  239. WIDTH="33%"
  240. ALIGN="left"
  241. VALIGN="top"
  242. >SDL_RemoveTimer</TD
  243. ><TD
  244. WIDTH="34%"
  245. ALIGN="center"
  246. VALIGN="top"
  247. ><A
  248. HREF="time.html"
  249. >Up</A
  250. ></TD
  251. ><TD
  252. WIDTH="33%"
  253. ALIGN="right"
  254. VALIGN="top"
  255. >&nbsp;</TD
  256. ></TR
  257. ></TABLE
  258. ></DIV
  259. ></BODY
  260. ></HTML
  261. >