Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
109 lines (89 loc) · 3.04 KB

SDL_timer.h

File metadata and controls

109 lines (89 loc) · 3.04 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
/*
SDL - Simple DirectMedia Layer
Feb 12, 2011
Feb 12, 2011
3
Copyright (C) 1997-2011 Sam Lantinga
Apr 26, 2001
Apr 26, 2001
4
5
This library is free software; you can redistribute it and/or
Feb 1, 2006
Feb 1, 2006
6
modify it under the terms of the GNU Lesser General Public
Apr 26, 2001
Apr 26, 2001
7
License as published by the Free Software Foundation; either
Feb 1, 2006
Feb 1, 2006
8
version 2.1 of the License, or (at your option) any later version.
Apr 26, 2001
Apr 26, 2001
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
Feb 1, 2006
Feb 1, 2006
13
Lesser General Public License for more details.
Apr 26, 2001
Apr 26, 2001
14
Feb 1, 2006
Feb 1, 2006
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
Apr 26, 2001
Apr 26, 2001
18
19
Sam Lantinga
Dec 14, 2001
Dec 14, 2001
20
slouken@libsdl.org
Apr 26, 2001
Apr 26, 2001
21
22
23
24
25
*/
#ifndef _SDL_timer_h
#define _SDL_timer_h
Jul 10, 2006
Jul 10, 2006
26
/**
Oct 19, 2009
Oct 19, 2009
27
28
29
* \file SDL_timer.h
*
* Header for the SDL time management routines.
Jul 10, 2006
Jul 10, 2006
30
*/
Apr 26, 2001
Apr 26, 2001
31
Feb 10, 2006
Feb 10, 2006
32
#include "SDL_stdinc.h"
Feb 10, 2006
Feb 10, 2006
33
#include "SDL_error.h"
Apr 26, 2001
Apr 26, 2001
34
35
36
37
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
38
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
39
extern "C" {
Jul 10, 2006
Jul 10, 2006
40
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
41
42
#endif
Oct 19, 2009
Oct 19, 2009
43
/**
Jan 27, 2011
Jan 27, 2011
44
* \brief Get the number of milliseconds since the SDL library initialization.
Oct 19, 2009
Oct 19, 2009
45
*
Jan 27, 2011
Jan 27, 2011
46
* \note This value wraps if the program runs for more than ~49 days.
Jul 10, 2006
Jul 10, 2006
47
*/
Apr 11, 2002
Apr 11, 2002
48
extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);
Apr 26, 2001
Apr 26, 2001
49
Mar 25, 2011
Mar 25, 2011
50
51
52
53
54
55
56
57
58
59
/**
* \brief Get the current value of the high resolution counter
*/
extern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceCounter(void);
/**
* \brief Get the count per second of the high resolution counter
*/
extern DECLSPEC Uint64 SDLCALL SDL_GetPerformanceFrequency(void);
Oct 19, 2009
Oct 19, 2009
60
/**
Jan 27, 2011
Jan 27, 2011
61
* \brief Wait a specified number of milliseconds before returning.
Oct 19, 2009
Oct 19, 2009
62
*/
Apr 11, 2002
Apr 11, 2002
63
extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);
Apr 26, 2001
Apr 26, 2001
64
Oct 19, 2009
Oct 19, 2009
65
66
67
68
69
70
71
/**
* 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.
Apr 26, 2001
Apr 26, 2001
72
*/
Jan 27, 2011
Jan 27, 2011
73
typedef Uint32 (SDLCALL * SDL_TimerCallback) (Uint32 interval, void *param);
Apr 26, 2001
Apr 26, 2001
74
Oct 19, 2009
Oct 19, 2009
75
/**
Jan 27, 2011
Jan 27, 2011
76
* Definition of the timer ID type.
Oct 19, 2009
Oct 19, 2009
77
*/
Jan 27, 2011
Jan 27, 2011
78
typedef int SDL_TimerID;
Apr 26, 2001
Apr 26, 2001
79
Oct 19, 2009
Oct 19, 2009
80
/**
Jan 27, 2011
Jan 27, 2011
81
82
83
* \brief Add a new timer to the pool of timers already running.
*
* \return A timer ID, or NULL when an error occurs.
Apr 26, 2001
Apr 26, 2001
84
*/
Jul 10, 2006
Jul 10, 2006
85
extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval,
Jan 27, 2011
Jan 27, 2011
86
87
SDL_TimerCallback callback,
void *param);
Apr 26, 2001
Apr 26, 2001
88
Oct 19, 2009
Oct 19, 2009
89
/**
Jan 27, 2011
Jan 27, 2011
90
91
92
93
94
* \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.
Apr 26, 2001
Apr 26, 2001
95
*/
Apr 11, 2002
Apr 11, 2002
96
extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t);
Apr 26, 2001
Apr 26, 2001
97
Oct 19, 2009
Oct 19, 2009
98
Apr 26, 2001
Apr 26, 2001
99
100
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
101
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
102
}
Jul 10, 2006
Jul 10, 2006
103
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
104
105
106
107
#endif
#include "close_code.h"
#endif /* _SDL_timer_h */
Jul 10, 2006
Jul 10, 2006
108
109
/* vi: set ts=4 sw=4 expandtab: */