| /* |
| SDL - Simple DirectMedia Layer |
| Copyright (C) 1997-2006 Sam Lantinga |
| |
| This library is free software; you can redistribute it and/or |
| modify it under the terms of the GNU Lesser General Public |
| License as published by the Free Software Foundation; either |
| version 2.1 of the License, or (at your option) any later version. |
| |
| 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 |
| Lesser General Public License for more details. |
| |
| 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 |
| |
| Sam Lantinga |
| slouken@libsdl.org |
| */ |
| |
| /** |
| * \file SDL.h |
| * |
| * Main include header for the SDL library |
| */ |
| /** |
| * \mainpage Simple DirectMedia Layer (SDL) |
| |
| http://www.libsdl.org/ |
| |
| * \section intro_sec Introduction |
| |
| This is the Simple DirectMedia Layer, a general API that provides low |
| level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, |
| and 2D framebuffer across multiple platforms. |
| |
| The current version supports Linux, Windows, Windows CE, BeOS, MacOS, |
| Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. |
| The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, |
| RISC OS, SymbianOS, and OS/2, but these are not officially supported. |
| |
| SDL is written in C, but works with C++ natively, and has bindings to |
| several other languages, including Ada, C#, Eiffel, Erlang, Euphoria, |
| Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, |
| Pike, Pliant, Python, Ruby, and Smalltalk. |
| |
| This library is distributed under GNU LGPL version 2, which can be |
| found in the file "COPYING". This license allows you to use SDL |
| freely in commercial programs as long as you link with the dynamic |
| library. |
| |
| The best way to learn how to use SDL is to check out the header files in |
| the "include" subdirectory and the programs in the "test" subdirectory. |
| The header files and test programs are well commented and always up to date. |
| More documentation is available in HTML format in "docs/index.html", and |
| a documentation wiki is available online at: |
| http://www.libsdl.org/cgi/docwiki.cgi |
| |
| The test programs in the "test" subdirectory are in the public domain. |
| |
| Frequently asked questions are answered online: |
| http://www.libsdl.org/faq.php |
| |
| If you need help with the library, or just want to discuss SDL related |
| issues, you can join the developers mailing list: |
| http://www.libsdl.org/mailing-list.php |
| |
| Enjoy! |
| Sam Lantinga (slouken@libsdl.org) |
| */ |
| |
| #ifndef _SDL_H |
| #define _SDL_H |
| |
| #include "SDL_main.h" |
| #include "SDL_stdinc.h" |
| #include "SDL_audio.h" |
| #include "SDL_cdrom.h" |
| #include "SDL_cpuinfo.h" |
| #include "SDL_endian.h" |
| #include "SDL_error.h" |
| #include "SDL_events.h" |
| #include "SDL_loadso.h" |
| #include "SDL_mutex.h" |
| #include "SDL_rwops.h" |
| #include "SDL_thread.h" |
| #include "SDL_timer.h" |
| #include "SDL_video.h" |
| #include "SDL_version.h" |
| #include "SDL_compat.h" |
| |
| #include "begin_code.h" |
| /* Set up for C function definitions, even when using C++ */ |
| #ifdef __cplusplus |
| /* *INDENT-OFF* */ |
| extern "C" { |
| /* *INDENT-ON* */ |
| #endif |
| |
| /* As of version 0.5, SDL is loaded dynamically into the application */ |
| |
| /* These are the flags which may be passed to SDL_Init() -- you should |
| specify the subsystems which you will be using in your application. |
| */ |
| #define SDL_INIT_TIMER 0x00000001 |
| #define SDL_INIT_AUDIO 0x00000010 |
| #define SDL_INIT_VIDEO 0x00000020 |
| #define SDL_INIT_CDROM 0x00000100 |
| #define SDL_INIT_JOYSTICK 0x00000200 |
| #define SDL_INIT_NOPARACHUTE 0x00100000 /* Don't catch fatal signals */ |
| #define SDL_INIT_EVENTTHREAD 0x01000000 /* Not supported on all OS's */ |
| #define SDL_INIT_EVERYTHING 0x0000FFFF |
| |
| /* This function loads the SDL dynamically linked library and initializes |
| * the subsystems specified by 'flags' (and those satisfying dependencies) |
| * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup |
| * signal handlers for some commonly ignored fatal signals (like SIGSEGV) |
| */ |
| extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); |
| |
| /* This function initializes specific SDL subsystems */ |
| extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); |
| |
| /* This function cleans up specific SDL subsystems */ |
| extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); |
| |
| /* This function returns mask of the specified subsystems which have |
| been initialized. |
| If 'flags' is 0, it returns a mask of all initialized subsystems. |
| */ |
| extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); |
| |
| /* This function cleans up all initialized subsystems and unloads the |
| * dynamically linked library. You should call it upon all exit conditions. |
| */ |
| extern DECLSPEC void SDLCALL SDL_Quit(void); |
| |
| /* Ends C function definitions when using C++ */ |
| #ifdef __cplusplus |
| /* *INDENT-OFF* */ |
| } |
| /* *INDENT-ON* */ |
| #endif |
| #include "close_code.h" |
| |
| #endif /* _SDL_H */ |
| |
| /* vi: set ts=4 sw=4 expandtab: */ |