include/SDL.h
changeset 1895 c121d94672cb
parent 1423 4ed717f9e509
child 2062 c9aa6bcb26f3
equal deleted inserted replaced
1894:c69cee13dd76 1895:c121d94672cb
    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
    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: */