|
@@ -0,0 +1,101 @@
|
|
|
+package sdl3
|
|
|
+
|
|
|
+import "core:c"
|
|
|
+
|
|
|
+// Windows
|
|
|
+
|
|
|
+import win32 "core:sys/windows"
|
|
|
+
|
|
|
+WindowsMessageHook :: #type proc(userdata: rawptr, msg: ^win32.MSG) -> bool
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_")
|
|
|
+foreign lib {
|
|
|
+ SetWindowsMessageHook :: proc(callback: WindowsMessageHook, userdata: rawptr) ---
|
|
|
+ GetDirect3D9AdapterIndex :: proc(displayID: DisplayID) -> c.int ---
|
|
|
+ GetDXGIOutputInfo :: proc(displayID: DisplayID, adapterIndex: ^c.int, outputIndex: ^c.int) -> bool ---
|
|
|
+}
|
|
|
+
|
|
|
+// UNIX
|
|
|
+
|
|
|
+X11EventHook :: #type proc "c" (userdata: rawptr, xevent: rawptr /* ^xlib.XEvent */) -> bool
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_")
|
|
|
+foreign lib {
|
|
|
+ SetX11EventHook :: proc(callback: X11EventHook, userdata: rawptr) ---
|
|
|
+}
|
|
|
+
|
|
|
+// Linux
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_")
|
|
|
+foreign lib {
|
|
|
+ SetLinuxThreadPriority :: proc(threadID: Sint64, priority: c.int) -> bool ---
|
|
|
+ SetLinuxThreadPriorityAndPolicy :: proc(threadID: Sint64, sdlPriority: c.int, schedPolicy: c.int) -> bool ---
|
|
|
+}
|
|
|
+
|
|
|
+// iOS
|
|
|
+
|
|
|
+iOSAnimationCallback :: #type proc "c" (userdata: rawptr)
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_")
|
|
|
+foreign lib {
|
|
|
+ SetiOSAnimationCallback :: proc(window: ^Window, interval: c.int, callback: iOSAnimationCallback, callbackParam: rawptr) -> bool ---
|
|
|
+ SetiOSEventPump :: proc(enabled: bool) ---
|
|
|
+}
|
|
|
+
|
|
|
+// Android
|
|
|
+
|
|
|
+RequestAndroidPermissionCallback :: #type proc "c" (userdata: rawptr, permission: cstring, granted: bool)
|
|
|
+
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_", require_results)
|
|
|
+foreign lib {
|
|
|
+ GetAndroidJNIEnv :: proc() -> rawptr ---
|
|
|
+ GetAndroidActivity :: proc() -> rawptr ---
|
|
|
+ GetAndroidSDKVersion :: proc() -> c.int ---
|
|
|
+ IsChromebook :: proc() -> bool ---
|
|
|
+ IsDeXMode :: proc() -> bool ---
|
|
|
+ SendAndroidBackButton :: proc() ---
|
|
|
+ GetAndroidInternalStoragePath :: proc() -> cstring ---
|
|
|
+ GetAndroidExternalStorageState :: proc() -> Uint32 ---
|
|
|
+ GetAndroidExternalStoragePath :: proc() -> cstring ---
|
|
|
+ GetAndroidCachePath :: proc() -> cstring ---
|
|
|
+ RequestAndroidPermission :: proc(permission: cstring, cb: RequestAndroidPermissionCallback, userdata: rawptr) -> bool ---
|
|
|
+ ShowAndroidToast :: proc(message: cstring, duration: c.int, gravity: c.int, xoffset, yoffset: c.int) -> bool ---
|
|
|
+ SendAndroidMessage :: proc(command: Uint32, param: c.int) -> bool ---
|
|
|
+}
|
|
|
+
|
|
|
+// General
|
|
|
+
|
|
|
+Sandbox :: enum c.int {
|
|
|
+ NONE = 0,
|
|
|
+ UNKNOWN_CONTAINER,
|
|
|
+ FLATPAK,
|
|
|
+ SNAP,
|
|
|
+ MACOS,
|
|
|
+}
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_", require_results)
|
|
|
+foreign lib {
|
|
|
+ IsTablet :: proc() -> bool ---
|
|
|
+ IsTV :: proc() -> bool ---
|
|
|
+ GetSandbox :: proc() -> Sandbox ---
|
|
|
+ OnApplicationWillTerminate :: proc() ---
|
|
|
+ OnApplicationDidReceiveMemoryWarning :: proc() ---
|
|
|
+ OnApplicationWillEnterBackground :: proc() ---
|
|
|
+ OnApplicationDidEnterBackground :: proc() ---
|
|
|
+ OnApplicationWillEnterForeground :: proc() ---
|
|
|
+ OnApplicationDidEnterForeground :: proc() ---
|
|
|
+ OnApplicationDidChangeStatusBarOrientation :: proc() ---
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+// GDK
|
|
|
+
|
|
|
+XTaskQueueHandle :: distinct rawptr
|
|
|
+XUserHandle :: distinct rawptr
|
|
|
+
|
|
|
+@(default_calling_convention="c", link_prefix="SDL_", require_results)
|
|
|
+foreign lib {
|
|
|
+ GetGDKTaskQueue :: proc(outTaskQueue: ^XTaskQueueHandle) -> bool ---
|
|
|
+ GetGDKDefaultUser :: proc(outUserHandle: ^XUserHandle) -> bool ---
|
|
|
+}
|