Skip to content

Latest commit

 

History

History
91 lines (74 loc) · 2.58 KB

SDL_version.h

File metadata and controls

91 lines (74 loc) · 2.58 KB
 
Apr 26, 2001
Apr 26, 2001
1
2
/*
SDL - Simple DirectMedia Layer
Dec 31, 2011
Dec 31, 2011
3
Copyright (C) 1997-2012 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
*/
Sep 21, 2009
Sep 21, 2009
23
24
25
/** @file SDL_version.h
* This header defines the current SDL version
*/
Apr 26, 2001
Apr 26, 2001
26
27
28
29
#ifndef _SDL_version_h
#define _SDL_version_h
Feb 10, 2006
Feb 10, 2006
30
#include "SDL_stdinc.h"
Apr 26, 2001
Apr 26, 2001
31
32
33
34
35
36
37
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif
Sep 21, 2009
Sep 21, 2009
38
39
40
41
/** @name Version Number
* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
/*@{*/
Apr 26, 2001
Apr 26, 2001
42
43
#define SDL_MAJOR_VERSION 1
#define SDL_MINOR_VERSION 2
Dec 29, 2011
Dec 29, 2011
44
#define SDL_PATCHLEVEL 15
Sep 21, 2009
Sep 21, 2009
45
/*@}*/
Apr 26, 2001
Apr 26, 2001
46
Jul 18, 2004
Jul 18, 2004
47
typedef struct SDL_version {
Apr 26, 2001
Apr 26, 2001
48
49
50
51
52
Uint8 major;
Uint8 minor;
Uint8 patch;
} SDL_version;
Sep 21, 2009
Sep 21, 2009
53
54
/**
* This macro can be used to fill a version structure with the compile-time
Apr 26, 2001
Apr 26, 2001
55
56
57
58
59
60
61
62
63
* version of the SDL library.
*/
#define SDL_VERSION(X) \
{ \
(X)->major = SDL_MAJOR_VERSION; \
(X)->minor = SDL_MINOR_VERSION; \
(X)->patch = SDL_PATCHLEVEL; \
}
Sep 21, 2009
Sep 21, 2009
64
65
66
67
/** 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
*/
Apr 26, 2001
Apr 26, 2001
68
#define SDL_VERSIONNUM(X, Y, Z) \
Apr 17, 2005
Apr 17, 2005
69
((X)*1000 + (Y)*100 + (Z))
Apr 26, 2001
Apr 26, 2001
70
Sep 21, 2009
Sep 21, 2009
71
/** This is the version number macro for the current SDL version */
Apr 26, 2001
Apr 26, 2001
72
73
74
#define SDL_COMPILEDVERSION \
SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)
Sep 21, 2009
Sep 21, 2009
75
/** This macro will evaluate to true if compiled with SDL at least X.Y.Z */
Apr 26, 2001
Apr 26, 2001
76
77
78
#define SDL_VERSION_ATLEAST(X, Y, Z) \
(SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
Sep 21, 2009
Sep 21, 2009
79
80
81
/** This function gets the version of the dynamically linked SDL library.
* it should NOT be used to fill a version structure, instead you should
* use the SDL_Version() macro.
Apr 26, 2001
Apr 26, 2001
82
*/
Apr 11, 2002
Apr 11, 2002
83
extern DECLSPEC const SDL_version * SDLCALL SDL_Linked_Version(void);
Apr 26, 2001
Apr 26, 2001
84
85
86
87
88
89
90
91
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
}
#endif
#include "close_code.h"
#endif /* _SDL_version_h */