This repository has been archived by the owner on Feb 11, 2021. It is now read-only.
/
SDL_timer.h
99 lines (81 loc) · 2.77 KB
1
2
/*
SDL - Simple DirectMedia Layer
3
Copyright (C) 1997-2010 Sam Lantinga
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
8
version 2.1 of the License, or (at your option) any later version.
9
10
11
12
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Lesser General Public License for more details.
14
15
16
17
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
Sam Lantinga
20
slouken@libsdl.org
21
22
23
24
25
*/
#ifndef _SDL_timer_h
#define _SDL_timer_h
26
/**
27
28
29
* \file SDL_timer.h
*
* Header for the SDL time management routines.
30
*/
31
32
#include "SDL_stdinc.h"
33
#include "SDL_error.h"
34
35
36
37
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
38
/* *INDENT-OFF* */
39
extern "C" {
40
/* *INDENT-ON* */
41
42
#endif
43
/**
44
* \brief Get the number of milliseconds since the SDL library initialization.
45
*
46
* \note This value wraps if the program runs for more than ~49 days.
47
*/
48
extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);
49
50
/**
51
* \brief Wait a specified number of milliseconds before returning.
52
*/
53
extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);
54
55
56
57
58
59
60
61
/**
* Function prototype for the timer callback function.
*
* The callback function is passed the current timer interval and returns
* the next timer interval. If the returned value is the same as the one
* passed in, the periodic alarm continues, otherwise a new alarm is
* scheduled. If the callback returns 0, the periodic alarm is cancelled.
62
*/
63
typedef Uint32 (SDLCALL * SDL_TimerCallback) (Uint32 interval, void *param);
64
65
/**
66
* Definition of the timer ID type.
67
*/
68
typedef int SDL_TimerID;
69
70
/**
71
72
73
* \brief Add a new timer to the pool of timers already running.
*
* \return A timer ID, or NULL when an error occurs.
74
*/
75
extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval,
76
77
SDL_TimerCallback callback,
void *param);
78
79
/**
80
81
82
83
84
* \brief Remove a timer knowing its ID.
*
* \return A boolean value indicating success or failure.
*
* \warning It is not safe to remove a timer multiple times.
85
*/
86
extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t);
87
88
89
90
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
91
/* *INDENT-OFF* */
92
}
93
/* *INDENT-ON* */
94
95
96
97
#endif
#include "close_code.h"
#endif /* _SDL_timer_h */
98
99
/* vi: set ts=4 sw=4 expandtab: */