47#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_GDK)
49typedef struct tagMSG MSG;
74typedef SDL_bool (SDLCALL *SDL_WindowsMessageHook)(
void *userdata, MSG *msg);
91extern SDL_DECLSPEC
void SDLCALL SDL_SetWindowsMessageHook(SDL_WindowsMessageHook callback,
void *userdata);
95#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
109extern SDL_DECLSPEC
int SDLCALL SDL_GetDirect3D9AdapterIndex(
SDL_DisplayID displayID);
113#if defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_WINGDK)
130extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_GetDXGIOutputInfo(
SDL_DisplayID displayID,
int *adapterIndex,
int *outputIndex);
156#ifdef SDL_PLATFORM_LINUX
170extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_SetLinuxThreadPriority(
Sint64 threadID,
int priority);
186extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_SetLinuxThreadPriorityAndPolicy(
Sint64 threadID,
int sdlPriority,
int schedPolicy);
193#ifdef SDL_PLATFORM_IOS
211typedef void (SDLCALL *SDL_iOSAnimationCallback)(
void *userdata);
250extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_SetiOSAnimationCallback(
SDL_Window *window,
int interval, SDL_iOSAnimationCallback callback,
void *callbackParam);
263extern SDL_DECLSPEC
void SDLCALL SDL_SetiOSEventPump(
SDL_bool enabled);
271#ifdef SDL_PLATFORM_ANDROID
293extern SDL_DECLSPEC
void * SDLCALL SDL_GetAndroidJNIEnv(
void);
318extern SDL_DECLSPEC
void * SDLCALL SDL_GetAndroidActivity(
void);
354extern SDL_DECLSPEC
int SDLCALL SDL_GetAndroidSDKVersion(
void);
363extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_IsAndroidTV(
void);
372extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_IsChromebook(
void);
381extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_IsDeXMode(
void);
390extern SDL_DECLSPEC
void SDLCALL SDL_SendAndroidBackButton(
void);
398#define SDL_ANDROID_EXTERNAL_STORAGE_READ 0x01
399#define SDL_ANDROID_EXTERNAL_STORAGE_WRITE 0x02
421extern SDL_DECLSPEC
const char * SDLCALL SDL_GetAndroidInternalStoragePath(
void);
438extern SDL_DECLSPEC
Uint32 SDLCALL SDL_GetAndroidExternalStorageState(
void);
460extern SDL_DECLSPEC
const char * SDLCALL SDL_GetAndroidExternalStoragePath(
void);
479extern SDL_DECLSPEC
const char * SDLCALL SDL_GetAndroidCachePath(
void);
482typedef void (SDLCALL *SDL_RequestAndroidPermissionCallback)(
void *userdata,
const char *permission,
SDL_bool granted);
514extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_RequestAndroidPermission(
const char *permission, SDL_RequestAndroidPermissionCallback cb,
void *userdata);
542extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_ShowAndroidToast(
const char *message,
int duration,
int gravity,
int xoffset,
int yoffset);
558extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_SendAndroidMessage(
Uint32 command,
int param);
565#ifdef SDL_PLATFORM_WINRT
572typedef enum SDL_WinRT_Path
576 SDL_WINRT_PATH_INSTALLED_LOCATION,
579 SDL_WINRT_PATH_LOCAL_FOLDER,
585 SDL_WINRT_PATH_ROAMING_FOLDER,
589 SDL_WINRT_PATH_TEMP_FOLDER
598typedef enum SDL_WinRT_DeviceFamily
601 SDL_WINRT_DEVICEFAMILY_UNKNOWN,
604 SDL_WINRT_DEVICEFAMILY_DESKTOP,
607 SDL_WINRT_DEVICEFAMILY_MOBILE,
610 SDL_WINRT_DEVICEFAMILY_XBOX,
611} SDL_WinRT_DeviceFamily;
633extern SDL_DECLSPEC
const char * SDLCALL SDL_GetWinRTFSPath(SDL_WinRT_Path pathType);
642extern SDL_DECLSPEC SDL_WinRT_DeviceFamily SDLCALL SDL_GetWinRTDeviceFamily();
761#ifdef SDL_PLATFORM_IOS
778extern SDL_DECLSPEC
void SDLCALL SDL_OnApplicationDidChangeStatusBarOrientation(
void);
784#ifdef SDL_PLATFORM_GDK
785typedef struct XTaskQueueObject *XTaskQueueHandle;
786typedef struct XUser *XUserHandle;
802extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_GetGDKTaskQueue(XTaskQueueHandle *outTaskQueue);
817extern SDL_DECLSPEC
SDL_bool SDLCALL SDL_GetGDKDefaultUser(XUserHandle *outUserHandle);
SDL_bool(* SDL_X11EventHook)(void *userdata, XEvent *xevent)
SDL_bool SDL_IsTablet(void)
void SDL_OnApplicationWillEnterForeground(void)
void SDL_OnApplicationDidEnterForeground(void)
void SDL_OnApplicationDidEnterBackground(void)
void SDL_SetX11EventHook(SDL_X11EventHook callback, void *userdata)
void SDL_OnApplicationDidReceiveMemoryWarning(void)
void SDL_OnApplicationWillEnterBackground(void)
void SDL_OnApplicationWillTerminate(void)
struct SDL_Window SDL_Window