Mercurial > sdl-ios-xcode
annotate include/SDL.h @ 5161:b3ccd1947786
Simplified and improved the process of creating a texture from a surface.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 03 Feb 2011 00:54:29 -0800 |
parents | 1435f8a6425c |
children | 6f6a9340fb93 |
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 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
40 * 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
|
41 * several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
42 * 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
|
43 * Pike, Pliant, Python, Ruby, and Smalltalk. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
44 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
45 * 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
|
46 * 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
|
47 * 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
|
48 * library. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
49 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
50 * 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
|
51 * 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
|
52 * 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
|
53 * 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
|
54 * a documentation wiki is available online at: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
55 * http://www.libsdl.org/cgi/docwiki.cgi |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
56 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
57 * 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
|
58 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
59 * Frequently asked questions are answered online: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
60 * http://www.libsdl.org/faq.php |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
61 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
62 * 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
|
63 * issues, you can join the developers mailing list: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
64 * http://www.libsdl.org/mailing-list.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 * Enjoy! |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
67 * 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
|
68 */ |
0 | 69 |
70 #ifndef _SDL_H | |
71 #define _SDL_H | |
72 | |
1423
4ed717f9e509
Updated for Visual Studio Express 2005
Sam Lantinga <slouken@libsdl.org>
parents:
1358
diff
changeset
|
73 #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
|
74 #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
|
75 #include "SDL_atomic.h" |
0 | 76 #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
|
77 #include "SDL_clipboard.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
78 #include "SDL_cpuinfo.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
79 #include "SDL_endian.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
80 #include "SDL_error.h" |
0 | 81 #include "SDL_events.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
82 #include "SDL_loadso.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
83 #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
|
84 #include "SDL_power.h" |
5148
2f44e6969a59
Split the rendering API out into a separate header file.
Sam Lantinga <slouken@libsdl.org>
parents:
5125
diff
changeset
|
85 #include "SDL_render.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
86 #include "SDL_rwops.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
87 #include "SDL_thread.h" |
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
88 #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
|
89 #include "SDL_version.h" |
0 | 90 #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
|
91 #include "SDL_compat.h" |
0 | 92 |
93 #include "begin_code.h" | |
94 /* Set up for C function definitions, even when using C++ */ | |
95 #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
|
96 /* *INDENT-OFF* */ |
0 | 97 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
|
98 /* *INDENT-ON* */ |
0 | 99 #endif |
100 | |
101 /* As of version 0.5, SDL is loaded dynamically into the application */ | |
102 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
103 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
104 * \name SDL_INIT_* |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
105 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
106 * 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
|
107 * 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
|
108 */ |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
109 /*@{*/ |
2713
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
110 #define SDL_INIT_TIMER 0x00000001 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
111 #define SDL_INIT_AUDIO 0x00000010 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
112 #define SDL_INIT_VIDEO 0x00000020 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
113 #define SDL_INIT_JOYSTICK 0x00000200 |
0906692aa6a4
Final merge of Google Summer of Code 2008 work...
Sam Lantinga <slouken@libsdl.org>
parents:
2062
diff
changeset
|
114 #define SDL_INIT_HAPTIC 0x00001000 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
115 #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
|
116 #define SDL_INIT_EVERYTHING 0x0000FFFF |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
117 /*@}*/ |
0 | 118 |
3348 | 119 /** |
4863
cfe6336d7e60
Fixed obsolete documentation
Sam Lantinga <slouken@libsdl.org>
parents:
4627
diff
changeset
|
120 * 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
|
121 * 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
|
122 * signal handlers for some commonly ignored fatal signals (like SIGSEGV). |
0 | 123 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
124 extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); |
0 | 125 |
3348 | 126 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
127 * This function initializes specific SDL subsystems |
3348 | 128 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
129 extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); |
0 | 130 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
131 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
132 * This function cleans up specific SDL subsystems |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
133 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
134 extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); |
0 | 135 |
3348 | 136 /** |
4627 | 137 * This function returns a mask of the specified subsystems which have |
138 * previously been initialized. | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
139 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3348
diff
changeset
|
140 * 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
|
141 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
142 extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); |
0 | 143 |
3348 | 144 /** |
4627 | 145 * This function cleans up all initialized subsystems. You should |
146 * call it upon all exit conditions. | |
0 | 147 */ |
337
9154ec9ca3d2
Explicitly specify the SDL API calling convention (C by default)
Sam Lantinga <slouken@libsdl.org>
parents:
297
diff
changeset
|
148 extern DECLSPEC void SDLCALL SDL_Quit(void); |
0 | 149 |
150 /* Ends C function definitions when using C++ */ | |
151 #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
|
152 /* *INDENT-OFF* */ |
0 | 153 } |
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
|
154 /* *INDENT-ON* */ |
0 | 155 #endif |
156 #include "close_code.h" | |
157 | |
158 #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
|
159 |
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
|
160 /* vi: set ts=4 sw=4 expandtab: */ |