include/SDL.h
branchSDL-1.3
changeset 1662 782fd950bd46
parent 1423 4ed717f9e509
child 1668 4da1ee79c9af
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: */