Mercurial > sdl-ios-xcode
annotate include/SDL.h @ 5141:da10636e5eca
Making the API simpler, scaling is always defined as linear interpolation and should be supported as much as possible on all renderers.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 31 Jan 2011 22:44:43 -0800 |
parents | dc0dfdd58f27 |
children | 2f44e6969a59 |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
3697 | 3 Copyright (C) 1997-2010 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 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
24 * \file SDL.h |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
25 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
26 * Main include header for the SDL library |
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
|
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 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
29 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
30 * \mainpage Simple DirectMedia Layer (SDL) |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
31 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
32 * http://www.libsdl.org/ |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
33 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
34 * \section intro_sec Introduction |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
35 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
36 * This is the Simple DirectMedia Layer, a general API that provides low |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
37 * level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
38 * and 2D framebuffer across multiple platforms. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
39 * |
4453
37fc6a354dc7
Updated with the SDL 1.3 list of supported operating systems
Sam Lantinga <slouken@libsdl.org>
parents:
3697
diff
changeset
|
40 * The current version supports Windows, Windows CE, Mac OS X, Linux, |
37fc6a354dc7
Updated with the SDL 1.3 list of supported operating systems
Sam Lantinga <slouken@libsdl.org>
parents:
3697
diff
changeset
|
41 * FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, and QNX. The code contains |
37fc6a354dc7
Updated with the SDL 1.3 list of supported operating systems
Sam Lantinga <slouken@libsdl.org>
parents:
3697
diff
changeset
|
42 * support for other operating systems but those are not officially supported. |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
43 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
44 * SDL is written in C, but works with C++ natively, and has bindings to |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
45 * several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
46 * Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
47 * Pike, Pliant, Python, Ruby, and Smalltalk. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
48 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
49 * This library is distributed under GNU LGPL version 2, which can be |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
50 * found in the file "COPYING". This license allows you to use SDL |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
51 * freely in commercial programs as long as you link with the dynamic |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
52 * library. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
53 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
54 * The best way to learn how to use SDL is to check out the header files in |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
55 * the "include" subdirectory and the programs in the "test" subdirectory. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
56 * The header files and test programs are well commented and always up to date. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
57 * More documentation is available in HTML format in "docs/index.html", and |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
58 * a documentation wiki is available online at: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
59 * http://www.libsdl.org/cgi/docwiki.cgi |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
60 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
61 * The test programs in the "test" subdirectory are in the public domain. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
62 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
63 * Frequently asked questions are answered online: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
64 * http://www.libsdl.org/faq.php |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
65 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
66 * If you need help with the library, or just want to discuss SDL related |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
67 * issues, you can join the developers mailing list: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
68 * http://www.libsdl.org/mailing-list.php |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
69 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
70 * Enjoy! |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
71 * Sam Lantinga (slouken@libsdl.org) |
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
|
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" |
5017
a9a3b9852a4a
SDL_atomic.h is safe to include in the main header now.
Sam Lantinga <slouken@libsdl.org>
parents:
5006
diff
changeset
|
79 #include "SDL_atomic.h" |
0 | 80 #include "SDL_audio.h" |
4493
f0b7c8d169f5
First pass at clipboard API, still very much in progress
Sam Lantinga <slouken@libsdl.org>
parents:
4453
diff
changeset
|
81 #include "SDL_clipboard.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
82 #include "SDL_cpuinfo.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
83 #include "SDL_endian.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
84 #include "SDL_error.h" |
0 | 85 #include "SDL_events.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
86 #include "SDL_loadso.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
87 #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
|
88 #include "SDL_power.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
89 #include "SDL_rwops.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
90 #include "SDL_thread.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
91 #include "SDL_timer.h" |
3647
c5925cd41955
First pass at Ryan's assertion code, minor tweaks to come.
Sam Lantinga <slouken@libsdl.org>
parents:
3407
diff
changeset
|
92 #include "SDL_version.h" |
0 | 93 #include "SDL_video.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
|
94 #include "SDL_compat.h" |
0 | 95 |
96 #include "begin_code.h" | |
97 /* Set up for C function definitions, even when using C++ */ | |
98 #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
|
99 /* *INDENT-OFF* */ |
0 | 100 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
|
101 /* *INDENT-ON* */ |
0 | 102 #endif |
103 | |
104 /* As of version 0.5, SDL is loaded dynamically into the application */ | |
105 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
106 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
107 * \name SDL_INIT_* |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
108 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
109 * These are the flags which may be passed to SDL_Init(). You should |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
110 * specify the subsystems which you will be using in your application. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
111 */ |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
112 /*@{*/ |
2713
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
113 #define SDL_INIT_TIMER 0x00000001 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
114 #define SDL_INIT_AUDIO 0x00000010 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
115 #define SDL_INIT_VIDEO 0x00000020 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
116 #define SDL_INIT_JOYSTICK 0x00000200 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
117 #define SDL_INIT_HAPTIC 0x00001000 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
118 #define SDL_INIT_NOPARACHUTE 0x00100000 /**< Don't catch fatal signals */ |
2713
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
119 #define SDL_INIT_EVERYTHING 0x0000FFFF |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
120 /*@}*/ |
0 | 121 |
3348 | 122 /** |
4863
cfe6336d7e60
Fixed obsolete documentation
Sam Lantinga <slouken@libsdl.org>
parents:
4627
diff
changeset
|
123 * This function initializes the subsystems specified by \c flags |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
124 * Unless the ::SDL_INIT_NOPARACHUTE flag is set, it will install cleanup |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
125 * signal handlers for some commonly ignored fatal signals (like SIGSEGV). |
0 | 126 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
127 extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); |
0 | 128 |
3348 | 129 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
130 * This function initializes specific SDL subsystems |
3348 | 131 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
132 extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); |
0 | 133 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
134 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
135 * This function cleans up specific SDL subsystems |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
136 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
137 extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); |
0 | 138 |
3348 | 139 /** |
4627 | 140 * This function returns a mask of the specified subsystems which have |
141 * previously been initialized. | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
142 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
143 * If \c flags is 0, it returns a mask of all initialized subsystems. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
144 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
145 extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); |
0 | 146 |
3348 | 147 /** |
4627 | 148 * This function cleans up all initialized subsystems. You should |
149 * call it upon all exit conditions. | |
0 | 150 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
151 extern DECLSPEC void SDLCALL SDL_Quit(void); |
0 | 152 |
153 /* Ends C function definitions when using C++ */ | |
154 #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
|
155 /* *INDENT-OFF* */ |
0 | 156 } |
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
|
157 /* *INDENT-ON* */ |
0 | 158 #endif |
159 #include "close_code.h" | |
160 | |
161 #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
|
162 |
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
|
163 /* vi: set ts=4 sw=4 expandtab: */ |