forked from twhl-community/halflife-updated
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
93 changed files
with
37,490 additions
and
16,123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
/* | ||
Simple DirectMedia Layer | ||
Copyright (C) 1997-2013 Sam Lantinga <[email protected]> | ||
Copyright (C) 1997-2022 Sam Lantinga <[email protected]> | ||
This software is provided 'as-is', without any express or implied | ||
warranty. In no event will the authors be held liable for any damages | ||
|
@@ -21,46 +21,13 @@ | |
|
||
/** | ||
* \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. | ||
* | ||
* 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 the zlib license, which can be | ||
* found in the file "COPYING". This license allows you to use SDL | ||
* freely for any purpose as long as you retain the copyright notice. | ||
* | ||
* 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 and FAQs are available online at: | ||
* http://wiki.libsdl.org/ | ||
* | ||
* 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 ([email protected]) | ||
*/ | ||
|
||
#ifndef _SDL_H | ||
#define _SDL_H | ||
#ifndef SDL_h_ | ||
#define SDL_h_ | ||
|
||
#include "SDL_main.h" | ||
#include "SDL_stdinc.h" | ||
|
@@ -72,92 +39,194 @@ | |
#include "SDL_endian.h" | ||
#include "SDL_error.h" | ||
#include "SDL_events.h" | ||
#include "SDL_joystick.h" | ||
#include "SDL_filesystem.h" | ||
#include "SDL_gamecontroller.h" | ||
#include "SDL_haptic.h" | ||
#include "SDL_hidapi.h" | ||
#include "SDL_hints.h" | ||
#include "SDL_joystick.h" | ||
#include "SDL_loadso.h" | ||
#include "SDL_log.h" | ||
#include "SDL_messagebox.h" | ||
#include "SDL_metal.h" | ||
#include "SDL_mutex.h" | ||
#include "SDL_power.h" | ||
#include "SDL_render.h" | ||
#include "SDL_rwops.h" | ||
#include "SDL_sensor.h" | ||
#include "SDL_shape.h" | ||
#include "SDL_system.h" | ||
#include "SDL_thread.h" | ||
#include "SDL_timer.h" | ||
#include "SDL_version.h" | ||
#include "SDL_video.h" | ||
#include "SDL_locale.h" | ||
#include "SDL_misc.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 */ | ||
|
||
/** | ||
* \name SDL_INIT_* | ||
* | ||
* | ||
* 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_JOYSTICK 0x00000200 | ||
#define SDL_INIT_HAPTIC 0x00001000 | ||
#define SDL_INIT_GAMECONTROLLER 0x00002000 /**< turn on game controller also implicitly does JOYSTICK */ | ||
#define SDL_INIT_NOPARACHUTE 0x00100000 /**< Don't catch fatal signals */ | ||
/* @{ */ | ||
#define SDL_INIT_TIMER 0x00000001u | ||
#define SDL_INIT_AUDIO 0x00000010u | ||
#define SDL_INIT_VIDEO 0x00000020u /**< SDL_INIT_VIDEO implies SDL_INIT_EVENTS */ | ||
#define SDL_INIT_JOYSTICK 0x00000200u /**< SDL_INIT_JOYSTICK implies SDL_INIT_EVENTS */ | ||
#define SDL_INIT_HAPTIC 0x00001000u | ||
#define SDL_INIT_GAMECONTROLLER 0x00002000u /**< SDL_INIT_GAMECONTROLLER implies SDL_INIT_JOYSTICK */ | ||
#define SDL_INIT_EVENTS 0x00004000u | ||
#define SDL_INIT_SENSOR 0x00008000u | ||
#define SDL_INIT_NOPARACHUTE 0x00100000u /**< compatibility; this flag is ignored. */ | ||
#define SDL_INIT_EVERYTHING ( \ | ||
SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | \ | ||
SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER \ | ||
SDL_INIT_TIMER | SDL_INIT_AUDIO | SDL_INIT_VIDEO | SDL_INIT_EVENTS | \ | ||
SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_GAMECONTROLLER | SDL_INIT_SENSOR \ | ||
) | ||
/*@}*/ | ||
/* @} */ | ||
|
||
/** | ||
* This function initializes the subsystems specified by \c flags | ||
* Unless the ::SDL_INIT_NOPARACHUTE flag is set, it will install cleanup | ||
* signal handlers for some commonly ignored fatal signals (like SIGSEGV). | ||
* Initialize the SDL library. | ||
* | ||
* SDL_Init() simply forwards to calling SDL_InitSubSystem(). Therefore, the | ||
* two may be used interchangeably. Though for readability of your code | ||
* SDL_InitSubSystem() might be preferred. | ||
* | ||
* The file I/O (for example: SDL_RWFromFile) and threading (SDL_CreateThread) | ||
* subsystems are initialized by default. Message boxes | ||
* (SDL_ShowSimpleMessageBox) also attempt to work without initializing the | ||
* video subsystem, in hopes of being useful in showing an error dialog when | ||
* SDL_Init fails. You must specifically initialize other subsystems if you | ||
* use them in your application. | ||
* | ||
* Logging (such as SDL_Log) works without initialization, too. | ||
* | ||
* `flags` may be any of the following OR'd together: | ||
* | ||
* - `SDL_INIT_TIMER`: timer subsystem | ||
* - `SDL_INIT_AUDIO`: audio subsystem | ||
* - `SDL_INIT_VIDEO`: video subsystem; automatically initializes the events | ||
* subsystem | ||
* - `SDL_INIT_JOYSTICK`: joystick subsystem; automatically initializes the | ||
* events subsystem | ||
* - `SDL_INIT_HAPTIC`: haptic (force feedback) subsystem | ||
* - `SDL_INIT_GAMECONTROLLER`: controller subsystem; automatically | ||
* initializes the joystick subsystem | ||
* - `SDL_INIT_EVENTS`: events subsystem | ||
* - `SDL_INIT_EVERYTHING`: all of the above subsystems | ||
* - `SDL_INIT_NOPARACHUTE`: compatibility; this flag is ignored | ||
* | ||
* Subsystem initialization is ref-counted, you must call SDL_QuitSubSystem() | ||
* for each SDL_InitSubSystem() to correctly shutdown a subsystem manually (or | ||
* call SDL_Quit() to force shutdown). If a subsystem is already loaded then | ||
* this call will increase the ref-count and return. | ||
* | ||
* \param flags subsystem initialization flags | ||
* \returns 0 on success or a negative error code on failure; call | ||
* SDL_GetError() for more information. | ||
* | ||
* \since This function is available since SDL 2.0.0. | ||
* | ||
* \sa SDL_InitSubSystem | ||
* \sa SDL_Quit | ||
* \sa SDL_SetMainReady | ||
* \sa SDL_WasInit | ||
*/ | ||
extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); | ||
|
||
/** | ||
* This function initializes specific SDL subsystems | ||
* Compatibility function to initialize the SDL library. | ||
* | ||
* In SDL2, this function and SDL_Init() are interchangeable. | ||
* | ||
* \param flags any of the flags used by SDL_Init(); see SDL_Init for details. | ||
* \returns 0 on success or a negative error code on failure; call | ||
* SDL_GetError() for more information. | ||
* | ||
* \since This function is available since SDL 2.0.0. | ||
* | ||
* \sa SDL_Init | ||
* \sa SDL_Quit | ||
* \sa SDL_QuitSubSystem | ||
*/ | ||
extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags); | ||
|
||
/** | ||
* This function cleans up specific SDL subsystems | ||
* Shut down specific SDL subsystems. | ||
* | ||
* If you start a subsystem using a call to that subsystem's init function | ||
* (for example SDL_VideoInit()) instead of SDL_Init() or SDL_InitSubSystem(), | ||
* SDL_QuitSubSystem() and SDL_WasInit() will not work. You will need to use | ||
* that subsystem's quit function (SDL_VideoQuit()) directly instead. But | ||
* generally, you should not be using those functions directly anyhow; use | ||
* SDL_Init() instead. | ||
* | ||
* You still need to call SDL_Quit() even if you close all open subsystems | ||
* with SDL_QuitSubSystem(). | ||
* | ||
* \param flags any of the flags used by SDL_Init(); see SDL_Init for details. | ||
* | ||
* \since This function is available since SDL 2.0.0. | ||
* | ||
* \sa SDL_InitSubSystem | ||
* \sa SDL_Quit | ||
*/ | ||
extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags); | ||
|
||
/** | ||
* This function returns a mask of the specified subsystems which have | ||
* previously been initialized. | ||
* | ||
* If \c flags is 0, it returns a mask of all initialized subsystems. | ||
* Get a mask of the specified subsystems which are currently initialized. | ||
* | ||
* \param flags any of the flags used by SDL_Init(); see SDL_Init for details. | ||
* \returns a mask of all initialized subsystems if `flags` is 0, otherwise it | ||
* returns the initialization status of the specified subsystems. | ||
* | ||
* The return value does not include SDL_INIT_NOPARACHUTE. | ||
* | ||
* \since This function is available since SDL 2.0.0. | ||
* | ||
* \sa SDL_Init | ||
* \sa SDL_InitSubSystem | ||
*/ | ||
extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags); | ||
|
||
/** | ||
* This function cleans up all initialized subsystems. You should | ||
* call it upon all exit conditions. | ||
* Clean up all initialized subsystems. | ||
* | ||
* You should call this function even if you have already shutdown each | ||
* initialized subsystem with SDL_QuitSubSystem(). It is safe to call this | ||
* function even in the case of errors in initialization. | ||
* | ||
* If you start a subsystem using a call to that subsystem's init function | ||
* (for example SDL_VideoInit()) instead of SDL_Init() or SDL_InitSubSystem(), | ||
* then you must use that subsystem's quit function (SDL_VideoQuit()) to shut | ||
* it down before calling SDL_Quit(). But generally, you should not be using | ||
* those functions directly anyhow; use SDL_Init() instead. | ||
* | ||
* You can use this function with atexit() to ensure that it is run when your | ||
* application is shutdown, but it is not wise to do this from a library or | ||
* other dynamically loaded code. | ||
* | ||
* \since This function is available since SDL 2.0.0. | ||
* | ||
* \sa SDL_Init | ||
* \sa SDL_QuitSubSystem | ||
*/ | ||
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 */ | ||
#endif /* SDL_h_ */ | ||
|
||
/* vi: set ts=4 sw=4 expandtab: */ |
Oops, something went wrong.