SDL_AddTimer.3
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. .TH "SDL_AddTimer" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
  2. .SH "NAME"
  3. SDL_AddTimer- Add a timer which will call a callback after the specified number of milliseconds has elapsed&.
  4. .SH "SYNOPSIS"
  5. .PP
  6. fB#include "SDL&.h"
  7. .sp
  8. fBSDL_TimerID fBSDL_AddTimerfPfR(fBUint32 interval, SDL_NewTimerCallback callback, void *paramfR);
  9. .SH "CALLBACK"
  10. .PP
  11. .nf
  12. f(CW/* type definition for the "new" timer callback function */
  13. typedef Uint32 (*SDL_NewTimerCallback)(Uint32 interval, void *param);fR
  14. .fi
  15. .PP
  16. .SH "DESCRIPTION"
  17. .PP
  18. 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 fBSDL_AddTimerfP 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&.
  19. .PP
  20. To cancel a currently running timer call fISDL_RemoveTimerfR with the timer ID returned from fBSDL_AddTimerfP&.
  21. .PP
  22. 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 fISDL_PushEventfR, however&.
  23. .PP
  24. 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 fBSDL_INIT_TIMERfP to fISDL_InitfR&.
  25. .SH "RETURN VALUE"
  26. .PP
  27. Returns an ID value for the added timer or fBNULLfR if there was an error&.
  28. .SH "EXAMPLES"
  29. .PP
  30. .PP
  31. .nf
  32. f(CWmy_timer_id = SDL_AddTimer((33/10)*10, my_callbackfunc, my_callback_param);fR
  33. .fi
  34. .PP
  35. .SH "SEE ALSO"
  36. .PP
  37. fIfBSDL_RemoveTimerfPfR, fIfBSDL_PushEventfPfR
  38. ..." created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01