Last active
March 4, 2021 04:20
-
-
Save terickson001/a0934c0796bf3c893107641b8f678bc2 to your computer and use it in GitHub Desktop.
SDL bindings generated with bind-odin-port
This file contains hidden or 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
| package sdl | |
| import _c "core:c" | |
| /* Macros */ | |
| ASSERT_LEVEL :: 2; | |
| SIZEOF_VOIDP :: 8; | |
| HAVE_GCC_ATOMICS :: 1; | |
| HAVE_LIBC :: 1; | |
| STDC_HEADERS :: 1; | |
| HAVE_ALLOCA_H :: 1; | |
| HAVE_CTYPE_H :: 1; | |
| HAVE_ICONV_H :: 1; | |
| LIL_ENDIAN :: 1234; | |
| BIG_ENDIAN :: 4321; | |
| RELEASED :: 0; | |
| PRESSED :: 1; | |
| HAVE_INTTYPES_H :: 1; | |
| HAVE_LIMITS_H :: 1; | |
| HAVE_MALLOC_H :: 1; | |
| HAVE_MATH_H :: 1; | |
| HAVE_MEMORY_H :: 1; | |
| HAVE_SIGNAL_H :: 1; | |
| HINT_FRAMEBUFFER_ACCELERATION :: "SDL_FRAMEBUFFER_ACCELERATION"; | |
| HAVE_STDARG_H :: 1; | |
| HAVE_STDINT_H :: 1; | |
| INIT_TIMER :: 0x1; | |
| INIT_AUDIO :: 0x10; | |
| INIT_VIDEO :: 0x20; | |
| INIT_JOYSTICK :: 0x200; | |
| INIT_HAPTIC :: 0x1000; | |
| INIT_GAMECONTROLLER :: 0x2000; | |
| INIT_EVENTS :: 0x4000; | |
| INIT_SENSOR :: 0x8000; | |
| INIT_NOPARACHUTE :: 0x100000; | |
| INIT_EVERYTHING :: (INIT_TIMER | INIT_AUDIO | INIT_VIDEO | INIT_EVENTS | INIT_JOYSTICK | INIT_HAPTIC | INIT_GAMECONTROLLER | INIT_SENSOR); | |
| HAVE_STDIO_H :: 1; | |
| HAVE_STDLIB_H :: 1; | |
| HAVE_STRINGS_H :: 1; | |
| NULL_WHILE_LOOP_CONDITION :: (0); | |
| AUDIO_MASK_BITSIZE :: (0xFF); | |
| HAVE_STRING_H :: 1; | |
| AUDIO_MASK_DATATYPE :: (1 << 8); | |
| HAVE_SYS_TYPES_H :: 1; | |
| AUDIO_MASK_ENDIAN :: (1 << 12); | |
| HAVE_WCHAR_H :: 1; | |
| AUDIO_MASK_SIGNED :: (1 << 15); | |
| HAVE_LIBUNWIND_H :: 1; | |
| HAVE_MALLOC :: 1; | |
| HAVE_CALLOC :: 1; | |
| HAVE_REALLOC :: 1; | |
| HAVE_FREE :: 1; | |
| HAVE_ALLOCA :: 1; | |
| HAVE_GETENV :: 1; | |
| HAVE_SETENV :: 1; | |
| HAVE_PUTENV :: 1; | |
| HAVE_UNSETENV :: 1; | |
| HINT_RENDER_DRIVER :: "SDL_RENDER_DRIVER"; | |
| AUDIO_U8 :: 0x8; | |
| HAVE_QSORT :: 1; | |
| AUDIO_S8 :: 0x8008; | |
| HAVE_ABS :: 1; | |
| AUDIO_U16LSB :: 0x10; | |
| HAVE_BCOPY :: 1; | |
| AUDIO_S16LSB :: 0x8010; | |
| HAVE_MEMSET :: 1; | |
| AUDIO_U16MSB :: 0x1010; | |
| HAVE_MEMCPY :: 1; | |
| AUDIO_S16MSB :: 0x9010; | |
| HAVE_MEMMOVE :: 1; | |
| AUDIO_U16 :: AUDIO_U16LSB; | |
| HAVE_MEMCMP :: 1; | |
| AUDIO_S16 :: AUDIO_S16LSB; | |
| HAVE_WCSLEN :: 1; | |
| HAVE_WCSDUP :: 1; | |
| HAVE_WCSSTR :: 1; | |
| HAVE_WCSCMP :: 1; | |
| HAVE_WCSNCMP :: 1; | |
| AUDIO_S32LSB :: 0x8020; | |
| HAVE_WCSCASECMP :: 1; | |
| AUDIO_S32MSB :: 0x9020; | |
| AUDIO_S32 :: AUDIO_S32LSB; | |
| HAVE_WCSNCASECMP :: 1; | |
| HAVE_STRLEN :: 1; | |
| AUDIO_F32LSB :: 0x8120; | |
| AUDIO_F32MSB :: 0x9120; | |
| AUDIO_F32 :: AUDIO_F32LSB; | |
| HAVE_STRCHR :: 1; | |
| HAVE_STRRCHR :: 1; | |
| HAVE_STRSTR :: 1; | |
| HAVE_STRTOK_R :: 1; | |
| AUDIO_U16SYS :: AUDIO_U16LSB; | |
| AUDIO_S16SYS :: AUDIO_S16LSB; | |
| AUDIO_S32SYS :: AUDIO_S32LSB; | |
| HAVE_STRTOL :: 1; | |
| AUDIO_F32SYS :: AUDIO_F32LSB; | |
| HAVE_STRTOUL :: 1; | |
| HAVE_STRTOLL :: 1; | |
| HAVE_STRTOULL :: 1; | |
| HAVE_STRTOD :: 1; | |
| HAVE_ATOI :: 1; | |
| HAVE_ATOF :: 1; | |
| HAVE_STRCMP :: 1; | |
| HAVE_STRNCMP :: 1; | |
| HAVE_STRCASECMP :: 1; | |
| HAVE_STRNCASECMP :: 1; | |
| HAVE_SSCANF :: 1; | |
| AUDIO_ALLOW_FREQUENCY_CHANGE :: 0x1; | |
| HAVE_VSSCANF :: 1; | |
| AUDIO_ALLOW_FORMAT_CHANGE :: 0x2; | |
| HAVE_VSNPRINTF :: 1; | |
| AUDIO_ALLOW_CHANNELS_CHANGE :: 0x4; | |
| HAVE_M_PI :: 1; | |
| AUDIO_ALLOW_SAMPLES_CHANGE :: 0x8; | |
| HAVE_ACOS :: 1; | |
| AUDIO_ALLOW_ANY_CHANGE :: (AUDIO_ALLOW_FREQUENCY_CHANGE | AUDIO_ALLOW_FORMAT_CHANGE | AUDIO_ALLOW_CHANNELS_CHANGE | AUDIO_ALLOW_SAMPLES_CHANGE); | |
| HAVE_ACOSF :: 1; | |
| HAVE_ASIN :: 1; | |
| HAVE_ASINF :: 1; | |
| HAVE_ATAN :: 1; | |
| HAVE_ATANF :: 1; | |
| HAVE_ATAN2 :: 1; | |
| HAVE_ATAN2F :: 1; | |
| HAVE_CEIL :: 1; | |
| HAVE_CEILF :: 1; | |
| HAVE_COPYSIGN :: 1; | |
| HAVE_COPYSIGNF :: 1; | |
| HAVE_COS :: 1; | |
| HAVE_COSF :: 1; | |
| HAVE_EXP :: 1; | |
| HAVE_EXPF :: 1; | |
| HAVE_FABS :: 1; | |
| HAVE_FABSF :: 1; | |
| HAVE_FLOOR :: 1; | |
| HAVE_FLOORF :: 1; | |
| HAVE_FMOD :: 1; | |
| HAVE_FMODF :: 1; | |
| HAVE_LOG :: 1; | |
| HAVE_LOGF :: 1; | |
| HAVE_LOG10 :: 1; | |
| HAVE_LOG10F :: 1; | |
| HAVE_POW :: 1; | |
| HAVE_POWF :: 1; | |
| HAVE_SCALBN :: 1; | |
| HAVE_SCALBNF :: 1; | |
| HAVE_SIN :: 1; | |
| HAVE_SINF :: 1; | |
| HAVE_SQRT :: 1; | |
| HAVE_SQRTF :: 1; | |
| HAVE_TAN :: 1; | |
| HAVE_TANF :: 1; | |
| HAVE_TRUNC :: 1; | |
| HAVE_TRUNCF :: 1; | |
| HAVE_FSEEKO :: 1; | |
| HAVE_SIGACTION :: 1; | |
| HAVE_SA_SIGACTION :: 1; | |
| HAVE_SETJMP :: 1; | |
| HAVE_NANOSLEEP :: 1; | |
| HAVE_SYSCONF :: 1; | |
| HAVE_CLOCK_GETTIME :: 1; | |
| HAVE_MPROTECT :: 1; | |
| HAVE_ICONV :: 1; | |
| HAVE_SEM_TIMEDWAIT :: 1; | |
| HAVE_GETAUXVAL :: 1; | |
| HAVE_POLL :: 1; | |
| HAVE__EXIT :: 1; | |
| AUDIOCVT_MAX_FILTERS :: 9; | |
| HAVE_DBUS_DBUS_H :: 1; | |
| HAVE_FCITX :: 1; | |
| HAVE_IBUS_IBUS_H :: 1; | |
| HAVE_SYS_INOTIFY_H :: 1; | |
| HAVE_INOTIFY_INIT :: 1; | |
| HAVE_INOTIFY_INIT1 :: 1; | |
| HAVE_INOTIFY :: 1; | |
| HAVE_IMMINTRIN_H :: 1; | |
| HAVE_LIBUDEV_H :: 1; | |
| HAVE_LIBSAMPLERATE_H :: 1; | |
| HAVE_XINPUT_H :: 1; | |
| AUDIO_DRIVER_ALSA :: 1; | |
| AUDIO_DRIVER_ALSA_DYNAMIC :: "libasound.so.2"; | |
| AUDIO_DRIVER_DISK :: 1; | |
| AUDIO_DRIVER_DUMMY :: 1; | |
| CACHELINE_SIZE :: 128; | |
| HINT_RENDER_OPENGL_SHADERS :: "SDL_RENDER_OPENGL_SHADERS"; | |
| TEXTEDITINGEVENT_TEXT_SIZE :: (32); | |
| TEXTINPUTEVENT_TEXT_SIZE :: (32); | |
| HAPTIC_CONSTANT :: (1 << 0); | |
| HAPTIC_SINE :: (1 << 1); | |
| HAPTIC_LEFTRIGHT :: (1 << 2); | |
| HAPTIC_TRIANGLE :: (1 << 3); | |
| HAPTIC_SAWTOOTHUP :: (1 << 4); | |
| HAPTIC_SAWTOOTHDOWN :: (1 << 5); | |
| HAPTIC_RAMP :: (1 << 6); | |
| HAPTIC_SPRING :: (1 << 7); | |
| HAPTIC_DAMPER :: (1 << 8); | |
| HAPTIC_INERTIA :: (1 << 9); | |
| HINT_RENDER_DIRECT3D_THREADSAFE :: "SDL_RENDER_DIRECT3D_THREADSAFE"; | |
| IPHONE_MAX_GFORCE :: 5.000; | |
| HINT_RENDER_DIRECT3D11_DEBUG :: "SDL_RENDER_DIRECT3D11_DEBUG"; | |
| HINT_RENDER_LOGICAL_SIZE_MODE :: "SDL_RENDER_LOGICAL_SIZE_MODE"; | |
| HAPTIC_FRICTION :: (1 << 10); | |
| HAPTIC_CUSTOM :: (1 << 11); | |
| HINT_RENDER_SCALE_QUALITY :: "SDL_RENDER_SCALE_QUALITY"; | |
| HINT_RENDER_VSYNC :: "SDL_RENDER_VSYNC"; | |
| HINT_VIDEO_ALLOW_SCREENSAVER :: "SDL_VIDEO_ALLOW_SCREENSAVER"; | |
| HINT_VIDEO_EXTERNAL_CONTEXT :: "SDL_VIDEO_EXTERNAL_CONTEXT"; | |
| HINT_VIDEO_X11_XVIDMODE :: "SDL_VIDEO_X11_XVIDMODE"; | |
| HINT_VIDEO_X11_XINERAMA :: "SDL_VIDEO_X11_XINERAMA"; | |
| HINT_VIDEO_X11_XRANDR :: "SDL_VIDEO_X11_XRANDR"; | |
| HINT_VIDEO_X11_WINDOW_VISUALID :: "SDL_VIDEO_X11_WINDOW_VISUALID"; | |
| HINT_VIDEO_X11_NET_WM_PING :: "SDL_VIDEO_X11_NET_WM_PING"; | |
| HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR :: "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"; | |
| HINT_VIDEO_X11_FORCE_EGL :: "SDL_VIDEO_X11_FORCE_EGL"; | |
| HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN :: "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"; | |
| HINT_WINDOWS_INTRESOURCE_ICON :: "SDL_WINDOWS_INTRESOURCE_ICON"; | |
| HINT_WINDOWS_INTRESOURCE_ICON_SMALL :: "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"; | |
| AUDIO_DRIVER_JACK :: 1; | |
| AUDIO_DRIVER_JACK_DYNAMIC :: "libjack.so.0"; | |
| AUDIO_DRIVER_OSS :: 1; | |
| AUDIO_DRIVER_PULSEAUDIO :: 1; | |
| AUDIO_DRIVER_PULSEAUDIO_DYNAMIC :: "libpulse-simple.so.0"; | |
| INPUT_LINUXEV :: 1; | |
| INPUT_LINUXKD :: 1; | |
| JOYSTICK_LINUX :: 1; | |
| JOYSTICK_HIDAPI :: 1; | |
| JOYSTICK_VIRTUAL :: 1; | |
| HAPTIC_LINUX :: 1; | |
| LIBUSB_DYNAMIC :: ""; | |
| SENSOR_DUMMY :: 1; | |
| LOADSO_DLOPEN :: 1; | |
| THREAD_PTHREAD :: 1; | |
| THREAD_PTHREAD_RECURSIVE_MUTEX :: 1; | |
| TIMER_UNIX :: 1; | |
| VIDEO_DRIVER_DUMMY :: 1; | |
| VIDEO_DRIVER_WAYLAND :: 1; | |
| VIDEO_DRIVER_KMSDRM :: 1; | |
| VIDEO_DRIVER_KMSDRM_DYNAMIC :: "libdrm.so.2"; | |
| VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM :: "libgbm.so.1"; | |
| VIDEO_DRIVER_WAYLAND_QT_TOUCH :: 1; | |
| VIDEO_DRIVER_WAYLAND_DYNAMIC :: "libwayland-client.so.0"; | |
| VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL :: "libwayland-egl.so.1"; | |
| VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR :: "libwayland-cursor.so.0"; | |
| VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON :: "libxkbcommon.so.0"; | |
| VIDEO_DRIVER_X11 :: 1; | |
| VIDEO_DRIVER_X11_DYNAMIC :: "libX11.so.6"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XEXT :: "libXext.so.6"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XCURSOR :: "libXcursor.so.1"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XINERAMA :: "libXinerama.so.1"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 :: "libXi.so.6"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XRANDR :: "libXrandr.so.2"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XSS :: "libXss.so.1"; | |
| VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE :: "libXxf86vm.so.1"; | |
| VIDEO_DRIVER_X11_XCURSOR :: 1; | |
| VIDEO_DRIVER_X11_XINERAMA :: 1; | |
| VIDEO_DRIVER_X11_XINPUT2 :: 1; | |
| VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH :: 1; | |
| VIDEO_DRIVER_X11_XRANDR :: 1; | |
| VIDEO_DRIVER_X11_XSCRNSAVER :: 1; | |
| VIDEO_DRIVER_X11_XSHAPE :: 1; | |
| VIDEO_DRIVER_X11_XVIDMODE :: 1; | |
| VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS :: 1; | |
| VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY :: 1; | |
| VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM :: 1; | |
| VIDEO_RENDER_OGL :: 1; | |
| VIDEO_RENDER_OGL_ES2 :: 1; | |
| VIDEO_OPENGL :: 1; | |
| VIDEO_OPENGL_ES2 :: 1; | |
| VIDEO_OPENGL_GLX :: 1; | |
| VIDEO_OPENGL_EGL :: 1; | |
| VIDEO_VULKAN :: 1; | |
| POWER_LINUX :: 1; | |
| FILESYSTEM_UNIX :: 1; | |
| ASSEMBLY_ROUTINES :: 1; | |
| LIBSAMPLERATE_DYNAMIC :: "libsamplerate.so.0"; | |
| MIX_MAXVOLUME :: 128; | |
| HAPTIC_GAIN :: (1 << 12); | |
| HINT_WINDOWS_ENABLE_MESSAGELOOP :: "SDL_WINDOWS_ENABLE_MESSAGELOOP"; | |
| HAPTIC_AUTOCENTER :: (1 << 13); | |
| HINT_GRAB_KEYBOARD :: "SDL_GRAB_KEYBOARD"; | |
| HAPTIC_STATUS :: (1 << 14); | |
| HINT_MOUSE_DOUBLE_CLICK_TIME :: "SDL_MOUSE_DOUBLE_CLICK_TIME"; | |
| HINT_MOUSE_DOUBLE_CLICK_RADIUS :: "SDL_MOUSE_DOUBLE_CLICK_RADIUS"; | |
| HAPTIC_PAUSE :: (1 << 15); | |
| HINT_MOUSE_NORMAL_SPEED_SCALE :: "SDL_MOUSE_NORMAL_SPEED_SCALE"; | |
| QUERY :: -1; | |
| IGNORE :: 0; | |
| DISABLE :: 0; | |
| ENABLE :: 1; | |
| HINT_MOUSE_RELATIVE_SPEED_SCALE :: "SDL_MOUSE_RELATIVE_SPEED_SCALE"; | |
| HAPTIC_POLAR :: 0; | |
| HINT_MOUSE_RELATIVE_SCALING :: "SDL_MOUSE_RELATIVE_SCALING"; | |
| HAPTIC_CARTESIAN :: 1; | |
| HAPTIC_SPHERICAL :: 2; | |
| HINT_MOUSE_RELATIVE_MODE_WARP :: "SDL_MOUSE_RELATIVE_MODE_WARP"; | |
| HAPTIC_STEERING_AXIS :: 3; | |
| HINT_MOUSE_FOCUS_CLICKTHROUGH :: "SDL_MOUSE_FOCUS_CLICKTHROUGH"; | |
| HINT_TOUCH_MOUSE_EVENTS :: "SDL_TOUCH_MOUSE_EVENTS"; | |
| HAPTIC_INFINITY :: 4294967295; | |
| JOYSTICK_AXIS_MAX :: 32767; | |
| JOYSTICK_AXIS_MIN :: -32768; | |
| HINT_MOUSE_TOUCH_EVENTS :: "SDL_MOUSE_TOUCH_EVENTS"; | |
| HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS :: "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"; | |
| HINT_IDLE_TIMER_DISABLED :: "SDL_IOS_IDLE_TIMER_DISABLED"; | |
| HINT_ORIENTATIONS :: "SDL_IOS_ORIENTATIONS"; | |
| HINT_APPLE_TV_CONTROLLER_UI_EVENTS :: "SDL_APPLE_TV_CONTROLLER_UI_EVENTS"; | |
| HINT_APPLE_TV_REMOTE_ALLOW_ROTATION :: "SDL_APPLE_TV_REMOTE_ALLOW_ROTATION"; | |
| HINT_IOS_HIDE_HOME_INDICATOR :: "SDL_IOS_HIDE_HOME_INDICATOR"; | |
| HINT_ACCELEROMETER_AS_JOYSTICK :: "SDL_ACCELEROMETER_AS_JOYSTICK"; | |
| HAT_CENTERED :: 0x0; | |
| HAT_UP :: 0x1; | |
| HAT_RIGHT :: 0x2; | |
| HAT_DOWN :: 0x4; | |
| HAT_LEFT :: 0x8; | |
| HAT_RIGHTUP :: (HAT_RIGHT | HAT_UP); | |
| HAT_RIGHTDOWN :: (HAT_RIGHT | HAT_DOWN); | |
| HAT_LEFTUP :: (HAT_LEFT | HAT_UP); | |
| HAT_LEFTDOWN :: (HAT_LEFT | HAT_DOWN); | |
| HINT_TV_REMOTE_AS_JOYSTICK :: "SDL_TV_REMOTE_AS_JOYSTICK"; | |
| HINT_XINPUT_ENABLED :: "SDL_XINPUT_ENABLED"; | |
| HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING :: "SDL_XINPUT_USE_OLD_JOYSTICK_MAPPING"; | |
| HINT_GAMECONTROLLERTYPE :: "SDL_GAMECONTROLLERTYPE"; | |
| HINT_GAMECONTROLLERCONFIG :: "SDL_GAMECONTROLLERCONFIG"; | |
| HINT_GAMECONTROLLERCONFIG_FILE :: "SDL_GAMECONTROLLERCONFIG_FILE"; | |
| HINT_GAMECONTROLLER_IGNORE_DEVICES :: "SDL_GAMECONTROLLER_IGNORE_DEVICES"; | |
| HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT :: "SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"; | |
| HINT_GAMECONTROLLER_USE_BUTTON_LABELS :: "SDL_GAMECONTROLLER_USE_BUTTON_LABELS"; | |
| HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS :: "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"; | |
| HINT_JOYSTICK_HIDAPI :: "SDL_JOYSTICK_HIDAPI"; | |
| HINT_JOYSTICK_HIDAPI_PS4 :: "SDL_JOYSTICK_HIDAPI_PS4"; | |
| HINT_JOYSTICK_HIDAPI_PS5 :: "SDL_JOYSTICK_HIDAPI_PS5"; | |
| HINT_JOYSTICK_HIDAPI_PS4_RUMBLE :: "SDL_JOYSTICK_HIDAPI_PS4_RUMBLE"; | |
| HINT_JOYSTICK_HIDAPI_STEAM :: "SDL_JOYSTICK_HIDAPI_STEAM"; | |
| HINT_JOYSTICK_HIDAPI_SWITCH :: "SDL_JOYSTICK_HIDAPI_SWITCH"; | |
| HINT_JOYSTICK_HIDAPI_XBOX :: "SDL_JOYSTICK_HIDAPI_XBOX"; | |
| HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT :: "SDL_JOYSTICK_HIDAPI_CORRELATE_XINPUT"; | |
| HINT_JOYSTICK_HIDAPI_GAMECUBE :: "SDL_JOYSTICK_HIDAPI_GAMECUBE"; | |
| HINT_ENABLE_STEAM_CONTROLLERS :: "SDL_ENABLE_STEAM_CONTROLLERS"; | |
| HINT_JOYSTICK_RAWINPUT :: "SDL_JOYSTICK_RAWINPUT"; | |
| HINT_JOYSTICK_THREAD :: "SDL_JOYSTICK_THREAD"; | |
| HINT_LINUX_JOYSTICK_DEADZONES :: "SDL_LINUX_JOYSTICK_DEADZONES"; | |
| HINT_ALLOW_TOPMOST :: "SDL_ALLOW_TOPMOST"; | |
| HINT_TIMER_RESOLUTION :: "SDL_TIMER_RESOLUTION"; | |
| HINT_QTWAYLAND_CONTENT_ORIENTATION :: "SDL_QTWAYLAND_CONTENT_ORIENTATION"; | |
| HINT_QTWAYLAND_WINDOW_FLAGS :: "SDL_QTWAYLAND_WINDOW_FLAGS"; | |
| HINT_THREAD_STACK_SIZE :: "SDL_THREAD_STACK_SIZE"; | |
| HINT_THREAD_PRIORITY_POLICY :: "SDL_THREAD_PRIORITY_POLICY"; | |
| HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL :: "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"; | |
| HINT_VIDEO_HIGHDPI_DISABLED :: "SDL_VIDEO_HIGHDPI_DISABLED"; | |
| HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK :: "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"; | |
| HINT_VIDEO_WIN_D3DCOMPILER :: "SDL_VIDEO_WIN_D3DCOMPILER"; | |
| HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT :: "SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT"; | |
| HINT_WINRT_PRIVACY_POLICY_URL :: "SDL_WINRT_PRIVACY_POLICY_URL"; | |
| HINT_WINRT_PRIVACY_POLICY_LABEL :: "SDL_WINRT_PRIVACY_POLICY_LABEL"; | |
| HINT_WINRT_HANDLE_BACK_BUTTON :: "SDL_WINRT_HANDLE_BACK_BUTTON"; | |
| HINT_VIDEO_MAC_FULLSCREEN_SPACES :: "SDL_VIDEO_MAC_FULLSCREEN_SPACES"; | |
| HINT_MAC_BACKGROUND_APP :: "SDL_MAC_BACKGROUND_APP"; | |
| HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION"; | |
| HINT_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION :: "SDL_ANDROID_APK_EXPANSION_PATCH_FILE_VERSION"; | |
| HINT_IME_INTERNAL_EDITING :: "SDL_IME_INTERNAL_EDITING"; | |
| HINT_ANDROID_TRAP_BACK_BUTTON :: "SDL_ANDROID_TRAP_BACK_BUTTON"; | |
| HINT_ANDROID_BLOCK_ON_PAUSE :: "SDL_ANDROID_BLOCK_ON_PAUSE"; | |
| HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO :: "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO"; | |
| HINT_RETURN_KEY_HIDES_IME :: "SDL_RETURN_KEY_HIDES_IME"; | |
| HINT_EMSCRIPTEN_KEYBOARD_ELEMENT :: "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"; | |
| HINT_EMSCRIPTEN_ASYNCIFY :: "SDL_EMSCRIPTEN_ASYNCIFY"; | |
| HINT_NO_SIGNAL_HANDLERS :: "SDL_NO_SIGNAL_HANDLERS"; | |
| HINT_WINDOWS_NO_CLOSE_ON_ALT_F4 :: "SDL_WINDOWS_NO_CLOSE_ON_ALT_F4"; | |
| HINT_BMP_SAVE_LEGACY_FORMAT :: "SDL_BMP_SAVE_LEGACY_FORMAT"; | |
| HINT_WINDOWS_DISABLE_THREAD_NAMING :: "SDL_WINDOWS_DISABLE_THREAD_NAMING"; | |
| HINT_RPI_VIDEO_LAYER :: "SDL_RPI_VIDEO_LAYER"; | |
| HINT_VIDEO_DOUBLE_BUFFER :: "SDL_VIDEO_DOUBLE_BUFFER"; | |
| HINT_OPENGL_ES_DRIVER :: "SDL_OPENGL_ES_DRIVER"; | |
| HINT_AUDIO_RESAMPLING_MODE :: "SDL_AUDIO_RESAMPLING_MODE"; | |
| HINT_AUDIO_CATEGORY :: "SDL_AUDIO_CATEGORY"; | |
| HINT_RENDER_BATCHING :: "SDL_RENDER_BATCHING"; | |
| HINT_AUTO_UPDATE_JOYSTICKS :: "SDL_AUTO_UPDATE_JOYSTICKS"; | |
| HINT_AUTO_UPDATE_SENSORS :: "SDL_AUTO_UPDATE_SENSORS"; | |
| HINT_EVENT_LOGGING :: "SDL_EVENT_LOGGING"; | |
| HINT_WAVE_RIFF_CHUNK_SIZE :: "SDL_WAVE_RIFF_CHUNK_SIZE"; | |
| HINT_WAVE_TRUNCATION :: "SDL_WAVE_TRUNCATION"; | |
| HINT_WAVE_FACT_CHUNK :: "SDL_WAVE_FACT_CHUNK"; | |
| HINT_DISPLAY_USABLE_BOUNDS :: "SDL_DISPLAY_USABLE_BOUNDS"; | |
| HINT_AUDIO_DEVICE_APP_NAME :: "SDL_AUDIO_DEVICE_APP_NAME"; | |
| HINT_AUDIO_DEVICE_STREAM_NAME :: "SDL_AUDIO_DEVICE_STREAM_NAME"; | |
| HINT_PREFERRED_LOCALES :: "SDL_PREFERRED_LOCALES"; | |
| MUTEX_TIMEDOUT :: 1; | |
| RWOPS_UNKNOWN :: 0; | |
| NONSHAPEABLE_WINDOW :: -1; | |
| RWOPS_WINFILE :: 1; | |
| RWOPS_STDFILE :: 2; | |
| K_SCANCODE_MASK :: (1 << 30); | |
| RWOPS_JNIFILE :: 3; | |
| ALPHA_OPAQUE :: 255; | |
| ALPHA_TRANSPARENT :: 0; | |
| RWOPS_MEMORY :: 4; | |
| RWOPS_MEMORY_RO :: 5; | |
| MUTEX_MAXWAIT :: (~(Uint32)(0)); | |
| MAX_LOG_MESSAGE :: 4096; | |
| __LINUX__ :: 1; | |
| BUTTON_LEFT :: 1; | |
| BUTTON_MIDDLE :: 2; | |
| BUTTON_RIGHT :: 3; | |
| BUTTON_X1 :: 4; | |
| BUTTON_X2 :: 5; | |
| RW_SEEK_SET :: 0; | |
| RW_SEEK_CUR :: 1; | |
| RW_SEEK_END :: 2; | |
| INVALID_SHAPE_ARGUMENT :: -2; | |
| WINDOW_LACKS_SHAPE :: -3; | |
| SWSURFACE :: 0; | |
| PREALLOC :: 0x1; | |
| RLEACCEL :: 0x2; | |
| DONTFREE :: 0x4; | |
| SIMD_ALIGNED :: 0x8; | |
| MAJOR_VERSION :: 2; | |
| TOUCH_MOUSEID :: (~(Uint32)(0)); | |
| MINOR_VERSION :: 0; | |
| PATCHLEVEL :: 14; | |
| STANDARD_GRAVITY :: 9.807; | |
| MAX_SINT8 :: ((Sint8)(0x7F)); | |
| MIN_SINT8 :: (~(Sint8)(0x7F)); | |
| MAX_UINT8 :: ((Uint8)(0xFF)); | |
| MIN_UINT8 :: ((Uint8)(0x0)); | |
| MAX_SINT16 :: ((Sint16)(0x7FFF)); | |
| MIN_SINT16 :: (~(Sint16)(0x7FFF)); | |
| MAX_UINT16 :: ((Uint16)(0xFFFF)); | |
| MIN_UINT16 :: ((Uint16)(0x0)); | |
| MAX_SINT32 :: ((Sint32)(0x7FFFFFFF)); | |
| MIN_SINT32 :: (~(Sint32)(0x7FFFFFFF)); | |
| MAX_UINT32 :: ((Uint32)(0xFFFFFFFF)); | |
| MIN_UINT32 :: ((Uint32)(0x0)); | |
| MAX_SINT64 :: ((Sint64)(0x7FFFFFFFFFFFFFFF)); | |
| MIN_SINT64 :: (~(Sint64)(0x7FFFFFFFFFFFFFFF)); | |
| MAX_UINT64 :: ((Uint64)(0xFFFFFFFFFFFFFFFF)); | |
| MIN_UINT64 :: ((Uint64)(0x0)); | |
| PRIs64 :: "ld"; | |
| ICONV_ERROR :: ~(uint)(0); | |
| ICONV_E2BIG :: ~(uint)(1); | |
| ICONV_EILSEQ :: ~(uint)(2); | |
| ICONV_EINVAL :: ~(uint)(3); | |
| MOUSE_TOUCHID :: ((Sint64)(-1)); | |
| WINDOWPOS_UNDEFINED_MASK :: 0x1FFF0000; | |
| WINDOWPOS_CENTERED_MASK :: 0x2FFF0000; | |
| _GameController :: struct {}; | |
| FILE :: _IO_FILE; | |
| _IO_FILE :: struct {}; | |
| BlendMode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| BLENDMODE_NONE :: 0x0; | |
| BLENDMODE_BLEND :: 0x1; | |
| BLENDMODE_ADD :: 0x2; | |
| BLENDMODE_MOD :: 0x4; | |
| BLENDMODE_MUL :: 0x8; | |
| BLENDMODE_INVALID :: 0x7FFFFFFF; | |
| /* } */; | |
| BlendOperation :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| BLENDOPERATION_ADD :: 0x1; | |
| BLENDOPERATION_SUBTRACT :: 0x2; | |
| BLENDOPERATION_REV_SUBTRACT :: 0x3; | |
| BLENDOPERATION_MINIMUM :: 0x4; | |
| BLENDOPERATION_MAXIMUM :: 0x5; | |
| /* } */; | |
| GestureID :: Sint64; | |
| EventType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| FIRSTEVENT :: 0; | |
| QUIT :: 0x100; | |
| APP_TERMINATING :: 0x101; | |
| APP_LOWMEMORY :: 0x102; | |
| APP_WILLENTERBACKGROUND :: 0x103; | |
| APP_DIDENTERBACKGROUND :: 0x104; | |
| APP_WILLENTERFOREGROUND :: 0x105; | |
| APP_DIDENTERFOREGROUND :: 0x106; | |
| LOCALECHANGED :: 0x107; | |
| DISPLAYEVENT :: 0x150; | |
| WINDOWEVENT :: 0x200; | |
| SYSWMEVENT :: 0x201; | |
| KEYDOWN :: 0x300; | |
| KEYUP :: 0x301; | |
| TEXTEDITING :: 0x302; | |
| TEXTINPUT :: 0x303; | |
| KEYMAPCHANGED :: 0x304; | |
| MOUSEMOTION :: 0x400; | |
| MOUSEBUTTONDOWN :: 0x401; | |
| MOUSEBUTTONUP :: 0x402; | |
| MOUSEWHEEL :: 0x403; | |
| JOYAXISMOTION :: 0x600; | |
| JOYBALLMOTION :: 0x601; | |
| JOYHATMOTION :: 0x602; | |
| JOYBUTTONDOWN :: 0x603; | |
| JOYBUTTONUP :: 0x604; | |
| JOYDEVICEADDED :: 0x605; | |
| JOYDEVICEREMOVED :: 0x606; | |
| CONTROLLERAXISMOTION :: 0x650; | |
| CONTROLLERBUTTONDOWN :: 0x651; | |
| CONTROLLERBUTTONUP :: 0x652; | |
| CONTROLLERDEVICEADDED :: 0x653; | |
| CONTROLLERDEVICEREMOVED :: 0x654; | |
| CONTROLLERDEVICEREMAPPED :: 0x655; | |
| CONTROLLERTOUCHPADDOWN :: 0x656; | |
| CONTROLLERTOUCHPADMOTION :: 0x657; | |
| CONTROLLERTOUCHPADUP :: 0x658; | |
| CONTROLLERSENSORUPDATE :: 0x659; | |
| FINGERDOWN :: 0x700; | |
| FINGERUP :: 0x701; | |
| FINGERMOTION :: 0x702; | |
| DOLLARGESTURE :: 0x800; | |
| DOLLARRECORD :: 0x801; | |
| MULTIGESTURE :: 0x802; | |
| CLIPBOARDUPDATE :: 0x900; | |
| DROPFILE :: 0x1000; | |
| DROPTEXT :: 0x1001; | |
| DROPBEGIN :: 0x1002; | |
| DROPCOMPLETE :: 0x1003; | |
| AUDIODEVICEADDED :: 0x1100; | |
| AUDIODEVICEREMOVED :: 0x1101; | |
| SENSORUPDATE :: 0x1200; | |
| RENDER_TARGETS_RESET :: 0x2000; | |
| RENDER_DEVICE_RESET :: 0x2001; | |
| USEREVENT :: 0x8000; | |
| LASTEVENT :: 0xFFFF; | |
| /* } */; | |
| GameController :: _GameController; | |
| _Joystick :: struct {}; | |
| AudioFormat :: Uint16; | |
| GameControllerType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| CONTROLLER_TYPE_UNKNOWN :: 0; | |
| CONTROLLER_TYPE_XBOX360 :: 1; | |
| CONTROLLER_TYPE_XBOXONE :: 2; | |
| CONTROLLER_TYPE_PS3 :: 3; | |
| CONTROLLER_TYPE_PS4 :: 4; | |
| CONTROLLER_TYPE_NINTENDO_SWITCH_PRO :: 5; | |
| CONTROLLER_TYPE_VIRTUAL :: 6; | |
| CONTROLLER_TYPE_PS5 :: 7; | |
| /* } */; | |
| Joystick :: _Joystick; | |
| _Haptic :: struct {}; | |
| JoystickGUID :: struct { | |
| data : [16]Uint8, | |
| }; | |
| SpinLock :: _c.int; | |
| AssertState :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ASSERTION_RETRY :: 0; | |
| ASSERTION_BREAK :: 1; | |
| ASSERTION_ABORT :: 2; | |
| ASSERTION_IGNORE :: 3; | |
| ASSERTION_ALWAYS_IGNORE :: 4; | |
| /* } */; | |
| AssertData :: struct { | |
| always_ignore : _c.int, | |
| trigger_count : _c.uint, | |
| condition : cstring, | |
| filename : cstring, | |
| linenum : _c.int, | |
| function : cstring, | |
| next : ^AssertData, | |
| }; | |
| atomic_t :: struct { | |
| value : _c.int, | |
| }; | |
| GameControllerBindType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| CONTROLLER_BINDTYPE_NONE :: 0; | |
| CONTROLLER_BINDTYPE_BUTTON :: 1; | |
| CONTROLLER_BINDTYPE_AXIS :: 2; | |
| CONTROLLER_BINDTYPE_HAT :: 3; | |
| /* } */; | |
| BlendFactor :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| BLENDFACTOR_ZERO :: 0x1; | |
| BLENDFACTOR_ONE :: 0x2; | |
| BLENDFACTOR_SRC_COLOR :: 0x3; | |
| BLENDFACTOR_ONE_MINUS_SRC_COLOR :: 0x4; | |
| BLENDFACTOR_SRC_ALPHA :: 0x5; | |
| BLENDFACTOR_ONE_MINUS_SRC_ALPHA :: 0x6; | |
| BLENDFACTOR_DST_COLOR :: 0x7; | |
| BLENDFACTOR_ONE_MINUS_DST_COLOR :: 0x8; | |
| BLENDFACTOR_DST_ALPHA :: 0x9; | |
| BLENDFACTOR_ONE_MINUS_DST_ALPHA :: 0xA; | |
| /* } */; | |
| JoystickID :: Sint32; | |
| JoystickType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| JOYSTICK_TYPE_UNKNOWN :: 0; | |
| JOYSTICK_TYPE_GAMECONTROLLER :: 1; | |
| JOYSTICK_TYPE_WHEEL :: 2; | |
| JOYSTICK_TYPE_ARCADE_STICK :: 3; | |
| JOYSTICK_TYPE_FLIGHT_STICK :: 4; | |
| JOYSTICK_TYPE_DANCE_PAD :: 5; | |
| JOYSTICK_TYPE_GUITAR :: 6; | |
| JOYSTICK_TYPE_DRUM_KIT :: 7; | |
| JOYSTICK_TYPE_ARCADE_PAD :: 8; | |
| JOYSTICK_TYPE_THROTTLE :: 9; | |
| /* } */; | |
| GameControllerButtonBind :: struct { | |
| bindType : GameControllerBindType, | |
| value : struct #raw_union { | |
| button : _c.int, | |
| axis : _c.int, | |
| hat : struct { | |
| hat : _c.int, | |
| hat_mask : _c.int, | |
| }, | |
| }, | |
| }; | |
| errorcode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ENOMEM :: 0; | |
| EFREAD :: 1; | |
| EFWRITE :: 2; | |
| EFSEEK :: 3; | |
| UNSUPPORTED :: 4; | |
| LASTERROR :: 5; | |
| /* } */; | |
| AudioSpec :: struct { | |
| freq : _c.int, | |
| format : AudioFormat, | |
| channels : Uint8, | |
| silence : Uint8, | |
| samples : Uint16, | |
| padding : Uint16, | |
| size : Uint32, | |
| callback : AudioCallback, | |
| userdata : rawptr, | |
| }; | |
| AudioCVT :: struct { | |
| needed : _c.int, | |
| src_format : AudioFormat, | |
| dst_format : AudioFormat, | |
| rate_incr : _c.double, | |
| buf : ^Uint8, | |
| len : _c.int, | |
| len_cvt : _c.int, | |
| len_mult : _c.int, | |
| len_ratio : _c.double, | |
| filters : [9 + 1]AudioFilter, | |
| filter_index : _c.int, | |
| }; | |
| Haptic :: _Haptic; | |
| CommonEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| }; | |
| DisplayEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| display : Uint32, | |
| event : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| data1 : Sint32, | |
| }; | |
| WindowEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| event : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| data1 : Sint32, | |
| data2 : Sint32, | |
| }; | |
| KeyboardEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| state : Uint8, | |
| repeat : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| keysym : Keysym, | |
| }; | |
| JoystickPowerLevel :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| JOYSTICK_POWER_UNKNOWN :: -1; | |
| JOYSTICK_POWER_EMPTY :: 0; | |
| JOYSTICK_POWER_LOW :: 1; | |
| JOYSTICK_POWER_MEDIUM :: 2; | |
| JOYSTICK_POWER_FULL :: 3; | |
| JOYSTICK_POWER_WIRED :: 4; | |
| JOYSTICK_POWER_MAX :: 5; | |
| /* } */; | |
| TextEditingEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| text : [(32)]_c.char, | |
| start : Sint32, | |
| length : Sint32, | |
| }; | |
| TextInputEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| text : [(32)]_c.char, | |
| }; | |
| MouseMotionEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| which : Uint32, | |
| state : Uint32, | |
| x : Sint32, | |
| y : Sint32, | |
| xrel : Sint32, | |
| yrel : Sint32, | |
| }; | |
| bool :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| FALSE :: 0; | |
| TRUE :: 1; | |
| /* } */; | |
| Sint8 :: i8; | |
| Uint8 :: u8; | |
| Sint16 :: i16; | |
| Uint16 :: u16; | |
| Sint32 :: i32; | |
| Uint32 :: u32; | |
| Sint64 :: i64; | |
| Uint64 :: u64; | |
| DUMMY_ENUM :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| DUMMY_ENUM_VALUE :: 0; | |
| /* } */; | |
| AssertionHandler :: (proc(data : ^AssertData, userdata : rawptr) -> AssertState); | |
| semaphore :: struct {}; | |
| AudioCallback :: proc(userdata : rawptr, stream : ^Uint8, len : _c.int); | |
| AudioFilter :: proc(cvt : ^AudioCVT, format : AudioFormat); | |
| AudioDeviceID :: Uint32; | |
| AudioStatus :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| AUDIO_STOPPED :: 0; | |
| AUDIO_PLAYING :: 1; | |
| AUDIO_PAUSED :: 2; | |
| /* } */; | |
| _AudioStream :: struct {}; | |
| AudioStream :: _AudioStream; | |
| Locale :: struct { | |
| language : cstring, | |
| country : cstring, | |
| }; | |
| MessageBoxFlags :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| MESSAGEBOX_ERROR :: 0x10; | |
| MESSAGEBOX_WARNING :: 0x20; | |
| MESSAGEBOX_INFORMATION :: 0x40; | |
| MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT :: 0x80; | |
| MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT :: 0x100; | |
| /* } */; | |
| MetalView :: rawptr; | |
| MouseButtonEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| which : Uint32, | |
| button : Uint8, | |
| state : Uint8, | |
| clicks : Uint8, | |
| padding1 : Uint8, | |
| x : Sint32, | |
| y : Sint32, | |
| }; | |
| MouseWheelEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| which : Uint32, | |
| x : Sint32, | |
| y : Sint32, | |
| direction : Uint32, | |
| }; | |
| JoyAxisEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| axis : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| value : Sint16, | |
| padding4 : Uint16, | |
| }; | |
| JoyBallEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| ball : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| xrel : Sint16, | |
| yrel : Sint16, | |
| }; | |
| JoyHatEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| hat : Uint8, | |
| value : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| }; | |
| JoyButtonEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| button : Uint8, | |
| state : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| }; | |
| JoyDeviceEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : Sint32, | |
| }; | |
| ControllerAxisEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| axis : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| value : Sint16, | |
| padding4 : Uint16, | |
| }; | |
| ControllerButtonEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| button : Uint8, | |
| state : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| }; | |
| ControllerDeviceEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : Sint32, | |
| }; | |
| ControllerTouchpadEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| touchpad : Sint32, | |
| finger : Sint32, | |
| x : _c.float, | |
| y : _c.float, | |
| pressure : _c.float, | |
| }; | |
| ControllerSensorEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : JoystickID, | |
| sensor : Sint32, | |
| data : [3]_c.float, | |
| }; | |
| AudioDeviceEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : Uint32, | |
| iscapture : Uint8, | |
| padding1 : Uint8, | |
| padding2 : Uint8, | |
| padding3 : Uint8, | |
| }; | |
| TouchFingerEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| touchId : TouchID, | |
| fingerId : FingerID, | |
| x : _c.float, | |
| y : _c.float, | |
| dx : _c.float, | |
| dy : _c.float, | |
| pressure : _c.float, | |
| windowID : Uint32, | |
| }; | |
| MultiGestureEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| touchId : TouchID, | |
| dTheta : _c.float, | |
| dDist : _c.float, | |
| x : _c.float, | |
| y : _c.float, | |
| numFingers : Uint16, | |
| padding : Uint16, | |
| }; | |
| DollarGestureEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| touchId : TouchID, | |
| gestureId : GestureID, | |
| numFingers : Uint32, | |
| error : _c.float, | |
| x : _c.float, | |
| y : _c.float, | |
| }; | |
| DropEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| file : cstring, | |
| windowID : Uint32, | |
| }; | |
| SensorEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| which : Sint32, | |
| data : [6]_c.float, | |
| }; | |
| QuitEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| }; | |
| UserEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| windowID : Uint32, | |
| code : Sint32, | |
| data1 : rawptr, | |
| data2 : rawptr, | |
| }; | |
| SysWMmsg :: struct {}; | |
| SysWMEvent :: struct { | |
| type : Uint32, | |
| timestamp : Uint32, | |
| msg : ^SysWMmsg, | |
| }; | |
| Event :: struct #raw_union { | |
| type : Uint32, | |
| common : CommonEvent, | |
| display : DisplayEvent, | |
| window : WindowEvent, | |
| key : KeyboardEvent, | |
| edit : TextEditingEvent, | |
| text : TextInputEvent, | |
| motion : MouseMotionEvent, | |
| button : MouseButtonEvent, | |
| wheel : MouseWheelEvent, | |
| jaxis : JoyAxisEvent, | |
| jball : JoyBallEvent, | |
| jhat : JoyHatEvent, | |
| jbutton : JoyButtonEvent, | |
| jdevice : JoyDeviceEvent, | |
| caxis : ControllerAxisEvent, | |
| cbutton : ControllerButtonEvent, | |
| cdevice : ControllerDeviceEvent, | |
| ctouchpad : ControllerTouchpadEvent, | |
| csensor : ControllerSensorEvent, | |
| adevice : AudioDeviceEvent, | |
| sensor : SensorEvent, | |
| quit : QuitEvent, | |
| user : UserEvent, | |
| syswm : SysWMEvent, | |
| tfinger : TouchFingerEvent, | |
| mgesture : MultiGestureEvent, | |
| dgesture : DollarGestureEvent, | |
| drop : DropEvent, | |
| padding : [56]Uint8, | |
| }; | |
| eventaction :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ADDEVENT :: 0; | |
| PEEKEVENT :: 1; | |
| GETEVENT :: 2; | |
| /* } */; | |
| GameControllerAxis :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| CONTROLLER_AXIS_INVALID :: -1; | |
| CONTROLLER_AXIS_LEFTX :: 0; | |
| CONTROLLER_AXIS_LEFTY :: 1; | |
| CONTROLLER_AXIS_RIGHTX :: 2; | |
| CONTROLLER_AXIS_RIGHTY :: 3; | |
| CONTROLLER_AXIS_TRIGGERLEFT :: 4; | |
| CONTROLLER_AXIS_TRIGGERRIGHT :: 5; | |
| CONTROLLER_AXIS_MAX :: 6; | |
| /* } */; | |
| GameControllerButton :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| CONTROLLER_BUTTON_INVALID :: -1; | |
| CONTROLLER_BUTTON_A :: 0; | |
| CONTROLLER_BUTTON_B :: 1; | |
| CONTROLLER_BUTTON_X :: 2; | |
| CONTROLLER_BUTTON_Y :: 3; | |
| CONTROLLER_BUTTON_BACK :: 4; | |
| CONTROLLER_BUTTON_GUIDE :: 5; | |
| CONTROLLER_BUTTON_START :: 6; | |
| CONTROLLER_BUTTON_LEFTSTICK :: 7; | |
| CONTROLLER_BUTTON_RIGHTSTICK :: 8; | |
| CONTROLLER_BUTTON_LEFTSHOULDER :: 9; | |
| CONTROLLER_BUTTON_RIGHTSHOULDER :: 10; | |
| CONTROLLER_BUTTON_DPAD_UP :: 11; | |
| CONTROLLER_BUTTON_DPAD_DOWN :: 12; | |
| CONTROLLER_BUTTON_DPAD_LEFT :: 13; | |
| CONTROLLER_BUTTON_DPAD_RIGHT :: 14; | |
| CONTROLLER_BUTTON_MISC1 :: 15; | |
| CONTROLLER_BUTTON_PADDLE1 :: 16; | |
| CONTROLLER_BUTTON_PADDLE2 :: 17; | |
| CONTROLLER_BUTTON_PADDLE3 :: 18; | |
| CONTROLLER_BUTTON_PADDLE4 :: 19; | |
| CONTROLLER_BUTTON_TOUCHPAD :: 20; | |
| CONTROLLER_BUTTON_MAX :: 21; | |
| /* } */; | |
| HapticDirection :: struct { | |
| type : Uint8, | |
| dir : [3]Sint32, | |
| }; | |
| HapticConstant :: struct { | |
| type : Uint16, | |
| direction : HapticDirection, | |
| length : Uint32, | |
| delay : Uint16, | |
| button : Uint16, | |
| interval : Uint16, | |
| level : Sint16, | |
| attack_length : Uint16, | |
| attack_level : Uint16, | |
| fade_length : Uint16, | |
| fade_level : Uint16, | |
| }; | |
| HapticPeriodic :: struct { | |
| type : Uint16, | |
| direction : HapticDirection, | |
| length : Uint32, | |
| delay : Uint16, | |
| button : Uint16, | |
| interval : Uint16, | |
| period : Uint16, | |
| magnitude : Sint16, | |
| offset : Sint16, | |
| phase : Uint16, | |
| attack_length : Uint16, | |
| attack_level : Uint16, | |
| fade_length : Uint16, | |
| fade_level : Uint16, | |
| }; | |
| HapticCondition :: struct { | |
| type : Uint16, | |
| direction : HapticDirection, | |
| length : Uint32, | |
| delay : Uint16, | |
| button : Uint16, | |
| interval : Uint16, | |
| right_sat : [3]Uint16, | |
| left_sat : [3]Uint16, | |
| right_coeff : [3]Sint16, | |
| left_coeff : [3]Sint16, | |
| deadband : [3]Uint16, | |
| center : [3]Sint16, | |
| }; | |
| HapticRamp :: struct { | |
| type : Uint16, | |
| direction : HapticDirection, | |
| length : Uint32, | |
| delay : Uint16, | |
| button : Uint16, | |
| interval : Uint16, | |
| start : Sint16, | |
| end : Sint16, | |
| attack_length : Uint16, | |
| attack_level : Uint16, | |
| fade_length : Uint16, | |
| fade_level : Uint16, | |
| }; | |
| HapticLeftRight :: struct { | |
| type : Uint16, | |
| length : Uint32, | |
| large_magnitude : Uint16, | |
| small_magnitude : Uint16, | |
| }; | |
| HapticCustom :: struct { | |
| type : Uint16, | |
| direction : HapticDirection, | |
| length : Uint32, | |
| delay : Uint16, | |
| button : Uint16, | |
| interval : Uint16, | |
| channels : Uint8, | |
| period : Uint16, | |
| samples : Uint16, | |
| data : ^Uint16, | |
| attack_length : Uint16, | |
| attack_level : Uint16, | |
| fade_length : Uint16, | |
| fade_level : Uint16, | |
| }; | |
| HapticEffect :: struct #raw_union { | |
| type : Uint16, | |
| constant : HapticConstant, | |
| periodic : HapticPeriodic, | |
| condition : HapticCondition, | |
| ramp : HapticRamp, | |
| leftright : HapticLeftRight, | |
| custom : HapticCustom, | |
| }; | |
| HintPriority :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| HINT_DEFAULT :: 0; | |
| HINT_NORMAL :: 1; | |
| HINT_OVERRIDE :: 2; | |
| /* } */; | |
| _Sensor :: struct {}; | |
| BlitMap :: struct {}; | |
| EventFilter :: (proc(userdata : rawptr, event : ^Event) -> _c.int); | |
| HintCallback :: proc(userdata : rawptr, name : cstring, oldValue : cstring, newValue : cstring); | |
| Cursor :: struct {}; | |
| PowerState :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| POWERSTATE_UNKNOWN :: 0; | |
| POWERSTATE_ON_BATTERY :: 1; | |
| POWERSTATE_NO_BATTERY :: 2; | |
| POWERSTATE_CHARGING :: 3; | |
| POWERSTATE_CHARGED :: 4; | |
| /* } */; | |
| TouchID :: Sint64; | |
| FingerID :: Sint64; | |
| Keysym :: struct { | |
| scancode : Scancode, | |
| sym : Keycode, | |
| mod : Uint16, | |
| unused : Uint32, | |
| }; | |
| Keycode :: Sint32; | |
| MessageBoxButtonFlags :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT :: 0x1; | |
| MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT :: 0x2; | |
| /* } */; | |
| SystemCursor :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| SYSTEM_CURSOR_ARROW :: 0; | |
| SYSTEM_CURSOR_IBEAM :: 1; | |
| SYSTEM_CURSOR_WAIT :: 2; | |
| SYSTEM_CURSOR_CROSSHAIR :: 3; | |
| SYSTEM_CURSOR_WAITARROW :: 4; | |
| SYSTEM_CURSOR_SIZENWSE :: 5; | |
| SYSTEM_CURSOR_SIZENESW :: 6; | |
| SYSTEM_CURSOR_SIZEWE :: 7; | |
| SYSTEM_CURSOR_SIZENS :: 8; | |
| SYSTEM_CURSOR_SIZEALL :: 9; | |
| SYSTEM_CURSOR_NO :: 10; | |
| SYSTEM_CURSOR_HAND :: 11; | |
| NUM_SYSTEM_CURSORS :: 12; | |
| /* } */; | |
| Point :: struct { | |
| x : _c.int, | |
| y : _c.int, | |
| }; | |
| KeyCode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| K_UNKNOWN :: 0; | |
| K_RETURN :: '\r'; | |
| K_ESCAPE :: '\e'; | |
| K_BACKSPACE :: '\b'; | |
| K_TAB :: '\t'; | |
| K_SPACE :: ' '; | |
| K_EXCLAIM :: '!'; | |
| K_QUOTEDBL :: '"'; | |
| K_HASH :: '#'; | |
| K_PERCENT :: '%'; | |
| K_DOLLAR :: '$'; | |
| K_AMPERSAND :: '&'; | |
| K_QUOTE :: '\''; | |
| K_LEFTPAREN :: '('; | |
| K_RIGHTPAREN :: ')'; | |
| K_ASTERISK :: '*'; | |
| K_PLUS :: '+'; | |
| K_COMMA :: ','; | |
| K_MINUS :: '-'; | |
| K_PERIOD :: '.'; | |
| K_SLASH :: '/'; | |
| K_0 :: '0'; | |
| K_1 :: '1'; | |
| K_2 :: '2'; | |
| K_3 :: '3'; | |
| K_4 :: '4'; | |
| K_5 :: '5'; | |
| K_6 :: '6'; | |
| K_7 :: '7'; | |
| K_8 :: '8'; | |
| K_9 :: '9'; | |
| K_COLON :: ':'; | |
| K_SEMICOLON :: ';'; | |
| K_LESS :: '<'; | |
| K_EQUALS :: '='; | |
| K_GREATER :: '>'; | |
| K_QUESTION :: '?'; | |
| K_AT :: '@'; | |
| K_LEFTBRACKET :: '['; | |
| K_BACKSLASH :: '\\'; | |
| K_RIGHTBRACKET :: ']'; | |
| K_CARET :: '^'; | |
| K_UNDERSCORE :: '_'; | |
| K_BACKQUOTE :: '`'; | |
| K_a :: 'a'; | |
| K_b :: 'b'; | |
| K_c :: 'c'; | |
| K_d :: 'd'; | |
| K_e :: 'e'; | |
| K_f :: 'f'; | |
| K_g :: 'g'; | |
| K_h :: 'h'; | |
| K_i :: 'i'; | |
| K_j :: 'j'; | |
| K_k :: 'k'; | |
| K_l :: 'l'; | |
| K_m :: 'm'; | |
| K_n :: 'n'; | |
| K_o :: 'o'; | |
| K_p :: 'p'; | |
| K_q :: 'q'; | |
| K_r :: 'r'; | |
| K_s :: 's'; | |
| K_t :: 't'; | |
| K_u :: 'u'; | |
| K_v :: 'v'; | |
| K_w :: 'w'; | |
| K_x :: 'x'; | |
| K_y :: 'y'; | |
| K_z :: 'z'; | |
| K_CAPSLOCK :: (SCANCODE_CAPSLOCK | (1 << 30)); | |
| K_F1 :: (SCANCODE_F1 | (1 << 30)); | |
| K_F2 :: (SCANCODE_F2 | (1 << 30)); | |
| K_F3 :: (SCANCODE_F3 | (1 << 30)); | |
| K_F4 :: (SCANCODE_F4 | (1 << 30)); | |
| K_F5 :: (SCANCODE_F5 | (1 << 30)); | |
| K_F6 :: (SCANCODE_F6 | (1 << 30)); | |
| K_F7 :: (SCANCODE_F7 | (1 << 30)); | |
| K_F8 :: (SCANCODE_F8 | (1 << 30)); | |
| K_F9 :: (SCANCODE_F9 | (1 << 30)); | |
| K_F10 :: (SCANCODE_F10 | (1 << 30)); | |
| K_F11 :: (SCANCODE_F11 | (1 << 30)); | |
| K_F12 :: (SCANCODE_F12 | (1 << 30)); | |
| K_PRINTSCREEN :: (SCANCODE_PRINTSCREEN | (1 << 30)); | |
| K_SCROLLLOCK :: (SCANCODE_SCROLLLOCK | (1 << 30)); | |
| K_PAUSE :: (SCANCODE_PAUSE | (1 << 30)); | |
| K_INSERT :: (SCANCODE_INSERT | (1 << 30)); | |
| K_HOME :: (SCANCODE_HOME | (1 << 30)); | |
| K_PAGEUP :: (SCANCODE_PAGEUP | (1 << 30)); | |
| K_DELETE :: ''; | |
| K_END :: (SCANCODE_END | (1 << 30)); | |
| K_PAGEDOWN :: (SCANCODE_PAGEDOWN | (1 << 30)); | |
| K_RIGHT :: (SCANCODE_RIGHT | (1 << 30)); | |
| K_LEFT :: (SCANCODE_LEFT | (1 << 30)); | |
| K_DOWN :: (SCANCODE_DOWN | (1 << 30)); | |
| K_UP :: (SCANCODE_UP | (1 << 30)); | |
| K_NUMLOCKCLEAR :: (SCANCODE_NUMLOCKCLEAR | (1 << 30)); | |
| K_KP_DIVIDE :: (SCANCODE_KP_DIVIDE | (1 << 30)); | |
| K_KP_MULTIPLY :: (SCANCODE_KP_MULTIPLY | (1 << 30)); | |
| K_KP_MINUS :: (SCANCODE_KP_MINUS | (1 << 30)); | |
| K_KP_PLUS :: (SCANCODE_KP_PLUS | (1 << 30)); | |
| K_KP_ENTER :: (SCANCODE_KP_ENTER | (1 << 30)); | |
| K_KP_1 :: (SCANCODE_KP_1 | (1 << 30)); | |
| K_KP_2 :: (SCANCODE_KP_2 | (1 << 30)); | |
| K_KP_3 :: (SCANCODE_KP_3 | (1 << 30)); | |
| K_KP_4 :: (SCANCODE_KP_4 | (1 << 30)); | |
| K_KP_5 :: (SCANCODE_KP_5 | (1 << 30)); | |
| K_KP_6 :: (SCANCODE_KP_6 | (1 << 30)); | |
| K_KP_7 :: (SCANCODE_KP_7 | (1 << 30)); | |
| K_KP_8 :: (SCANCODE_KP_8 | (1 << 30)); | |
| K_KP_9 :: (SCANCODE_KP_9 | (1 << 30)); | |
| K_KP_0 :: (SCANCODE_KP_0 | (1 << 30)); | |
| K_KP_PERIOD :: (SCANCODE_KP_PERIOD | (1 << 30)); | |
| K_APPLICATION :: (SCANCODE_APPLICATION | (1 << 30)); | |
| K_POWER :: (SCANCODE_POWER | (1 << 30)); | |
| K_KP_EQUALS :: (SCANCODE_KP_EQUALS | (1 << 30)); | |
| K_F13 :: (SCANCODE_F13 | (1 << 30)); | |
| K_F14 :: (SCANCODE_F14 | (1 << 30)); | |
| K_F15 :: (SCANCODE_F15 | (1 << 30)); | |
| K_F16 :: (SCANCODE_F16 | (1 << 30)); | |
| K_F17 :: (SCANCODE_F17 | (1 << 30)); | |
| K_F18 :: (SCANCODE_F18 | (1 << 30)); | |
| K_F19 :: (SCANCODE_F19 | (1 << 30)); | |
| K_F20 :: (SCANCODE_F20 | (1 << 30)); | |
| K_F21 :: (SCANCODE_F21 | (1 << 30)); | |
| K_F22 :: (SCANCODE_F22 | (1 << 30)); | |
| K_F23 :: (SCANCODE_F23 | (1 << 30)); | |
| K_F24 :: (SCANCODE_F24 | (1 << 30)); | |
| K_EXECUTE :: (SCANCODE_EXECUTE | (1 << 30)); | |
| K_HELP :: (SCANCODE_HELP | (1 << 30)); | |
| K_MENU :: (SCANCODE_MENU | (1 << 30)); | |
| K_SELECT :: (SCANCODE_SELECT | (1 << 30)); | |
| K_STOP :: (SCANCODE_STOP | (1 << 30)); | |
| K_AGAIN :: (SCANCODE_AGAIN | (1 << 30)); | |
| K_UNDO :: (SCANCODE_UNDO | (1 << 30)); | |
| K_CUT :: (SCANCODE_CUT | (1 << 30)); | |
| K_COPY :: (SCANCODE_COPY | (1 << 30)); | |
| K_PASTE :: (SCANCODE_PASTE | (1 << 30)); | |
| K_FIND :: (SCANCODE_FIND | (1 << 30)); | |
| K_MUTE :: (SCANCODE_MUTE | (1 << 30)); | |
| K_VOLUMEUP :: (SCANCODE_VOLUMEUP | (1 << 30)); | |
| K_VOLUMEDOWN :: (SCANCODE_VOLUMEDOWN | (1 << 30)); | |
| K_KP_COMMA :: (SCANCODE_KP_COMMA | (1 << 30)); | |
| K_KP_EQUALSAS400 :: (SCANCODE_KP_EQUALSAS400 | (1 << 30)); | |
| K_ALTERASE :: (SCANCODE_ALTERASE | (1 << 30)); | |
| K_SYSREQ :: (SCANCODE_SYSREQ | (1 << 30)); | |
| K_CANCEL :: (SCANCODE_CANCEL | (1 << 30)); | |
| K_CLEAR :: (SCANCODE_CLEAR | (1 << 30)); | |
| K_PRIOR :: (SCANCODE_PRIOR | (1 << 30)); | |
| K_RETURN2 :: (SCANCODE_RETURN2 | (1 << 30)); | |
| K_SEPARATOR :: (SCANCODE_SEPARATOR | (1 << 30)); | |
| K_OUT :: (SCANCODE_OUT | (1 << 30)); | |
| K_OPER :: (SCANCODE_OPER | (1 << 30)); | |
| K_CLEARAGAIN :: (SCANCODE_CLEARAGAIN | (1 << 30)); | |
| K_CRSEL :: (SCANCODE_CRSEL | (1 << 30)); | |
| K_EXSEL :: (SCANCODE_EXSEL | (1 << 30)); | |
| K_KP_00 :: (SCANCODE_KP_00 | (1 << 30)); | |
| K_KP_000 :: (SCANCODE_KP_000 | (1 << 30)); | |
| K_THOUSANDSSEPARATOR :: (SCANCODE_THOUSANDSSEPARATOR | (1 << 30)); | |
| K_DECIMALSEPARATOR :: (SCANCODE_DECIMALSEPARATOR | (1 << 30)); | |
| K_CURRENCYUNIT :: (SCANCODE_CURRENCYUNIT | (1 << 30)); | |
| K_CURRENCYSUBUNIT :: (SCANCODE_CURRENCYSUBUNIT | (1 << 30)); | |
| K_KP_LEFTPAREN :: (SCANCODE_KP_LEFTPAREN | (1 << 30)); | |
| K_KP_RIGHTPAREN :: (SCANCODE_KP_RIGHTPAREN | (1 << 30)); | |
| K_KP_LEFTBRACE :: (SCANCODE_KP_LEFTBRACE | (1 << 30)); | |
| K_KP_RIGHTBRACE :: (SCANCODE_KP_RIGHTBRACE | (1 << 30)); | |
| K_KP_TAB :: (SCANCODE_KP_TAB | (1 << 30)); | |
| K_KP_BACKSPACE :: (SCANCODE_KP_BACKSPACE | (1 << 30)); | |
| K_KP_A :: (SCANCODE_KP_A | (1 << 30)); | |
| K_KP_B :: (SCANCODE_KP_B | (1 << 30)); | |
| K_KP_C :: (SCANCODE_KP_C | (1 << 30)); | |
| K_KP_D :: (SCANCODE_KP_D | (1 << 30)); | |
| K_KP_E :: (SCANCODE_KP_E | (1 << 30)); | |
| K_KP_F :: (SCANCODE_KP_F | (1 << 30)); | |
| K_KP_XOR :: (SCANCODE_KP_XOR | (1 << 30)); | |
| K_KP_POWER :: (SCANCODE_KP_POWER | (1 << 30)); | |
| K_KP_PERCENT :: (SCANCODE_KP_PERCENT | (1 << 30)); | |
| K_KP_LESS :: (SCANCODE_KP_LESS | (1 << 30)); | |
| K_KP_GREATER :: (SCANCODE_KP_GREATER | (1 << 30)); | |
| K_KP_AMPERSAND :: (SCANCODE_KP_AMPERSAND | (1 << 30)); | |
| K_KP_DBLAMPERSAND :: (SCANCODE_KP_DBLAMPERSAND | (1 << 30)); | |
| K_KP_VERTICALBAR :: (SCANCODE_KP_VERTICALBAR | (1 << 30)); | |
| K_KP_DBLVERTICALBAR :: (SCANCODE_KP_DBLVERTICALBAR | (1 << 30)); | |
| K_KP_COLON :: (SCANCODE_KP_COLON | (1 << 30)); | |
| K_KP_HASH :: (SCANCODE_KP_HASH | (1 << 30)); | |
| K_KP_SPACE :: (SCANCODE_KP_SPACE | (1 << 30)); | |
| K_KP_AT :: (SCANCODE_KP_AT | (1 << 30)); | |
| K_KP_EXCLAM :: (SCANCODE_KP_EXCLAM | (1 << 30)); | |
| K_KP_MEMSTORE :: (SCANCODE_KP_MEMSTORE | (1 << 30)); | |
| K_KP_MEMRECALL :: (SCANCODE_KP_MEMRECALL | (1 << 30)); | |
| K_KP_MEMCLEAR :: (SCANCODE_KP_MEMCLEAR | (1 << 30)); | |
| K_KP_MEMADD :: (SCANCODE_KP_MEMADD | (1 << 30)); | |
| K_KP_MEMSUBTRACT :: (SCANCODE_KP_MEMSUBTRACT | (1 << 30)); | |
| K_KP_MEMMULTIPLY :: (SCANCODE_KP_MEMMULTIPLY | (1 << 30)); | |
| K_KP_MEMDIVIDE :: (SCANCODE_KP_MEMDIVIDE | (1 << 30)); | |
| K_KP_PLUSMINUS :: (SCANCODE_KP_PLUSMINUS | (1 << 30)); | |
| K_KP_CLEAR :: (SCANCODE_KP_CLEAR | (1 << 30)); | |
| K_KP_CLEARENTRY :: (SCANCODE_KP_CLEARENTRY | (1 << 30)); | |
| K_KP_BINARY :: (SCANCODE_KP_BINARY | (1 << 30)); | |
| K_KP_OCTAL :: (SCANCODE_KP_OCTAL | (1 << 30)); | |
| K_KP_DECIMAL :: (SCANCODE_KP_DECIMAL | (1 << 30)); | |
| K_KP_HEXADECIMAL :: (SCANCODE_KP_HEXADECIMAL | (1 << 30)); | |
| K_LCTRL :: (SCANCODE_LCTRL | (1 << 30)); | |
| K_LSHIFT :: (SCANCODE_LSHIFT | (1 << 30)); | |
| K_LALT :: (SCANCODE_LALT | (1 << 30)); | |
| K_LGUI :: (SCANCODE_LGUI | (1 << 30)); | |
| K_RCTRL :: (SCANCODE_RCTRL | (1 << 30)); | |
| K_RSHIFT :: (SCANCODE_RSHIFT | (1 << 30)); | |
| K_RALT :: (SCANCODE_RALT | (1 << 30)); | |
| K_RGUI :: (SCANCODE_RGUI | (1 << 30)); | |
| K_MODE :: (SCANCODE_MODE | (1 << 30)); | |
| K_AUDIONEXT :: (SCANCODE_AUDIONEXT | (1 << 30)); | |
| K_AUDIOPREV :: (SCANCODE_AUDIOPREV | (1 << 30)); | |
| K_AUDIOSTOP :: (SCANCODE_AUDIOSTOP | (1 << 30)); | |
| K_AUDIOPLAY :: (SCANCODE_AUDIOPLAY | (1 << 30)); | |
| K_AUDIOMUTE :: (SCANCODE_AUDIOMUTE | (1 << 30)); | |
| K_MEDIASELECT :: (SCANCODE_MEDIASELECT | (1 << 30)); | |
| K_WWW :: (SCANCODE_WWW | (1 << 30)); | |
| K_MAIL :: (SCANCODE_MAIL | (1 << 30)); | |
| K_CALCULATOR :: (SCANCODE_CALCULATOR | (1 << 30)); | |
| K_COMPUTER :: (SCANCODE_COMPUTER | (1 << 30)); | |
| K_AC_SEARCH :: (SCANCODE_AC_SEARCH | (1 << 30)); | |
| K_AC_HOME :: (SCANCODE_AC_HOME | (1 << 30)); | |
| K_AC_BACK :: (SCANCODE_AC_BACK | (1 << 30)); | |
| K_AC_FORWARD :: (SCANCODE_AC_FORWARD | (1 << 30)); | |
| K_AC_STOP :: (SCANCODE_AC_STOP | (1 << 30)); | |
| K_AC_REFRESH :: (SCANCODE_AC_REFRESH | (1 << 30)); | |
| K_AC_BOOKMARKS :: (SCANCODE_AC_BOOKMARKS | (1 << 30)); | |
| K_BRIGHTNESSDOWN :: (SCANCODE_BRIGHTNESSDOWN | (1 << 30)); | |
| K_BRIGHTNESSUP :: (SCANCODE_BRIGHTNESSUP | (1 << 30)); | |
| K_DISPLAYSWITCH :: (SCANCODE_DISPLAYSWITCH | (1 << 30)); | |
| K_KBDILLUMTOGGLE :: (SCANCODE_KBDILLUMTOGGLE | (1 << 30)); | |
| K_KBDILLUMDOWN :: (SCANCODE_KBDILLUMDOWN | (1 << 30)); | |
| K_KBDILLUMUP :: (SCANCODE_KBDILLUMUP | (1 << 30)); | |
| K_EJECT :: (SCANCODE_EJECT | (1 << 30)); | |
| K_SLEEP :: (SCANCODE_SLEEP | (1 << 30)); | |
| K_APP1 :: (SCANCODE_APP1 | (1 << 30)); | |
| K_APP2 :: (SCANCODE_APP2 | (1 << 30)); | |
| K_AUDIOREWIND :: (SCANCODE_AUDIOREWIND | (1 << 30)); | |
| K_AUDIOFASTFORWARD :: (SCANCODE_AUDIOFASTFORWARD | (1 << 30)); | |
| /* } */; | |
| MessageBoxButtonData :: struct { | |
| flags : Uint32, | |
| buttonid : _c.int, | |
| text : cstring, | |
| }; | |
| mutex :: struct {}; | |
| LogCategory :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| LOG_CATEGORY_APPLICATION :: 0; | |
| LOG_CATEGORY_ERROR :: 1; | |
| LOG_CATEGORY_ASSERT :: 2; | |
| LOG_CATEGORY_SYSTEM :: 3; | |
| LOG_CATEGORY_AUDIO :: 4; | |
| LOG_CATEGORY_VIDEO :: 5; | |
| LOG_CATEGORY_RENDER :: 6; | |
| LOG_CATEGORY_INPUT :: 7; | |
| LOG_CATEGORY_TEST :: 8; | |
| LOG_CATEGORY_RESERVED1 :: 9; | |
| LOG_CATEGORY_RESERVED2 :: 10; | |
| LOG_CATEGORY_RESERVED3 :: 11; | |
| LOG_CATEGORY_RESERVED4 :: 12; | |
| LOG_CATEGORY_RESERVED5 :: 13; | |
| LOG_CATEGORY_RESERVED6 :: 14; | |
| LOG_CATEGORY_RESERVED7 :: 15; | |
| LOG_CATEGORY_RESERVED8 :: 16; | |
| LOG_CATEGORY_RESERVED9 :: 17; | |
| LOG_CATEGORY_RESERVED10 :: 18; | |
| LOG_CATEGORY_CUSTOM :: 19; | |
| /* } */; | |
| MessageBoxColor :: struct { | |
| r : Uint8, | |
| g : Uint8, | |
| b : Uint8, | |
| }; | |
| MessageBoxColorType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| MESSAGEBOX_COLOR_BACKGROUND :: 0; | |
| MESSAGEBOX_COLOR_TEXT :: 1; | |
| MESSAGEBOX_COLOR_BUTTON_BORDER :: 2; | |
| MESSAGEBOX_COLOR_BUTTON_BACKGROUND :: 3; | |
| MESSAGEBOX_COLOR_BUTTON_SELECTED :: 4; | |
| MESSAGEBOX_COLOR_MAX :: 5; | |
| /* } */; | |
| MessageBoxColorScheme :: struct { | |
| colors : [MESSAGEBOX_COLOR_MAX]MessageBoxColor, | |
| }; | |
| MessageBoxData :: struct { | |
| flags : Uint32, | |
| window : ^Window, | |
| title : cstring, | |
| message : cstring, | |
| numbuttons : _c.int, | |
| buttons : ^MessageBoxButtonData, | |
| colorScheme : ^MessageBoxColorScheme, | |
| }; | |
| LogPriority :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| LOG_PRIORITY_VERBOSE :: 1; | |
| LOG_PRIORITY_DEBUG :: 2; | |
| LOG_PRIORITY_INFO :: 3; | |
| LOG_PRIORITY_WARN :: 4; | |
| LOG_PRIORITY_ERROR :: 5; | |
| LOG_PRIORITY_CRITICAL :: 6; | |
| NUM_LOG_PRIORITIES :: 7; | |
| /* } */; | |
| LogOutputFunction :: proc(userdata : rawptr, category : _c.int, priority : LogPriority, message : cstring); | |
| PixelType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| PIXELTYPE_UNKNOWN :: 0; | |
| PIXELTYPE_INDEX1 :: 1; | |
| PIXELTYPE_INDEX4 :: 2; | |
| PIXELTYPE_INDEX8 :: 3; | |
| PIXELTYPE_PACKED8 :: 4; | |
| PIXELTYPE_PACKED16 :: 5; | |
| PIXELTYPE_PACKED32 :: 6; | |
| PIXELTYPE_ARRAYU8 :: 7; | |
| PIXELTYPE_ARRAYU16 :: 8; | |
| PIXELTYPE_ARRAYU32 :: 9; | |
| PIXELTYPE_ARRAYF16 :: 10; | |
| PIXELTYPE_ARRAYF32 :: 11; | |
| /* } */; | |
| RWops :: struct { | |
| size : (proc(context_ : ^RWops) -> Sint64), | |
| seek : (proc(context_ : ^RWops, offset : Sint64, whence : _c.int) -> Sint64), | |
| read : (proc(context_ : ^RWops, ptr : rawptr, size : uint, maxnum : uint) -> uint), | |
| write : (proc(context_ : ^RWops, ptr : rawptr, size : uint, num : uint) -> uint), | |
| close : (proc(context_ : ^RWops) -> _c.int), | |
| type : Uint32, | |
| hidden : struct #raw_union { | |
| stdio : struct { | |
| autoclose : bool, | |
| fp : ^FILE, | |
| }, | |
| mem : struct { | |
| base : ^Uint8, | |
| here : ^Uint8, | |
| stop : ^Uint8, | |
| }, | |
| unknown : struct { | |
| data1 : rawptr, | |
| data2 : rawptr, | |
| }, | |
| }, | |
| }; | |
| FPoint :: struct { | |
| x : _c.float, | |
| y : _c.float, | |
| }; | |
| RendererFlags :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| RENDERER_SOFTWARE :: 0x1; | |
| RENDERER_ACCELERATED :: 0x2; | |
| RENDERER_PRESENTVSYNC :: 0x4; | |
| RENDERER_TARGETTEXTURE :: 0x8; | |
| /* } */; | |
| MouseWheelDirection :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| MOUSEWHEEL_NORMAL :: 0; | |
| MOUSEWHEEL_FLIPPED :: 1; | |
| /* } */; | |
| sem :: semaphore; | |
| cond :: struct {}; | |
| BitmapOrder :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| BITMAPORDER_NONE :: 0; | |
| BITMAPORDER_4321 :: 1; | |
| BITMAPORDER_1234 :: 2; | |
| /* } */; | |
| PackedOrder :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| PACKEDORDER_NONE :: 0; | |
| PACKEDORDER_XRGB :: 1; | |
| PACKEDORDER_RGBX :: 2; | |
| PACKEDORDER_ARGB :: 3; | |
| PACKEDORDER_RGBA :: 4; | |
| PACKEDORDER_XBGR :: 5; | |
| PACKEDORDER_BGRX :: 6; | |
| PACKEDORDER_ABGR :: 7; | |
| PACKEDORDER_BGRA :: 8; | |
| /* } */; | |
| ArrayOrder :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ARRAYORDER_NONE :: 0; | |
| ARRAYORDER_RGB :: 1; | |
| ARRAYORDER_RGBA :: 2; | |
| ARRAYORDER_ARGB :: 3; | |
| ARRAYORDER_BGR :: 4; | |
| ARRAYORDER_BGRA :: 5; | |
| ARRAYORDER_ABGR :: 6; | |
| /* } */; | |
| PackedLayout :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| PACKEDLAYOUT_NONE :: 0; | |
| PACKEDLAYOUT_332 :: 1; | |
| PACKEDLAYOUT_4444 :: 2; | |
| PACKEDLAYOUT_1555 :: 3; | |
| PACKEDLAYOUT_5551 :: 4; | |
| PACKEDLAYOUT_565 :: 5; | |
| PACKEDLAYOUT_8888 :: 6; | |
| PACKEDLAYOUT_2101010 :: 7; | |
| PACKEDLAYOUT_1010102 :: 8; | |
| /* } */; | |
| PixelFormatEnum :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| PIXELFORMAT_UNKNOWN :: 0; | |
| PIXELFORMAT_INDEX1LSB :: ((1 << 28) | ((PIXELTYPE_INDEX1) << 24) | ((BITMAPORDER_4321) << 20) | ((0) << 16) | ((1) << 8) | ((0) << 0)); | |
| PIXELFORMAT_INDEX1MSB :: ((1 << 28) | ((PIXELTYPE_INDEX1) << 24) | ((BITMAPORDER_1234) << 20) | ((0) << 16) | ((1) << 8) | ((0) << 0)); | |
| PIXELFORMAT_INDEX4LSB :: ((1 << 28) | ((PIXELTYPE_INDEX4) << 24) | ((BITMAPORDER_4321) << 20) | ((0) << 16) | ((4) << 8) | ((0) << 0)); | |
| PIXELFORMAT_INDEX4MSB :: ((1 << 28) | ((PIXELTYPE_INDEX4) << 24) | ((BITMAPORDER_1234) << 20) | ((0) << 16) | ((4) << 8) | ((0) << 0)); | |
| PIXELFORMAT_INDEX8 :: ((1 << 28) | ((PIXELTYPE_INDEX8) << 24) | ((0) << 20) | ((0) << 16) | ((8) << 8) | ((1) << 0)); | |
| PIXELFORMAT_RGB332 :: ((1 << 28) | ((PIXELTYPE_PACKED8) << 24) | ((PACKEDORDER_XRGB) << 20) | ((PACKEDLAYOUT_332) << 16) | ((8) << 8) | ((1) << 0)); | |
| PIXELFORMAT_XRGB4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XRGB) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((12) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGB444 :: PIXELFORMAT_XRGB4444; | |
| PIXELFORMAT_XBGR4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XBGR) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((12) << 8) | ((2) << 0)); | |
| PIXELFORMAT_BGR444 :: PIXELFORMAT_XBGR4444; | |
| PIXELFORMAT_XRGB1555 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XRGB) << 20) | ((PACKEDLAYOUT_1555) << 16) | ((15) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGB555 :: PIXELFORMAT_XRGB1555; | |
| PIXELFORMAT_XBGR1555 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XBGR) << 20) | ((PACKEDLAYOUT_1555) << 16) | ((15) << 8) | ((2) << 0)); | |
| PIXELFORMAT_BGR555 :: PIXELFORMAT_XBGR1555; | |
| PIXELFORMAT_ARGB4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_ARGB) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGBA4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_RGBA) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_ABGR4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_ABGR) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_BGRA4444 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_BGRA) << 20) | ((PACKEDLAYOUT_4444) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_ARGB1555 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_ARGB) << 20) | ((PACKEDLAYOUT_1555) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGBA5551 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_RGBA) << 20) | ((PACKEDLAYOUT_5551) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_ABGR1555 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_ABGR) << 20) | ((PACKEDLAYOUT_1555) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_BGRA5551 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_BGRA) << 20) | ((PACKEDLAYOUT_5551) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGB565 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XRGB) << 20) | ((PACKEDLAYOUT_565) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_BGR565 :: ((1 << 28) | ((PIXELTYPE_PACKED16) << 24) | ((PACKEDORDER_XBGR) << 20) | ((PACKEDLAYOUT_565) << 16) | ((16) << 8) | ((2) << 0)); | |
| PIXELFORMAT_RGB24 :: ((1 << 28) | ((PIXELTYPE_ARRAYU8) << 24) | ((ARRAYORDER_RGB) << 20) | ((0) << 16) | ((24) << 8) | ((3) << 0)); | |
| PIXELFORMAT_BGR24 :: ((1 << 28) | ((PIXELTYPE_ARRAYU8) << 24) | ((ARRAYORDER_BGR) << 20) | ((0) << 16) | ((24) << 8) | ((3) << 0)); | |
| PIXELFORMAT_XRGB8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_XRGB) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((24) << 8) | ((4) << 0)); | |
| PIXELFORMAT_RGB888 :: PIXELFORMAT_XRGB8888; | |
| PIXELFORMAT_RGBX8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_RGBX) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((24) << 8) | ((4) << 0)); | |
| PIXELFORMAT_XBGR8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_XBGR) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((24) << 8) | ((4) << 0)); | |
| PIXELFORMAT_BGR888 :: PIXELFORMAT_XBGR8888; | |
| PIXELFORMAT_BGRX8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_BGRX) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((24) << 8) | ((4) << 0)); | |
| PIXELFORMAT_ARGB8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_ARGB) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((32) << 8) | ((4) << 0)); | |
| PIXELFORMAT_RGBA8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_RGBA) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((32) << 8) | ((4) << 0)); | |
| PIXELFORMAT_ABGR8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_ABGR) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((32) << 8) | ((4) << 0)); | |
| PIXELFORMAT_BGRA8888 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_BGRA) << 20) | ((PACKEDLAYOUT_8888) << 16) | ((32) << 8) | ((4) << 0)); | |
| PIXELFORMAT_ARGB2101010 :: ((1 << 28) | ((PIXELTYPE_PACKED32) << 24) | ((PACKEDORDER_ARGB) << 20) | ((PACKEDLAYOUT_2101010) << 16) | ((32) << 8) | ((4) << 0)); | |
| PIXELFORMAT_RGBA32 :: PIXELFORMAT_ABGR8888; | |
| PIXELFORMAT_ARGB32 :: PIXELFORMAT_BGRA8888; | |
| PIXELFORMAT_BGRA32 :: PIXELFORMAT_ARGB8888; | |
| PIXELFORMAT_ABGR32 :: PIXELFORMAT_RGBA8888; | |
| PIXELFORMAT_YV12 :: ((((Uint32)(((Uint8)(('Y'))))) << 0) | (((Uint32)(((Uint8)(('V'))))) << 8) | (((Uint32)(((Uint8)(('1'))))) << 16) | (((Uint32)(((Uint8)(('2'))))) << 24)); | |
| PIXELFORMAT_IYUV :: ((((Uint32)(((Uint8)(('I'))))) << 0) | (((Uint32)(((Uint8)(('Y'))))) << 8) | (((Uint32)(((Uint8)(('U'))))) << 16) | (((Uint32)(((Uint8)(('V'))))) << 24)); | |
| PIXELFORMAT_YUY2 :: ((((Uint32)(((Uint8)(('Y'))))) << 0) | (((Uint32)(((Uint8)(('U'))))) << 8) | (((Uint32)(((Uint8)(('Y'))))) << 16) | (((Uint32)(((Uint8)(('2'))))) << 24)); | |
| PIXELFORMAT_UYVY :: ((((Uint32)(((Uint8)(('U'))))) << 0) | (((Uint32)(((Uint8)(('Y'))))) << 8) | (((Uint32)(((Uint8)(('V'))))) << 16) | (((Uint32)(((Uint8)(('Y'))))) << 24)); | |
| PIXELFORMAT_YVYU :: ((((Uint32)(((Uint8)(('Y'))))) << 0) | (((Uint32)(((Uint8)(('V'))))) << 8) | (((Uint32)(((Uint8)(('Y'))))) << 16) | (((Uint32)(((Uint8)(('U'))))) << 24)); | |
| PIXELFORMAT_NV12 :: ((((Uint32)(((Uint8)(('N'))))) << 0) | (((Uint32)(((Uint8)(('V'))))) << 8) | (((Uint32)(((Uint8)(('1'))))) << 16) | (((Uint32)(((Uint8)(('2'))))) << 24)); | |
| PIXELFORMAT_NV21 :: ((((Uint32)(((Uint8)(('N'))))) << 0) | (((Uint32)(((Uint8)(('V'))))) << 8) | (((Uint32)(((Uint8)(('2'))))) << 16) | (((Uint32)(((Uint8)(('1'))))) << 24)); | |
| PIXELFORMAT_EXTERNAL_OES :: ((((Uint32)(((Uint8)(('O'))))) << 0) | (((Uint32)(((Uint8)(('E'))))) << 8) | (((Uint32)(((Uint8)(('S'))))) << 16) | (((Uint32)(((Uint8)((' '))))) << 24)); | |
| /* } */; | |
| Color :: struct { | |
| r : Uint8, | |
| g : Uint8, | |
| b : Uint8, | |
| a : Uint8, | |
| }; | |
| Palette :: struct { | |
| ncolors : _c.int, | |
| colors : ^Color, | |
| version : Uint32, | |
| refcount : _c.int, | |
| }; | |
| PixelFormat :: struct { | |
| format : Uint32, | |
| palette : ^Palette, | |
| BitsPerPixel : Uint8, | |
| BytesPerPixel : Uint8, | |
| padding : [2]Uint8, | |
| Rmask : Uint32, | |
| Gmask : Uint32, | |
| Bmask : Uint32, | |
| Amask : Uint32, | |
| Rloss : Uint8, | |
| Gloss : Uint8, | |
| Bloss : Uint8, | |
| Aloss : Uint8, | |
| Rshift : Uint8, | |
| Gshift : Uint8, | |
| Bshift : Uint8, | |
| Ashift : Uint8, | |
| refcount : _c.int, | |
| next : ^PixelFormat, | |
| }; | |
| Rect :: struct { | |
| x : _c.int, | |
| y : _c.int, | |
| w : _c.int, | |
| h : _c.int, | |
| }; | |
| RendererInfo :: struct { | |
| name : cstring, | |
| flags : Uint32, | |
| num_texture_formats : Uint32, | |
| texture_formats : [16]Uint32, | |
| max_texture_width : _c.int, | |
| max_texture_height : _c.int, | |
| }; | |
| FRect :: struct { | |
| x : _c.float, | |
| y : _c.float, | |
| w : _c.float, | |
| h : _c.float, | |
| }; | |
| ScaleMode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ScaleModeNearest :: 0; | |
| ScaleModeLinear :: 1; | |
| ScaleModeBest :: 2; | |
| /* } */; | |
| TextureAccess :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| TEXTUREACCESS_STATIC :: 0; | |
| TEXTUREACCESS_STREAMING :: 1; | |
| TEXTUREACCESS_TARGET :: 2; | |
| /* } */; | |
| TextureModulate :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| TEXTUREMODULATE_NONE :: 0x0; | |
| TEXTUREMODULATE_COLOR :: 0x1; | |
| TEXTUREMODULATE_ALPHA :: 0x2; | |
| /* } */; | |
| RendererFlip :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| FLIP_NONE :: 0x0; | |
| FLIP_HORIZONTAL :: 0x1; | |
| FLIP_VERTICAL :: 0x2; | |
| /* } */; | |
| Renderer :: struct {}; | |
| Texture :: struct {}; | |
| Keymod :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| KMOD_NONE :: 0x0; | |
| KMOD_LSHIFT :: 0x1; | |
| KMOD_RSHIFT :: 0x2; | |
| KMOD_LCTRL :: 0x40; | |
| KMOD_RCTRL :: 0x80; | |
| KMOD_LALT :: 0x100; | |
| KMOD_RALT :: 0x200; | |
| KMOD_LGUI :: 0x400; | |
| KMOD_RGUI :: 0x800; | |
| KMOD_NUM :: 0x1000; | |
| KMOD_CAPS :: 0x2000; | |
| KMOD_MODE :: 0x4000; | |
| KMOD_RESERVED :: 0x8000; | |
| KMOD_CTRL :: KMOD_LCTRL | KMOD_RCTRL; | |
| KMOD_SHIFT :: KMOD_LSHIFT | KMOD_RSHIFT; | |
| KMOD_ALT :: KMOD_LALT | KMOD_RALT; | |
| KMOD_GUI :: KMOD_LGUI | KMOD_RGUI; | |
| /* } */; | |
| Scancode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| SCANCODE_UNKNOWN :: 0; | |
| SCANCODE_A :: 4; | |
| SCANCODE_B :: 5; | |
| SCANCODE_C :: 6; | |
| SCANCODE_D :: 7; | |
| SCANCODE_E :: 8; | |
| SCANCODE_F :: 9; | |
| SCANCODE_G :: 10; | |
| SCANCODE_H :: 11; | |
| SCANCODE_I :: 12; | |
| SCANCODE_J :: 13; | |
| SCANCODE_K :: 14; | |
| SCANCODE_L :: 15; | |
| SCANCODE_M :: 16; | |
| SCANCODE_N :: 17; | |
| SCANCODE_O :: 18; | |
| SCANCODE_P :: 19; | |
| SCANCODE_Q :: 20; | |
| SCANCODE_R :: 21; | |
| SCANCODE_S :: 22; | |
| SCANCODE_T :: 23; | |
| SCANCODE_U :: 24; | |
| SCANCODE_V :: 25; | |
| SCANCODE_W :: 26; | |
| SCANCODE_X :: 27; | |
| SCANCODE_Y :: 28; | |
| SCANCODE_Z :: 29; | |
| SCANCODE_1 :: 30; | |
| SCANCODE_2 :: 31; | |
| SCANCODE_3 :: 32; | |
| SCANCODE_4 :: 33; | |
| SCANCODE_5 :: 34; | |
| SCANCODE_6 :: 35; | |
| SCANCODE_7 :: 36; | |
| SCANCODE_8 :: 37; | |
| SCANCODE_9 :: 38; | |
| SCANCODE_0 :: 39; | |
| SCANCODE_RETURN :: 40; | |
| SCANCODE_ESCAPE :: 41; | |
| SCANCODE_BACKSPACE :: 42; | |
| SCANCODE_TAB :: 43; | |
| SCANCODE_SPACE :: 44; | |
| SCANCODE_MINUS :: 45; | |
| SCANCODE_EQUALS :: 46; | |
| SCANCODE_LEFTBRACKET :: 47; | |
| SCANCODE_RIGHTBRACKET :: 48; | |
| SCANCODE_BACKSLASH :: 49; | |
| SCANCODE_NONUSHASH :: 50; | |
| SCANCODE_SEMICOLON :: 51; | |
| SCANCODE_APOSTROPHE :: 52; | |
| SCANCODE_GRAVE :: 53; | |
| SCANCODE_COMMA :: 54; | |
| SCANCODE_PERIOD :: 55; | |
| SCANCODE_SLASH :: 56; | |
| SCANCODE_CAPSLOCK :: 57; | |
| SCANCODE_F1 :: 58; | |
| SCANCODE_F2 :: 59; | |
| SCANCODE_F3 :: 60; | |
| SCANCODE_F4 :: 61; | |
| SCANCODE_F5 :: 62; | |
| SCANCODE_F6 :: 63; | |
| SCANCODE_F7 :: 64; | |
| SCANCODE_F8 :: 65; | |
| SCANCODE_F9 :: 66; | |
| SCANCODE_F10 :: 67; | |
| SCANCODE_F11 :: 68; | |
| SCANCODE_F12 :: 69; | |
| SCANCODE_PRINTSCREEN :: 70; | |
| SCANCODE_SCROLLLOCK :: 71; | |
| SCANCODE_PAUSE :: 72; | |
| SCANCODE_INSERT :: 73; | |
| SCANCODE_HOME :: 74; | |
| SCANCODE_PAGEUP :: 75; | |
| SCANCODE_DELETE :: 76; | |
| SCANCODE_END :: 77; | |
| SCANCODE_PAGEDOWN :: 78; | |
| SCANCODE_RIGHT :: 79; | |
| SCANCODE_LEFT :: 80; | |
| SCANCODE_DOWN :: 81; | |
| SCANCODE_UP :: 82; | |
| SCANCODE_NUMLOCKCLEAR :: 83; | |
| SCANCODE_KP_DIVIDE :: 84; | |
| SCANCODE_KP_MULTIPLY :: 85; | |
| SCANCODE_KP_MINUS :: 86; | |
| SCANCODE_KP_PLUS :: 87; | |
| SCANCODE_KP_ENTER :: 88; | |
| SCANCODE_KP_1 :: 89; | |
| SCANCODE_KP_2 :: 90; | |
| SCANCODE_KP_3 :: 91; | |
| SCANCODE_KP_4 :: 92; | |
| SCANCODE_KP_5 :: 93; | |
| SCANCODE_KP_6 :: 94; | |
| SCANCODE_KP_7 :: 95; | |
| SCANCODE_KP_8 :: 96; | |
| SCANCODE_KP_9 :: 97; | |
| SCANCODE_KP_0 :: 98; | |
| SCANCODE_KP_PERIOD :: 99; | |
| SCANCODE_NONUSBACKSLASH :: 100; | |
| SCANCODE_APPLICATION :: 101; | |
| SCANCODE_POWER :: 102; | |
| SCANCODE_KP_EQUALS :: 103; | |
| SCANCODE_F13 :: 104; | |
| SCANCODE_F14 :: 105; | |
| SCANCODE_F15 :: 106; | |
| SCANCODE_F16 :: 107; | |
| SCANCODE_F17 :: 108; | |
| SCANCODE_F18 :: 109; | |
| SCANCODE_F19 :: 110; | |
| SCANCODE_F20 :: 111; | |
| SCANCODE_F21 :: 112; | |
| SCANCODE_F22 :: 113; | |
| SCANCODE_F23 :: 114; | |
| SCANCODE_F24 :: 115; | |
| SCANCODE_EXECUTE :: 116; | |
| SCANCODE_HELP :: 117; | |
| SCANCODE_MENU :: 118; | |
| SCANCODE_SELECT :: 119; | |
| SCANCODE_STOP :: 120; | |
| SCANCODE_AGAIN :: 121; | |
| SCANCODE_UNDO :: 122; | |
| SCANCODE_CUT :: 123; | |
| SCANCODE_COPY :: 124; | |
| SCANCODE_PASTE :: 125; | |
| SCANCODE_FIND :: 126; | |
| SCANCODE_MUTE :: 127; | |
| SCANCODE_VOLUMEUP :: 128; | |
| SCANCODE_VOLUMEDOWN :: 129; | |
| SCANCODE_KP_COMMA :: 133; | |
| SCANCODE_KP_EQUALSAS400 :: 134; | |
| SCANCODE_INTERNATIONAL1 :: 135; | |
| SCANCODE_INTERNATIONAL2 :: 136; | |
| SCANCODE_INTERNATIONAL3 :: 137; | |
| SCANCODE_INTERNATIONAL4 :: 138; | |
| SCANCODE_INTERNATIONAL5 :: 139; | |
| SCANCODE_INTERNATIONAL6 :: 140; | |
| SCANCODE_INTERNATIONAL7 :: 141; | |
| SCANCODE_INTERNATIONAL8 :: 142; | |
| SCANCODE_INTERNATIONAL9 :: 143; | |
| SCANCODE_LANG1 :: 144; | |
| SCANCODE_LANG2 :: 145; | |
| SCANCODE_LANG3 :: 146; | |
| SCANCODE_LANG4 :: 147; | |
| SCANCODE_LANG5 :: 148; | |
| SCANCODE_LANG6 :: 149; | |
| SCANCODE_LANG7 :: 150; | |
| SCANCODE_LANG8 :: 151; | |
| SCANCODE_LANG9 :: 152; | |
| SCANCODE_ALTERASE :: 153; | |
| SCANCODE_SYSREQ :: 154; | |
| SCANCODE_CANCEL :: 155; | |
| SCANCODE_CLEAR :: 156; | |
| SCANCODE_PRIOR :: 157; | |
| SCANCODE_RETURN2 :: 158; | |
| SCANCODE_SEPARATOR :: 159; | |
| SCANCODE_OUT :: 160; | |
| SCANCODE_OPER :: 161; | |
| SCANCODE_CLEARAGAIN :: 162; | |
| SCANCODE_CRSEL :: 163; | |
| SCANCODE_EXSEL :: 164; | |
| SCANCODE_KP_00 :: 176; | |
| SCANCODE_KP_000 :: 177; | |
| SCANCODE_THOUSANDSSEPARATOR :: 178; | |
| SCANCODE_DECIMALSEPARATOR :: 179; | |
| SCANCODE_CURRENCYUNIT :: 180; | |
| SCANCODE_CURRENCYSUBUNIT :: 181; | |
| SCANCODE_KP_LEFTPAREN :: 182; | |
| SCANCODE_KP_RIGHTPAREN :: 183; | |
| SCANCODE_KP_LEFTBRACE :: 184; | |
| SCANCODE_KP_RIGHTBRACE :: 185; | |
| SCANCODE_KP_TAB :: 186; | |
| SCANCODE_KP_BACKSPACE :: 187; | |
| SCANCODE_KP_A :: 188; | |
| SCANCODE_KP_B :: 189; | |
| SCANCODE_KP_C :: 190; | |
| SCANCODE_KP_D :: 191; | |
| SCANCODE_KP_E :: 192; | |
| SCANCODE_KP_F :: 193; | |
| SCANCODE_KP_XOR :: 194; | |
| SCANCODE_KP_POWER :: 195; | |
| SCANCODE_KP_PERCENT :: 196; | |
| SCANCODE_KP_LESS :: 197; | |
| SCANCODE_KP_GREATER :: 198; | |
| SCANCODE_KP_AMPERSAND :: 199; | |
| SCANCODE_KP_DBLAMPERSAND :: 200; | |
| SCANCODE_KP_VERTICALBAR :: 201; | |
| SCANCODE_KP_DBLVERTICALBAR :: 202; | |
| SCANCODE_KP_COLON :: 203; | |
| SCANCODE_KP_HASH :: 204; | |
| SCANCODE_KP_SPACE :: 205; | |
| SCANCODE_KP_AT :: 206; | |
| SCANCODE_KP_EXCLAM :: 207; | |
| SCANCODE_KP_MEMSTORE :: 208; | |
| SCANCODE_KP_MEMRECALL :: 209; | |
| SCANCODE_KP_MEMCLEAR :: 210; | |
| SCANCODE_KP_MEMADD :: 211; | |
| SCANCODE_KP_MEMSUBTRACT :: 212; | |
| SCANCODE_KP_MEMMULTIPLY :: 213; | |
| SCANCODE_KP_MEMDIVIDE :: 214; | |
| SCANCODE_KP_PLUSMINUS :: 215; | |
| SCANCODE_KP_CLEAR :: 216; | |
| SCANCODE_KP_CLEARENTRY :: 217; | |
| SCANCODE_KP_BINARY :: 218; | |
| SCANCODE_KP_OCTAL :: 219; | |
| SCANCODE_KP_DECIMAL :: 220; | |
| SCANCODE_KP_HEXADECIMAL :: 221; | |
| SCANCODE_LCTRL :: 224; | |
| SCANCODE_LSHIFT :: 225; | |
| SCANCODE_LALT :: 226; | |
| SCANCODE_LGUI :: 227; | |
| SCANCODE_RCTRL :: 228; | |
| SCANCODE_RSHIFT :: 229; | |
| SCANCODE_RALT :: 230; | |
| SCANCODE_RGUI :: 231; | |
| SCANCODE_MODE :: 257; | |
| SCANCODE_AUDIONEXT :: 258; | |
| SCANCODE_AUDIOPREV :: 259; | |
| SCANCODE_AUDIOSTOP :: 260; | |
| SCANCODE_AUDIOPLAY :: 261; | |
| SCANCODE_AUDIOMUTE :: 262; | |
| SCANCODE_MEDIASELECT :: 263; | |
| SCANCODE_WWW :: 264; | |
| SCANCODE_MAIL :: 265; | |
| SCANCODE_CALCULATOR :: 266; | |
| SCANCODE_COMPUTER :: 267; | |
| SCANCODE_AC_SEARCH :: 268; | |
| SCANCODE_AC_HOME :: 269; | |
| SCANCODE_AC_BACK :: 270; | |
| SCANCODE_AC_FORWARD :: 271; | |
| SCANCODE_AC_STOP :: 272; | |
| SCANCODE_AC_REFRESH :: 273; | |
| SCANCODE_AC_BOOKMARKS :: 274; | |
| SCANCODE_BRIGHTNESSDOWN :: 275; | |
| SCANCODE_BRIGHTNESSUP :: 276; | |
| SCANCODE_DISPLAYSWITCH :: 277; | |
| SCANCODE_KBDILLUMTOGGLE :: 278; | |
| SCANCODE_KBDILLUMDOWN :: 279; | |
| SCANCODE_KBDILLUMUP :: 280; | |
| SCANCODE_EJECT :: 281; | |
| SCANCODE_SLEEP :: 282; | |
| SCANCODE_APP1 :: 283; | |
| SCANCODE_APP2 :: 284; | |
| SCANCODE_AUDIOREWIND :: 285; | |
| SCANCODE_AUDIOFASTFORWARD :: 286; | |
| NUM_SCANCODES :: 512; | |
| /* } */; | |
| Thread :: struct {}; | |
| threadID :: _c.ulong; | |
| TouchDeviceType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| TOUCH_DEVICE_INVALID :: -1; | |
| TOUCH_DEVICE_DIRECT :: 0; | |
| TOUCH_DEVICE_INDIRECT_ABSOLUTE :: 1; | |
| TOUCH_DEVICE_INDIRECT_RELATIVE :: 2; | |
| /* } */; | |
| version :: struct { | |
| major : Uint8, | |
| minor : Uint8, | |
| patch : Uint8, | |
| }; | |
| Sensor :: _Sensor; | |
| TLSID :: _c.uint; | |
| Finger :: struct { | |
| id : FingerID, | |
| x : _c.float, | |
| y : _c.float, | |
| pressure : _c.float, | |
| }; | |
| SensorID :: Sint32; | |
| SensorType :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| SENSOR_INVALID :: -1; | |
| SENSOR_UNKNOWN :: 0; | |
| SENSOR_ACCEL :: 1; | |
| SENSOR_GYRO :: 2; | |
| /* } */; | |
| WindowShapeMode :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ShapeModeDefault :: 0; | |
| ShapeModeBinarizeAlpha :: 1; | |
| ShapeModeReverseBinarizeAlpha :: 2; | |
| ShapeModeColorKey :: 3; | |
| /* } */; | |
| WindowShapeParams :: struct #raw_union { | |
| binarizationCutoff : Uint8, | |
| colorKey : Color, | |
| }; | |
| SDL_WindowShapeMode :: struct { | |
| mode : WindowShapeMode, | |
| parameters : WindowShapeParams, | |
| }; | |
| _iconv_t :: struct {}; | |
| malloc_func :: (proc(size : uint) -> rawptr); | |
| calloc_func :: (proc(nmemb : uint, size : uint) -> rawptr); | |
| realloc_func :: (proc(mem : rawptr, size : uint) -> rawptr); | |
| free_func :: proc(mem : rawptr); | |
| iconv_t :: ^_iconv_t; | |
| Surface :: struct { | |
| flags : Uint32, | |
| format : ^PixelFormat, | |
| w : _c.int, | |
| h : _c.int, | |
| pitch : _c.int, | |
| pixels : rawptr, | |
| userdata : rawptr, | |
| locked : _c.int, | |
| list_blitmap : rawptr, | |
| clip_rect : Rect, | |
| map_ : ^BlitMap, | |
| refcount : _c.int, | |
| }; | |
| YUV_CONVERSION_MODE :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| YUV_CONVERSION_JPEG :: 0; | |
| YUV_CONVERSION_BT601 :: 1; | |
| YUV_CONVERSION_BT709 :: 2; | |
| YUV_CONVERSION_AUTOMATIC :: 3; | |
| /* } */; | |
| DisplayMode :: struct { | |
| format : Uint32, | |
| w : _c.int, | |
| h : _c.int, | |
| refresh_rate : _c.int, | |
| driverdata : rawptr, | |
| }; | |
| ThreadPriority :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| THREAD_PRIORITY_LOW :: 0; | |
| THREAD_PRIORITY_NORMAL :: 1; | |
| THREAD_PRIORITY_HIGH :: 2; | |
| THREAD_PRIORITY_TIME_CRITICAL :: 3; | |
| /* } */; | |
| ThreadFunction :: (proc(data : rawptr) -> _c.int); | |
| TimerID :: _c.int; | |
| TimerCallback :: (proc(interval : Uint32, param : rawptr) -> Uint32); | |
| Window :: struct {}; | |
| WindowFlags :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| WINDOW_FULLSCREEN :: 0x1; | |
| WINDOW_OPENGL :: 0x2; | |
| WINDOW_SHOWN :: 0x4; | |
| WINDOW_HIDDEN :: 0x8; | |
| WINDOW_BORDERLESS :: 0x10; | |
| WINDOW_RESIZABLE :: 0x20; | |
| WINDOW_MINIMIZED :: 0x40; | |
| WINDOW_MAXIMIZED :: 0x80; | |
| WINDOW_INPUT_GRABBED :: 0x100; | |
| WINDOW_INPUT_FOCUS :: 0x200; | |
| WINDOW_MOUSE_FOCUS :: 0x400; | |
| WINDOW_FULLSCREEN_DESKTOP :: (WINDOW_FULLSCREEN | 0x1000); | |
| WINDOW_FOREIGN :: 0x800; | |
| WINDOW_ALLOW_HIGHDPI :: 0x2000; | |
| WINDOW_MOUSE_CAPTURE :: 0x4000; | |
| WINDOW_ALWAYS_ON_TOP :: 0x8000; | |
| WINDOW_SKIP_TASKBAR :: 0x10000; | |
| WINDOW_UTILITY :: 0x20000; | |
| WINDOW_TOOLTIP :: 0x40000; | |
| WINDOW_POPUP_MENU :: 0x80000; | |
| WINDOW_VULKAN :: 0x10000000; | |
| WINDOW_METAL :: 0x20000000; | |
| /* } */; | |
| WindowEventID :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| WINDOWEVENT_NONE :: 0; | |
| WINDOWEVENT_SHOWN :: 1; | |
| WINDOWEVENT_HIDDEN :: 2; | |
| WINDOWEVENT_EXPOSED :: 3; | |
| WINDOWEVENT_MOVED :: 4; | |
| WINDOWEVENT_RESIZED :: 5; | |
| WINDOWEVENT_SIZE_CHANGED :: 6; | |
| WINDOWEVENT_MINIMIZED :: 7; | |
| WINDOWEVENT_MAXIMIZED :: 8; | |
| WINDOWEVENT_RESTORED :: 9; | |
| WINDOWEVENT_ENTER :: 10; | |
| WINDOWEVENT_LEAVE :: 11; | |
| WINDOWEVENT_FOCUS_GAINED :: 12; | |
| WINDOWEVENT_FOCUS_LOST :: 13; | |
| WINDOWEVENT_CLOSE :: 14; | |
| WINDOWEVENT_TAKE_FOCUS :: 15; | |
| WINDOWEVENT_HIT_TEST :: 16; | |
| /* } */; | |
| DisplayEventID :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| DISPLAYEVENT_NONE :: 0; | |
| DISPLAYEVENT_ORIENTATION :: 1; | |
| DISPLAYEVENT_CONNECTED :: 2; | |
| DISPLAYEVENT_DISCONNECTED :: 3; | |
| /* } */; | |
| DisplayOrientation :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| ORIENTATION_UNKNOWN :: 0; | |
| ORIENTATION_LANDSCAPE :: 1; | |
| ORIENTATION_LANDSCAPE_FLIPPED :: 2; | |
| ORIENTATION_PORTRAIT :: 3; | |
| ORIENTATION_PORTRAIT_FLIPPED :: 4; | |
| /* } */; | |
| GLattr :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| GL_RED_SIZE :: 0; | |
| GL_GREEN_SIZE :: 1; | |
| GL_BLUE_SIZE :: 2; | |
| GL_ALPHA_SIZE :: 3; | |
| GL_BUFFER_SIZE :: 4; | |
| GL_DOUBLEBUFFER :: 5; | |
| GL_DEPTH_SIZE :: 6; | |
| GL_STENCIL_SIZE :: 7; | |
| GL_ACCUM_RED_SIZE :: 8; | |
| GL_ACCUM_GREEN_SIZE :: 9; | |
| GL_ACCUM_BLUE_SIZE :: 10; | |
| GL_ACCUM_ALPHA_SIZE :: 11; | |
| GL_STEREO :: 12; | |
| GL_MULTISAMPLEBUFFERS :: 13; | |
| GL_MULTISAMPLESAMPLES :: 14; | |
| GL_ACCELERATED_VISUAL :: 15; | |
| GL_RETAINED_BACKING :: 16; | |
| GL_CONTEXT_MAJOR_VERSION :: 17; | |
| GL_CONTEXT_MINOR_VERSION :: 18; | |
| GL_CONTEXT_EGL :: 19; | |
| GL_CONTEXT_FLAGS :: 20; | |
| GL_CONTEXT_PROFILE_MASK :: 21; | |
| GL_SHARE_WITH_CURRENT_CONTEXT :: 22; | |
| GL_FRAMEBUFFER_SRGB_CAPABLE :: 23; | |
| GL_CONTEXT_RELEASE_BEHAVIOR :: 24; | |
| GL_CONTEXT_RESET_NOTIFICATION :: 25; | |
| GL_CONTEXT_NO_ERROR :: 26; | |
| /* } */; | |
| GLprofile :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| GL_CONTEXT_PROFILE_CORE :: 0x1; | |
| GL_CONTEXT_PROFILE_COMPATIBILITY :: 0x2; | |
| GL_CONTEXT_PROFILE_ES :: 0x4; | |
| /* } */; | |
| GLcontextFlag :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| GL_CONTEXT_DEBUG_FLAG :: 0x1; | |
| GL_CONTEXT_FORWARD_COMPATIBLE_FLAG :: 0x2; | |
| GL_CONTEXT_ROBUST_ACCESS_FLAG :: 0x4; | |
| GL_CONTEXT_RESET_ISOLATION_FLAG :: 0x8; | |
| /* } */; | |
| GLcontextReleaseFlag :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| GL_CONTEXT_RELEASE_BEHAVIOR_NONE :: 0x0; | |
| GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH :: 0x1; | |
| /* } */; | |
| GLContextResetNotification :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| GL_CONTEXT_RESET_NO_NOTIFICATION :: 0x0; | |
| GL_CONTEXT_RESET_LOSE_CONTEXT :: 0x1; | |
| /* } */; | |
| HitTestResult :: _c.int; | |
| /* <ENUM> :: enum { */ | |
| HITTEST_NORMAL :: 0; | |
| HITTEST_DRAGGABLE :: 1; | |
| HITTEST_RESIZE_TOPLEFT :: 2; | |
| HITTEST_RESIZE_TOP :: 3; | |
| HITTEST_RESIZE_TOPRIGHT :: 4; | |
| HITTEST_RESIZE_RIGHT :: 5; | |
| HITTEST_RESIZE_BOTTOMRIGHT :: 6; | |
| HITTEST_RESIZE_BOTTOM :: 7; | |
| HITTEST_RESIZE_BOTTOMLEFT :: 8; | |
| HITTEST_RESIZE_LEFT :: 9; | |
| /* } */; | |
| GLContext :: rawptr; | |
| HitTest :: (proc(win : ^Window, area : ^Point, data : rawptr) -> HitTestResult); | |
| /***** libSDL2 *****/ | |
| foreign import libSDL2 "system:libSDL2.so" | |
| /* Procedures */ | |
| @(link_prefix="SDL") | |
| foreign libSDL2 { | |
| SetClipboardText :: proc(text : cstring) -> _c.int ---; | |
| HasClipboardText :: proc() -> bool ---; | |
| Init :: proc(flags : Uint32) -> _c.int ---; | |
| InitSubSystem :: proc(flags : Uint32) -> _c.int ---; | |
| QuitSubSystem :: proc(flags : Uint32) ---; | |
| WasInit :: proc(flags : Uint32) -> Uint32 ---; | |
| Quit :: proc() ---; | |
| SetError :: proc(fmt : cstring, #c_vararg __args : ..any) -> _c.int ---; | |
| RecordGesture :: proc(touchId : TouchID) -> _c.int ---; | |
| SaveAllDollarTemplates :: proc(dst : ^RWops) -> _c.int ---; | |
| SaveDollarTemplate :: proc(gestureId : GestureID, dst : ^RWops) -> _c.int ---; | |
| AtomicTryLock :: proc(lock : ^SpinLock) -> bool ---; | |
| AtomicLock :: proc(lock : ^SpinLock) ---; | |
| AtomicUnlock :: proc(lock : ^SpinLock) ---; | |
| ReportAssertion :: proc(^AssertData, cstring, cstring, _c.int) -> AssertState ---; | |
| MemoryBarrierReleaseFunction :: proc() ---; | |
| MemoryBarrierAcquireFunction :: proc() ---; | |
| SetAssertionHandler :: proc(handler : AssertionHandler, userdata : rawptr) ---; | |
| GetDefaultAssertionHandler :: proc() -> AssertionHandler ---; | |
| AtomicCAS :: proc(a : ^atomic_t, oldval : _c.int, newval : _c.int) -> bool ---; | |
| AtomicSet :: proc(a : ^atomic_t, v : _c.int) -> _c.int ---; | |
| AtomicGet :: proc(a : ^atomic_t) -> _c.int ---; | |
| GetAssertionHandler :: proc(puserdata : ^rawptr) -> AssertionHandler ---; | |
| AtomicAdd :: proc(a : ^atomic_t, v : _c.int) -> _c.int ---; | |
| LoadDollarTemplates :: proc(touchId : TouchID, src : ^RWops) -> _c.int ---; | |
| ClearError :: proc() ---; | |
| Error :: proc(code : errorcode) -> _c.int ---; | |
| ComposeCustomBlendMode :: proc(srcColorFactor : BlendFactor, dstColorFactor : BlendFactor, colorOperation : BlendOperation, srcAlphaFactor : BlendFactor, dstAlphaFactor : BlendFactor, alphaOperation : BlendOperation) -> BlendMode ---; | |
| GetNumAudioDrivers :: proc() -> _c.int ---; | |
| AudioInit :: proc(driver_name : cstring) -> _c.int ---; | |
| AudioQuit :: proc() ---; | |
| GetCPUCount :: proc() -> _c.int ---; | |
| GetCPUCacheLineSize :: proc() -> _c.int ---; | |
| HasRDTSC :: proc() -> bool ---; | |
| GameControllerAddMappingsFromRW :: proc(rw : ^RWops, freerw : _c.int) -> _c.int ---; | |
| HasAltiVec :: proc() -> bool ---; | |
| HasMMX :: proc() -> bool ---; | |
| Has3DNow :: proc() -> bool ---; | |
| GameControllerAddMapping :: proc(mappingString : cstring) -> _c.int ---; | |
| HasSSE :: proc() -> bool ---; | |
| GameControllerNumMappings :: proc() -> _c.int ---; | |
| HasSSE2 :: proc() -> bool ---; | |
| HasSSE3 :: proc() -> bool ---; | |
| HasSSE41 :: proc() -> bool ---; | |
| HasSSE42 :: proc() -> bool ---; | |
| HasAVX :: proc() -> bool ---; | |
| IsGameController :: proc(joystick_index : _c.int) -> bool ---; | |
| HasAVX2 :: proc() -> bool ---; | |
| HasAVX512F :: proc() -> bool ---; | |
| HasARMSIMD :: proc() -> bool ---; | |
| HasNEON :: proc() -> bool ---; | |
| GetSystemRAM :: proc() -> _c.int ---; | |
| SIMDGetAlignment :: proc() -> uint ---; | |
| GameControllerTypeForIndex :: proc(joystick_index : _c.int) -> GameControllerType ---; | |
| GameControllerGetType :: proc(gamecontroller : ^GameController) -> GameControllerType ---; | |
| GameControllerGetPlayerIndex :: proc(gamecontroller : ^GameController) -> _c.int ---; | |
| GameControllerSetPlayerIndex :: proc(gamecontroller : ^GameController, player_index : _c.int) ---; | |
| GameControllerGetVendor :: proc(gamecontroller : ^GameController) -> Uint16 ---; | |
| GameControllerGetProduct :: proc(gamecontroller : ^GameController) -> Uint16 ---; | |
| GameControllerGetProductVersion :: proc(gamecontroller : ^GameController) -> Uint16 ---; | |
| LockJoysticks :: proc() ---; | |
| UnlockJoysticks :: proc() ---; | |
| NumJoysticks :: proc() -> _c.int ---; | |
| JoystickGetDevicePlayerIndex :: proc(device_index : _c.int) -> _c.int ---; | |
| JoystickGetDeviceGUID :: proc(device_index : _c.int) -> JoystickGUID ---; | |
| JoystickGetDeviceVendor :: proc(device_index : _c.int) -> Uint16 ---; | |
| JoystickGetDeviceProduct :: proc(device_index : _c.int) -> Uint16 ---; | |
| JoystickGetDeviceProductVersion :: proc(device_index : _c.int) -> Uint16 ---; | |
| JoystickGetDeviceType :: proc(device_index : _c.int) -> JoystickType ---; | |
| JoystickGetDeviceInstanceID :: proc(device_index : _c.int) -> JoystickID ---; | |
| JoystickAttachVirtual :: proc(type : JoystickType, naxes : _c.int, nbuttons : _c.int, nhats : _c.int) -> _c.int ---; | |
| JoystickDetachVirtual :: proc(device_index : _c.int) -> _c.int ---; | |
| JoystickIsVirtual :: proc(device_index : _c.int) -> bool ---; | |
| JoystickSetVirtualAxis :: proc(joystick : ^Joystick, axis : _c.int, value : Sint16) -> _c.int ---; | |
| JoystickSetVirtualButton :: proc(joystick : ^Joystick, button : _c.int, value : Uint8) -> _c.int ---; | |
| JoystickSetVirtualHat :: proc(joystick : ^Joystick, hat : _c.int, value : Uint8) -> _c.int ---; | |
| JoystickGetPlayerIndex :: proc(joystick : ^Joystick) -> _c.int ---; | |
| JoystickSetPlayerIndex :: proc(joystick : ^Joystick, player_index : _c.int) ---; | |
| JoystickGetGUID :: proc(joystick : ^Joystick) -> JoystickGUID ---; | |
| JoystickGetVendor :: proc(joystick : ^Joystick) -> Uint16 ---; | |
| GetAssertionReport :: proc() -> ^AssertData ---; | |
| ResetAssertionReport :: proc() ---; | |
| AtomicCASPtr :: proc(a : ^rawptr, oldval : rawptr, newval : rawptr) -> bool ---; | |
| AtomicSetPtr :: proc(a : ^rawptr, v : rawptr) -> rawptr ---; | |
| AtomicGetPtr :: proc(a : ^rawptr) -> rawptr ---; | |
| GetAudioDriver :: proc(index : _c.int) -> cstring ---; | |
| GetCurrentAudioDriver :: proc() -> cstring ---; | |
| OpenAudio :: proc(desired : ^AudioSpec, obtained : ^AudioSpec) -> _c.int ---; | |
| GetNumAudioDevices :: proc(iscapture : _c.int) -> _c.int ---; | |
| GetAudioDeviceName :: proc(index : _c.int, iscapture : _c.int) -> cstring ---; | |
| OpenAudioDevice :: proc(device : cstring, iscapture : _c.int, desired : ^AudioSpec, obtained : ^AudioSpec, allowed_changes : _c.int) -> AudioDeviceID ---; | |
| GetAudioStatus :: proc() -> AudioStatus ---; | |
| GetAudioDeviceStatus :: proc(dev : AudioDeviceID) -> AudioStatus ---; | |
| PauseAudio :: proc(pause_on : _c.int) ---; | |
| PauseAudioDevice :: proc(dev : AudioDeviceID, pause_on : _c.int) ---; | |
| LoadWAV_RW :: proc(src : ^RWops, freesrc : _c.int, spec : ^AudioSpec, audio_buf : ^^Uint8, audio_len : ^Uint32) -> ^AudioSpec ---; | |
| FreeWAV :: proc(audio_buf : ^Uint8) ---; | |
| BuildAudioCVT :: proc(cvt : ^AudioCVT, src_format : AudioFormat, src_channels : Uint8, src_rate : _c.int, dst_format : AudioFormat, dst_channels : Uint8, dst_rate : _c.int) -> _c.int ---; | |
| ConvertAudio :: proc(cvt : ^AudioCVT) -> _c.int ---; | |
| NewAudioStream :: proc(src_format : AudioFormat, src_channels : Uint8, src_rate : _c.int, dst_format : AudioFormat, dst_channels : Uint8, dst_rate : _c.int) -> ^AudioStream ---; | |
| AudioStreamPut :: proc(stream : ^AudioStream, buf : rawptr, len : _c.int) -> _c.int ---; | |
| AudioStreamGet :: proc(stream : ^AudioStream, buf : rawptr, len : _c.int) -> _c.int ---; | |
| AudioStreamAvailable :: proc(stream : ^AudioStream) -> _c.int ---; | |
| AudioStreamFlush :: proc(stream : ^AudioStream) -> _c.int ---; | |
| AudioStreamClear :: proc(stream : ^AudioStream) ---; | |
| FreeAudioStream :: proc(stream : ^AudioStream) ---; | |
| MixAudio :: proc(dst : ^Uint8, src : ^Uint8, len : Uint32, volume : _c.int) ---; | |
| MixAudioFormat :: proc(dst : ^Uint8, src : ^Uint8, format : AudioFormat, len : Uint32, volume : _c.int) ---; | |
| QueueAudio :: proc(dev : AudioDeviceID, data : rawptr, len : Uint32) -> _c.int ---; | |
| DequeueAudio :: proc(dev : AudioDeviceID, data : rawptr, len : Uint32) -> Uint32 ---; | |
| GetQueuedAudioSize :: proc(dev : AudioDeviceID) -> Uint32 ---; | |
| ClearQueuedAudio :: proc(dev : AudioDeviceID) ---; | |
| LockAudio :: proc() ---; | |
| LockAudioDevice :: proc(dev : AudioDeviceID) ---; | |
| UnlockAudio :: proc() ---; | |
| UnlockAudioDevice :: proc(dev : AudioDeviceID) ---; | |
| CloseAudio :: proc() ---; | |
| CloseAudioDevice :: proc(dev : AudioDeviceID) ---; | |
| GetClipboardText :: proc() -> cstring ---; | |
| GetError :: proc() -> cstring ---; | |
| GetErrorMsg :: proc(errstr : cstring, maxlen : _c.int) -> cstring ---; | |
| GetBasePath :: proc() -> cstring ---; | |
| GetPrefPath :: proc(org : cstring, app : cstring) -> cstring ---; | |
| SIMDAlloc :: proc(len : uint) -> rawptr ---; | |
| SIMDRealloc :: proc(mem : rawptr, len : uint) -> rawptr ---; | |
| SIMDFree :: proc(ptr : rawptr) ---; | |
| PumpEvents :: proc() ---; | |
| PeepEvents :: proc(events : ^Event, numevents : _c.int, action : eventaction, minType : Uint32, maxType : Uint32) -> _c.int ---; | |
| HasEvent :: proc(type : Uint32) -> bool ---; | |
| HasEvents :: proc(minType : Uint32, maxType : Uint32) -> bool ---; | |
| FlushEvent :: proc(type : Uint32) ---; | |
| GameControllerGetAttached :: proc(gamecontroller : ^GameController) -> bool ---; | |
| GameControllerEventState :: proc(state : _c.int) -> _c.int ---; | |
| GameControllerUpdate :: proc() ---; | |
| GameControllerGetAxisFromString :: proc(pchString : cstring) -> GameControllerAxis ---; | |
| GameControllerGetBindForAxis :: proc(gamecontroller : ^GameController, axis : GameControllerAxis) -> GameControllerButtonBind ---; | |
| GameControllerHasAxis :: proc(gamecontroller : ^GameController, axis : GameControllerAxis) -> bool ---; | |
| GameControllerGetAxis :: proc(gamecontroller : ^GameController, axis : GameControllerAxis) -> Sint16 ---; | |
| GameControllerGetButtonFromString :: proc(pchString : cstring) -> GameControllerButton ---; | |
| GameControllerGetBindForButton :: proc(gamecontroller : ^GameController, button : GameControllerButton) -> GameControllerButtonBind ---; | |
| GameControllerHasButton :: proc(gamecontroller : ^GameController, button : GameControllerButton) -> bool ---; | |
| GameControllerGetButton :: proc(gamecontroller : ^GameController, button : GameControllerButton) -> Uint8 ---; | |
| GameControllerGetNumTouchpads :: proc(gamecontroller : ^GameController) -> _c.int ---; | |
| GameControllerGetNumTouchpadFingers :: proc(gamecontroller : ^GameController, touchpad : _c.int) -> _c.int ---; | |
| GameControllerGetTouchpadFinger :: proc(gamecontroller : ^GameController, touchpad : _c.int, finger : _c.int, state : ^Uint8, x : ^_c.float, y : ^_c.float, pressure : ^_c.float) -> _c.int ---; | |
| GameControllerHasSensor :: proc(gamecontroller : ^GameController, type : SensorType) -> bool ---; | |
| GameControllerSetSensorEnabled :: proc(gamecontroller : ^GameController, type : SensorType, enabled : bool) -> _c.int ---; | |
| GameControllerIsSensorEnabled :: proc(gamecontroller : ^GameController, type : SensorType) -> bool ---; | |
| GameControllerGetSensorData :: proc(gamecontroller : ^GameController, type : SensorType, data : ^_c.float, num_values : _c.int) -> _c.int ---; | |
| GameControllerRumble :: proc(gamecontroller : ^GameController, low_frequency_rumble : Uint16, high_frequency_rumble : Uint16, duration_ms : Uint32) -> _c.int ---; | |
| GameControllerRumbleTriggers :: proc(gamecontroller : ^GameController, left_rumble : Uint16, right_rumble : Uint16, duration_ms : Uint32) -> _c.int ---; | |
| GameControllerHasLED :: proc(gamecontroller : ^GameController) -> bool ---; | |
| GameControllerSetLED :: proc(gamecontroller : ^GameController, red : Uint8, green : Uint8, blue : Uint8) -> _c.int ---; | |
| GameControllerClose :: proc(gamecontroller : ^GameController) ---; | |
| GameControllerMappingForIndex :: proc(mapping_index : _c.int) -> cstring ---; | |
| GameControllerMappingForGUID :: proc(guid : JoystickGUID) -> cstring ---; | |
| GameControllerMapping :: proc(gamecontroller : ^GameController) -> cstring ---; | |
| GameControllerMappingForDeviceIndex :: proc(joystick_index : _c.int) -> cstring ---; | |
| GameControllerGetStringForAxis :: proc(axis : GameControllerAxis) -> cstring ---; | |
| GameControllerGetStringForButton :: proc(button : GameControllerButton) -> cstring ---; | |
| GameControllerNameForIndex :: proc(joystick_index : _c.int) -> cstring ---; | |
| GameControllerName :: proc(gamecontroller : ^GameController) -> cstring ---; | |
| GameControllerGetSerial :: proc(gamecontroller : ^GameController) -> cstring ---; | |
| GameControllerGetJoystick :: proc(gamecontroller : ^GameController) -> ^Joystick ---; | |
| GameControllerOpen :: proc(joystick_index : _c.int) -> ^GameController ---; | |
| GameControllerFromInstanceID :: proc(joyid : JoystickID) -> ^GameController ---; | |
| GameControllerFromPlayerIndex :: proc(player_index : _c.int) -> ^GameController ---; | |
| JoystickGetProduct :: proc(joystick : ^Joystick) -> Uint16 ---; | |
| JoystickGetProductVersion :: proc(joystick : ^Joystick) -> Uint16 ---; | |
| JoystickGetType :: proc(joystick : ^Joystick) -> JoystickType ---; | |
| JoystickGetGUIDString :: proc(guid : JoystickGUID, pszGUID : cstring, cbGUID : _c.int) ---; | |
| JoystickGetGUIDFromString :: proc(pchGUID : cstring) -> JoystickGUID ---; | |
| JoystickGetAttached :: proc(joystick : ^Joystick) -> bool ---; | |
| JoystickInstanceID :: proc(joystick : ^Joystick) -> JoystickID ---; | |
| JoystickNumAxes :: proc(joystick : ^Joystick) -> _c.int ---; | |
| JoystickNumBalls :: proc(joystick : ^Joystick) -> _c.int ---; | |
| JoystickNumHats :: proc(joystick : ^Joystick) -> _c.int ---; | |
| JoystickNumButtons :: proc(joystick : ^Joystick) -> _c.int ---; | |
| JoystickUpdate :: proc() ---; | |
| JoystickEventState :: proc(state : _c.int) -> _c.int ---; | |
| JoystickGetAxis :: proc(joystick : ^Joystick, axis : _c.int) -> Sint16 ---; | |
| JoystickGetAxisInitialState :: proc(joystick : ^Joystick, axis : _c.int, state : ^Sint16) -> bool ---; | |
| JoystickGetHat :: proc(joystick : ^Joystick, hat : _c.int) -> Uint8 ---; | |
| JoystickGetBall :: proc(joystick : ^Joystick, ball : _c.int, dx : ^_c.int, dy : ^_c.int) -> _c.int ---; | |
| JoystickGetButton :: proc(joystick : ^Joystick, button : _c.int) -> Uint8 ---; | |
| JoystickRumble :: proc(joystick : ^Joystick, low_frequency_rumble : Uint16, high_frequency_rumble : Uint16, duration_ms : Uint32) -> _c.int ---; | |
| JoystickRumbleTriggers :: proc(joystick : ^Joystick, left_rumble : Uint16, right_rumble : Uint16, duration_ms : Uint32) -> _c.int ---; | |
| JoystickHasLED :: proc(joystick : ^Joystick) -> bool ---; | |
| JoystickSetLED :: proc(joystick : ^Joystick, red : Uint8, green : Uint8, blue : Uint8) -> _c.int ---; | |
| JoystickClose :: proc(joystick : ^Joystick) ---; | |
| JoystickCurrentPowerLevel :: proc(joystick : ^Joystick) -> JoystickPowerLevel ---; | |
| FlushEvents :: proc(minType : Uint32, maxType : Uint32) ---; | |
| PollEvent :: proc(event : ^Event) -> _c.int ---; | |
| WaitEvent :: proc(event : ^Event) -> _c.int ---; | |
| WaitEventTimeout :: proc(event : ^Event, timeout : _c.int) -> _c.int ---; | |
| PushEvent :: proc(event : ^Event) -> _c.int ---; | |
| SetEventFilter :: proc(filter : EventFilter, userdata : rawptr) ---; | |
| GetEventFilter :: proc(filter : ^EventFilter, userdata : ^rawptr) -> bool ---; | |
| AddEventWatch :: proc(filter : EventFilter, userdata : rawptr) ---; | |
| DelEventWatch :: proc(filter : EventFilter, userdata : rawptr) ---; | |
| FilterEvents :: proc(filter : EventFilter, userdata : rawptr) ---; | |
| EventState :: proc(type : Uint32, state : _c.int) -> Uint8 ---; | |
| RegisterEvents :: proc(numevents : _c.int) -> Uint32 ---; | |
| NumHaptics :: proc() -> _c.int ---; | |
| HapticOpened :: proc(device_index : _c.int) -> _c.int ---; | |
| HapticIndex :: proc(haptic : ^Haptic) -> _c.int ---; | |
| MouseIsHaptic :: proc() -> _c.int ---; | |
| JoystickIsHaptic :: proc(joystick : ^Joystick) -> _c.int ---; | |
| HapticClose :: proc(haptic : ^Haptic) ---; | |
| HapticNumEffects :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticNumEffectsPlaying :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticQuery :: proc(haptic : ^Haptic) -> _c.uint ---; | |
| HapticNumAxes :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticEffectSupported :: proc(haptic : ^Haptic, effect : ^HapticEffect) -> _c.int ---; | |
| HapticNewEffect :: proc(haptic : ^Haptic, effect : ^HapticEffect) -> _c.int ---; | |
| HapticUpdateEffect :: proc(haptic : ^Haptic, effect : _c.int, data : ^HapticEffect) -> _c.int ---; | |
| HapticRunEffect :: proc(haptic : ^Haptic, effect : _c.int, iterations : Uint32) -> _c.int ---; | |
| HapticStopEffect :: proc(haptic : ^Haptic, effect : _c.int) -> _c.int ---; | |
| HapticDestroyEffect :: proc(haptic : ^Haptic, effect : _c.int) ---; | |
| HapticGetEffectStatus :: proc(haptic : ^Haptic, effect : _c.int) -> _c.int ---; | |
| HapticSetGain :: proc(haptic : ^Haptic, gain : _c.int) -> _c.int ---; | |
| HapticSetAutocenter :: proc(haptic : ^Haptic, autocenter : _c.int) -> _c.int ---; | |
| HapticPause :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticUnpause :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticStopAll :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticRumbleSupported :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticRumbleInit :: proc(haptic : ^Haptic) -> _c.int ---; | |
| HapticRumblePlay :: proc(haptic : ^Haptic, strength : _c.float, length : Uint32) -> _c.int ---; | |
| HapticRumbleStop :: proc(haptic : ^Haptic) -> _c.int ---; | |
| SetHintWithPriority :: proc(name : cstring, value : cstring, priority : HintPriority) -> bool ---; | |
| SetHint :: proc(name : cstring, value : cstring) -> bool ---; | |
| GetHintBoolean :: proc(name : cstring, default_value : bool) -> bool ---; | |
| AddHintCallback :: proc(name : cstring, callback : HintCallback, userdata : rawptr) ---; | |
| DelHintCallback :: proc(name : cstring, callback : HintCallback, userdata : rawptr) ---; | |
| ClearHints :: proc() ---; | |
| HapticName :: proc(device_index : _c.int) -> cstring ---; | |
| HapticOpen :: proc(device_index : _c.int) -> ^Haptic ---; | |
| HapticOpenFromMouse :: proc() -> ^Haptic ---; | |
| HapticOpenFromJoystick :: proc(joystick : ^Joystick) -> ^Haptic ---; | |
| GetHint :: proc(name : cstring) -> cstring ---; | |
| JoystickNameForIndex :: proc(device_index : _c.int) -> cstring ---; | |
| JoystickName :: proc(joystick : ^Joystick) -> cstring ---; | |
| JoystickGetSerial :: proc(joystick : ^Joystick) -> cstring ---; | |
| JoystickOpen :: proc(device_index : _c.int) -> ^Joystick ---; | |
| JoystickFromInstanceID :: proc(instance_id : JoystickID) -> ^Joystick ---; | |
| JoystickFromPlayerIndex :: proc(player_index : _c.int) -> ^Joystick ---; | |
| GetModState :: proc() -> Keymod ---; | |
| SetModState :: proc(modstate : Keymod) ---; | |
| GetKeyFromScancode :: proc(scancode : Scancode) -> Keycode ---; | |
| GetScancodeFromKey :: proc(key : Keycode) -> Scancode ---; | |
| GetScancodeFromName :: proc(name : cstring) -> Scancode ---; | |
| GetKeyFromName :: proc(name : cstring) -> Keycode ---; | |
| StartTextInput :: proc() ---; | |
| IsTextInputActive :: proc() -> bool ---; | |
| StopTextInput :: proc() ---; | |
| SetTextInputRect :: proc(rect : ^Rect) ---; | |
| HasScreenKeyboardSupport :: proc() -> bool ---; | |
| IsScreenKeyboardShown :: proc(window : ^Window) -> bool ---; | |
| GetKeyboardFocus :: proc() -> ^Window ---; | |
| GetScancodeName :: proc(scancode : Scancode) -> cstring ---; | |
| GetKeyName :: proc(key : Keycode) -> cstring ---; | |
| GetKeyboardState :: proc(numkeys : ^_c.int) -> ^Uint8 ---; | |
| OpenURL :: proc(url : cstring) -> _c.int ---; | |
| Metal_CreateView :: proc(window : ^Window) -> MetalView ---; | |
| UnloadObject :: proc(handle : rawptr) ---; | |
| Metal_DestroyView :: proc(view : MetalView) ---; | |
| Metal_GetDrawableSize :: proc(window : ^Window, w : ^_c.int, h : ^_c.int) ---; | |
| LogSetAllPriority :: proc(priority : LogPriority) ---; | |
| ShowMessageBox :: proc(messageboxdata : ^MessageBoxData, buttonid : ^_c.int) -> _c.int ---; | |
| LogSetPriority :: proc(category : _c.int, priority : LogPriority) ---; | |
| LogGetPriority :: proc(category : _c.int) -> LogPriority ---; | |
| SetMainReady :: proc() ---; | |
| LogResetPriorities :: proc() ---; | |
| ShowSimpleMessageBox :: proc(flags : Uint32, title : cstring, message : cstring, window : ^Window) -> _c.int ---; | |
| Log :: proc(fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogVerbose :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogDebug :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogInfo :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogWarn :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogError :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogCritical :: proc(category : _c.int, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogMessage :: proc(category : _c.int, priority : LogPriority, fmt : cstring, #c_vararg __args : ..any) ---; | |
| LogGetOutputFunction :: proc(callback : ^LogOutputFunction, userdata : ^rawptr) ---; | |
| LogSetOutputFunction :: proc(callback : LogOutputFunction, userdata : rawptr) ---; | |
| LoadObject :: proc(sofile : cstring) -> rawptr ---; | |
| CreateMutex :: proc() -> ^mutex ---; | |
| LoadFunction :: proc(handle : rawptr, name : cstring) -> rawptr ---; | |
| GetPreferredLocales :: proc() -> ^Locale ---; | |
| Metal_GetLayer :: proc(view : MetalView) -> rawptr ---; | |
| GetPowerInfo :: proc(secs : ^_c.int, pct : ^_c.int) -> PowerState ---; | |
| LockMutex :: proc(mutex : ^mutex) -> _c.int ---; | |
| TryLockMutex :: proc(mutex : ^mutex) -> _c.int ---; | |
| GetMouseState :: proc(x : ^_c.int, y : ^_c.int) -> Uint32 ---; | |
| UnlockMutex :: proc(mutex : ^mutex) -> _c.int ---; | |
| DestroyMutex :: proc(mutex : ^mutex) ---; | |
| GetGlobalMouseState :: proc(x : ^_c.int, y : ^_c.int) -> Uint32 ---; | |
| CreateSemaphore :: proc(initial_value : Uint32) -> ^sem ---; | |
| DestroySemaphore :: proc(sem : ^sem) ---; | |
| GetRelativeMouseState :: proc(x : ^_c.int, y : ^_c.int) -> Uint32 ---; | |
| SemWait :: proc(sem : ^sem) -> _c.int ---; | |
| HasIntersection :: proc(A : ^Rect, B : ^Rect) -> bool ---; | |
| WarpMouseInWindow :: proc(window : ^Window, x : _c.int, y : _c.int) ---; | |
| SemTryWait :: proc(sem : ^sem) -> _c.int ---; | |
| SemWaitTimeout :: proc(sem : ^sem, ms : Uint32) -> _c.int ---; | |
| IntersectRect :: proc(A : ^Rect, B : ^Rect, result : ^Rect) -> bool ---; | |
| UnionRect :: proc(A : ^Rect, B : ^Rect, result : ^Rect) ---; | |
| WarpMouseGlobal :: proc(x : _c.int, y : _c.int) -> _c.int ---; | |
| SemPost :: proc(sem : ^sem) -> _c.int ---; | |
| SemValue :: proc(sem : ^sem) -> Uint32 ---; | |
| RWFromFile :: proc(file : cstring, mode : cstring) -> ^RWops ---; | |
| RWFromFP :: proc(fp : ^FILE, autoclose : bool) -> ^RWops ---; | |
| EnclosePoints :: proc(points : ^Point, count : _c.int, clip : ^Rect, result : ^Rect) -> bool ---; | |
| GetNumRenderDrivers :: proc() -> _c.int ---; | |
| RWFromMem :: proc(mem : rawptr, size : _c.int) -> ^RWops ---; | |
| RWFromConstMem :: proc(mem : rawptr, size : _c.int) -> ^RWops ---; | |
| IntersectRectAndLine :: proc(rect : ^Rect, X1 : ^_c.int, Y1 : ^_c.int, X2 : ^_c.int, Y2 : ^_c.int) -> bool ---; | |
| SetRelativeMouseMode :: proc(enabled : bool) -> _c.int ---; | |
| AllocRW :: proc() -> ^RWops ---; | |
| FreeRW :: proc(area : ^RWops) ---; | |
| GetRenderDriverInfo :: proc(index : _c.int, info : ^RendererInfo) -> _c.int ---; | |
| RWsize :: proc(context_ : ^RWops) -> Sint64 ---; | |
| RWseek :: proc(context_ : ^RWops, offset : Sint64, whence : _c.int) -> Sint64 ---; | |
| CreateWindowAndRenderer :: proc(width : _c.int, height : _c.int, window_flags : Uint32, window : ^^Window, renderer : ^^Renderer) -> _c.int ---; | |
| RWtell :: proc(context_ : ^RWops) -> Sint64 ---; | |
| CaptureMouse :: proc(enabled : bool) -> _c.int ---; | |
| CreateCond :: proc() -> ^cond ---; | |
| RWread :: proc(context_ : ^RWops, ptr : rawptr, size : uint, maxnum : uint) -> uint ---; | |
| GetRelativeMouseMode :: proc() -> bool ---; | |
| DestroyCond :: proc(cond : ^cond) ---; | |
| CondSignal :: proc(cond : ^cond) -> _c.int ---; | |
| CondBroadcast :: proc(cond : ^cond) -> _c.int ---; | |
| CondWait :: proc(cond : ^cond, mutex : ^mutex) -> _c.int ---; | |
| CondWaitTimeout :: proc(cond : ^cond, mutex : ^mutex, ms : Uint32) -> _c.int ---; | |
| RWwrite :: proc(context_ : ^RWops, ptr : rawptr, size : uint, num : uint) -> uint ---; | |
| RWclose :: proc(context_ : ^RWops) -> _c.int ---; | |
| GetRendererInfo :: proc(renderer : ^Renderer, info : ^RendererInfo) -> _c.int ---; | |
| LoadFile_RW :: proc(src : ^RWops, datasize : ^uint, freesrc : _c.int) -> rawptr ---; | |
| GetRendererOutputSize :: proc(renderer : ^Renderer, w : ^_c.int, h : ^_c.int) -> _c.int ---; | |
| LoadFile :: proc(file : cstring, datasize : ^uint) -> rawptr ---; | |
| SetCursor :: proc(cursor : ^Cursor) ---; | |
| ReadU8 :: proc(src : ^RWops) -> Uint8 ---; | |
| ReadLE16 :: proc(src : ^RWops) -> Uint16 ---; | |
| ReadBE16 :: proc(src : ^RWops) -> Uint16 ---; | |
| ReadLE32 :: proc(src : ^RWops) -> Uint32 ---; | |
| ReadBE32 :: proc(src : ^RWops) -> Uint32 ---; | |
| ReadLE64 :: proc(src : ^RWops) -> Uint64 ---; | |
| ReadBE64 :: proc(src : ^RWops) -> Uint64 ---; | |
| FreeCursor :: proc(cursor : ^Cursor) ---; | |
| WriteU8 :: proc(dst : ^RWops, value : Uint8) -> uint ---; | |
| WriteLE16 :: proc(dst : ^RWops, value : Uint16) -> uint ---; | |
| WriteBE16 :: proc(dst : ^RWops, value : Uint16) -> uint ---; | |
| WriteLE32 :: proc(dst : ^RWops, value : Uint32) -> uint ---; | |
| WriteBE32 :: proc(dst : ^RWops, value : Uint32) -> uint ---; | |
| WriteLE64 :: proc(dst : ^RWops, value : Uint64) -> uint ---; | |
| WriteBE64 :: proc(dst : ^RWops, value : Uint64) -> uint ---; | |
| ShowCursor :: proc(toggle : _c.int) -> _c.int ---; | |
| QueryTexture :: proc(texture : ^Texture, format : ^Uint32, access : ^_c.int, w : ^_c.int, h : ^_c.int) -> _c.int ---; | |
| SetTextureColorMod :: proc(texture : ^Texture, r : Uint8, g : Uint8, b : Uint8) -> _c.int ---; | |
| GetTextureColorMod :: proc(texture : ^Texture, r : ^Uint8, g : ^Uint8, b : ^Uint8) -> _c.int ---; | |
| GetMouseFocus :: proc() -> ^Window ---; | |
| GetPlatform :: proc() -> cstring ---; | |
| CreateRenderer :: proc(window : ^Window, index : _c.int, flags : Uint32) -> ^Renderer ---; | |
| CreateSoftwareRenderer :: proc(surface : ^Surface) -> ^Renderer ---; | |
| GetRenderer :: proc(window : ^Window) -> ^Renderer ---; | |
| CreateCursor :: proc(data : ^Uint8, mask : ^Uint8, w : _c.int, h : _c.int, hot_x : _c.int, hot_y : _c.int) -> ^Cursor ---; | |
| CreateColorCursor :: proc(surface : ^Surface, hot_x : _c.int, hot_y : _c.int) -> ^Cursor ---; | |
| CreateSystemCursor :: proc(id : SystemCursor) -> ^Cursor ---; | |
| GetCursor :: proc() -> ^Cursor ---; | |
| CreateTexture :: proc(renderer : ^Renderer, format : Uint32, access : _c.int, w : _c.int, h : _c.int) -> ^Texture ---; | |
| GetDefaultCursor :: proc() -> ^Cursor ---; | |
| CreateTextureFromSurface :: proc(renderer : ^Renderer, surface : ^Surface) -> ^Texture ---; | |
| SetTextureAlphaMod :: proc(texture : ^Texture, alpha : Uint8) -> _c.int ---; | |
| GetTextureAlphaMod :: proc(texture : ^Texture, alpha : ^Uint8) -> _c.int ---; | |
| GetPixelFormatName :: proc(format : Uint32) -> cstring ---; | |
| PixelFormatEnumToMasks :: proc(format : Uint32, bpp : ^_c.int, Rmask : ^Uint32, Gmask : ^Uint32, Bmask : ^Uint32, Amask : ^Uint32) -> bool ---; | |
| SetTextureBlendMode :: proc(texture : ^Texture, blendMode : BlendMode) -> _c.int ---; | |
| MasksToPixelFormatEnum :: proc(bpp : _c.int, Rmask : Uint32, Gmask : Uint32, Bmask : Uint32, Amask : Uint32) -> Uint32 ---; | |
| GetTextureBlendMode :: proc(texture : ^Texture, blendMode : ^BlendMode) -> _c.int ---; | |
| AllocFormat :: proc(pixel_format : Uint32) -> ^PixelFormat ---; | |
| FreeFormat :: proc(format : ^PixelFormat) ---; | |
| SetTextureScaleMode :: proc(texture : ^Texture, scaleMode : ScaleMode) -> _c.int ---; | |
| AllocPalette :: proc(ncolors : _c.int) -> ^Palette ---; | |
| SetPixelFormatPalette :: proc(format : ^PixelFormat, palette : ^Palette) -> _c.int ---; | |
| GetTextureScaleMode :: proc(texture : ^Texture, scaleMode : ^ScaleMode) -> _c.int ---; | |
| SetPaletteColors :: proc(palette : ^Palette, colors : ^Color, firstcolor : _c.int, ncolors : _c.int) -> _c.int ---; | |
| UpdateTexture :: proc(texture : ^Texture, rect : ^Rect, pixels : rawptr, pitch : _c.int) -> _c.int ---; | |
| FreePalette :: proc(palette : ^Palette) ---; | |
| MapRGB :: proc(format : ^PixelFormat, r : Uint8, g : Uint8, b : Uint8) -> Uint32 ---; | |
| MapRGBA :: proc(format : ^PixelFormat, r : Uint8, g : Uint8, b : Uint8, a : Uint8) -> Uint32 ---; | |
| UpdateYUVTexture :: proc(texture : ^Texture, rect : ^Rect, Yplane : ^Uint8, Ypitch : _c.int, Uplane : ^Uint8, Upitch : _c.int, Vplane : ^Uint8, Vpitch : _c.int) -> _c.int ---; | |
| GetRGB :: proc(pixel : Uint32, format : ^PixelFormat, r : ^Uint8, g : ^Uint8, b : ^Uint8) ---; | |
| GetRGBA :: proc(pixel : Uint32, format : ^PixelFormat, r : ^Uint8, g : ^Uint8, b : ^Uint8, a : ^Uint8) ---; | |
| CalculateGammaRamp :: proc(gamma : _c.float, ramp : ^Uint16) ---; | |
| LockTexture :: proc(texture : ^Texture, rect : ^Rect, pixels : ^rawptr, pitch : ^_c.int) -> _c.int ---; | |
| LockTextureToSurface :: proc(texture : ^Texture, rect : ^Rect, surface : ^^Surface) -> _c.int ---; | |
| UnlockTexture :: proc(texture : ^Texture) ---; | |
| RenderTargetSupported :: proc(renderer : ^Renderer) -> bool ---; | |
| SetRenderTarget :: proc(renderer : ^Renderer, texture : ^Texture) -> _c.int ---; | |
| RenderSetLogicalSize :: proc(renderer : ^Renderer, w : _c.int, h : _c.int) -> _c.int ---; | |
| RenderGetLogicalSize :: proc(renderer : ^Renderer, w : ^_c.int, h : ^_c.int) ---; | |
| RenderSetIntegerScale :: proc(renderer : ^Renderer, enable : bool) -> _c.int ---; | |
| RenderGetIntegerScale :: proc(renderer : ^Renderer) -> bool ---; | |
| RenderSetViewport :: proc(renderer : ^Renderer, rect : ^Rect) -> _c.int ---; | |
| RenderGetViewport :: proc(renderer : ^Renderer, rect : ^Rect) ---; | |
| RenderSetClipRect :: proc(renderer : ^Renderer, rect : ^Rect) -> _c.int ---; | |
| RenderGetClipRect :: proc(renderer : ^Renderer, rect : ^Rect) ---; | |
| RenderIsClipEnabled :: proc(renderer : ^Renderer) -> bool ---; | |
| RenderSetScale :: proc(renderer : ^Renderer, scaleX : _c.float, scaleY : _c.float) -> _c.int ---; | |
| RenderGetScale :: proc(renderer : ^Renderer, scaleX : ^_c.float, scaleY : ^_c.float) ---; | |
| SetRenderDrawColor :: proc(renderer : ^Renderer, r : Uint8, g : Uint8, b : Uint8, a : Uint8) -> _c.int ---; | |
| GetRenderDrawColor :: proc(renderer : ^Renderer, r : ^Uint8, g : ^Uint8, b : ^Uint8, a : ^Uint8) -> _c.int ---; | |
| SetRenderDrawBlendMode :: proc(renderer : ^Renderer, blendMode : BlendMode) -> _c.int ---; | |
| GetRenderDrawBlendMode :: proc(renderer : ^Renderer, blendMode : ^BlendMode) -> _c.int ---; | |
| RenderClear :: proc(renderer : ^Renderer) -> _c.int ---; | |
| RenderDrawPoint :: proc(renderer : ^Renderer, x : _c.int, y : _c.int) -> _c.int ---; | |
| RenderDrawPoints :: proc(renderer : ^Renderer, points : ^Point, count : _c.int) -> _c.int ---; | |
| RenderDrawLine :: proc(renderer : ^Renderer, x1 : _c.int, y1 : _c.int, x2 : _c.int, y2 : _c.int) -> _c.int ---; | |
| RenderDrawLines :: proc(renderer : ^Renderer, points : ^Point, count : _c.int) -> _c.int ---; | |
| RenderDrawRect :: proc(renderer : ^Renderer, rect : ^Rect) -> _c.int ---; | |
| RenderDrawRects :: proc(renderer : ^Renderer, rects : ^Rect, count : _c.int) -> _c.int ---; | |
| RenderFillRect :: proc(renderer : ^Renderer, rect : ^Rect) -> _c.int ---; | |
| RenderFillRects :: proc(renderer : ^Renderer, rects : ^Rect, count : _c.int) -> _c.int ---; | |
| RenderCopy :: proc(renderer : ^Renderer, texture : ^Texture, srcrect : ^Rect, dstrect : ^Rect) -> _c.int ---; | |
| RenderCopyEx :: proc(renderer : ^Renderer, texture : ^Texture, srcrect : ^Rect, dstrect : ^Rect, angle : _c.double, center : ^Point, flip : RendererFlip) -> _c.int ---; | |
| RenderDrawPointF :: proc(renderer : ^Renderer, x : _c.float, y : _c.float) -> _c.int ---; | |
| RenderDrawPointsF :: proc(renderer : ^Renderer, points : ^FPoint, count : _c.int) -> _c.int ---; | |
| RenderDrawLineF :: proc(renderer : ^Renderer, x1 : _c.float, y1 : _c.float, x2 : _c.float, y2 : _c.float) -> _c.int ---; | |
| RenderDrawLinesF :: proc(renderer : ^Renderer, points : ^FPoint, count : _c.int) -> _c.int ---; | |
| RenderDrawRectF :: proc(renderer : ^Renderer, rect : ^FRect) -> _c.int ---; | |
| RenderDrawRectsF :: proc(renderer : ^Renderer, rects : ^FRect, count : _c.int) -> _c.int ---; | |
| RenderFillRectF :: proc(renderer : ^Renderer, rect : ^FRect) -> _c.int ---; | |
| RenderFillRectsF :: proc(renderer : ^Renderer, rects : ^FRect, count : _c.int) -> _c.int ---; | |
| RenderCopyF :: proc(renderer : ^Renderer, texture : ^Texture, srcrect : ^Rect, dstrect : ^FRect) -> _c.int ---; | |
| RenderCopyExF :: proc(renderer : ^Renderer, texture : ^Texture, srcrect : ^Rect, dstrect : ^FRect, angle : _c.double, center : ^FPoint, flip : RendererFlip) -> _c.int ---; | |
| RenderReadPixels :: proc(renderer : ^Renderer, rect : ^Rect, format : Uint32, pixels : rawptr, pitch : _c.int) -> _c.int ---; | |
| RenderPresent :: proc(renderer : ^Renderer) ---; | |
| DestroyTexture :: proc(texture : ^Texture) ---; | |
| DestroyRenderer :: proc(renderer : ^Renderer) ---; | |
| RenderFlush :: proc(renderer : ^Renderer) -> _c.int ---; | |
| GL_BindTexture :: proc(texture : ^Texture, texw : ^_c.float, texh : ^_c.float) -> _c.int ---; | |
| GL_UnbindTexture :: proc(texture : ^Texture) -> _c.int ---; | |
| RenderGetMetalLayer :: proc(renderer : ^Renderer) -> rawptr ---; | |
| RenderGetMetalCommandEncoder :: proc(renderer : ^Renderer) -> rawptr ---; | |
| GetRenderTarget :: proc(renderer : ^Renderer) -> ^Texture ---; | |
| GetTicks :: proc() -> Uint32 ---; | |
| GetPerformanceCounter :: proc() -> Uint64 ---; | |
| CreateShapedWindow :: proc(title : cstring, x : _c.uint, y : _c.uint, w : _c.uint, h : _c.uint, flags : Uint32) -> ^Window ---; | |
| IsShapedWindow :: proc(window : ^Window) -> bool ---; | |
| SetWindowShape :: proc(window : ^Window, shape : ^Surface, shape_mode : ^SDL_WindowShapeMode) -> _c.int ---; | |
| GetShapedWindowMode :: proc(window : ^Window, shape_mode : ^SDL_WindowShapeMode) -> _c.int ---; | |
| LockSensors :: proc() ---; | |
| UnlockSensors :: proc() ---; | |
| NumSensors :: proc() -> _c.int ---; | |
| SensorGetDeviceType :: proc(device_index : _c.int) -> SensorType ---; | |
| SensorGetDeviceNonPortableType :: proc(device_index : _c.int) -> _c.int ---; | |
| SensorGetDeviceInstanceID :: proc(device_index : _c.int) -> SensorID ---; | |
| SensorGetType :: proc(sensor : ^Sensor) -> SensorType ---; | |
| SensorGetNonPortableType :: proc(sensor : ^Sensor) -> _c.int ---; | |
| SensorGetInstanceID :: proc(sensor : ^Sensor) -> SensorID ---; | |
| SensorGetData :: proc(sensor : ^Sensor, data : ^_c.float, num_values : _c.int) -> _c.int ---; | |
| SensorClose :: proc(sensor : ^Sensor) ---; | |
| SensorUpdate :: proc() ---; | |
| malloc :: proc(size : uint) -> rawptr ---; | |
| calloc :: proc(nmemb : uint, size : uint) -> rawptr ---; | |
| realloc :: proc(mem : rawptr, size : uint) -> rawptr ---; | |
| free :: proc(mem : rawptr) ---; | |
| GetMemoryFunctions :: proc(malloc_func : ^malloc_func, calloc_func : ^calloc_func, realloc_func : ^realloc_func, free_func : ^free_func) ---; | |
| SetMemoryFunctions :: proc(malloc_func : malloc_func, calloc_func : calloc_func, realloc_func : realloc_func, free_func : free_func) -> _c.int ---; | |
| GetNumAllocations :: proc() -> _c.int ---; | |
| getenv :: proc(name : cstring) -> cstring ---; | |
| setenv :: proc(name : cstring, value : cstring, overwrite : _c.int) -> _c.int ---; | |
| qsort :: proc(base : rawptr, nmemb : uint, size : uint, compare : (proc(rawptr, rawptr) -> _c.int)) ---; | |
| abs :: proc(x : _c.int) -> _c.int ---; | |
| isdigit :: proc(x : _c.int) -> _c.int ---; | |
| isspace :: proc(x : _c.int) -> _c.int ---; | |
| isupper :: proc(x : _c.int) -> _c.int ---; | |
| islower :: proc(x : _c.int) -> _c.int ---; | |
| toupper :: proc(x : _c.int) -> _c.int ---; | |
| tolower :: proc(x : _c.int) -> _c.int ---; | |
| crc32 :: proc(crc : Uint32, data : rawptr, len : uint) -> Uint32 ---; | |
| memset :: proc(dst : rawptr, c : _c.int, len : uint) -> rawptr ---; | |
| memcpy :: proc(dst : rawptr, src : rawptr, len : uint) -> rawptr ---; | |
| memmove :: proc(dst : rawptr, src : rawptr, len : uint) -> rawptr ---; | |
| memcmp :: proc(s1 : rawptr, s2 : rawptr, len : uint) -> _c.int ---; | |
| wcslen :: proc(wstr : ^_c.wchar_t) -> uint ---; | |
| wcslcpy :: proc(dst : ^_c.wchar_t, src : ^_c.wchar_t, maxlen : uint) -> uint ---; | |
| wcslcat :: proc(dst : ^_c.wchar_t, src : ^_c.wchar_t, maxlen : uint) -> uint ---; | |
| wcsdup :: proc(wstr : ^_c.wchar_t) -> ^_c.wchar_t ---; | |
| wcsstr :: proc(haystack : ^_c.wchar_t, needle : ^_c.wchar_t) -> ^_c.wchar_t ---; | |
| wcscmp :: proc(str1 : ^_c.wchar_t, str2 : ^_c.wchar_t) -> _c.int ---; | |
| wcsncmp :: proc(str1 : ^_c.wchar_t, str2 : ^_c.wchar_t, maxlen : uint) -> _c.int ---; | |
| wcscasecmp :: proc(str1 : ^_c.wchar_t, str2 : ^_c.wchar_t) -> _c.int ---; | |
| wcsncasecmp :: proc(str1 : ^_c.wchar_t, str2 : ^_c.wchar_t, len : uint) -> _c.int ---; | |
| strlen :: proc(str : cstring) -> uint ---; | |
| strlcpy :: proc(dst : cstring, src : cstring, maxlen : uint) -> uint ---; | |
| utf8strlcpy :: proc(dst : cstring, src : cstring, dst_bytes : uint) -> uint ---; | |
| strlcat :: proc(dst : cstring, src : cstring, maxlen : uint) -> uint ---; | |
| strdup :: proc(str : cstring) -> cstring ---; | |
| strrev :: proc(str : cstring) -> cstring ---; | |
| strupr :: proc(str : cstring) -> cstring ---; | |
| strlwr :: proc(str : cstring) -> cstring ---; | |
| strchr :: proc(str : cstring, c : _c.int) -> cstring ---; | |
| strrchr :: proc(str : cstring, c : _c.int) -> cstring ---; | |
| strstr :: proc(haystack : cstring, needle : cstring) -> cstring ---; | |
| strtokr :: proc(s1 : cstring, s2 : cstring, saveptr : ^cstring) -> cstring ---; | |
| utf8strlen :: proc(str : cstring) -> uint ---; | |
| itoa :: proc(value : _c.int, str : cstring, radix : _c.int) -> cstring ---; | |
| uitoa :: proc(value : _c.uint, str : cstring, radix : _c.int) -> cstring ---; | |
| ltoa :: proc(value : _c.long, str : cstring, radix : _c.int) -> cstring ---; | |
| ultoa :: proc(value : _c.ulong, str : cstring, radix : _c.int) -> cstring ---; | |
| lltoa :: proc(value : Sint64, str : cstring, radix : _c.int) -> cstring ---; | |
| ulltoa :: proc(value : Uint64, str : cstring, radix : _c.int) -> cstring ---; | |
| atoi :: proc(str : cstring) -> _c.int ---; | |
| atof :: proc(str : cstring) -> _c.double ---; | |
| strtol :: proc(str : cstring, endp : ^cstring, base : _c.int) -> _c.long ---; | |
| strtoul :: proc(str : cstring, endp : ^cstring, base : _c.int) -> _c.ulong ---; | |
| strtoll :: proc(str : cstring, endp : ^cstring, base : _c.int) -> Sint64 ---; | |
| strtoull :: proc(str : cstring, endp : ^cstring, base : _c.int) -> Uint64 ---; | |
| strtod :: proc(str : cstring, endp : ^cstring) -> _c.double ---; | |
| strcmp :: proc(str1 : cstring, str2 : cstring) -> _c.int ---; | |
| strncmp :: proc(str1 : cstring, str2 : cstring, maxlen : uint) -> _c.int ---; | |
| strcasecmp :: proc(str1 : cstring, str2 : cstring) -> _c.int ---; | |
| strncasecmp :: proc(str1 : cstring, str2 : cstring, len : uint) -> _c.int ---; | |
| sscanf :: proc(text : cstring, fmt : cstring, #c_vararg __args : ..any) -> _c.int ---; | |
| snprintf :: proc(text : cstring, maxlen : uint, fmt : cstring, #c_vararg __args : ..any) -> _c.int ---; | |
| acos :: proc(x : _c.double) -> _c.double ---; | |
| acosf :: proc(x : _c.float) -> _c.float ---; | |
| asin :: proc(x : _c.double) -> _c.double ---; | |
| asinf :: proc(x : _c.float) -> _c.float ---; | |
| atan :: proc(x : _c.double) -> _c.double ---; | |
| atanf :: proc(x : _c.float) -> _c.float ---; | |
| atan2 :: proc(x : _c.double, y : _c.double) -> _c.double ---; | |
| atan2f :: proc(x : _c.float, y : _c.float) -> _c.float ---; | |
| ceil :: proc(x : _c.double) -> _c.double ---; | |
| ceilf :: proc(x : _c.float) -> _c.float ---; | |
| copysign :: proc(x : _c.double, y : _c.double) -> _c.double ---; | |
| copysignf :: proc(x : _c.float, y : _c.float) -> _c.float ---; | |
| cos :: proc(x : _c.double) -> _c.double ---; | |
| cosf :: proc(x : _c.float) -> _c.float ---; | |
| exp :: proc(x : _c.double) -> _c.double ---; | |
| expf :: proc(x : _c.float) -> _c.float ---; | |
| fabs :: proc(x : _c.double) -> _c.double ---; | |
| fabsf :: proc(x : _c.float) -> _c.float ---; | |
| floor :: proc(x : _c.double) -> _c.double ---; | |
| floorf :: proc(x : _c.float) -> _c.float ---; | |
| trunc :: proc(x : _c.double) -> _c.double ---; | |
| truncf :: proc(x : _c.float) -> _c.float ---; | |
| fmod :: proc(x : _c.double, y : _c.double) -> _c.double ---; | |
| fmodf :: proc(x : _c.float, y : _c.float) -> _c.float ---; | |
| log :: proc(x : _c.double) -> _c.double ---; | |
| logf :: proc(x : _c.float) -> _c.float ---; | |
| log10 :: proc(x : _c.double) -> _c.double ---; | |
| log10f :: proc(x : _c.float) -> _c.float ---; | |
| pow :: proc(x : _c.double, y : _c.double) -> _c.double ---; | |
| powf :: proc(x : _c.float, y : _c.float) -> _c.float ---; | |
| scalbn :: proc(x : _c.double, n : _c.int) -> _c.double ---; | |
| scalbnf :: proc(x : _c.float, n : _c.int) -> _c.float ---; | |
| sin :: proc(x : _c.double) -> _c.double ---; | |
| sinf :: proc(x : _c.float) -> _c.float ---; | |
| sqrt :: proc(x : _c.double) -> _c.double ---; | |
| sqrtf :: proc(x : _c.float) -> _c.float ---; | |
| tan :: proc(x : _c.double) -> _c.double ---; | |
| tanf :: proc(x : _c.float) -> _c.float ---; | |
| iconv_open :: proc(tocode : cstring, fromcode : cstring) -> iconv_t ---; | |
| iconv_close :: proc(cd : iconv_t) -> _c.int ---; | |
| iconv :: proc(cd : iconv_t, inbuf : ^cstring, inbytesleft : ^uint, outbuf : ^cstring, outbytesleft : ^uint) -> uint ---; | |
| iconv_string :: proc(tocode : cstring, fromcode : cstring, inbuf : cstring, inbytesleft : uint) -> cstring ---; | |
| SensorGetDeviceName :: proc(device_index : _c.int) -> cstring ---; | |
| SensorOpen :: proc(device_index : _c.int) -> ^Sensor ---; | |
| SensorFromInstanceID :: proc(instance_id : SensorID) -> ^Sensor ---; | |
| SensorGetName :: proc(sensor : ^Sensor) -> cstring ---; | |
| LinuxSetThreadPriority :: proc(threadID : Sint64, priority : _c.int) -> _c.int ---; | |
| CreateRGBSurface :: proc(flags : Uint32, width : _c.int, height : _c.int, depth : _c.int, Rmask : Uint32, Gmask : Uint32, Bmask : Uint32, Amask : Uint32) -> ^Surface ---; | |
| CreateRGBSurfaceWithFormat :: proc(flags : Uint32, width : _c.int, height : _c.int, depth : _c.int, format : Uint32) -> ^Surface ---; | |
| CreateRGBSurfaceFrom :: proc(pixels : rawptr, width : _c.int, height : _c.int, depth : _c.int, pitch : _c.int, Rmask : Uint32, Gmask : Uint32, Bmask : Uint32, Amask : Uint32) -> ^Surface ---; | |
| CreateRGBSurfaceWithFormatFrom :: proc(pixels : rawptr, width : _c.int, height : _c.int, depth : _c.int, pitch : _c.int, format : Uint32) -> ^Surface ---; | |
| FreeSurface :: proc(surface : ^Surface) ---; | |
| SetSurfacePalette :: proc(surface : ^Surface, palette : ^Palette) -> _c.int ---; | |
| GetPerformanceFrequency :: proc() -> Uint64 ---; | |
| Delay :: proc(ms : Uint32) ---; | |
| AddTimer :: proc(interval : Uint32, callback : TimerCallback, param : rawptr) -> TimerID ---; | |
| RemoveTimer :: proc(id : TimerID) -> bool ---; | |
| GetNumTouchDevices :: proc() -> _c.int ---; | |
| GetTouchDevice :: proc(index : _c.int) -> TouchID ---; | |
| GetTouchDeviceType :: proc(touchID : TouchID) -> TouchDeviceType ---; | |
| GetNumTouchFingers :: proc(touchID : TouchID) -> _c.int ---; | |
| GetVersion :: proc(ver : ^version) ---; | |
| GetRevisionNumber :: proc() -> _c.int ---; | |
| GetTouchFinger :: proc(touchID : TouchID, index : _c.int) -> ^Finger ---; | |
| GetRevision :: proc() -> cstring ---; | |
| LockSurface :: proc(surface : ^Surface) -> _c.int ---; | |
| UnlockSurface :: proc(surface : ^Surface) ---; | |
| CreateThread :: proc(fn : ThreadFunction, name : cstring, data : rawptr) -> ^Thread ---; | |
| LoadBMP_RW :: proc(src : ^RWops, freesrc : _c.int) -> ^Surface ---; | |
| SaveBMP_RW :: proc(surface : ^Surface, dst : ^RWops, freedst : _c.int) -> _c.int ---; | |
| CreateThreadWithStackSize :: proc(fn : ThreadFunction, name : cstring, stacksize : uint, data : rawptr) -> ^Thread ---; | |
| GetThreadName :: proc(thread : ^Thread) -> cstring ---; | |
| SetSurfaceRLE :: proc(surface : ^Surface, flag : _c.int) -> _c.int ---; | |
| ThreadID :: proc() -> threadID ---; | |
| GetThreadID :: proc(thread : ^Thread) -> threadID ---; | |
| HasSurfaceRLE :: proc(surface : ^Surface) -> bool ---; | |
| SetThreadPriority :: proc(priority : ThreadPriority) -> _c.int ---; | |
| SetColorKey :: proc(surface : ^Surface, flag : _c.int, key : Uint32) -> _c.int ---; | |
| GetNumVideoDrivers :: proc() -> _c.int ---; | |
| HasColorKey :: proc(surface : ^Surface) -> bool ---; | |
| WaitThread :: proc(thread : ^Thread, status : ^_c.int) ---; | |
| GetVideoDriver :: proc(index : _c.int) -> cstring ---; | |
| GetColorKey :: proc(surface : ^Surface, key : ^Uint32) -> _c.int ---; | |
| VideoInit :: proc(driver_name : cstring) -> _c.int ---; | |
| SetSurfaceColorMod :: proc(surface : ^Surface, r : Uint8, g : Uint8, b : Uint8) -> _c.int ---; | |
| DetachThread :: proc(thread : ^Thread) ---; | |
| IsTablet :: proc() -> bool ---; | |
| OnApplicationWillTerminate :: proc() ---; | |
| OnApplicationDidReceiveMemoryWarning :: proc() ---; | |
| VideoQuit :: proc() ---; | |
| GetSurfaceColorMod :: proc(surface : ^Surface, r : ^Uint8, g : ^Uint8, b : ^Uint8) -> _c.int ---; | |
| OnApplicationWillResignActive :: proc() ---; | |
| OnApplicationDidEnterBackground :: proc() ---; | |
| OnApplicationWillEnterForeground :: proc() ---; | |
| OnApplicationDidBecomeActive :: proc() ---; | |
| GetNumVideoDisplays :: proc() -> _c.int ---; | |
| GetCurrentVideoDriver :: proc() -> cstring ---; | |
| SetSurfaceAlphaMod :: proc(surface : ^Surface, alpha : Uint8) -> _c.int ---; | |
| TLSCreate :: proc() -> TLSID ---; | |
| GetDisplayName :: proc(displayIndex : _c.int) -> cstring ---; | |
| GetSurfaceAlphaMod :: proc(surface : ^Surface, alpha : ^Uint8) -> _c.int ---; | |
| TLSGet :: proc(id : TLSID) -> rawptr ---; | |
| GetDisplayBounds :: proc(displayIndex : _c.int, rect : ^Rect) -> _c.int ---; | |
| SetSurfaceBlendMode :: proc(surface : ^Surface, blendMode : BlendMode) -> _c.int ---; | |
| TLSSet :: proc(id : TLSID, value : rawptr, destructor : proc(rawptr)) -> _c.int ---; | |
| GetDisplayUsableBounds :: proc(displayIndex : _c.int, rect : ^Rect) -> _c.int ---; | |
| GetSurfaceBlendMode :: proc(surface : ^Surface, blendMode : ^BlendMode) -> _c.int ---; | |
| GetDisplayDPI :: proc(displayIndex : _c.int, ddpi : ^_c.float, hdpi : ^_c.float, vdpi : ^_c.float) -> _c.int ---; | |
| GetDisplayOrientation :: proc(displayIndex : _c.int) -> DisplayOrientation ---; | |
| SetClipRect :: proc(surface : ^Surface, rect : ^Rect) -> bool ---; | |
| GetNumDisplayModes :: proc(displayIndex : _c.int) -> _c.int ---; | |
| GetClipRect :: proc(surface : ^Surface, rect : ^Rect) ---; | |
| DuplicateSurface :: proc(surface : ^Surface) -> ^Surface ---; | |
| ConvertSurface :: proc(src : ^Surface, fmt : ^PixelFormat, flags : Uint32) -> ^Surface ---; | |
| ConvertSurfaceFormat :: proc(src : ^Surface, pixel_format : Uint32, flags : Uint32) -> ^Surface ---; | |
| GetDisplayMode :: proc(displayIndex : _c.int, modeIndex : _c.int, mode : ^DisplayMode) -> _c.int ---; | |
| GetDesktopDisplayMode :: proc(displayIndex : _c.int, mode : ^DisplayMode) -> _c.int ---; | |
| GetCurrentDisplayMode :: proc(displayIndex : _c.int, mode : ^DisplayMode) -> _c.int ---; | |
| ConvertPixels :: proc(width : _c.int, height : _c.int, src_format : Uint32, src : rawptr, src_pitch : _c.int, dst_format : Uint32, dst : rawptr, dst_pitch : _c.int) -> _c.int ---; | |
| FillRect :: proc(dst : ^Surface, rect : ^Rect, color : Uint32) -> _c.int ---; | |
| GetClosestDisplayMode :: proc(displayIndex : _c.int, mode : ^DisplayMode, closest : ^DisplayMode) -> ^DisplayMode ---; | |
| FillRects :: proc(dst : ^Surface, rects : ^Rect, count : _c.int, color : Uint32) -> _c.int ---; | |
| GetWindowDisplayIndex :: proc(window : ^Window) -> _c.int ---; | |
| SetWindowDisplayMode :: proc(window : ^Window, mode : ^DisplayMode) -> _c.int ---; | |
| GetWindowDisplayMode :: proc(window : ^Window, mode : ^DisplayMode) -> _c.int ---; | |
| GetWindowPixelFormat :: proc(window : ^Window) -> Uint32 ---; | |
| UpperBlit :: proc(src : ^Surface, srcrect : ^Rect, dst : ^Surface, dstrect : ^Rect) -> _c.int ---; | |
| LowerBlit :: proc(src : ^Surface, srcrect : ^Rect, dst : ^Surface, dstrect : ^Rect) -> _c.int ---; | |
| SoftStretch :: proc(src : ^Surface, srcrect : ^Rect, dst : ^Surface, dstrect : ^Rect) -> _c.int ---; | |
| CreateWindow :: proc(title : cstring, x : _c.int, y : _c.int, w : _c.int, h : _c.int, flags : Uint32) -> ^Window ---; | |
| UpperBlitScaled :: proc(src : ^Surface, srcrect : ^Rect, dst : ^Surface, dstrect : ^Rect) -> _c.int ---; | |
| LowerBlitScaled :: proc(src : ^Surface, srcrect : ^Rect, dst : ^Surface, dstrect : ^Rect) -> _c.int ---; | |
| SetYUVConversionMode :: proc(mode : YUV_CONVERSION_MODE) ---; | |
| GetYUVConversionMode :: proc() -> YUV_CONVERSION_MODE ---; | |
| GetWindowID :: proc(window : ^Window) -> Uint32 ---; | |
| GetWindowFlags :: proc(window : ^Window) -> Uint32 ---; | |
| CreateWindowFrom :: proc(data : rawptr) -> ^Window ---; | |
| GetWindowFromID :: proc(id : Uint32) -> ^Window ---; | |
| GetYUVConversionModeForResolution :: proc(width : _c.int, height : _c.int) -> YUV_CONVERSION_MODE ---; | |
| SetWindowTitle :: proc(window : ^Window, title : cstring) ---; | |
| GetWindowTitle :: proc(window : ^Window) -> cstring ---; | |
| SetWindowIcon :: proc(window : ^Window, icon : ^Surface) ---; | |
| SetWindowPosition :: proc(window : ^Window, x : _c.int, y : _c.int) ---; | |
| GetWindowPosition :: proc(window : ^Window, x : ^_c.int, y : ^_c.int) ---; | |
| SetWindowSize :: proc(window : ^Window, w : _c.int, h : _c.int) ---; | |
| GetWindowSize :: proc(window : ^Window, w : ^_c.int, h : ^_c.int) ---; | |
| GetWindowBordersSize :: proc(window : ^Window, top : ^_c.int, left : ^_c.int, bottom : ^_c.int, right : ^_c.int) -> _c.int ---; | |
| SetWindowMinimumSize :: proc(window : ^Window, min_w : _c.int, min_h : _c.int) ---; | |
| GetWindowMinimumSize :: proc(window : ^Window, w : ^_c.int, h : ^_c.int) ---; | |
| SetWindowMaximumSize :: proc(window : ^Window, max_w : _c.int, max_h : _c.int) ---; | |
| GetWindowMaximumSize :: proc(window : ^Window, w : ^_c.int, h : ^_c.int) ---; | |
| SetWindowBordered :: proc(window : ^Window, bordered : bool) ---; | |
| SetWindowResizable :: proc(window : ^Window, resizable : bool) ---; | |
| ShowWindow :: proc(window : ^Window) ---; | |
| HideWindow :: proc(window : ^Window) ---; | |
| RaiseWindow :: proc(window : ^Window) ---; | |
| MaximizeWindow :: proc(window : ^Window) ---; | |
| MinimizeWindow :: proc(window : ^Window) ---; | |
| RestoreWindow :: proc(window : ^Window) ---; | |
| SetWindowFullscreen :: proc(window : ^Window, flags : Uint32) -> _c.int ---; | |
| UpdateWindowSurface :: proc(window : ^Window) -> _c.int ---; | |
| UpdateWindowSurfaceRects :: proc(window : ^Window, rects : ^Rect, numrects : _c.int) -> _c.int ---; | |
| SetWindowGrab :: proc(window : ^Window, grabbed : bool) ---; | |
| GetWindowGrab :: proc(window : ^Window) -> bool ---; | |
| SetWindowBrightness :: proc(window : ^Window, brightness : _c.float) -> _c.int ---; | |
| GetWindowBrightness :: proc(window : ^Window) -> _c.float ---; | |
| SetWindowOpacity :: proc(window : ^Window, opacity : _c.float) -> _c.int ---; | |
| GetWindowOpacity :: proc(window : ^Window, out_opacity : ^_c.float) -> _c.int ---; | |
| SetWindowModalFor :: proc(modal_window : ^Window, parent_window : ^Window) -> _c.int ---; | |
| SetWindowInputFocus :: proc(window : ^Window) -> _c.int ---; | |
| SetWindowGammaRamp :: proc(window : ^Window, red : ^Uint16, green : ^Uint16, blue : ^Uint16) -> _c.int ---; | |
| GetWindowGammaRamp :: proc(window : ^Window, red : ^Uint16, green : ^Uint16, blue : ^Uint16) -> _c.int ---; | |
| SetWindowHitTest :: proc(window : ^Window, callback : HitTest, callback_data : rawptr) -> _c.int ---; | |
| DestroyWindow :: proc(window : ^Window) ---; | |
| IsScreenSaverEnabled :: proc() -> bool ---; | |
| EnableScreenSaver :: proc() ---; | |
| DisableScreenSaver :: proc() ---; | |
| GL_LoadLibrary :: proc(path : cstring) -> _c.int ---; | |
| GL_UnloadLibrary :: proc() ---; | |
| GL_ExtensionSupported :: proc(extension : cstring) -> bool ---; | |
| GL_ResetAttributes :: proc() ---; | |
| GL_SetAttribute :: proc(attr : GLattr, value : _c.int) -> _c.int ---; | |
| GL_GetAttribute :: proc(attr : GLattr, value : ^_c.int) -> _c.int ---; | |
| GL_CreateContext :: proc(window : ^Window) -> GLContext ---; | |
| GL_MakeCurrent :: proc(window : ^Window, context_ : GLContext) -> _c.int ---; | |
| GL_GetCurrentContext :: proc() -> GLContext ---; | |
| GL_GetDrawableSize :: proc(window : ^Window, w : ^_c.int, h : ^_c.int) ---; | |
| GL_SetSwapInterval :: proc(interval : _c.int) -> _c.int ---; | |
| GL_GetSwapInterval :: proc() -> _c.int ---; | |
| GL_SwapWindow :: proc(window : ^Window) ---; | |
| GL_DeleteContext :: proc(context_ : GLContext) ---; | |
| SetWindowData :: proc(window : ^Window, name : cstring, userdata : rawptr) -> rawptr ---; | |
| GetWindowData :: proc(window : ^Window, name : cstring) -> rawptr ---; | |
| GetWindowSurface :: proc(window : ^Window) -> ^Surface ---; | |
| GL_GetProcAddress :: proc(proc_ : cstring) -> rawptr ---; | |
| GL_GetCurrentWindow :: proc() -> ^Window ---; | |
| GetGrabbedWindow :: proc() -> ^Window ---; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment