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

Latest commit

 

History

History
151 lines (132 loc) · 4.45 KB

SDL_version.h

File metadata and controls

151 lines (132 loc) · 4.45 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
24
25
26
27
/**
* \file SDL_version.h
*
* This header defines the current SDL version
*/
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* \struct SDL_version
* \brief Information the version of SDL in use.
*
* Represents the library's version as three levels: major revision
* (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).
*
* \sa SDL_VERSION
* \sa SDL_GetVersion
*/
typedef struct SDL_version
{
Uint8 major; /**< major version */
Uint8 minor; /**< minor version */
Uint8 patch; /**< update version */
} SDL_version;
Apr 26, 2001
Apr 26, 2001
63
64
65
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
#define SDL_MAJOR_VERSION 1
Jul 10, 2006
Jul 10, 2006
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#define SDL_MINOR_VERSION 3
#define SDL_PATCHLEVEL 0
/**
* \def SDL_VERSION(x)
* \brief Macro to determine SDL version program was compiled against.
*
* This macro fills in a SDL_version structure with the version of the
* 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
* determined with SDL_GetVersion(), which, unlike SDL_VERSION,
* is not a macro.
*
* \param x A pointer to a SDL_version struct to initialize.
*
* \sa SDL_version
* \sa SDL_GetVersion
Apr 26, 2001
Apr 26, 2001
84
*/
Jul 10, 2006
Jul 10, 2006
85
#define SDL_VERSION(x) \
Apr 26, 2001
Apr 26, 2001
86
{ \
Jul 10, 2006
Jul 10, 2006
87
88
89
(x)->major = SDL_MAJOR_VERSION; \
(x)->minor = SDL_MINOR_VERSION; \
(x)->patch = SDL_PATCHLEVEL; \
Apr 26, 2001
Apr 26, 2001
90
91
92
93
94
95
96
}
/* This macro turns the version numbers into a numeric value:
(1,2,3) -> (1203)
This assumes that there will never be more than 100 patchlevels
*/
#define SDL_VERSIONNUM(X, Y, Z) \
Apr 17, 2005
Apr 17, 2005
97
((X)*1000 + (Y)*100 + (Z))
Apr 26, 2001
Apr 26, 2001
98
99
100
101
102
103
104
105
106
/* This is the version number macro for the current SDL version */
#define SDL_COMPILEDVERSION \
SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)
/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */
#define SDL_VERSION_ATLEAST(X, Y, Z) \
(SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
Jul 10, 2006
Jul 10, 2006
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/**
* \fn void SDL_GetVersion(SDL_version *ver)
* \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
* possible that it will be different than the version you compiled against.
*
* This is a real function; the macro SDL_VERSION tells you what version
* of SDL you compiled against:
*
* \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
132
*/
Jul 10, 2006
Jul 10, 2006
133
extern DECLSPEC void SDLCALL SDL_GetVersion(SDL_version * ver);
Apr 26, 2001
Apr 26, 2001
134
Jan 4, 2009
Jan 4, 2009
135
/**
Jan 4, 2009
Jan 4, 2009
136
* \fn int SDL_GetRevision(void)
Jan 4, 2009
Jan 4, 2009
137
138
* \brief Get the code revision of SDL that is linked against your program.
*/
Jan 4, 2009
Jan 4, 2009
139
extern DECLSPEC int SDLCALL SDL_GetRevision(void);
Jan 4, 2009
Jan 4, 2009
140
Apr 26, 2001
Apr 26, 2001
141
142
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
143
/* *INDENT-OFF* */
Apr 26, 2001
Apr 26, 2001
144
}
Jul 10, 2006
Jul 10, 2006
145
/* *INDENT-ON* */
Apr 26, 2001
Apr 26, 2001
146
147
148
149
#endif
#include "close_code.h"
#endif /* _SDL_version_h */
Jul 10, 2006
Jul 10, 2006
150
151
/* vi: set ts=4 sw=4 expandtab: */