sdl2dll
Loading...
Searching...
No Matches
sdl_timer.h
1/*
2 * Clases para manejar temporizadores
3 */
4
5#ifndef _SDL_TIMER
6#define _SDL_TIMER
7
8#define EXPORT __declspec(dllexport)
9
10#include <SDL.h>
11
12namespace sdl {
13
18class Timer {
19protected:
20 SDL_TimerCallback CallBack;
21 SDL_TimerID id;
22 Uint32 interval;
23 void *param;
25public:
29 EXPORT Timer() : CallBack(0), id(0), interval(0), param(NULL) {}
36 EXPORT Timer(Uint32 i, void *p) : interval(i), param(p) {}
42 EXPORT ~Timer() {
43 if(id!=0) SDL_RemoveTimer(id);
44 }
50 EXPORT void SetCallback(SDL_TimerCallback callback) {
51 CallBack = callback;
52 }
59 EXPORT Uint32 SetInterval(Uint32 i) {
60 Uint32 retval = interval;
61 interval = i;
62 return retval;
63 }
70 EXPORT void* SetParam(void *p) {
71 void* retval = param;
72 param = p;
73 return retval;
74 }
80 EXPORT SDL_TimerID Init() {
81 id = SDL_AddTimer(interval, CallBack, param);
82 return id;
83 }
89 EXPORT SDL_TimerID Id() const { return id; }
90};
91
92} // namespace
93
94#endif // _SDL_TIMER
Clase que encapsula un temporizador.
Definition sdl_timer.h:18
EXPORT Timer(Uint32 i, void *p)
Constructor.
Definition sdl_timer.h:36
EXPORT SDL_TimerID Init()
Inicia el temporizador.
Definition sdl_timer.h:80
EXPORT SDL_TimerID Id() const
Obtiene el identificador del temporizador.
Definition sdl_timer.h:89
EXPORT ~Timer()
Destructor.
Definition sdl_timer.h:42
Uint32 interval
Definition sdl_timer.h:22
EXPORT Timer()
Constructor por defecto.
Definition sdl_timer.h:29
void * param
Definition sdl_timer.h:23
SDL_TimerID id
Definition sdl_timer.h:21
EXPORT void * SetParam(void *p)
Asigna el puntero de datos a pasar a la función de retrollamada.
Definition sdl_timer.h:70
EXPORT Uint32 SetInterval(Uint32 i)
Asigna un nuevo intervalo de espera.
Definition sdl_timer.h:59
SDL_TimerCallback CallBack
Definition sdl_timer.h:20
EXPORT void SetCallback(SDL_TimerCallback callback)
Asigna una nueva función de retrollamada al temporizador.
Definition sdl_timer.h:50
Espacio con nombre para el wrapper de SDL2.
Definition sdl_music.h:14