comparison include/SDL.h @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents 4ed717f9e509
children 4da1ee79c9af
comparison
equal deleted inserted replaced
1661:281d3f4870e5 1662:782fd950bd46
18 18
19 Sam Lantinga 19 Sam Lantinga
20 slouken@libsdl.org 20 slouken@libsdl.org
21 */ 21 */
22 22
23 /* Main include header for the SDL library */ 23 /**
24 * \file SDL.h
25 *
26 * Main include header for the SDL library
27 */
28 /**
29 * \mainpage Simple DirectMedia Layer (SDL)
30
31 http://www.libsdl.org/
32
33 * \section intro_sec Introduction
34
35 This is the Simple DirectMedia Layer, a general API that provides low
36 level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
37 and 2D framebuffer across multiple platforms.
38
39 The current version supports Linux, Windows, Windows CE, BeOS, MacOS,
40 Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX.
41 The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64,
42 RISC OS, SymbianOS, and OS/2, but these are not officially supported.
43
44 SDL is written in C, but works with C++ natively, and has bindings to
45 several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
46 Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
47 Pike, Pliant, Python, Ruby, and Smalltalk.
48
49 This library is distributed under GNU LGPL version 2, which can be
50 found in the file "COPYING". This license allows you to use SDL
51 freely in commercial programs as long as you link with the dynamic
52 library.
53
54 The best way to learn how to use SDL is to check out the header files in
55 the "include" subdirectory and the programs in the "test" subdirectory.
56 The header files and test programs are well commented and always up to date.
57 More documentation is available in HTML format in "docs/index.html", and
58 a documentation wiki is available online at:
59 http://www.libsdl.org/cgi/docwiki.cgi
60
61 The test programs in the "test" subdirectory are in the public domain.
62
63 Frequently asked questions are answered online:
64 http://www.libsdl.org/faq.php
65
66 If you need help with the library, or just want to discuss SDL related
67 issues, you can join the developers mailing list:
68 http://www.libsdl.org/mailing-list.php
69
70 Enjoy!
71 Sam Lantinga (slouken@libsdl.org)
72 */
24 73
25 #ifndef _SDL_H 74 #ifndef _SDL_H
26 #define _SDL_H 75 #define _SDL_H
27 76
28 #include "SDL_main.h" 77 #include "SDL_main.h"
38 #include "SDL_rwops.h" 87 #include "SDL_rwops.h"
39 #include "SDL_thread.h" 88 #include "SDL_thread.h"
40 #include "SDL_timer.h" 89 #include "SDL_timer.h"
41 #include "SDL_video.h" 90 #include "SDL_video.h"
42 #include "SDL_version.h" 91 #include "SDL_version.h"
92 #include "SDL_compat.h"
43 93
44 #include "begin_code.h" 94 #include "begin_code.h"
45 /* Set up for C function definitions, even when using C++ */ 95 /* Set up for C function definitions, even when using C++ */
46 #ifdef __cplusplus 96 #ifdef __cplusplus
97 /* *INDENT-OFF* */
47 extern "C" { 98 extern "C" {
99 /* *INDENT-ON* */
48 #endif 100 #endif
49 101
50 /* As of version 0.5, SDL is loaded dynamically into the application */ 102 /* As of version 0.5, SDL is loaded dynamically into the application */
51 103
52 /* These are the flags which may be passed to SDL_Init() -- you should 104 /* These are the flags which may be passed to SDL_Init() -- you should
55 #define SDL_INIT_TIMER 0x00000001 107 #define SDL_INIT_TIMER 0x00000001
56 #define SDL_INIT_AUDIO 0x00000010 108 #define SDL_INIT_AUDIO 0x00000010
57 #define SDL_INIT_VIDEO 0x00000020 109 #define SDL_INIT_VIDEO 0x00000020
58 #define SDL_INIT_CDROM 0x00000100 110 #define SDL_INIT_CDROM 0x00000100
59 #define SDL_INIT_JOYSTICK 0x00000200 111 #define SDL_INIT_JOYSTICK 0x00000200
60 #define SDL_INIT_NOPARACHUTE 0x00100000 /* Don't catch fatal signals */ 112 #define SDL_INIT_NOPARACHUTE 0x00100000 /* Don't catch fatal signals */
61 #define SDL_INIT_EVENTTHREAD 0x01000000 /* Not supported on all OS's */ 113 #define SDL_INIT_EVENTTHREAD 0x01000000 /* Not supported on all OS's */
62 #define SDL_INIT_EVERYTHING 0x0000FFFF 114 #define SDL_INIT_EVERYTHING 0x0000FFFF
63 115
64 /* This function loads the SDL dynamically linked library and initializes 116 /* This function loads the SDL dynamically linked library and initializes
65 * the subsystems specified by 'flags' (and those satisfying dependencies) 117 * the subsystems specified by 'flags' (and those satisfying dependencies)
66 * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup 118 * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup
67 * signal handlers for some commonly ignored fatal signals (like SIGSEGV) 119 * signal handlers for some commonly ignored fatal signals (like SIGSEGV)
68 */ 120 */
69 extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); 121 extern DECLSPEC int SDLCALL SDL_Init (Uint32 flags);
70 122
71 /* This function initializes specific SDL subsystems */ 123 /* This function initializes specific SDL subsystems */
72 extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); 124 extern DECLSPEC int SDLCALL SDL_InitSubSystem (Uint32 flags);
73 125
74 /* This function cleans up specific SDL subsystems */ 126 /* This function cleans up specific SDL subsystems */
75 extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); 127 extern DECLSPEC void SDLCALL SDL_QuitSubSystem (Uint32 flags);
76 128
77 /* This function returns mask of the specified subsystems which have 129 /* This function returns mask of the specified subsystems which have
78 been initialized. 130 been initialized.
79 If 'flags' is 0, it returns a mask of all initialized subsystems. 131 If 'flags' is 0, it returns a mask of all initialized subsystems.
80 */ 132 */
81 extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); 133 extern DECLSPEC Uint32 SDLCALL SDL_WasInit (Uint32 flags);
82 134
83 /* This function cleans up all initialized subsystems and unloads the 135 /* This function cleans up all initialized subsystems and unloads the
84 * dynamically linked library. You should call it upon all exit conditions. 136 * dynamically linked library. You should call it upon all exit conditions.
85 */ 137 */
86 extern DECLSPEC void SDLCALL SDL_Quit(void); 138 extern DECLSPEC void SDLCALL SDL_Quit (void);
87 139
88 /* Ends C function definitions when using C++ */ 140 /* Ends C function definitions when using C++ */
89 #ifdef __cplusplus 141 #ifdef __cplusplus
142 /* *INDENT-OFF* */
90 } 143 }
144 /* *INDENT-ON* */
91 #endif 145 #endif
92 #include "close_code.h" 146 #include "close_code.h"
93 147
94 #endif /* _SDL_H */ 148 #endif /* _SDL_H */
149
150 /* vi: set ts=4 sw=4 expandtab: */