Mercurial > sdl-ios-xcode
annotate include/SDL.h @ 3385:45d7f0f70b27
Joystick patch from FreeBSD ports system
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 12 Oct 2009 09:42:50 +0000 |
parents | c02af6912b3c |
children | d3baf5ac4e37 |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
2859 | 3 Copyright (C) 1997-2009 Sam Lantinga |
0 | 4 |
5 This library is free software; you can redistribute it and/or | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
0 | 7 License as published by the Free Software Foundation; either |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
0 | 9 |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
13 Lesser General Public License for more details. |
0 | 14 |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1188
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 18 |
19 Sam Lantinga | |
251
b8688cfdc232
Updated the headers with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
20 slouken@libsdl.org |
0 | 21 */ |
22 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
23 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
24 * \file SDL.h |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
25 * |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
26 * Main include header for the SDL library |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
27 */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
28 /** |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
29 * \mainpage Simple DirectMedia Layer (SDL) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
30 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
31 http://www.libsdl.org/ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
32 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
33 * \section intro_sec Introduction |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
34 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
35 This is the Simple DirectMedia Layer, a general API that provides low |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
36 level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
37 and 2D framebuffer across multiple platforms. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
38 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
39 The current version supports Linux, Windows, Windows CE, BeOS, MacOS, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
40 Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. |
3283
1ed5d432e468
Removed outdated Atari support
Sam Lantinga <slouken@libsdl.org>
parents:
3272
diff
changeset
|
41 The code contains support for AIX, OSF/Tru64, RISC OS, and SymbianOS, |
1ed5d432e468
Removed outdated Atari support
Sam Lantinga <slouken@libsdl.org>
parents:
3272
diff
changeset
|
42 but these are not officially supported. |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
43 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
44 SDL is written in C, but works with C++ natively, and has bindings to |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
45 several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
46 Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
47 Pike, Pliant, Python, Ruby, and Smalltalk. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
48 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
49 This library is distributed under GNU LGPL version 2, which can be |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
50 found in the file "COPYING". This license allows you to use SDL |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
51 freely in commercial programs as long as you link with the dynamic |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
52 library. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
53 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
54 The best way to learn how to use SDL is to check out the header files in |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
55 the "include" subdirectory and the programs in the "test" subdirectory. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
56 The header files and test programs are well commented and always up to date. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
57 More documentation is available in HTML format in "docs/index.html", and |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
58 a documentation wiki is available online at: |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
59 http://www.libsdl.org/cgi/docwiki.cgi |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
60 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
61 The test programs in the "test" subdirectory are in the public domain. |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
62 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
63 Frequently asked questions are answered online: |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
64 http://www.libsdl.org/faq.php |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
65 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
66 If you need help with the library, or just want to discuss SDL related |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
67 issues, you can join the developers mailing list: |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
68 http://www.libsdl.org/mailing-list.php |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
69 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
70 Enjoy! |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
71 Sam Lantinga (slouken@libsdl.org) |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
72 */ |
0 | 73 |
74 #ifndef _SDL_H | |
75 #define _SDL_H | |
76 | |
1423
4ed717f9e509
Updated for Visual Studio Express 2005
Sam Lantinga <slouken@libsdl.org>
parents:
1358
diff
changeset
|
77 #include "SDL_main.h" |
1353
7ba544e2888d
Started the process of improving configure support, and merging C types
Sam Lantinga <slouken@libsdl.org>
parents:
1335
diff
changeset
|
78 #include "SDL_stdinc.h" |
3180
77d6336711fc
First commit for SDL atomic operations.
Bob Pendleton <bob@pendleton.com>
parents:
3170
diff
changeset
|
79 #include "SDL_atomic.h" |
0 | 80 #include "SDL_audio.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
81 #include "SDL_cpuinfo.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
82 #include "SDL_endian.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
83 #include "SDL_error.h" |
0 | 84 #include "SDL_events.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
85 #include "SDL_loadso.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
86 #include "SDL_mutex.h" |
3170
b7a48f533966
Initial work on power subsystem for SDL 1.3.
Ryan C. Gordon <icculus@icculus.org>
parents:
2859
diff
changeset
|
87 #include "SDL_power.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
88 #include "SDL_rwops.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
89 #include "SDL_thread.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
90 #include "SDL_timer.h" |
0 | 91 #include "SDL_video.h" |
92 #include "SDL_version.h" | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
93 #include "SDL_compat.h" |
0 | 94 |
95 #include "begin_code.h" | |
96 /* Set up for C function definitions, even when using C++ */ | |
97 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
98 /* *INDENT-OFF* */ |
0 | 99 extern "C" { |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
100 /* *INDENT-ON* */ |
0 | 101 #endif |
102 | |
103 /* As of version 0.5, SDL is loaded dynamically into the application */ | |
104 | |
105 /* These are the flags which may be passed to SDL_Init() -- you should | |
106 specify the subsystems which you will be using in your application. | |
107 */ | |
2713
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
108 #define SDL_INIT_TIMER 0x00000001 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
109 #define SDL_INIT_AUDIO 0x00000010 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
110 #define SDL_INIT_VIDEO 0x00000020 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
111 #define SDL_INIT_JOYSTICK 0x00000200 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
112 #define SDL_INIT_HAPTIC 0x00001000 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
113 #define SDL_INIT_NOPARACHUTE 0x00100000 /* Don't catch fatal signals */ |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
114 #define SDL_INIT_EVENTTHREAD 0x01000000 /* Not supported on all OS's */ |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
115 #define SDL_INIT_EVERYTHING 0x0000FFFF |
0 | 116 |
3348 | 117 /** |
118 * This function loads the SDL dynamically linked library and initializes | |
0 | 119 * the subsystems specified by 'flags' (and those satisfying dependencies) |
120 * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup | |
121 * signal handlers for some commonly ignored fatal signals (like SIGSEGV) | |
122 */ | |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
123 extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); |
0 | 124 |
3348 | 125 /** |
126 * This function initializes specific SDL subsystems | |
127 */ | |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
128 extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); |
0 | 129 |
3348 | 130 /** This function cleans up specific SDL subsystems */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
131 extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); |
0 | 132 |
3348 | 133 /** |
134 This function returns mask of the specified subsystems which have | |
0 | 135 been initialized. |
136 If 'flags' is 0, it returns a mask of all initialized subsystems. | |
137 */ | |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
138 extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); |
0 | 139 |
3348 | 140 /** |
141 * This function cleans up all initialized subsystems and unloads the | |
0 | 142 * dynamically linked library. You should call it upon all exit conditions. |
143 */ | |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
144 extern DECLSPEC void SDLCALL SDL_Quit(void); |
0 | 145 |
146 /* Ends C function definitions when using C++ */ | |
147 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
148 /* *INDENT-OFF* */ |
0 | 149 } |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
150 /* *INDENT-ON* */ |
0 | 151 #endif |
152 #include "close_code.h" | |
153 | |
154 #endif /* _SDL_H */ | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
155 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1423
diff
changeset
|
156 /* vi: set ts=4 sw=4 expandtab: */ |