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

Latest commit

 

History

History
155 lines (136 loc) · 4.43 KB

SDL_version.h

File metadata and controls

155 lines (136 loc) · 4.43 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
/*
SDL - Simple DirectMedia Layer
Dec 8, 2008
Dec 8, 2008
3
Copyright (C) 1997-2009 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
*/
Jul 10, 2006
Jul 10, 2006
23
/**
Oct 19, 2009
Oct 19, 2009
24
25
26
* \file SDL_version.h
*
* This header defines the current SDL version.
Jul 10, 2006
Jul 10, 2006
27
*/
Apr 26, 2001
Apr 26, 2001
28
29
30
31
#ifndef _SDL_version_h
#define _SDL_version_h
Feb 10, 2006
Feb 10, 2006
32
#include "SDL_stdinc.h"
Jan 4, 2009
Jan 4, 2009
33
#include "SDL_revision.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
Jul 10, 2006
Jul 10, 2006
43
/**
Oct 19, 2009
Oct 19, 2009
44
45
46
* \brief Information the version of SDL in use.
*
* Represents the library's version as three levels: major revision
Jul 10, 2006
Jul 10, 2006
47
48
49
50
* (increments with massive changes, additions, and enhancements),
* minor revision (increments with backwards-compatible changes to the
* major revision), and patchlevel (increments with fixes to the minor
* revision).
Oct 19, 2009
Oct 19, 2009
51
52
53
*
* \sa SDL_VERSION
* \sa SDL_GetVersion
Jul 10, 2006
Jul 10, 2006
54
55
56
57
58
59
60
61
*/
typedef struct SDL_version
{
Uint8 major; /**< major version */
Uint8 minor; /**< minor version */
Uint8 patch; /**< update version */
} SDL_version;
Apr 26, 2001
Apr 26, 2001
62
63
64
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
#define SDL_MAJOR_VERSION 1
Jul 10, 2006
Jul 10, 2006
65
66
67
68
#define SDL_MINOR_VERSION 3
#define SDL_PATCHLEVEL 0
/**
Oct 19, 2009
Oct 19, 2009
69
70
71
* \brief Macro to determine SDL version program was compiled against.
*
* This macro fills in a SDL_version structure with the version of the
Jul 10, 2006
Jul 10, 2006
72
73
74
* library you compiled against. This is determined by what header the
* compiler uses. Note that if you dynamically linked the library, you might
* have a slightly newer or older version at runtime. That version can be
Oct 19, 2009
Oct 19, 2009
75
* determined with SDL_GetVersion(), which, unlike SDL_VERSION(),
Jul 10, 2006
Jul 10, 2006
76
* is not a macro.
Oct 19, 2009
Oct 19, 2009
77
78
79
80
81
*
* \param x A pointer to a SDL_version struct to initialize.
*
* \sa SDL_version
* \sa SDL_GetVersion
Apr 26, 2001
Apr 26, 2001
82
*/
Jul 10, 2006
Jul 10, 2006
83
#define SDL_VERSION(x) \
Apr 26, 2001
Apr 26, 2001
84
{ \
Jul 10, 2006
Jul 10, 2006
85
86
87
(x)->major = SDL_MAJOR_VERSION; \
(x)->minor = SDL_MINOR_VERSION; \
(x)->patch = SDL_PATCHLEVEL; \
Apr 26, 2001
Apr 26, 2001
88
89
}
Oct 19, 2009
Oct 19, 2009
90
91
92
93
94
95
96
97
/**
* This macro turns the version numbers into a numeric value:
* \verbatim
(1,2,3) -> (1203)
\endverbatim
*
* This assumes that there will never be more than 100 patchlevels.
*/
Apr 26, 2001
Apr 26, 2001
98
#define SDL_VERSIONNUM(X, Y, Z) \
Apr 17, 2005
Apr 17, 2005
99
((X)*1000 + (Y)*100 + (Z))
Apr 26, 2001
Apr 26, 2001
100
Oct 19, 2009
Oct 19, 2009
101
102
103
/**
* This is the version number macro for the current SDL version.
*/
Apr 26, 2001
Apr 26, 2001
104
105
106
#define SDL_COMPILEDVERSION \
SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)
Oct 19, 2009
Oct 19, 2009
107
108
109
/**
* This macro will evaluate to true if compiled with SDL at least X.Y.Z.
*/
Apr 26, 2001
Apr 26, 2001
110
111
112
#define SDL_VERSION_ATLEAST(X, Y, Z) \
(SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
Jul 10, 2006
Jul 10, 2006
113
/**
Oct 19, 2009
Oct 19, 2009
114
115
116
* \brief Get the version of SDL that is linked against your program.
*
* If you are using a shared library (DLL) version of SDL, then it is
Jul 10, 2006
Jul 10, 2006
117
118
* possible that it will be different than the version you compiled against.
*
Oct 19, 2009
Oct 19, 2009
119
* This is a real function; the macro SDL_VERSION() tells you what version
Jul 10, 2006
Jul 10, 2006
120
* of SDL you compiled against:
Oct 19, 2009
Oct 19, 2009
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
*
* \code
* SDL_version compiled;
* SDL_version linked;
*
* SDL_VERSION(&compiled);
* SDL_GetVersion(&linked);
* printf("We compiled against SDL version %d.%d.%d ...\n",
* compiled.major, compiled.minor, compiled.patch);
* printf("But we linked against SDL version %d.%d.%d.\n",
* linked.major, linked.minor, linked.patch);
* \endcode
*
* This function may be called safely at any time, even before SDL_Init().
*
* \sa SDL_VERSION
Apr 26, 2001
Apr 26, 2001
137
*/
Jul 10, 2006
Jul 10, 2006
138
extern DECLSPEC void SDLCALL SDL_GetVersion(SDL_version * ver);
Apr 26, 2001
Apr 26, 2001
139
Jan 4, 2009
Jan 4, 2009
140
/**
Oct 19, 2009
Oct 19, 2009
141
* \brief Get the code revision of SDL that is linked against your program.
Jan 4, 2009
Jan 4, 2009
142
*/
Jan 4, 2009
Jan 4, 2009
143
extern DECLSPEC int SDLCALL SDL_GetRevision(void);
Jan 4, 2009
Jan 4, 2009
144
Apr 26, 2001
Apr 26, 2001
145
146
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
147
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
148
}
Jul 10, 2006
Jul 10, 2006
149
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
150
151
152
153
#endif
#include "close_code.h"
#endif /* _SDL_version_h */
Jul 10, 2006
Jul 10, 2006
154
155
/* vi: set ts=4 sw=4 expandtab: */