summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/SDL2/src/SDL.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/SDL2/src/SDL.c')
-rw-r--r--3rdparty/SDL2/src/SDL.c479
1 files changed, 0 insertions, 479 deletions
diff --git a/3rdparty/SDL2/src/SDL.c b/3rdparty/SDL2/src/SDL.c
deleted file mode 100644
index 9eef00cd346..00000000000
--- a/3rdparty/SDL2/src/SDL.c
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- Simple DirectMedia Layer
- Copyright (C) 1997-2016 Sam Lantinga <slouken@libsdl.org>
-
- This software is provided 'as-is', without any express or implied
- warranty. In no event will the authors be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
- 3. This notice may not be removed or altered from any source distribution.
-*/
-#include "./SDL_internal.h"
-
-#if defined(__WIN32__)
-#include "core/windows/SDL_windows.h"
-#endif
-
-/* Initialization code for SDL */
-
-#include "SDL.h"
-#include "SDL_bits.h"
-#include "SDL_revision.h"
-#include "SDL_assert_c.h"
-#include "events/SDL_events_c.h"
-#include "haptic/SDL_haptic_c.h"
-#include "joystick/SDL_joystick_c.h"
-
-/* Initialization/Cleanup routines */
-#if !SDL_TIMERS_DISABLED
-extern int SDL_TimerInit(void);
-extern void SDL_TimerQuit(void);
-extern void SDL_TicksInit(void);
-extern void SDL_TicksQuit(void);
-#endif
-#if SDL_VIDEO_DRIVER_WINDOWS
-extern int SDL_HelperWindowCreate(void);
-extern int SDL_HelperWindowDestroy(void);
-#endif
-
-
-/* The initialized subsystems */
-#ifdef SDL_MAIN_NEEDED
-static SDL_bool SDL_MainIsReady = SDL_FALSE;
-#else
-static SDL_bool SDL_MainIsReady = SDL_TRUE;
-#endif
-static SDL_bool SDL_bInMainQuit = SDL_FALSE;
-static Uint8 SDL_SubsystemRefCount[ 32 ];
-
-/* Private helper to increment a subsystem's ref counter. */
-static void
-SDL_PrivateSubsystemRefCountIncr(Uint32 subsystem)
-{
- int subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
- SDL_assert(SDL_SubsystemRefCount[subsystem_index] < 255);
- ++SDL_SubsystemRefCount[subsystem_index];
-}
-
-/* Private helper to decrement a subsystem's ref counter. */
-static void
-SDL_PrivateSubsystemRefCountDecr(Uint32 subsystem)
-{
- int subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
- if (SDL_SubsystemRefCount[subsystem_index] > 0) {
- --SDL_SubsystemRefCount[subsystem_index];
- }
-}
-
-/* Private helper to check if a system needs init. */
-static SDL_bool
-SDL_PrivateShouldInitSubsystem(Uint32 subsystem)
-{
- int subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
- SDL_assert(SDL_SubsystemRefCount[subsystem_index] < 255);
- return (SDL_SubsystemRefCount[subsystem_index] == 0);
-}
-
-/* Private helper to check if a system needs to be quit. */
-static SDL_bool
-SDL_PrivateShouldQuitSubsystem(Uint32 subsystem) {
- int subsystem_index = SDL_MostSignificantBitIndex32(subsystem);
- if (SDL_SubsystemRefCount[subsystem_index] == 0) {
- return SDL_FALSE;
- }
-
- /* If we're in SDL_Quit, we shut down every subsystem, even if refcount
- * isn't zero.
- */
- return SDL_SubsystemRefCount[subsystem_index] == 1 || SDL_bInMainQuit;
-}
-
-void
-SDL_SetMainReady(void)
-{
- SDL_MainIsReady = SDL_TRUE;
-}
-
-int
-SDL_InitSubSystem(Uint32 flags)
-{
- if (!SDL_MainIsReady) {
- SDL_SetError("Application didn't initialize properly, did you include SDL_main.h in the file containing your main() function?");
- return -1;
- }
-
- /* Clear the error message */
- SDL_ClearError();
-
- if ((flags & SDL_INIT_GAMECONTROLLER)) {
- /* game controller implies joystick */
- flags |= SDL_INIT_JOYSTICK;
- }
-
- if ((flags & (SDL_INIT_VIDEO|SDL_INIT_JOYSTICK))) {
- /* video or joystick implies events */
- flags |= SDL_INIT_EVENTS;
- }
-
-#if SDL_VIDEO_DRIVER_WINDOWS
- if ((flags & (SDL_INIT_HAPTIC|SDL_INIT_JOYSTICK))) {
- if (SDL_HelperWindowCreate() < 0) {
- return -1;
- }
- }
-#endif
-
-#if !SDL_TIMERS_DISABLED
- SDL_TicksInit();
-#endif
-
- /* Initialize the event subsystem */
- if ((flags & SDL_INIT_EVENTS)) {
-#if !SDL_EVENTS_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_EVENTS)) {
- if (SDL_StartEventLoop() < 0) {
- return (-1);
- }
- SDL_QuitInit();
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_EVENTS);
-#else
- return SDL_SetError("SDL not built with events support");
-#endif
- }
-
- /* Initialize the timer subsystem */
- if ((flags & SDL_INIT_TIMER)){
-#if !SDL_TIMERS_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_TIMER)) {
- if (SDL_TimerInit() < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_TIMER);
-#else
- return SDL_SetError("SDL not built with timer support");
-#endif
- }
-
- /* Initialize the video subsystem */
- if ((flags & SDL_INIT_VIDEO)){
-#if !SDL_VIDEO_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_VIDEO)) {
- if (SDL_VideoInit(NULL) < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_VIDEO);
-#else
- return SDL_SetError("SDL not built with video support");
-#endif
- }
-
- /* Initialize the audio subsystem */
- if ((flags & SDL_INIT_AUDIO)){
-#if !SDL_AUDIO_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_AUDIO)) {
- if (SDL_AudioInit(NULL) < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_AUDIO);
-#else
- return SDL_SetError("SDL not built with audio support");
-#endif
- }
-
- /* Initialize the joystick subsystem */
- if ((flags & SDL_INIT_JOYSTICK)){
-#if !SDL_JOYSTICK_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_JOYSTICK)) {
- if (SDL_JoystickInit() < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_JOYSTICK);
-#else
- return SDL_SetError("SDL not built with joystick support");
-#endif
- }
-
- if ((flags & SDL_INIT_GAMECONTROLLER)){
-#if !SDL_JOYSTICK_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_GAMECONTROLLER)) {
- if (SDL_GameControllerInit() < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_GAMECONTROLLER);
-#else
- return SDL_SetError("SDL not built with joystick support");
-#endif
- }
-
- /* Initialize the haptic subsystem */
- if ((flags & SDL_INIT_HAPTIC)){
-#if !SDL_HAPTIC_DISABLED
- if (SDL_PrivateShouldInitSubsystem(SDL_INIT_HAPTIC)) {
- if (SDL_HapticInit() < 0) {
- return (-1);
- }
- }
- SDL_PrivateSubsystemRefCountIncr(SDL_INIT_HAPTIC);
-#else
- return SDL_SetError("SDL not built with haptic (force feedback) support");
-#endif
- }
-
- return (0);
-}
-
-int
-SDL_Init(Uint32 flags)
-{
- return SDL_InitSubSystem(flags);
-}
-
-void
-SDL_QuitSubSystem(Uint32 flags)
-{
- /* Shut down requested initialized subsystems */
-#if !SDL_JOYSTICK_DISABLED
- if ((flags & SDL_INIT_GAMECONTROLLER)) {
- /* game controller implies joystick */
- flags |= SDL_INIT_JOYSTICK;
-
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_GAMECONTROLLER)) {
- SDL_GameControllerQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_GAMECONTROLLER);
- }
-
- if ((flags & SDL_INIT_JOYSTICK)) {
- /* joystick implies events */
- flags |= SDL_INIT_EVENTS;
-
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_JOYSTICK)) {
- SDL_JoystickQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_JOYSTICK);
- }
-#endif
-
-#if !SDL_HAPTIC_DISABLED
- if ((flags & SDL_INIT_HAPTIC)) {
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_HAPTIC)) {
- SDL_HapticQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_HAPTIC);
- }
-#endif
-
-#if !SDL_AUDIO_DISABLED
- if ((flags & SDL_INIT_AUDIO)) {
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_AUDIO)) {
- SDL_AudioQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_AUDIO);
- }
-#endif
-
-#if !SDL_VIDEO_DISABLED
- if ((flags & SDL_INIT_VIDEO)) {
- /* video implies events */
- flags |= SDL_INIT_EVENTS;
-
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_VIDEO)) {
- SDL_VideoQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_VIDEO);
- }
-#endif
-
-#if !SDL_TIMERS_DISABLED
- if ((flags & SDL_INIT_TIMER)) {
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_TIMER)) {
- SDL_TimerQuit();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_TIMER);
- }
-#endif
-
-#if !SDL_EVENTS_DISABLED
- if ((flags & SDL_INIT_EVENTS)) {
- if (SDL_PrivateShouldQuitSubsystem(SDL_INIT_EVENTS)) {
- SDL_QuitQuit();
- SDL_StopEventLoop();
- }
- SDL_PrivateSubsystemRefCountDecr(SDL_INIT_EVENTS);
- }
-#endif
-}
-
-Uint32
-SDL_WasInit(Uint32 flags)
-{
- int i;
- int num_subsystems = SDL_arraysize(SDL_SubsystemRefCount);
- Uint32 initialized = 0;
-
- if (!flags) {
- flags = SDL_INIT_EVERYTHING;
- }
-
- num_subsystems = SDL_min(num_subsystems, SDL_MostSignificantBitIndex32(flags) + 1);
-
- /* Iterate over each bit in flags, and check the matching subsystem. */
- for (i = 0; i < num_subsystems; ++i) {
- if ((flags & 1) && SDL_SubsystemRefCount[i] > 0) {
- initialized |= (1 << i);
- }
-
- flags >>= 1;
- }
-
- return initialized;
-}
-
-void
-SDL_Quit(void)
-{
- SDL_bInMainQuit = SDL_TRUE;
-
- /* Quit all subsystems */
-#if SDL_VIDEO_DRIVER_WINDOWS
- SDL_HelperWindowDestroy();
-#endif
- SDL_QuitSubSystem(SDL_INIT_EVERYTHING);
-
-#if !SDL_TIMERS_DISABLED
- SDL_TicksQuit();
-#endif
-
- SDL_ClearHints();
- SDL_AssertionsQuit();
- SDL_LogResetPriorities();
-
- /* Now that every subsystem has been quit, we reset the subsystem refcount
- * and the list of initialized subsystems.
- */
- SDL_memset( SDL_SubsystemRefCount, 0x0, sizeof(SDL_SubsystemRefCount) );
-
- SDL_bInMainQuit = SDL_FALSE;
-}
-
-/* Get the library version number */
-void
-SDL_GetVersion(SDL_version * ver)
-{
- SDL_VERSION(ver);
-}
-
-/* Get the library source revision */
-const char *
-SDL_GetRevision(void)
-{
- return SDL_REVISION;
-}
-
-/* Get the library source revision number */
-int
-SDL_GetRevisionNumber(void)
-{
- return SDL_REVISION_NUMBER;
-}
-
-/* Get the name of the platform */
-const char *
-SDL_GetPlatform()
-{
-#if __AIX__
- return "AIX";
-#elif __ANDROID__
- return "Android";
-#elif __BSDI__
- return "BSDI";
-#elif __DREAMCAST__
- return "Dreamcast";
-#elif __EMSCRIPTEN__
- return "Emscripten";
-#elif __FREEBSD__
- return "FreeBSD";
-#elif __HAIKU__
- return "Haiku";
-#elif __HPUX__
- return "HP-UX";
-#elif __IRIX__
- return "Irix";
-#elif __LINUX__
- return "Linux";
-#elif __MINT__
- return "Atari MiNT";
-#elif __MACOS__
- return "MacOS Classic";
-#elif __MACOSX__
- return "Mac OS X";
-#elif __NACL__
- return "NaCl";
-#elif __NETBSD__
- return "NetBSD";
-#elif __OPENBSD__
- return "OpenBSD";
-#elif __OS2__
- return "OS/2";
-#elif __OSF__
- return "OSF/1";
-#elif __QNXNTO__
- return "QNX Neutrino";
-#elif __RISCOS__
- return "RISC OS";
-#elif __SOLARIS__
- return "Solaris";
-#elif __WIN32__
- return "Windows";
-#elif __WINRT__
- return "WinRT";
-#elif __TVOS__
- return "tvOS";
-#elif __IPHONEOS__
- return "iOS";
-#elif __PSP__
- return "PlayStation Portable";
-#else
- return "Unknown (see SDL_platform.h)";
-#endif
-}
-
-#if defined(__WIN32__)
-
-#if !defined(HAVE_LIBC) || (defined(__WATCOMC__) && defined(BUILD_DLL))
-/* Need to include DllMain() on Watcom C for some reason.. */
-
-BOOL APIENTRY
-_DllMainCRTStartup(HANDLE hModule,
- DWORD ul_reason_for_call, LPVOID lpReserved)
-{
- switch (ul_reason_for_call) {
- case DLL_PROCESS_ATTACH:
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- case DLL_PROCESS_DETACH:
- break;
- }
- return TRUE;
-}
-#endif /* building DLL with Watcom C */
-
-#endif /* __WIN32__ */
-
-/* vi: set sts=4 ts=4 sw=4 expandtab: */