diff -uNr SDL2-2.0.10/include/SDL_config.h SDL2-2.0.10.mod/include/SDL_config.h --- SDL2-2.0.10/include/SDL_config.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_config.h 2019-08-20 20:36:55.072701171 +0300 @@ -37,8 +37,6 @@ #include "SDL_config_macosx.h" #elif defined(__IPHONEOS__) #include "SDL_config_iphoneos.h" -#elif defined(__ANDROID__) -#include "SDL_config_android.h" #elif defined(__PSP__) #include "SDL_config_psp.h" #elif defined(__OS2__) diff -uNr SDL2-2.0.10/include/SDL_egl.h SDL2-2.0.10.mod/include/SDL_egl.h --- SDL2-2.0.10/include/SDL_egl.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_egl.h 2019-08-20 20:37:08.832784053 +0300 @@ -24,7 +24,7 @@ * * This is a simple file to encapsulate the EGL API headers. */ -#if !defined(_MSC_VER) && !defined(__ANDROID__) +#if !defined(_MSC_VER) #include #include @@ -421,15 +421,6 @@ typedef struct gbm_bo *EGLNativePixmapType; typedef void *EGLNativeWindowType; -#elif defined(__ANDROID__) /* Android */ - -struct ANativeWindow; -struct egl_native_pixmap_t; - -typedef struct ANativeWindow *EGLNativeWindowType; -typedef struct egl_native_pixmap_t *EGLNativePixmapType; -typedef void *EGLNativeDisplayType; - #elif defined(MIR_EGL_PLATFORM) #include diff -uNr SDL2-2.0.10/include/SDL_main.h SDL2-2.0.10.mod/include/SDL_main.h --- SDL2-2.0.10/include/SDL_main.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_main.h 2019-08-20 20:37:18.832843960 +0300 @@ -63,17 +63,6 @@ */ #define SDL_MAIN_NEEDED -#elif defined(__ANDROID__) -/* On Android SDL provides a Java class in SDLActivity.java that is the - main activity entry point. - - See docs/README-android.md for more details on extending that class. - */ -#define SDL_MAIN_NEEDED - -/* We need to export SDL_main so it can be launched from Java */ -#define SDLMAIN_DECLSPEC DECLSPEC - #elif defined(__NACL__) /* On NACL we use ppapi_simple to set up the application helper code, then wait for the first PSE_INSTANCE_DIDCHANGEVIEW event before diff -uNr SDL2-2.0.10/include/SDL_platform.h SDL2-2.0.10.mod/include/SDL_platform.h --- SDL2-2.0.10/include/SDL_platform.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_platform.h 2019-08-20 20:37:35.679610930 +0300 @@ -60,11 +60,6 @@ #undef __LINUX__ #define __LINUX__ 1 #endif -#if defined(ANDROID) || defined(__ANDROID__) -#undef __ANDROID__ -#undef __LINUX__ /* do we need to do this? */ -#define __ANDROID__ 1 -#endif #if defined(__APPLE__) /* lets us know what version of Mac OS X we're compiling on */ diff -uNr SDL2-2.0.10/include/SDL_rwops.h SDL2-2.0.10.mod/include/SDL_rwops.h --- SDL2-2.0.10/include/SDL_rwops.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_rwops.h 2019-08-20 20:37:50.609699202 +0300 @@ -93,20 +93,7 @@ Uint32 type; union { -#if defined(__ANDROID__) - struct - { - void *fileNameRef; - void *inputStreamRef; - void *readableByteChannelRef; - void *readMethod; - void *assetFileDescriptorRef; - long position; - long size; - long offset; - int fd; - } androidio; -#elif defined(__WIN32__) +#if defined(__WIN32__) struct { SDL_bool append; diff -uNr SDL2-2.0.10/include/SDL_stdinc.h SDL2-2.0.10.mod/include/SDL_stdinc.h --- SDL2-2.0.10/include/SDL_stdinc.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_stdinc.h 2019-08-20 20:38:04.559781166 +0300 @@ -332,7 +332,6 @@ /** \cond */ #ifndef DOXYGEN_SHOULD_IGNORE_THIS -#if !defined(__ANDROID__) /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */ typedef enum { @@ -340,7 +339,6 @@ } SDL_DUMMY_ENUM; SDL_COMPILE_TIME_ASSERT(enum, sizeof(SDL_DUMMY_ENUM) == sizeof(int)); -#endif #endif /* DOXYGEN_SHOULD_IGNORE_THIS */ /** \endcond */ diff -uNr SDL2-2.0.10/include/SDL_system.h SDL2-2.0.10.mod/include/SDL_system.h --- SDL2-2.0.10/include/SDL_system.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/include/SDL_system.h 2019-08-20 20:38:31.696605896 +0300 @@ -99,81 +99,6 @@ #endif /* __IPHONEOS__ */ - -/* Platform specific functions for Android */ -#if defined(__ANDROID__) && __ANDROID__ - -/** - \brief Get the JNI environment for the current thread - - This returns JNIEnv*, but the prototype is void* so we don't need jni.h - */ -extern DECLSPEC void * SDLCALL SDL_AndroidGetJNIEnv(void); - -/** - \brief Get the SDL Activity object for the application - - This returns jobject, but the prototype is void* so we don't need jni.h - The jobject returned by SDL_AndroidGetActivity is a local reference. - It is the caller's responsibility to properly release it - (using env->Push/PopLocalFrame or manually with env->DeleteLocalRef) - */ -extern DECLSPEC void * SDLCALL SDL_AndroidGetActivity(void); - -/** - \brief Return true if the application is running on Android TV - */ -extern DECLSPEC SDL_bool SDLCALL SDL_IsAndroidTV(void); - -/** - \brief Return true if the application is running on a Chromebook - */ -extern DECLSPEC SDL_bool SDLCALL SDL_IsChromebook(void); - -/** - \brief Return true is the application is running on a Samsung DeX docking station - */ -extern DECLSPEC SDL_bool SDLCALL SDL_IsDeXMode(void); - -/** - \brief Trigger the Android system back button behavior. - */ -extern DECLSPEC void SDLCALL SDL_AndroidBackButton(void); - -/** - See the official Android developer guide for more information: - http://developer.android.com/guide/topics/data/data-storage.html -*/ -#define SDL_ANDROID_EXTERNAL_STORAGE_READ 0x01 -#define SDL_ANDROID_EXTERNAL_STORAGE_WRITE 0x02 - -/** - \brief Get the path used for internal storage for this application. - - This path is unique to your application and cannot be written to - by other applications. - */ -extern DECLSPEC const char * SDLCALL SDL_AndroidGetInternalStoragePath(void); - -/** - \brief Get the current state of external storage, a bitmask of these values: - SDL_ANDROID_EXTERNAL_STORAGE_READ - SDL_ANDROID_EXTERNAL_STORAGE_WRITE - - If external storage is currently unavailable, this will return 0. -*/ -extern DECLSPEC int SDLCALL SDL_AndroidGetExternalStorageState(void); - -/** - \brief Get the path used for external storage for this application. - - This path is unique to your application, but is public and can be - written to by other applications. - */ -extern DECLSPEC const char * SDLCALL SDL_AndroidGetExternalStoragePath(void); - -#endif /* __ANDROID__ */ - /* Platform specific functions for WinRT */ #if defined(__WINRT__) && __WINRT__ diff -uNr SDL2-2.0.10/src/atomic/SDL_atomic.c SDL2-2.0.10.mod/src/atomic/SDL_atomic.c --- SDL2-2.0.10/src/atomic/SDL_atomic.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/atomic/SDL_atomic.c 2019-08-20 20:38:50.673382060 +0300 @@ -41,9 +41,7 @@ # if __has_builtin(__atomic_load_n) /* !!! FIXME: this advertises as available in the NDK but uses an external symbol we don't have. It might be in a later NDK or we might need an extra library? --ryan. */ -# if !defined(__ANDROID__) # define HAVE_ATOMIC_LOAD_N 1 -# endif # endif # elif defined(__GNUC__) # if (__GNUC__ >= 5) diff -uNr SDL2-2.0.10/src/dynapi/SDL_dynapi_procs.h SDL2-2.0.10.mod/src/dynapi/SDL_dynapi_procs.h --- SDL2-2.0.10/src/dynapi/SDL_dynapi_procs.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/dynapi/SDL_dynapi_procs.h 2019-08-20 20:39:08.703485343 +0300 @@ -74,13 +74,6 @@ SDL_DYNAPI_PROC(void,SDL_iPhoneSetEventPump,(SDL_bool a),(a),) #endif -#ifdef __ANDROID__ -SDL_DYNAPI_PROC(void*,SDL_AndroidGetJNIEnv,(void),(),return) -SDL_DYNAPI_PROC(void*,SDL_AndroidGetActivity,(void),(),return) -SDL_DYNAPI_PROC(const char*,SDL_AndroidGetInternalStoragePath,(void),(),return) -SDL_DYNAPI_PROC(int,SDL_AndroidGetExternalStorageState,(void),(),return) -SDL_DYNAPI_PROC(const char*,SDL_AndroidGetExternalStoragePath,(void),(),return) -#endif SDL_DYNAPI_PROC(int,SDL_Init,(Uint32 a),(a),return) SDL_DYNAPI_PROC(int,SDL_InitSubSystem,(Uint32 a),(a),return) @@ -702,9 +695,6 @@ #ifdef __WINRT__ SDL_DYNAPI_PROC(SDL_WinRT_DeviceFamily,SDL_WinRTGetDeviceFamily,(void),(),return) #endif -#ifdef __ANDROID__ -SDL_DYNAPI_PROC(SDL_bool,SDL_IsAndroidTV,(void),(),return) -#endif SDL_DYNAPI_PROC(double,SDL_log10,(double a),(a),return) SDL_DYNAPI_PROC(float,SDL_log10f,(float a),(a),return) SDL_DYNAPI_PROC(char*,SDL_GameControllerMappingForDeviceIndex,(int a),(a),return) @@ -712,11 +702,6 @@ SDL_DYNAPI_PROC(int,SDL_LinuxSetThreadPriority,(Sint64 a, int b),(a,b),return) #endif SDL_DYNAPI_PROC(SDL_bool,SDL_HasAVX512F,(void),(),return) -#ifdef __ANDROID__ -SDL_DYNAPI_PROC(SDL_bool,SDL_IsChromebook,(void),(),return) -SDL_DYNAPI_PROC(SDL_bool,SDL_IsDeXMode,(void),(),return) -SDL_DYNAPI_PROC(void,SDL_AndroidBackButton,(void),(),return) -#endif SDL_DYNAPI_PROC(double,SDL_exp,(double a),(a),return) SDL_DYNAPI_PROC(float,SDL_expf,(float a),(a),return) SDL_DYNAPI_PROC(wchar_t*,SDL_wcsdup,(const wchar_t *a),(a),return) diff -uNr SDL2-2.0.10/src/events/SDL_mouse.c SDL2-2.0.10.mod/src/events/SDL_mouse.c --- SDL2-2.0.10/src/events/SDL_mouse.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/events/SDL_mouse.c 2019-08-20 20:53:48.094656920 +0300 @@ -114,7 +114,7 @@ if (hint == NULL || *hint == '\0') { /* Default */ -#if defined(__ANDROID__) || (defined(__IPHONEOS__) && !defined(__TVOS__)) +#if (defined(__IPHONEOS__) && !defined(__TVOS__)) mouse->mouse_touch_events = SDL_TRUE; #else mouse->mouse_touch_events = SDL_FALSE; diff -uNr SDL2-2.0.10/src/file/SDL_rwops.c SDL2-2.0.10.mod/src/file/SDL_rwops.c --- SDL2-2.0.10/src/file/SDL_rwops.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/file/SDL_rwops.c 2019-08-20 20:41:40.447661969 +0300 @@ -51,11 +51,6 @@ #include "cocoa/SDL_rwopsbundlesupport.h" #endif /* __APPLE__ */ -#ifdef __ANDROID__ -#include "../core/android/SDL_android.h" -#include "SDL_system.h" -#endif - #if __NACL__ #include "nacl_io/nacl_io.h" #endif @@ -515,64 +510,7 @@ SDL_SetError("SDL_RWFromFile(): No file or no mode specified"); return NULL; } -#if defined(__ANDROID__) -#ifdef HAVE_STDIO_H - /* Try to open the file on the filesystem first */ - if (*file == '/') { - FILE *fp = fopen(file, mode); - if (fp) { - return SDL_RWFromFP(fp, 1); - } - } else { - /* Try opening it from internal storage if it's a relative path */ - char *path; - FILE *fp; - - /* !!! FIXME: why not just "char path[PATH_MAX];" ? */ - path = SDL_stack_alloc(char, PATH_MAX); - if (path) { - SDL_snprintf(path, PATH_MAX, "%s/%s", - SDL_AndroidGetInternalStoragePath(), file); - fp = fopen(path, mode); - SDL_stack_free(path); - if (fp) { - return SDL_RWFromFP(fp, 1); - } - } - } -#endif /* HAVE_STDIO_H */ - - /* Try to open the file from the asset system */ - rwops = SDL_AllocRW(); - if (!rwops) - return NULL; /* SDL_SetError already setup by SDL_AllocRW() */ - if (Android_JNI_FileOpen(rwops, file, mode) < 0) { - SDL_FreeRW(rwops); - return NULL; - } - rwops->size = Android_JNI_FileSize; - rwops->seek = Android_JNI_FileSeek; - rwops->read = Android_JNI_FileRead; - rwops->write = Android_JNI_FileWrite; - rwops->close = Android_JNI_FileClose; - rwops->type = SDL_RWOPS_JNIFILE; - -#elif defined(__WIN32__) - rwops = SDL_AllocRW(); - if (!rwops) - return NULL; /* SDL_SetError already setup by SDL_AllocRW() */ - if (windows_file_open(rwops, file, mode) < 0) { - SDL_FreeRW(rwops); - return NULL; - } - rwops->size = windows_file_size; - rwops->seek = windows_file_seek; - rwops->read = windows_file_read; - rwops->write = windows_file_write; - rwops->close = windows_file_close; - rwops->type = SDL_RWOPS_WINFILE; - -#elif HAVE_STDIO_H +#if HAVE_STDIO_H { #ifdef __APPLE__ FILE *fp = SDL_OpenFPFromBundleOrFallback(file, mode); diff -uNr SDL2-2.0.10/src/joystick/SDL_gamecontroller.c SDL2-2.0.10.mod/src/joystick/SDL_gamecontroller.c --- SDL2-2.0.10/src/joystick/SDL_gamecontroller.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/joystick/SDL_gamecontroller.c 2019-08-20 21:04:47.477665034 +0300 @@ -34,9 +34,6 @@ #include "../events/SDL_events_c.h" #endif -#if defined(__ANDROID__) -#include "SDL_system.h" -#endif /* Many controllers turn the center button into an instantaneous button press */ @@ -877,7 +874,7 @@ ControllerMapping_t *pCurrMapping, *pPrevMapping; for ( pPrevMapping = s_pSupportedControllers, pCurrMapping = pPrevMapping->next; - pCurrMapping; + pCurrMapping; pPrevMapping = pCurrMapping, pCurrMapping = pCurrMapping->next ) { continue; } @@ -890,130 +887,6 @@ return pControllerMapping; } -#ifdef __ANDROID__ -/* - * Helper function to guess at a mapping based on the elements reported for this controller - */ -static ControllerMapping_t *SDL_CreateMappingForAndroidController(const char *name, SDL_JoystickGUID guid) -{ - SDL_bool existing; - char name_string[128]; - char mapping_string[1024]; - int button_mask; - int axis_mask; - - button_mask = SDL_SwapLE16(*(Uint16*)(&guid.data[sizeof(guid.data)-4])); - axis_mask = SDL_SwapLE16(*(Uint16*)(&guid.data[sizeof(guid.data)-2])); - if (!button_mask && !axis_mask) { - /* Accelerometer, shouldn't have a game controller mapping */ - return NULL; - } - - /* Remove any commas in the name */ - SDL_strlcpy(name_string, name, sizeof(name_string)); - { - char *spot; - for (spot = name_string; *spot; ++spot) { - if (*spot == ',') { - *spot = ' '; - } - } - } - SDL_snprintf(mapping_string, sizeof(mapping_string), "none,%s,", name_string); - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_A)) { - SDL_strlcat(mapping_string, "a:b0,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_B)) { - SDL_strlcat(mapping_string, "b:b1,", sizeof(mapping_string)); - } else if (button_mask & (1 << SDL_CONTROLLER_BUTTON_BACK)) { - /* Use the back button as "B" for easy UI navigation with TV remotes */ - SDL_strlcat(mapping_string, "b:b4,", sizeof(mapping_string)); - button_mask &= ~(1 << SDL_CONTROLLER_BUTTON_BACK); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_X)) { - SDL_strlcat(mapping_string, "x:b2,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_Y)) { - SDL_strlcat(mapping_string, "y:b3,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_BACK)) { - SDL_strlcat(mapping_string, "back:b4,", sizeof(mapping_string)); - } -#if 0 /* The guide button generally isn't functional (or acts as a home button) on most Android controllers */ - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_GUIDE)) { - SDL_strlcat(mapping_string, "guide:b5,", sizeof(mapping_string)); -#if 0 /* Actually this will be done in Steam */ - } else if (button_mask & (1 << SDL_CONTROLLER_BUTTON_START)) { - /* The guide button doesn't exist, use the start button instead, - so you can do Steam guide button chords and open the Steam overlay. - */ - SDL_strlcat(mapping_string, "guide:b6,", sizeof(mapping_string)); - button_mask &= ~(1 << SDL_CONTROLLER_BUTTON_START); -#endif - } -#endif - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_START)) { - SDL_strlcat(mapping_string, "start:b6,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_LEFTSTICK)) { - SDL_strlcat(mapping_string, "leftstick:b7,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_RIGHTSTICK)) { - SDL_strlcat(mapping_string, "rightstick:b8,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_LEFTSHOULDER)) { - SDL_strlcat(mapping_string, "leftshoulder:b9,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_RIGHTSHOULDER)) { - SDL_strlcat(mapping_string, "rightshoulder:b10,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_DPAD_UP)) { - SDL_strlcat(mapping_string, "dpup:b11,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_DPAD_DOWN)) { - SDL_strlcat(mapping_string, "dpdown:b12,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_DPAD_LEFT)) { - SDL_strlcat(mapping_string, "dpleft:b13,", sizeof(mapping_string)); - } - if (button_mask & (1 << SDL_CONTROLLER_BUTTON_DPAD_RIGHT)) { - SDL_strlcat(mapping_string, "dpright:b14,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_LEFTX)) { - SDL_strlcat(mapping_string, "leftx:a0,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_LEFTY)) { - SDL_strlcat(mapping_string, "lefty:a1,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_RIGHTX)) { - SDL_strlcat(mapping_string, "rightx:a2,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_RIGHTY)) { - SDL_strlcat(mapping_string, "righty:a3,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_TRIGGERLEFT)) { - SDL_strlcat(mapping_string, "lefttrigger:a4,", sizeof(mapping_string)); - } - if (axis_mask & (1 << SDL_CONTROLLER_AXIS_TRIGGERRIGHT)) { - SDL_strlcat(mapping_string, "righttrigger:a5,", sizeof(mapping_string)); - } - - /* Remove trailing comma */ - { - int pos = (int)SDL_strlen(mapping_string) - 1; - if (pos >= 0) { - if (mapping_string[pos] == ',') { - mapping_string[pos] = '\0'; - } - } - } - - return SDL_PrivateAddMappingForGUID(guid, mapping_string, - &existing, SDL_CONTROLLER_MAPPING_PRIORITY_DEFAULT); -} -#endif /* __ANDROID__ */ - - /* * Helper function to determine pre-calculated offset to certain joystick mappings */ @@ -1039,11 +912,6 @@ mapping = s_pXInputMapping; } } -#ifdef __ANDROID__ - if (!mapping && name && !SDL_IsJoystickHIDAPI(guid)) { - mapping = SDL_CreateMappingForAndroidController(name, guid); - } -#endif if (!mapping) { mapping = s_pDefaultMapping; } @@ -1081,12 +949,12 @@ int controllers = 0; char *buf, *line, *line_end, *tmp, *comma, line_platform[64]; size_t db_size, platform_len; - + if (rw == NULL) { return SDL_SetError("Invalid RWops"); } db_size = (size_t)SDL_RWsize(rw); - + buf = (char *)SDL_malloc(db_size + 1); if (buf == NULL) { if (freerw) { @@ -1094,7 +962,7 @@ } return SDL_SetError("Could not allocate space to read DB into memory"); } - + if (SDL_RWread(rw, buf, db_size, 1) != 1) { if (freerw) { SDL_RWclose(rw); @@ -1102,14 +970,14 @@ SDL_free(buf); return SDL_SetError("Could not read DB"); } - + if (freerw) { SDL_RWclose(rw); } - + buf[db_size] = '\0'; line = buf; - + while (line < buf + db_size) { line_end = SDL_strchr(line, '\n'); if (line_end != NULL) { @@ -1117,7 +985,7 @@ } else { line_end = buf + db_size; } - + /* Extract and verify the platform */ tmp = SDL_strstr(line, SDL_CONTROLLER_PLATFORM_FIELD); if (tmp != NULL) { @@ -1134,7 +1002,7 @@ } } } - + line = line_end + 1; } @@ -1320,7 +1188,7 @@ } /* - * Fill the given buffer with the expected controller mapping filepath. + * Fill the given buffer with the expected controller mapping filepath. * Usually this will just be SDL_HINT_GAMECONTROLLERCONFIG_FILE, but for * Android, we want to get the internal storage path. */ @@ -1331,11 +1199,7 @@ return SDL_strlcpy(path, hint, size) < size; } -#if defined(__ANDROID__) - return SDL_snprintf(path, size, "%s/controller_map.txt", SDL_AndroidGetInternalStoragePath()) < size; -#else return SDL_FALSE; -#endif } /* @@ -1356,7 +1220,7 @@ } if (SDL_GetControllerMappingFilePath(szControllerMapPath, sizeof(szControllerMapPath))) { - SDL_GameControllerAddMappingsFromFile(szControllerMapPath); + SDL_GameControllerAddMappingsFromFile(szControllerMapPath); } /* load in any user supplied config */ diff -uNr SDL2-2.0.10/src/joystick/SDL_gamecontrollerdb.h SDL2-2.0.10.mod/src/joystick/SDL_gamecontrollerdb.h --- SDL2-2.0.10/src/joystick/SDL_gamecontrollerdb.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/joystick/SDL_gamecontrollerdb.h 2019-08-20 20:50:18.396976092 +0300 @@ -26,7 +26,7 @@ The easiest way to generate a new mapping is to start Steam in Big Picture mode, configure your joystick and then look in config/config.vdf in your Steam installation directory for the "SDL_GamepadBind" entry. - + Alternatively, you can use the app located in test/controllermap */ static const char *s_ControllerMappings [] = @@ -572,24 +572,6 @@ "03000000b50700001503000010010000,impact,a:b2,b:b3,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b0,y:b1,", "030000009b2800000300000001010000,raphnet.net 4nes4snes v1.5,a:b0,b:b4,back:b2,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,start:b3,x:b1,y:b5,", #endif -#if defined(__ANDROID__) - "05000000d6020000e5890000dfff3f00,GPD XD Plus,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,", - "05000000bc20000000550000ffff3f00,GameSir G3w,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000005509000003720000cf7f3f00,NVIDIA Controller v01.01,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000005509000010720000ffff3f00,NVIDIA Controller v01.03,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000007e05000009200000ffff0f00,Nintendo Switch Pro Controller,a:b0,b:b1,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:b10,rightx:a2,righty:a3,start:b16,x:b17,y:b2,", /* Extremely slow in Bluetooth mode on Android */ - "050000004c05000068020000dfff3f00,PS3 Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000004c050000c4050000fffe3f00,PS4 Controller,a:b1,b:b17,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:+a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:+a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,", - "050000004c050000cc090000fffe3f00,PS4 Controller,a:b1,b:b17,back:b15,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b3,leftstick:b4,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b6,righttrigger:a4,rightx:a2,righty:a5,start:b16,x:b0,y:b2,", - "050000003215000005070000ffff3f00,Razer Raiju Mobile,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000003215000007070000ffff3f00,Razer Raiju Mobile,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000003215000000090000bf7f3f00,Razer Serval,a:b0,b:b1,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a4,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a2,righty:a3,x:b2,y:b3,", - "05000000de2800000511000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,", - "05000000de2800000611000001000000,Steam Controller,a:b0,b:b1,back:b6,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a3,start:b7,x:b2,y:b3,", - "050000005e040000e00200000ffe3f00,Xbox One Wireless Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b3,leftstick:b15,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b18,rightstick:b16,righttrigger:a5,rightx:a3,righty:a4,start:b10,x:b17,y:b2,", - "050000005e040000fd020000ffff3f00,Xbox One Wireless Controller,a:b0,b:b1,back:b4,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,leftshoulder:b9,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b6,x:b2,y:b3,", - "050000005e04000091020000ff073f00,Xbox Wireless Controller,a:b0,b:b1,back:b4,guide:b5,leftshoulder:b9,leftstick:b7,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b10,rightstick:b8,righttrigger:a5,rightx:a3,righty:a4,start:b6,x:b2,y:b3,", /* The DPAD doesn't seem to work on this controller on Android TV? */ -#endif #if defined(SDL_JOYSTICK_MFI) "05000000ac050000010000004f066d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b6,leftshoulder:b4,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,", "05000000ac05000001000000cf076d01,*,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b2,y:b3,", diff -uNr SDL2-2.0.10/src/joystick/SDL_sysjoystick.h SDL2-2.0.10.mod/src/joystick/SDL_sysjoystick.h --- SDL2-2.0.10/src/joystick/SDL_sysjoystick.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/joystick/SDL_sysjoystick.h 2019-08-20 20:44:09.328452555 +0300 @@ -74,7 +74,7 @@ struct _SDL_Joystick *next; /* pointer to next joystick we have allocated */ }; -#if defined(__IPHONEOS__) || defined(__ANDROID__) +#if defined(__IPHONEOS__) #define HAVE_STEAMCONTROLLERS #define USE_STEAMCONTROLLER_HIDAPI #elif defined(__LINUX__) diff -uNr SDL2-2.0.10/src/render/opengles2/SDL_gles2funcs.h SDL2-2.0.10.mod/src/render/opengles2/SDL_gles2funcs.h --- SDL2-2.0.10/src/render/opengles2/SDL_gles2funcs.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/render/opengles2/SDL_gles2funcs.h 2019-08-20 20:55:14.625069817 +0300 @@ -54,11 +54,7 @@ SDL_PROC(void, glReadPixels, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*)) SDL_PROC(void, glScissor, (GLint, GLint, GLsizei, GLsizei)) SDL_PROC(void, glShaderBinary, (GLsizei, const GLuint *, GLenum, const void *, GLsizei)) -#if __NACL__ || __ANDROID__ -SDL_PROC(void, glShaderSource, (GLuint, GLsizei, const GLchar **, const GLint *)) -#else SDL_PROC(void, glShaderSource, (GLuint, GLsizei, const GLchar* const*, const GLint *)) -#endif SDL_PROC(void, glTexImage2D, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *)) SDL_PROC(void, glTexParameteri, (GLenum, GLenum, GLint)) SDL_PROC(void, glTexSubImage2D, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *)) diff -uNr SDL2-2.0.10/src/render/SDL_render.c SDL2-2.0.10.mod/src/render/SDL_render.c --- SDL2-2.0.10/src/render/SDL_render.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/render/SDL_render.c 2019-08-20 20:54:30.948195093 +0300 @@ -29,10 +29,6 @@ #include "SDL_sysrender.h" #include "software/SDL_render_sw_c.h" -#if defined(__ANDROID__) -# include "../core/android/SDL_android.h" -#endif - #define SDL_WINDOWRENDERDATA "_SDL_WindowRenderData" #define CHECK_RENDERER_MAGIC(renderer, retval) \ @@ -446,7 +442,7 @@ { const Uint32 color = ((a << 24) | (r << 16) | (g << 8) | b); int retval = 0; - + if (!renderer->color_queued || (color != renderer->last_queued_color)) { SDL_RenderCommand *cmd = AllocateRenderCommand(renderer); retval = -1; @@ -715,7 +711,7 @@ } } else if (event->window.event == SDL_WINDOWEVENT_MINIMIZED) { renderer->hidden = SDL_TRUE; - } else if (event->window.event == SDL_WINDOWEVENT_RESTORED || + } else if (event->window.event == SDL_WINDOWEVENT_RESTORED || event->window.event == SDL_WINDOWEVENT_MAXIMIZED) { if (!(SDL_GetWindowFlags(window) & SDL_WINDOW_HIDDEN)) { renderer->hidden = SDL_FALSE; @@ -840,10 +836,6 @@ SDL_bool batching = SDL_TRUE; const char *hint; -#if defined(__ANDROID__) - Android_ActivityMutex_Lock_Running(); -#endif - if (!window) { SDL_SetError("Invalid window"); goto error; @@ -958,16 +950,10 @@ SDL_LogInfo(SDL_LOG_CATEGORY_RENDER, "Created renderer: %s", renderer->info.name); -#if defined(__ANDROID__) - Android_ActivityMutex_Unlock(); -#endif return renderer; error: -#if defined(__ANDROID__) - Android_ActivityMutex_Unlock(); -#endif return NULL; #else @@ -1287,7 +1273,7 @@ if (format == surface->format->format) { if (surface->format->Amask && SDL_HasColorKey(surface)) { - /* Surface and Renderer formats are identicals. + /* Surface and Renderer formats are identicals. * Intermediate conversion is needed to convert color key to alpha (SDL_ConvertColorkeyToAlpha()). */ direct_update = SDL_FALSE; } else { @@ -1975,9 +1961,9 @@ SDL_RenderSetViewport(renderer, NULL); } else if (want_aspect > real_aspect) { if (scale_policy == 1) { - /* We want a wider aspect ratio than is available - - zoom so logical height matches the real height - and the width will grow off the screen + /* We want a wider aspect ratio than is available - + zoom so logical height matches the real height + and the width will grow off the screen */ scale = (float)h / renderer->logical_h; viewport.y = 0; diff -uNr SDL2-2.0.10/src/SDL.c SDL2-2.0.10.mod/src/SDL.c --- SDL2-2.0.10/src/SDL.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/SDL.c 2019-08-20 20:44:33.121909496 +0300 @@ -424,8 +424,6 @@ { #if __AIX__ return "AIX"; -#elif __ANDROID__ - return "Android"; #elif __BSDI__ return "BSDI"; #elif __DREAMCAST__ @@ -482,10 +480,7 @@ SDL_bool SDL_IsTablet() { -#if __ANDROID__ - extern SDL_bool SDL_IsAndroidTablet(void); - return SDL_IsAndroidTablet(); -#elif __IPHONEOS__ +#if __IPHONEOS__ extern SDL_bool SDL_IsIPad(void); return SDL_IsIPad(); #else diff -uNr SDL2-2.0.10/src/SDL_log.c SDL2-2.0.10.mod/src/SDL_log.c --- SDL2-2.0.10/src/SDL_log.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/SDL_log.c 2019-08-20 20:51:53.260770832 +0300 @@ -33,9 +33,6 @@ #include #endif -#if defined(__ANDROID__) -#include -#endif #define DEFAULT_PRIORITY SDL_LOG_PRIORITY_CRITICAL #define DEFAULT_ASSERT_PRIORITY SDL_LOG_PRIORITY_WARN @@ -70,27 +67,6 @@ "CRITICAL" }; -#ifdef __ANDROID__ -static const char *SDL_category_prefixes[SDL_LOG_CATEGORY_RESERVED1] = { - "APP", - "ERROR", - "SYSTEM", - "AUDIO", - "VIDEO", - "RENDER", - "INPUT" -}; - -static int SDL_android_priority[SDL_NUM_LOG_PRIORITIES] = { - ANDROID_LOG_UNKNOWN, - ANDROID_LOG_VERBOSE, - ANDROID_LOG_DEBUG, - ANDROID_LOG_INFO, - ANDROID_LOG_WARN, - ANDROID_LOG_ERROR, - ANDROID_LOG_FATAL -}; -#endif /* __ANDROID__ */ void @@ -247,20 +223,6 @@ va_end(ap); } -#ifdef __ANDROID__ -static const char * -GetCategoryPrefix(int category) -{ - if (category < SDL_LOG_CATEGORY_RESERVED1) { - return SDL_category_prefixes[category]; - } - if (category < SDL_LOG_CATEGORY_CUSTOM) { - return "RESERVED"; - } - return "CUSTOM"; -} -#endif /* __ANDROID__ */ - void SDL_LogMessageV(int category, SDL_LogPriority priority, const char *fmt, va_list ap) { @@ -327,7 +289,7 @@ #if !defined(HAVE_STDIO_H) && !defined(__WINRT__) BOOL attachResult; DWORD attachError; - unsigned long charsWritten; + unsigned long charsWritten; DWORD consoleMode; /* Maybe attach console and get stderr handle */ @@ -342,7 +304,7 @@ } else if (attachError == ERROR_GEN_FAILURE) { OutputDebugString(TEXT("Could not attach to console of parent process\r\n")); consoleAttached = -1; - } else if (attachError == ERROR_ACCESS_DENIED) { + } else if (attachError == ERROR_ACCESS_DENIED) { /* Already attached */ consoleAttached = 1; } else { @@ -369,10 +331,10 @@ output = SDL_small_alloc(char, length, &isstack); SDL_snprintf(output, length, "%s: %s\r\n", SDL_priority_prefixes[priority], message); tstr = WIN_UTF8ToString(output); - + /* Output to debugger */ OutputDebugString(tstr); - + #if !defined(HAVE_STDIO_H) && !defined(__WINRT__) /* Screen output to stderr, if console was attached. */ if (consoleAttached == 1) { @@ -393,13 +355,6 @@ SDL_free(tstr); SDL_small_free(output, isstack); } -#elif defined(__ANDROID__) - { - char tag[32]; - - SDL_snprintf(tag, SDL_arraysize(tag), "SDL/%s", GetCategoryPrefix(category)); - __android_log_write(SDL_android_priority[priority], tag, message); - } #elif defined(__APPLE__) && (defined(SDL_VIDEO_DRIVER_COCOA) || defined(SDL_VIDEO_DRIVER_UIKIT)) /* Technically we don't need Cocoa/UIKit, but that's where this function is defined for now. */ diff -uNr SDL2-2.0.10/src/stdlib/SDL_getenv.c SDL2-2.0.10.mod/src/stdlib/SDL_getenv.c --- SDL2-2.0.10/src/stdlib/SDL_getenv.c 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/stdlib/SDL_getenv.c 2019-08-20 20:44:58.288706231 +0300 @@ -29,9 +29,6 @@ #include "../core/windows/SDL_windows.h" #endif -#if defined(__ANDROID__) -#include "../core/android/SDL_android.h" -#endif #include "SDL_stdinc.h" @@ -175,10 +172,6 @@ char * SDL_getenv(const char *name) { -#if defined(__ANDROID__) - /* Make sure variables from the application manifest are available */ - Android_JNI_GetManifestEnvironmentVariables(); -#endif /* Input validation */ if (!name || !*name) { diff -uNr SDL2-2.0.10/src/thread/pthread/SDL_systhread.c SDL2-2.0.10.mod/src/thread/pthread/SDL_systhread.c --- SDL2-2.0.10/src/thread/pthread/SDL_systhread.c 2019-07-25 07:32:37.000000000 +0300 +++ SDL2-2.0.10.mod/src/thread/pthread/SDL_systhread.c 2019-08-20 20:47:15.999406309 +0300 @@ -52,9 +52,6 @@ #include "SDL_thread.h" #include "../SDL_thread_c.h" #include "../SDL_systhread.h" -#ifdef __ANDROID__ -#include "../../core/android/SDL_android.h" -#endif #ifdef __HAIKU__ #include @@ -73,9 +70,6 @@ static void * RunThread(void *data) { -#ifdef __ANDROID__ - Android_JNI_SetupThread(); -#endif SDL_RunThread(data); return NULL; } diff -uNr SDL2-2.0.10/src/video/khronos/EGL/eglplatform.h SDL2-2.0.10.mod/src/video/khronos/EGL/eglplatform.h --- SDL2-2.0.10/src/video/khronos/EGL/eglplatform.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/video/khronos/EGL/eglplatform.h 2019-08-20 20:57:38.325750203 +0300 @@ -83,15 +83,6 @@ typedef void *EGLNativeWindowType; typedef void *EGLNativePixmapType; -#elif defined(__ANDROID__) || defined(ANDROID) - -struct ANativeWindow; -struct egl_native_pixmap_t; - -typedef struct ANativeWindow* EGLNativeWindowType; -typedef struct egl_native_pixmap_t* EGLNativePixmapType; -typedef void* EGLNativeDisplayType; - #elif defined(__unix__) /* X11 (tentative) */ diff -uNr SDL2-2.0.10/src/video/khronos/KHR/khrplatform.h SDL2-2.0.10.mod/src/video/khronos/KHR/khrplatform.h --- SDL2-2.0.10/src/video/khronos/KHR/khrplatform.h 2019-07-25 07:32:37.000000000 +0300 +++ SDL2-2.0.10.mod/src/video/khronos/KHR/khrplatform.h 2019-08-20 20:46:46.049255583 +0300 @@ -101,8 +101,6 @@ # define KHRONOS_APICALL __declspec(dllimport) #elif defined (__SYMBIAN32__) # define KHRONOS_APICALL IMPORT_C -#elif defined(__ANDROID__) -# define KHRONOS_APICALL __attribute__((visibility("default"))) #else # define KHRONOS_APICALL #endif diff -uNr SDL2-2.0.10/src/video/khronos/vulkan/vk_platform.h SDL2-2.0.10.mod/src/video/khronos/vulkan/vk_platform.h --- SDL2-2.0.10/src/video/khronos/vulkan/vk_platform.h 2019-07-25 07:32:36.000000000 +0300 +++ SDL2-2.0.10.mod/src/video/khronos/vulkan/vk_platform.h 2019-08-20 20:46:28.129165027 +0300 @@ -51,16 +51,6 @@ #define VKAPI_ATTR #define VKAPI_CALL __stdcall #define VKAPI_PTR VKAPI_CALL -#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 - #error "Vulkan isn't supported for the 'armeabi' NDK ABI" -#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE) - // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" - // calling convention, i.e. float parameters are passed in registers. This - // is true even if the rest of the application passes floats on the stack, - // as it does by default when compiling for the armeabi-v7a NDK ABI. - #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) - #define VKAPI_CALL - #define VKAPI_PTR VKAPI_ATTR #else // On other platforms, use the default calling convention #define VKAPI_ATTR diff -uNr SDL2-2.0.10/src/video/SDL_video.c SDL2-2.0.10.mod/src/video/SDL_video.c --- SDL2-2.0.10/src/video/SDL_video.c 2019-07-25 07:32:37.000000000 +0300 +++ SDL2-2.0.10.mod/src/video/SDL_video.c 2019-08-20 20:58:02.439197185 +0300 @@ -277,7 +277,7 @@ } } } - + if (!renderer) { for (i = 0; i < SDL_GetNumRenderDrivers(); ++i) { SDL_RendererInfo info; @@ -1199,7 +1199,7 @@ if (SDL_strcmp(_this->name, "cocoa") == 0) { /* don't do this for X11, etc */ if (window->is_destroying && (window->last_fullscreen_flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN_DESKTOP) return 0; - + /* If we're switching between a fullscreen Space and "normal" fullscreen, we need to get back to normal first. */ if (fullscreen && ((window->last_fullscreen_flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN_DESKTOP) && ((window->flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN)) { if (!Cocoa_SetWindowFullscreenSpace(window, SDL_FALSE)) { @@ -1432,12 +1432,6 @@ return NULL; } - /* Some platforms have OpenGL enabled by default */ -#if (SDL_VIDEO_OPENGL && __MACOSX__) || __IPHONEOS__ || __ANDROID__ || __NACL__ - if (!_this->is_dummy && !(flags & SDL_WINDOW_VULKAN)) { - flags |= SDL_WINDOW_OPENGL; - } -#endif if (flags & SDL_WINDOW_OPENGL) { if (!_this->GL_CreateContext) { SDL_SetError("OpenGL support is either not configured in SDL " @@ -1912,7 +1906,7 @@ /* Fullscreen windows are always at their display's origin */ if (window->flags & SDL_WINDOW_FULLSCREEN) { int displayIndex; - + if (x) { *x = 0; } @@ -2275,7 +2269,7 @@ if (SDL_UpdateFullscreenMode(window, FULLSCREEN_VISIBLE(window)) == 0) { return 0; } - + window->flags &= ~FULLSCREEN_MASK; window->flags |= oldflags; return -1; @@ -2420,11 +2414,11 @@ if (!_this->SetWindowModalFor) { return SDL_Unsupported(); } - + return _this->SetWindowModalFor(_this, modal_window, parent_window); } -int +int SDL_SetWindowInputFocus(SDL_Window * window) { CHECK_WINDOW_MAGIC(window, -1); @@ -2432,7 +2426,7 @@ if (!_this->SetWindowInputFocus) { return SDL_Unsupported(); } - + return _this->SetWindowInputFocus(_this, window); } @@ -2664,15 +2658,6 @@ } #endif -#ifdef __ANDROID__ - { - extern SDL_bool Android_JNI_ShouldMinimizeOnFocusLoss(void); - if (! Android_JNI_ShouldMinimizeOnFocusLoss()) { - return SDL_FALSE; - } - } -#endif - return SDL_GetHintBoolean(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, SDL_TRUE); } @@ -3036,7 +3021,7 @@ /* Deduce supported ES profile versions from the supported ARB_ES*_compatibility extensions. There is no direct query. - + This is normally only called when the OpenGL driver supports {GLX,WGL}_EXT_create_context_es2_profile. */