Module: SDL

Extended by:
FFI::Library
Defined in:
lib/sdl3.rb,
lib/sdl3_gpu.rb,
lib/sdl3_log.rb,
lib/sdl3_pen.rb,
lib/sdl3_ttf.rb,
lib/sdl3_bits.rb,
lib/sdl3_guid.rb,
lib/sdl3_init.rb,
lib/sdl3_misc.rb,
lib/sdl3_rect.rb,
lib/sdl3_time.rb,
lib/sdl3_tray.rb,
lib/sdl3_audio.rb,
lib/sdl3_error.rb,
lib/sdl3_hints.rb,
lib/sdl3_image.rb,
lib/sdl3_mixer.rb,
lib/sdl3_mouse.rb,
lib/sdl3_mutex.rb,
lib/sdl3_power.rb,
lib/sdl3_sound.rb,
lib/sdl3_timer.rb,
lib/sdl3_touch.rb,
lib/sdl3_video.rb,
lib/sdl3_assert.rb,
lib/sdl3_atomic.rb,
lib/sdl3_camera.rb,
lib/sdl3_dialog.rb,
lib/sdl3_endian.rb,
lib/sdl3_events.rb,
lib/sdl3_haptic.rb,
lib/sdl3_hidapi.rb,
lib/sdl3_loadso.rb,
lib/sdl3_locale.rb,
lib/sdl3_pixels.rb,
lib/sdl3_render.rb,
lib/sdl3_sensor.rb,
lib/sdl3_stdinc.rb,
lib/sdl3_thread.rb,
lib/sdl3_vulkan.rb,
lib/sdl3_asyncio.rb,
lib/sdl3_cpuinfo.rb,
lib/sdl3_gamepad.rb,
lib/sdl3_keycode.rb,
lib/sdl3_process.rb,
lib/sdl3_storage.rb,
lib/sdl3_surface.rb,
lib/sdl3_version.rb,
lib/sdl3_iostream.rb,
lib/sdl3_joystick.rb,
lib/sdl3_keyboard.rb,
lib/sdl3_platform.rb,
lib/sdl3_revision.rb,
lib/sdl3_scancode.rb,
lib/sdl3_blendmode.rb,
lib/sdl3_clipboard.rb,
lib/sdl3_filesystem.rb,
lib/sdl3_messagebox.rb,
lib/sdl3_properties.rb

Defined Under Namespace

Classes: Alignment_test, AssertData, AsyncIOOutcome, AtomicInt, AtomicU32, AudioDeviceEvent, AudioSpec, CameraDeviceEvent, CameraSpec, ClipboardEvent, Color, CommonEvent, CursorFrameInfo, DateTime, DialogFileFilter, DisplayEvent, DisplayMode, DropEvent, Event, FColor, FPoint, FRect, Finger, GPUBlitInfo, GPUBlitRegion, GPUBufferBinding, GPUBufferCreateInfo, GPUBufferLocation, GPUBufferRegion, GPUColorTargetBlendState, GPUColorTargetDescription, GPUColorTargetInfo, GPUComputePipelineCreateInfo, GPUDepthStencilState, GPUDepthStencilTargetInfo, GPUGraphicsPipelineCreateInfo, GPUGraphicsPipelineTargetInfo, GPUIndexedIndirectDrawCommand, GPUIndirectDispatchCommand, GPUIndirectDrawCommand, GPUMultisampleState, GPURasterizerState, GPURenderStateCreateInfo, GPUSamplerCreateInfo, GPUShaderCreateInfo, GPUStencilOpState, GPUStorageBufferReadWriteBinding, GPUStorageTextureReadWriteBinding, GPUTextureCreateInfo, GPUTextureLocation, GPUTextureRegion, GPUTextureSamplerBinding, GPUTextureTransferInfo, GPUTransferBufferCreateInfo, GPUTransferBufferLocation, GPUVertexAttribute, GPUVertexBufferDescription, GPUVertexInputState, GPUViewport, GPUVulkanOptions, GUID, GamepadAxisEvent, GamepadBinding, GamepadBinding_input, GamepadBinding_output, GamepadBinding_value_axis, GamepadBinding_value_hat, GamepadButtonEvent, GamepadDeviceEvent, GamepadSensorEvent, GamepadTouchpadEvent, HapticCondition, HapticConstant, HapticCustom, HapticDirection, HapticEffect, HapticLeftRight, HapticPeriodic, HapticRamp, Hid_device_info, IMG_Animation, IOStreamInterface, InitState, JoyAxisEvent, JoyBallEvent, JoyBatteryEvent, JoyButtonEvent, JoyDeviceEvent, JoyHatEvent, KeyboardDeviceEvent, KeyboardEvent, Locale, MIX_Point3D, MIX_StereoGains, MessageBoxButtonData, MessageBoxColor, MessageBoxColorScheme, MessageBoxData, MouseButtonEvent, MouseDeviceEvent, MouseMotionEvent, MouseWheelEvent, Palette, PathInfo, PenAxisEvent, PenButtonEvent, PenMotionEvent, PenProximityEvent, PenTouchEvent, PinchFingerEvent, PixelFormatDetails, Point, QuitEvent, Rect, RenderEvent, SensorEvent, Sound_DecoderInfo, Sound_Sample, StorageInterface, Surface, TTF_GPUAtlasDrawSequence, TTF_SubString, TTF_Text, TextEditingCandidatesEvent, TextEditingEvent, TextInputEvent, Texture, TouchFingerEvent, UserEvent, Vertex, VirtualJoystickDesc, VirtualJoystickSensorDesc, VirtualJoystickTouchpadDesc, WindowEvent

Constant Summary collapse

GPU_TEXTUREUSAGE_SAMPLER =

Define/Macro

1 << 0
GPU_TEXTUREUSAGE_COLOR_TARGET =
1 << 1
GPU_TEXTUREUSAGE_DEPTH_STENCIL_TARGET =
1 << 2
GPU_TEXTUREUSAGE_GRAPHICS_STORAGE_READ =
1 << 3
GPU_TEXTUREUSAGE_COMPUTE_STORAGE_READ =
1 << 4
GPU_TEXTUREUSAGE_COMPUTE_STORAGE_WRITE =
1 << 5
GPU_TEXTUREUSAGE_COMPUTE_STORAGE_SIMULTANEOUS_READ_WRITE =
1 << 6
GPU_BUFFERUSAGE_VERTEX =
1 << 0
GPU_BUFFERUSAGE_INDEX =
1 << 1
GPU_BUFFERUSAGE_INDIRECT =
1 << 2
GPU_BUFFERUSAGE_GRAPHICS_STORAGE_READ =
1 << 3
GPU_BUFFERUSAGE_COMPUTE_STORAGE_READ =
1 << 4
GPU_BUFFERUSAGE_COMPUTE_STORAGE_WRITE =
1 << 5
GPU_SHADERFORMAT_INVALID =
0
GPU_SHADERFORMAT_PRIVATE =
1 << 0
GPU_SHADERFORMAT_SPIRV =
1 << 1
GPU_SHADERFORMAT_DXBC =
1 << 2
GPU_SHADERFORMAT_DXIL =
1 << 3
GPU_SHADERFORMAT_MSL =
1 << 4
GPU_SHADERFORMAT_METALLIB =
1 << 5
GPU_COLORCOMPONENT_R =
1 << 0
GPU_COLORCOMPONENT_G =
1 << 1
GPU_COLORCOMPONENT_B =
1 << 2
GPU_COLORCOMPONENT_A =
1 << 3
PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN =
"SDL.gpu.device.create.debugmode"
PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN =
"SDL.gpu.device.create.preferlowpower"
PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN =
"SDL.gpu.device.create.verbose"
PROP_GPU_DEVICE_CREATE_NAME_STRING =
"SDL.gpu.device.create.name"
PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN =
"SDL.gpu.device.create.feature.clip_distance"
PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN =
"SDL.gpu.device.create.feature.depth_clamping"
PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN =
"SDL.gpu.device.create.feature.indirect_draw_first_instance"
PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN =
"SDL.gpu.device.create.feature.anisotropy"
PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN =
"SDL.gpu.device.create.shaders.private"
PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN =
"SDL.gpu.device.create.shaders.spirv"
PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN =
"SDL.gpu.device.create.shaders.dxbc"
PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN =
"SDL.gpu.device.create.shaders.dxil"
PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN =
"SDL.gpu.device.create.shaders.msl"
PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN =
"SDL.gpu.device.create.shaders.metallib"
PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN =
"SDL.gpu.device.create.d3d12.allowtier1resourcebinding"
PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING =
"SDL.gpu.device.create.d3d12.semantic"
PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_VERSION_NUMBER =
"SDL.gpu.device.create.d3d12.agility_sdk_version"
PROP_GPU_DEVICE_CREATE_D3D12_AGILITY_SDK_PATH_STRING =
"SDL.gpu.device.create.d3d12.agility_sdk_path"
PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN =
"SDL.gpu.device.create.vulkan.requirehardwareacceleration"
PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER =
"SDL.gpu.device.create.vulkan.options"
PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN =
"SDL.gpu.device.create.metal.allowmacfamily1"
PROP_GPU_DEVICE_NAME_STRING =
"SDL.gpu.device.name"
PROP_GPU_DEVICE_DRIVER_NAME_STRING =
"SDL.gpu.device.driver_name"
PROP_GPU_DEVICE_DRIVER_VERSION_STRING =
"SDL.gpu.device.driver_version"
PROP_GPU_DEVICE_DRIVER_INFO_STRING =
"SDL.gpu.device.driver_info"
PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING =
"SDL.gpu.computepipeline.create.name"
PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING =
"SDL.gpu.graphicspipeline.create.name"
PROP_GPU_SAMPLER_CREATE_NAME_STRING =
"SDL.gpu.sampler.create.name"
PROP_GPU_SHADER_CREATE_NAME_STRING =
"SDL.gpu.shader.create.name"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_R_FLOAT =
"SDL.gpu.texture.create.d3d12.clear.r"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_G_FLOAT =
"SDL.gpu.texture.create.d3d12.clear.g"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_B_FLOAT =
"SDL.gpu.texture.create.d3d12.clear.b"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_A_FLOAT =
"SDL.gpu.texture.create.d3d12.clear.a"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_DEPTH_FLOAT =
"SDL.gpu.texture.create.d3d12.clear.depth"
PROP_GPU_TEXTURE_CREATE_D3D12_CLEAR_STENCIL_NUMBER =
"SDL.gpu.texture.create.d3d12.clear.stencil"
PROP_GPU_TEXTURE_CREATE_NAME_STRING =
"SDL.gpu.texture.create.name"
PROP_GPU_BUFFER_CREATE_NAME_STRING =
"SDL.gpu.buffer.create.name"
PROP_GPU_TRANSFERBUFFER_CREATE_NAME_STRING =
"SDL.gpu.transferbuffer.create.name"
GPU_PRIMITIVETYPE_TRIANGLELIST =

Enum

0
GPU_PRIMITIVETYPE_TRIANGLESTRIP =
1
GPU_PRIMITIVETYPE_LINELIST =
2
GPU_PRIMITIVETYPE_LINESTRIP =
3
GPU_PRIMITIVETYPE_POINTLIST =
4
GPU_LOADOP_LOAD =
0
GPU_LOADOP_CLEAR =
1
GPU_LOADOP_DONT_CARE =
2
GPU_STOREOP_STORE =
0
GPU_STOREOP_DONT_CARE =
1
GPU_STOREOP_RESOLVE =
2
GPU_STOREOP_RESOLVE_AND_STORE =
3
GPU_INDEXELEMENTSIZE_16BIT =
0
GPU_INDEXELEMENTSIZE_32BIT =
1
GPU_TEXTUREFORMAT_INVALID =
0
GPU_TEXTUREFORMAT_A8_UNORM =
1
GPU_TEXTUREFORMAT_R8_UNORM =
2
GPU_TEXTUREFORMAT_R8G8_UNORM =
3
GPU_TEXTUREFORMAT_R8G8B8A8_UNORM =
4
GPU_TEXTUREFORMAT_R16_UNORM =
5
GPU_TEXTUREFORMAT_R16G16_UNORM =
6
GPU_TEXTUREFORMAT_R16G16B16A16_UNORM =
7
GPU_TEXTUREFORMAT_R10G10B10A2_UNORM =
8
GPU_TEXTUREFORMAT_B5G6R5_UNORM =
9
GPU_TEXTUREFORMAT_B5G5R5A1_UNORM =
10
GPU_TEXTUREFORMAT_B4G4R4A4_UNORM =
11
GPU_TEXTUREFORMAT_B8G8R8A8_UNORM =
12
GPU_TEXTUREFORMAT_BC1_RGBA_UNORM =
13
GPU_TEXTUREFORMAT_BC2_RGBA_UNORM =
14
GPU_TEXTUREFORMAT_BC3_RGBA_UNORM =
15
GPU_TEXTUREFORMAT_BC4_R_UNORM =
16
GPU_TEXTUREFORMAT_BC5_RG_UNORM =
17
GPU_TEXTUREFORMAT_BC7_RGBA_UNORM =
18
GPU_TEXTUREFORMAT_BC6H_RGB_FLOAT =
19
GPU_TEXTUREFORMAT_BC6H_RGB_UFLOAT =
20
GPU_TEXTUREFORMAT_R8_SNORM =
21
GPU_TEXTUREFORMAT_R8G8_SNORM =
22
GPU_TEXTUREFORMAT_R8G8B8A8_SNORM =
23
GPU_TEXTUREFORMAT_R16_SNORM =
24
GPU_TEXTUREFORMAT_R16G16_SNORM =
25
GPU_TEXTUREFORMAT_R16G16B16A16_SNORM =
26
GPU_TEXTUREFORMAT_R16_FLOAT =
27
GPU_TEXTUREFORMAT_R16G16_FLOAT =
28
GPU_TEXTUREFORMAT_R16G16B16A16_FLOAT =
29
GPU_TEXTUREFORMAT_R32_FLOAT =
30
GPU_TEXTUREFORMAT_R32G32_FLOAT =
31
GPU_TEXTUREFORMAT_R32G32B32A32_FLOAT =
32
GPU_TEXTUREFORMAT_R11G11B10_UFLOAT =
33
GPU_TEXTUREFORMAT_R8_UINT =
34
GPU_TEXTUREFORMAT_R8G8_UINT =
35
GPU_TEXTUREFORMAT_R8G8B8A8_UINT =
36
GPU_TEXTUREFORMAT_R16_UINT =
37
GPU_TEXTUREFORMAT_R16G16_UINT =
38
GPU_TEXTUREFORMAT_R16G16B16A16_UINT =
39
GPU_TEXTUREFORMAT_R32_UINT =
40
GPU_TEXTUREFORMAT_R32G32_UINT =
41
GPU_TEXTUREFORMAT_R32G32B32A32_UINT =
42
GPU_TEXTUREFORMAT_R8_INT =
43
GPU_TEXTUREFORMAT_R8G8_INT =
44
GPU_TEXTUREFORMAT_R8G8B8A8_INT =
45
GPU_TEXTUREFORMAT_R16_INT =
46
GPU_TEXTUREFORMAT_R16G16_INT =
47
GPU_TEXTUREFORMAT_R16G16B16A16_INT =
48
GPU_TEXTUREFORMAT_R32_INT =
49
GPU_TEXTUREFORMAT_R32G32_INT =
50
GPU_TEXTUREFORMAT_R32G32B32A32_INT =
51
GPU_TEXTUREFORMAT_R8G8B8A8_UNORM_SRGB =
52
GPU_TEXTUREFORMAT_B8G8R8A8_UNORM_SRGB =
53
GPU_TEXTUREFORMAT_BC1_RGBA_UNORM_SRGB =
54
GPU_TEXTUREFORMAT_BC2_RGBA_UNORM_SRGB =
55
GPU_TEXTUREFORMAT_BC3_RGBA_UNORM_SRGB =
56
GPU_TEXTUREFORMAT_BC7_RGBA_UNORM_SRGB =
57
GPU_TEXTUREFORMAT_D16_UNORM =
58
GPU_TEXTUREFORMAT_D24_UNORM =
59
GPU_TEXTUREFORMAT_D32_FLOAT =
60
GPU_TEXTUREFORMAT_D24_UNORM_S8_UINT =
61
GPU_TEXTUREFORMAT_D32_FLOAT_S8_UINT =
62
GPU_TEXTUREFORMAT_ASTC_4x4_UNORM =
63
GPU_TEXTUREFORMAT_ASTC_5x4_UNORM =
64
GPU_TEXTUREFORMAT_ASTC_5x5_UNORM =
65
GPU_TEXTUREFORMAT_ASTC_6x5_UNORM =
66
GPU_TEXTUREFORMAT_ASTC_6x6_UNORM =
67
GPU_TEXTUREFORMAT_ASTC_8x5_UNORM =
68
GPU_TEXTUREFORMAT_ASTC_8x6_UNORM =
69
GPU_TEXTUREFORMAT_ASTC_8x8_UNORM =
70
GPU_TEXTUREFORMAT_ASTC_10x5_UNORM =
71
GPU_TEXTUREFORMAT_ASTC_10x6_UNORM =
72
GPU_TEXTUREFORMAT_ASTC_10x8_UNORM =
73
GPU_TEXTUREFORMAT_ASTC_10x10_UNORM =
74
GPU_TEXTUREFORMAT_ASTC_12x10_UNORM =
75
GPU_TEXTUREFORMAT_ASTC_12x12_UNORM =
76
GPU_TEXTUREFORMAT_ASTC_4x4_UNORM_SRGB =
77
GPU_TEXTUREFORMAT_ASTC_5x4_UNORM_SRGB =
78
GPU_TEXTUREFORMAT_ASTC_5x5_UNORM_SRGB =
79
GPU_TEXTUREFORMAT_ASTC_6x5_UNORM_SRGB =
80
GPU_TEXTUREFORMAT_ASTC_6x6_UNORM_SRGB =
81
GPU_TEXTUREFORMAT_ASTC_8x5_UNORM_SRGB =
82
GPU_TEXTUREFORMAT_ASTC_8x6_UNORM_SRGB =
83
GPU_TEXTUREFORMAT_ASTC_8x8_UNORM_SRGB =
84
GPU_TEXTUREFORMAT_ASTC_10x5_UNORM_SRGB =
85
GPU_TEXTUREFORMAT_ASTC_10x6_UNORM_SRGB =
86
GPU_TEXTUREFORMAT_ASTC_10x8_UNORM_SRGB =
87
GPU_TEXTUREFORMAT_ASTC_10x10_UNORM_SRGB =
88
GPU_TEXTUREFORMAT_ASTC_12x10_UNORM_SRGB =
89
GPU_TEXTUREFORMAT_ASTC_12x12_UNORM_SRGB =
90
GPU_TEXTUREFORMAT_ASTC_4x4_FLOAT =
91
GPU_TEXTUREFORMAT_ASTC_5x4_FLOAT =
92
GPU_TEXTUREFORMAT_ASTC_5x5_FLOAT =
93
GPU_TEXTUREFORMAT_ASTC_6x5_FLOAT =
94
GPU_TEXTUREFORMAT_ASTC_6x6_FLOAT =
95
GPU_TEXTUREFORMAT_ASTC_8x5_FLOAT =
96
GPU_TEXTUREFORMAT_ASTC_8x6_FLOAT =
97
GPU_TEXTUREFORMAT_ASTC_8x8_FLOAT =
98
GPU_TEXTUREFORMAT_ASTC_10x5_FLOAT =
99
GPU_TEXTUREFORMAT_ASTC_10x6_FLOAT =
100
GPU_TEXTUREFORMAT_ASTC_10x8_FLOAT =
101
GPU_TEXTUREFORMAT_ASTC_10x10_FLOAT =
102
GPU_TEXTUREFORMAT_ASTC_12x10_FLOAT =
103
GPU_TEXTUREFORMAT_ASTC_12x12_FLOAT =
104
GPU_TEXTURETYPE_2D =
0
GPU_TEXTURETYPE_2D_ARRAY =
1
GPU_TEXTURETYPE_3D =
2
GPU_TEXTURETYPE_CUBE =
3
GPU_TEXTURETYPE_CUBE_ARRAY =
4
GPU_SAMPLECOUNT_1 =
0
GPU_SAMPLECOUNT_2 =
1
GPU_SAMPLECOUNT_4 =
2
GPU_SAMPLECOUNT_8 =
3
GPU_CUBEMAPFACE_POSITIVEX =
0
GPU_CUBEMAPFACE_NEGATIVEX =
1
GPU_CUBEMAPFACE_POSITIVEY =
2
GPU_CUBEMAPFACE_NEGATIVEY =
3
GPU_CUBEMAPFACE_POSITIVEZ =
4
GPU_CUBEMAPFACE_NEGATIVEZ =
5
GPU_TRANSFERBUFFERUSAGE_UPLOAD =
0
GPU_TRANSFERBUFFERUSAGE_DOWNLOAD =
1
GPU_SHADERSTAGE_VERTEX =
0
GPU_SHADERSTAGE_FRAGMENT =
1
GPU_VERTEXELEMENTFORMAT_INVALID =
0
GPU_VERTEXELEMENTFORMAT_INT =
1
GPU_VERTEXELEMENTFORMAT_INT2 =
2
GPU_VERTEXELEMENTFORMAT_INT3 =
3
GPU_VERTEXELEMENTFORMAT_INT4 =
4
GPU_VERTEXELEMENTFORMAT_UINT =
5
GPU_VERTEXELEMENTFORMAT_UINT2 =
6
GPU_VERTEXELEMENTFORMAT_UINT3 =
7
GPU_VERTEXELEMENTFORMAT_UINT4 =
8
GPU_VERTEXELEMENTFORMAT_FLOAT =
9
GPU_VERTEXELEMENTFORMAT_FLOAT2 =
10
GPU_VERTEXELEMENTFORMAT_FLOAT3 =
11
GPU_VERTEXELEMENTFORMAT_FLOAT4 =
12
GPU_VERTEXELEMENTFORMAT_BYTE2 =
13
GPU_VERTEXELEMENTFORMAT_BYTE4 =
14
GPU_VERTEXELEMENTFORMAT_UBYTE2 =
15
GPU_VERTEXELEMENTFORMAT_UBYTE4 =
16
GPU_VERTEXELEMENTFORMAT_BYTE2_NORM =
17
GPU_VERTEXELEMENTFORMAT_BYTE4_NORM =
18
GPU_VERTEXELEMENTFORMAT_UBYTE2_NORM =
19
GPU_VERTEXELEMENTFORMAT_UBYTE4_NORM =
20
GPU_VERTEXELEMENTFORMAT_SHORT2 =
21
GPU_VERTEXELEMENTFORMAT_SHORT4 =
22
GPU_VERTEXELEMENTFORMAT_USHORT2 =
23
GPU_VERTEXELEMENTFORMAT_USHORT4 =
24
GPU_VERTEXELEMENTFORMAT_SHORT2_NORM =
25
GPU_VERTEXELEMENTFORMAT_SHORT4_NORM =
26
GPU_VERTEXELEMENTFORMAT_USHORT2_NORM =
27
GPU_VERTEXELEMENTFORMAT_USHORT4_NORM =
28
GPU_VERTEXELEMENTFORMAT_HALF2 =
29
GPU_VERTEXELEMENTFORMAT_HALF4 =
30
GPU_VERTEXINPUTRATE_VERTEX =
0
GPU_VERTEXINPUTRATE_INSTANCE =
1
GPU_FILLMODE_FILL =
0
GPU_FILLMODE_LINE =
1
GPU_CULLMODE_NONE =
0
GPU_CULLMODE_FRONT =
1
GPU_CULLMODE_BACK =
2
GPU_FRONTFACE_COUNTER_CLOCKWISE =
0
GPU_FRONTFACE_CLOCKWISE =
1
GPU_COMPAREOP_INVALID =
0
GPU_COMPAREOP_NEVER =
1
GPU_COMPAREOP_LESS =
2
GPU_COMPAREOP_EQUAL =
3
GPU_COMPAREOP_LESS_OR_EQUAL =
4
GPU_COMPAREOP_GREATER =
5
GPU_COMPAREOP_NOT_EQUAL =
6
GPU_COMPAREOP_GREATER_OR_EQUAL =
7
GPU_COMPAREOP_ALWAYS =
8
GPU_STENCILOP_INVALID =
0
GPU_STENCILOP_KEEP =
1
GPU_STENCILOP_ZERO =
2
GPU_STENCILOP_REPLACE =
3
GPU_STENCILOP_INCREMENT_AND_CLAMP =
4
GPU_STENCILOP_DECREMENT_AND_CLAMP =
5
GPU_STENCILOP_INVERT =
6
GPU_STENCILOP_INCREMENT_AND_WRAP =
7
GPU_STENCILOP_DECREMENT_AND_WRAP =
8
GPU_BLENDOP_INVALID =
0
GPU_BLENDOP_ADD =
1
GPU_BLENDOP_SUBTRACT =
2
GPU_BLENDOP_REVERSE_SUBTRACT =
3
GPU_BLENDOP_MIN =
4
GPU_BLENDOP_MAX =
5
GPU_BLENDFACTOR_INVALID =
0
GPU_BLENDFACTOR_ZERO =
1
GPU_BLENDFACTOR_ONE =
2
GPU_BLENDFACTOR_SRC_COLOR =
3
GPU_BLENDFACTOR_ONE_MINUS_SRC_COLOR =
4
GPU_BLENDFACTOR_DST_COLOR =
5
GPU_BLENDFACTOR_ONE_MINUS_DST_COLOR =
6
GPU_BLENDFACTOR_SRC_ALPHA =
7
GPU_BLENDFACTOR_ONE_MINUS_SRC_ALPHA =
8
GPU_BLENDFACTOR_DST_ALPHA =
9
GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA =
10
GPU_BLENDFACTOR_CONSTANT_COLOR =
11
GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR =
12
GPU_BLENDFACTOR_SRC_ALPHA_SATURATE =
13
GPU_FILTER_NEAREST =
0
GPU_FILTER_LINEAR =
1
GPU_SAMPLERMIPMAPMODE_NEAREST =
0
GPU_SAMPLERMIPMAPMODE_LINEAR =
1
GPU_SAMPLERADDRESSMODE_REPEAT =
0
GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT =
1
GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE =
2
GPU_PRESENTMODE_VSYNC =
0
GPU_PRESENTMODE_IMMEDIATE =
1
GPU_PRESENTMODE_MAILBOX =
2
GPU_SWAPCHAINCOMPOSITION_SDR =
0
GPU_SWAPCHAINCOMPOSITION_SDR_LINEAR =
1
GPU_SWAPCHAINCOMPOSITION_HDR_EXTENDED_LINEAR =
2
GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 =
3
LOG_CATEGORY_APPLICATION =

Enum

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_GPU =
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
LOG_PRIORITY_INVALID =
0
LOG_PRIORITY_TRACE =
1
LOG_PRIORITY_VERBOSE =
2
LOG_PRIORITY_DEBUG =
3
LOG_PRIORITY_INFO =
4
LOG_PRIORITY_WARN =
5
LOG_PRIORITY_ERROR =
6
LOG_PRIORITY_CRITICAL =
7
LOG_PRIORITY_COUNT =
8
PEN_MOUSEID =

Define/Macro

-2
PEN_TOUCHID =
-2
PEN_INPUT_DOWN =
1 << 0
PEN_INPUT_BUTTON_1 =
1 << 1
PEN_INPUT_BUTTON_2 =
1 << 2
PEN_INPUT_BUTTON_3 =
1 << 3
PEN_INPUT_BUTTON_4 =
1 << 4
PEN_INPUT_BUTTON_5 =
1 << 5
PEN_INPUT_ERASER_TIP =
1 << 30
PEN_INPUT_IN_PROXIMITY =
1 << 31
PEN_AXIS_PRESSURE =

Enum

0
PEN_AXIS_XTILT =
1
PEN_AXIS_YTILT =
2
PEN_AXIS_DISTANCE =
3
PEN_AXIS_ROTATION =
4
PEN_AXIS_SLIDER =
5
PEN_AXIS_TANGENTIAL_PRESSURE =
6
PEN_AXIS_COUNT =
7
PEN_DEVICE_TYPE_INVALID =
-1
PEN_DEVICE_TYPE_UNKNOWN =
0
PEN_DEVICE_TYPE_DIRECT =
1
PEN_DEVICE_TYPE_INDIRECT =
2
TTF_MAJOR_VERSION =

Define/Macro

3
TTF_MINOR_VERSION =
3
TTF_MICRO_VERSION =
0
TTF_PROP_FONT_CREATE_FILENAME_STRING =
"SDL_ttf.font.create.filename"
TTF_PROP_FONT_CREATE_IOSTREAM_POINTER =
"SDL_ttf.font.create.iostream"
TTF_PROP_FONT_CREATE_IOSTREAM_OFFSET_NUMBER =
"SDL_ttf.font.create.iostream.offset"
TTF_PROP_FONT_CREATE_IOSTREAM_AUTOCLOSE_BOOLEAN =
"SDL_ttf.font.create.iostream.autoclose"
TTF_PROP_FONT_CREATE_SIZE_FLOAT =
"SDL_ttf.font.create.size"
TTF_PROP_FONT_CREATE_FACE_NUMBER =
"SDL_ttf.font.create.face"
TTF_PROP_FONT_CREATE_HORIZONTAL_DPI_NUMBER =
"SDL_ttf.font.create.hdpi"
TTF_PROP_FONT_CREATE_VERTICAL_DPI_NUMBER =
"SDL_ttf.font.create.vdpi"
TTF_PROP_FONT_CREATE_EXISTING_FONT_POINTER =
"SDL_ttf.font.create.existing_font"
TTF_PROP_FONT_OUTLINE_LINE_CAP_NUMBER =
"SDL_ttf.font.outline.line_cap"
TTF_PROP_FONT_OUTLINE_LINE_JOIN_NUMBER =
"SDL_ttf.font.outline.line_join"
TTF_PROP_FONT_OUTLINE_MITER_LIMIT_NUMBER =
"SDL_ttf.font.outline.miter_limit"
TTF_STYLE_NORMAL =
0x00
TTF_STYLE_BOLD =
0x01
TTF_STYLE_ITALIC =
0x02
TTF_STYLE_UNDERLINE =
0x04
TTF_STYLE_STRIKETHROUGH =
0x08
TTF_FONT_WEIGHT_THIN =
100
TTF_FONT_WEIGHT_EXTRA_LIGHT =
200
TTF_FONT_WEIGHT_LIGHT =
300
TTF_FONT_WEIGHT_NORMAL =
400
TTF_FONT_WEIGHT_MEDIUM =
500
TTF_FONT_WEIGHT_SEMI_BOLD =
600
TTF_FONT_WEIGHT_BOLD =
700
TTF_FONT_WEIGHT_EXTRA_BOLD =
800
TTF_FONT_WEIGHT_BLACK =
900
TTF_FONT_WEIGHT_EXTRA_BLACK =
950
TTF_PROP_RENDERER_TEXT_ENGINE_RENDERER_POINTER =
"SDL_ttf.renderer_text_engine.create.renderer"
TTF_PROP_RENDERER_TEXT_ENGINE_ATLAS_TEXTURE_SIZE_NUMBER =
"SDL_ttf.renderer_text_engine.create.atlas_texture_size"
TTF_PROP_GPU_TEXT_ENGINE_DEVICE_POINTER =
"SDL_ttf.gpu_text_engine.create.device"
TTF_PROP_GPU_TEXT_ENGINE_ATLAS_TEXTURE_SIZE_NUMBER =
"SDL_ttf.gpu_text_engine.create.atlas_texture_size"
TTF_SUBSTRING_DIRECTION_MASK =
0x000000FF
TTF_SUBSTRING_TEXT_START =
0x00000100
TTF_SUBSTRING_LINE_START =
0x00000200
TTF_SUBSTRING_LINE_END =
0x00000400
TTF_SUBSTRING_TEXT_END =
0x00000800
TTF_HINTING_INVALID =

Enum

-1
TTF_HINTING_NORMAL =
0
TTF_HINTING_LIGHT =
1
TTF_HINTING_MONO =
2
TTF_HINTING_NONE =
3
TTF_HINTING_LIGHT_SUBPIXEL =
4
TTF_HORIZONTAL_ALIGN_INVALID =
-1
TTF_HORIZONTAL_ALIGN_LEFT =
0
TTF_HORIZONTAL_ALIGN_CENTER =
1
TTF_HORIZONTAL_ALIGN_RIGHT =
2
TTF_DIRECTION_INVALID =
0
TTF_DIRECTION_LTR =
4
TTF_DIRECTION_RTL =
5
TTF_DIRECTION_TTB =
6
TTF_DIRECTION_BTT =
7
TTF_IMAGE_INVALID =
0
TTF_IMAGE_ALPHA =
1
TTF_IMAGE_COLOR =
2
TTF_IMAGE_SDF =
3
TTF_GPU_TEXTENGINE_WINDING_INVALID =
-1
TTF_GPU_TEXTENGINE_WINDING_CLOCKWISE =
0
TTF_GPU_TEXTENGINE_WINDING_COUNTER_CLOCKWISE =
1
INIT_AUDIO =

Define/Macro

0x00000010
INIT_VIDEO =
0x00000020
INIT_JOYSTICK =
0x00000200
INIT_HAPTIC =
0x00001000
INIT_GAMEPAD =
0x00002000
INIT_EVENTS =
0x00004000
INIT_SENSOR =
0x00008000
INIT_CAMERA =
0x00010000
PROP_APP_METADATA_NAME_STRING =
"SDL.app.metadata.name"
PROP_APP_METADATA_VERSION_STRING =
"SDL.app.metadata.version"
PROP_APP_METADATA_IDENTIFIER_STRING =
"SDL.app.metadata.identifier"
PROP_APP_METADATA_CREATOR_STRING =
"SDL.app.metadata.creator"
"SDL.app.metadata.copyright"
PROP_APP_METADATA_URL_STRING =
"SDL.app.metadata.url"
PROP_APP_METADATA_TYPE_STRING =
"SDL.app.metadata.type"
APP_CONTINUE =

Enum

0
APP_SUCCESS =
1
APP_FAILURE =
2
DATE_FORMAT_YYYYMMDD =

Enum

0
DATE_FORMAT_DDMMYYYY =
1
DATE_FORMAT_MMDDYYYY =
2
TIME_FORMAT_24HR =
0
TIME_FORMAT_12HR =
1
TRAYENTRY_BUTTON =

Define/Macro

0x00000001
TRAYENTRY_CHECKBOX =
0x00000002
TRAYENTRY_SUBMENU =
0x00000004
TRAYENTRY_DISABLED =
0x80000000
TRAYENTRY_CHECKED =
0x40000000
AUDIO_MASK_BITSIZE =

Define/Macro

0xFF
AUDIO_MASK_FLOAT =
1 << 8
AUDIO_MASK_BIG_ENDIAN =
1 << 12
AUDIO_MASK_SIGNED =
1 << 15
AUDIO_DEVICE_DEFAULT_PLAYBACK =
0xFFFFFFFF
AUDIO_DEVICE_DEFAULT_RECORDING =
0xFFFFFFFE
PROP_AUDIOSTREAM_AUTO_CLEANUP_BOOLEAN =
"SDL.audiostream.auto_cleanup"
AUDIO_UNKNOWN =

Enum

0
AUDIO_U8 =
8
AUDIO_S8 =
32776
AUDIO_S16LE =
32784
AUDIO_S16BE =
36880
AUDIO_S32LE =
32800
AUDIO_S32BE =
36896
AUDIO_F32LE =
33056
AUDIO_F32BE =
37152
AUDIO_S16 =
32784
AUDIO_S32 =
32800
AUDIO_F32 =
33056
HINT_ALLOW_ALT_TAB_WHILE_GRABBED =

Define/Macro

"SDL_ALLOW_ALT_TAB_WHILE_GRABBED"
HINT_ANDROID_ALLOW_RECREATE_ACTIVITY =
"SDL_ANDROID_ALLOW_RECREATE_ACTIVITY"
HINT_ANDROID_BLOCK_ON_PAUSE =
"SDL_ANDROID_BLOCK_ON_PAUSE"
HINT_ANDROID_LOW_LATENCY_AUDIO =
"SDL_ANDROID_LOW_LATENCY_AUDIO"
HINT_ANDROID_TRAP_BACK_BUTTON =
"SDL_ANDROID_TRAP_BACK_BUTTON"
HINT_APP_ID =
"SDL_APP_ID"
HINT_APP_NAME =
"SDL_APP_NAME"
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_AUDIO_ALSA_DEFAULT_DEVICE =
"SDL_AUDIO_ALSA_DEFAULT_DEVICE"
HINT_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE =
"SDL_AUDIO_ALSA_DEFAULT_PLAYBACK_DEVICE"
HINT_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE =
"SDL_AUDIO_ALSA_DEFAULT_RECORDING_DEVICE"
HINT_AUDIO_CATEGORY =
"SDL_AUDIO_CATEGORY"
HINT_AUDIO_CHANNELS =
"SDL_AUDIO_CHANNELS"
HINT_AUDIO_DEVICE_APP_ICON_NAME =
"SDL_AUDIO_DEVICE_APP_ICON_NAME"
HINT_AUDIO_DEVICE_SAMPLE_FRAMES =
"SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
HINT_AUDIO_DEVICE_STREAM_NAME =
"SDL_AUDIO_DEVICE_STREAM_NAME"
HINT_AUDIO_DEVICE_STREAM_ROLE =
"SDL_AUDIO_DEVICE_STREAM_ROLE"
HINT_AUDIO_DEVICE_RAW_STREAM =
"SDL_AUDIO_DEVICE_RAW_STREAM"
HINT_AUDIO_DISK_INPUT_FILE =
"SDL_AUDIO_DISK_INPUT_FILE"
HINT_AUDIO_DISK_OUTPUT_FILE =
"SDL_AUDIO_DISK_OUTPUT_FILE"
HINT_AUDIO_DISK_TIMESCALE =
"SDL_AUDIO_DISK_TIMESCALE"
HINT_AUDIO_DRIVER =
"SDL_AUDIO_DRIVER"
HINT_AUDIO_DUMMY_TIMESCALE =
"SDL_AUDIO_DUMMY_TIMESCALE"
HINT_AUDIO_FORMAT =
"SDL_AUDIO_FORMAT"
HINT_AUDIO_FREQUENCY =
"SDL_AUDIO_FREQUENCY"
HINT_AUDIO_INCLUDE_MONITORS =
"SDL_AUDIO_INCLUDE_MONITORS"
HINT_AUTO_UPDATE_JOYSTICKS =
"SDL_AUTO_UPDATE_JOYSTICKS"
HINT_AUTO_UPDATE_SENSORS =
"SDL_AUTO_UPDATE_SENSORS"
HINT_BMP_SAVE_LEGACY_FORMAT =
"SDL_BMP_SAVE_LEGACY_FORMAT"
HINT_CAMERA_DRIVER =
"SDL_CAMERA_DRIVER"
HINT_CPU_FEATURE_MASK =
"SDL_CPU_FEATURE_MASK"
HINT_JOYSTICK_DIRECTINPUT =
"SDL_JOYSTICK_DIRECTINPUT"
HINT_FILE_DIALOG_DRIVER =
"SDL_FILE_DIALOG_DRIVER"
HINT_DISPLAY_USABLE_BOUNDS =
"SDL_DISPLAY_USABLE_BOUNDS"
HINT_INVALID_PARAM_CHECKS =
"SDL_INVALID_PARAM_CHECKS"
HINT_EMSCRIPTEN_ASYNCIFY =
"SDL_EMSCRIPTEN_ASYNCIFY"
HINT_EMSCRIPTEN_CANVAS_SELECTOR =
"SDL_EMSCRIPTEN_CANVAS_SELECTOR"
HINT_EMSCRIPTEN_KEYBOARD_ELEMENT =
"SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
HINT_ENABLE_SCREEN_KEYBOARD =
"SDL_ENABLE_SCREEN_KEYBOARD"
HINT_ENABLE_STEAM_SCREEN_KEYBOARD =
"SDL_ENABLE_STEAM_SCREEN_KEYBOARD"
HINT_EVDEV_DEVICES =
"SDL_EVDEV_DEVICES"
HINT_EVENT_LOGGING =
"SDL_EVENT_LOGGING"
HINT_FORCE_RAISEWINDOW =
"SDL_FORCE_RAISEWINDOW"
HINT_FRAMEBUFFER_ACCELERATION =
"SDL_FRAMEBUFFER_ACCELERATION"
HINT_GAMECONTROLLERCONFIG =
"SDL_GAMECONTROLLERCONFIG"
HINT_GAMECONTROLLERCONFIG_FILE =
"SDL_GAMECONTROLLERCONFIG_FILE"
HINT_GAMECONTROLLERTYPE =
"SDL_GAMECONTROLLERTYPE"
HINT_GAMECONTROLLER_IGNORE_DEVICES =
"SDL_GAMECONTROLLER_IGNORE_DEVICES"
HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT =
"SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT"
HINT_GAMECONTROLLER_SENSOR_FUSION =
"SDL_GAMECONTROLLER_SENSOR_FUSION"
HINT_GDK_TEXTINPUT_DEFAULT_TEXT =
"SDL_GDK_TEXTINPUT_DEFAULT_TEXT"
HINT_GDK_TEXTINPUT_DESCRIPTION =
"SDL_GDK_TEXTINPUT_DESCRIPTION"
HINT_GDK_TEXTINPUT_MAX_LENGTH =
"SDL_GDK_TEXTINPUT_MAX_LENGTH"
HINT_GDK_TEXTINPUT_SCOPE =
"SDL_GDK_TEXTINPUT_SCOPE"
HINT_GDK_TEXTINPUT_TITLE =
"SDL_GDK_TEXTINPUT_TITLE"
HINT_HIDAPI_LIBUSB =
"SDL_HIDAPI_LIBUSB"
HINT_HIDAPI_LIBUSB_GAMECUBE =
"SDL_HIDAPI_LIBUSB_GAMECUBE"
HINT_HIDAPI_LIBUSB_WHITELIST =
"SDL_HIDAPI_LIBUSB_WHITELIST"
HINT_HIDAPI_UDEV =
"SDL_HIDAPI_UDEV"
HINT_GPU_DRIVER =
"SDL_GPU_DRIVER"
HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS =
"SDL_HIDAPI_ENUMERATE_ONLY_CONTROLLERS"
HINT_HIDAPI_IGNORE_DEVICES =
"SDL_HIDAPI_IGNORE_DEVICES"
HINT_IME_IMPLEMENTED_UI =
"SDL_IME_IMPLEMENTED_UI"
HINT_IOS_HIDE_HOME_INDICATOR =
"SDL_IOS_HIDE_HOME_INDICATOR"
HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS =
"SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
HINT_JOYSTICK_ARCADESTICK_DEVICES =
"SDL_JOYSTICK_ARCADESTICK_DEVICES"
HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED =
"SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED"
HINT_JOYSTICK_BLACKLIST_DEVICES =
"SDL_JOYSTICK_BLACKLIST_DEVICES"
HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED =
"SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED"
HINT_JOYSTICK_DEVICE =
"SDL_JOYSTICK_DEVICE"
HINT_JOYSTICK_ENHANCED_REPORTS =
"SDL_JOYSTICK_ENHANCED_REPORTS"
HINT_JOYSTICK_FLIGHTSTICK_DEVICES =
"SDL_JOYSTICK_FLIGHTSTICK_DEVICES"
HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED =
"SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED"
HINT_JOYSTICK_GAMEINPUT =
"SDL_JOYSTICK_GAMEINPUT"
HINT_JOYSTICK_GAMEINPUT_RAW =
"SDL_JOYSTICK_GAMEINPUT_RAW"
HINT_JOYSTICK_GAMECUBE_DEVICES =
"SDL_JOYSTICK_GAMECUBE_DEVICES"
HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED =
"SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED"
HINT_JOYSTICK_HIDAPI =
"SDL_JOYSTICK_HIDAPI"
HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS =
"SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS"
HINT_JOYSTICK_HIDAPI_GAMECUBE =
"SDL_JOYSTICK_HIDAPI_GAMECUBE"
HINT_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE =
"SDL_JOYSTICK_HIDAPI_GAMECUBE_RUMBLE_BRAKE"
HINT_JOYSTICK_HIDAPI_JOY_CONS =
"SDL_JOYSTICK_HIDAPI_JOY_CONS"
HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED =
"SDL_JOYSTICK_HIDAPI_JOYCON_HOME_LED"
HINT_JOYSTICK_HIDAPI_LUNA =
"SDL_JOYSTICK_HIDAPI_LUNA"
HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC =
"SDL_JOYSTICK_HIDAPI_NINTENDO_CLASSIC"
HINT_JOYSTICK_HIDAPI_PS3 =
"SDL_JOYSTICK_HIDAPI_PS3"
HINT_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER =
"SDL_JOYSTICK_HIDAPI_PS3_SIXAXIS_DRIVER"
HINT_JOYSTICK_HIDAPI_PS4 =
"SDL_JOYSTICK_HIDAPI_PS4"
HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL =
"SDL_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL"
HINT_JOYSTICK_HIDAPI_PS5 =
"SDL_JOYSTICK_HIDAPI_PS5"
HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED =
"SDL_JOYSTICK_HIDAPI_PS5_PLAYER_LED"
HINT_JOYSTICK_HIDAPI_SHIELD =
"SDL_JOYSTICK_HIDAPI_SHIELD"
HINT_JOYSTICK_HIDAPI_STADIA =
"SDL_JOYSTICK_HIDAPI_STADIA"
HINT_JOYSTICK_HIDAPI_STEAM =
"SDL_JOYSTICK_HIDAPI_STEAM"
HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED =
"SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
HINT_JOYSTICK_HIDAPI_STEAMDECK =
"SDL_JOYSTICK_HIDAPI_STEAMDECK"
HINT_JOYSTICK_HIDAPI_STEAM_HORI =
"SDL_JOYSTICK_HIDAPI_STEAM_HORI"
HINT_JOYSTICK_HIDAPI_LG4FF =
"SDL_JOYSTICK_HIDAPI_LG4FF"
HINT_JOYSTICK_HIDAPI_8BITDO =
"SDL_JOYSTICK_HIDAPI_8BITDO"
HINT_JOYSTICK_HIDAPI_SINPUT =
"SDL_JOYSTICK_HIDAPI_SINPUT"
HINT_JOYSTICK_HIDAPI_ZUIKI =
"SDL_JOYSTICK_HIDAPI_ZUIKI"
HINT_JOYSTICK_HIDAPI_FLYDIGI =
"SDL_JOYSTICK_HIDAPI_FLYDIGI"
HINT_JOYSTICK_HIDAPI_SWITCH =
"SDL_JOYSTICK_HIDAPI_SWITCH"
HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED =
"SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED =
"SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
HINT_JOYSTICK_HIDAPI_SWITCH2 =
"SDL_JOYSTICK_HIDAPI_SWITCH2"
HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS =
"SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
HINT_JOYSTICK_HIDAPI_WII =
"SDL_JOYSTICK_HIDAPI_WII"
HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED =
"SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
HINT_JOYSTICK_HIDAPI_XBOX =
"SDL_JOYSTICK_HIDAPI_XBOX"
HINT_JOYSTICK_HIDAPI_XBOX_360 =
"SDL_JOYSTICK_HIDAPI_XBOX_360"
HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED =
"SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED"
HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS =
"SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
HINT_JOYSTICK_HIDAPI_XBOX_ONE =
"SDL_JOYSTICK_HIDAPI_XBOX_ONE"
HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED =
"SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
HINT_JOYSTICK_HIDAPI_GIP =
"SDL_JOYSTICK_HIDAPI_GIP"
HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA =
"SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA"
HINT_JOYSTICK_IOKIT =
"SDL_JOYSTICK_IOKIT"
HINT_JOYSTICK_LINUX_CLASSIC =
"SDL_JOYSTICK_LINUX_CLASSIC"
HINT_JOYSTICK_LINUX_DEADZONES =
"SDL_JOYSTICK_LINUX_DEADZONES"
HINT_JOYSTICK_LINUX_DIGITAL_HATS =
"SDL_JOYSTICK_LINUX_DIGITAL_HATS"
HINT_JOYSTICK_LINUX_HAT_DEADZONES =
"SDL_JOYSTICK_LINUX_HAT_DEADZONES"
HINT_JOYSTICK_MFI =
"SDL_JOYSTICK_MFI"
HINT_JOYSTICK_RAWINPUT =
"SDL_JOYSTICK_RAWINPUT"
HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT =
"SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
HINT_JOYSTICK_ROG_CHAKRAM =
"SDL_JOYSTICK_ROG_CHAKRAM"
HINT_JOYSTICK_THREAD =
"SDL_JOYSTICK_THREAD"
HINT_JOYSTICK_THROTTLE_DEVICES =
"SDL_JOYSTICK_THROTTLE_DEVICES"
HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED =
"SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED"
HINT_JOYSTICK_WGI =
"SDL_JOYSTICK_WGI"
HINT_JOYSTICK_WHEEL_DEVICES =
"SDL_JOYSTICK_WHEEL_DEVICES"
HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED =
"SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED"
HINT_JOYSTICK_ZERO_CENTERED_DEVICES =
"SDL_JOYSTICK_ZERO_CENTERED_DEVICES"
HINT_JOYSTICK_HAPTIC_AXES =
"SDL_JOYSTICK_HAPTIC_AXES"
HINT_KEYCODE_OPTIONS =
"SDL_KEYCODE_OPTIONS"
HINT_KMSDRM_DEVICE_INDEX =
"SDL_KMSDRM_DEVICE_INDEX"
HINT_KMSDRM_REQUIRE_DRM_MASTER =
"SDL_KMSDRM_REQUIRE_DRM_MASTER"
HINT_KMSDRM_ATOMIC =
"SDL_KMSDRM_ATOMIC"
HINT_LOGGING =
"SDL_LOGGING"
HINT_MAC_BACKGROUND_APP =
"SDL_MAC_BACKGROUND_APP"
HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK =
"SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
HINT_MAC_OPENGL_ASYNC_DISPATCH =
"SDL_MAC_OPENGL_ASYNC_DISPATCH"
HINT_MAC_OPTION_AS_ALT =
"SDL_MAC_OPTION_AS_ALT"
HINT_MAC_SCROLL_MOMENTUM =
"SDL_MAC_SCROLL_MOMENTUM"
HINT_MAC_PRESS_AND_HOLD =
"SDL_MAC_PRESS_AND_HOLD"
HINT_MAIN_CALLBACK_RATE =
"SDL_MAIN_CALLBACK_RATE"
HINT_MOUSE_AUTO_CAPTURE =
"SDL_MOUSE_AUTO_CAPTURE"
HINT_MOUSE_DOUBLE_CLICK_RADIUS =
"SDL_MOUSE_DOUBLE_CLICK_RADIUS"
HINT_MOUSE_DOUBLE_CLICK_TIME =
"SDL_MOUSE_DOUBLE_CLICK_TIME"
HINT_MOUSE_DEFAULT_SYSTEM_CURSOR =
"SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
HINT_MOUSE_DPI_SCALE_CURSORS =
"SDL_MOUSE_DPI_SCALE_CURSORS"
HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE =
"SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
HINT_MOUSE_FOCUS_CLICKTHROUGH =
"SDL_MOUSE_FOCUS_CLICKTHROUGH"
HINT_MOUSE_NORMAL_SPEED_SCALE =
"SDL_MOUSE_NORMAL_SPEED_SCALE"
HINT_MOUSE_RELATIVE_MODE_CENTER =
"SDL_MOUSE_RELATIVE_MODE_CENTER"
HINT_MOUSE_RELATIVE_SPEED_SCALE =
"SDL_MOUSE_RELATIVE_SPEED_SCALE"
HINT_MOUSE_RELATIVE_SYSTEM_SCALE =
"SDL_MOUSE_RELATIVE_SYSTEM_SCALE"
HINT_MOUSE_RELATIVE_WARP_MOTION =
"SDL_MOUSE_RELATIVE_WARP_MOTION"
HINT_MOUSE_RELATIVE_CURSOR_VISIBLE =
"SDL_MOUSE_RELATIVE_CURSOR_VISIBLE"
HINT_MOUSE_TOUCH_EVENTS =
"SDL_MOUSE_TOUCH_EVENTS"
HINT_MUTE_CONSOLE_KEYBOARD =
"SDL_MUTE_CONSOLE_KEYBOARD"
HINT_NO_SIGNAL_HANDLERS =
"SDL_NO_SIGNAL_HANDLERS"
HINT_OPENGL_LIBRARY =
"SDL_OPENGL_LIBRARY"
HINT_EGL_LIBRARY =
"SDL_EGL_LIBRARY"
HINT_OPENGL_ES_DRIVER =
"SDL_OPENGL_ES_DRIVER"
HINT_OPENGL_FORCE_SRGB_FRAMEBUFFER =
"SDL_OPENGL_FORCE_SRGB_FRAMEBUFFER"
HINT_OPENVR_LIBRARY =
"SDL_OPENVR_LIBRARY"
HINT_ORIENTATIONS =
"SDL_ORIENTATIONS"
HINT_POLL_SENTINEL =
"SDL_POLL_SENTINEL"
HINT_PREFERRED_LOCALES =
"SDL_PREFERRED_LOCALES"
HINT_QUIT_ON_LAST_WINDOW_CLOSE =
"SDL_QUIT_ON_LAST_WINDOW_CLOSE"
HINT_RENDER_DIRECT3D_THREADSAFE =
"SDL_RENDER_DIRECT3D_THREADSAFE"
HINT_RENDER_DIRECT3D11_DEBUG =
"SDL_RENDER_DIRECT3D11_DEBUG"
HINT_RENDER_DIRECT3D11_WARP =
"SDL_RENDER_DIRECT3D11_WARP"
HINT_RENDER_VULKAN_DEBUG =
"SDL_RENDER_VULKAN_DEBUG"
HINT_RENDER_GPU_DEBUG =
"SDL_RENDER_GPU_DEBUG"
HINT_RENDER_GPU_LOW_POWER =
"SDL_RENDER_GPU_LOW_POWER"
HINT_RENDER_DRIVER =
"SDL_RENDER_DRIVER"
HINT_RENDER_LINE_METHOD =
"SDL_RENDER_LINE_METHOD"
HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE =
"SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE"
HINT_RENDER_VSYNC =
"SDL_RENDER_VSYNC"
HINT_RETURN_KEY_HIDES_IME =
"SDL_RETURN_KEY_HIDES_IME"
HINT_ROG_GAMEPAD_MICE =
"SDL_ROG_GAMEPAD_MICE"
HINT_ROG_GAMEPAD_MICE_EXCLUDED =
"SDL_ROG_GAMEPAD_MICE_EXCLUDED"
HINT_PS2_GS_WIDTH =
"SDL_PS2_GS_WIDTH"
HINT_PS2_GS_HEIGHT =
"SDL_PS2_GS_HEIGHT"
HINT_PS2_GS_PROGRESSIVE =
"SDL_PS2_GS_PROGRESSIVE"
HINT_PS2_GS_MODE =
"SDL_PS2_GS_MODE"
HINT_RPI_VIDEO_LAYER =
"SDL_RPI_VIDEO_LAYER"
HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME =
"SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
HINT_SHUTDOWN_DBUS_ON_QUIT =
"SDL_SHUTDOWN_DBUS_ON_QUIT"
HINT_STORAGE_TITLE_DRIVER =
"SDL_STORAGE_TITLE_DRIVER"
HINT_STORAGE_USER_DRIVER =
"SDL_STORAGE_USER_DRIVER"
HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL =
"SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL"
HINT_THREAD_PRIORITY_POLICY =
"SDL_THREAD_PRIORITY_POLICY"
HINT_TIMER_RESOLUTION =
"SDL_TIMER_RESOLUTION"
HINT_TOUCH_MOUSE_EVENTS =
"SDL_TOUCH_MOUSE_EVENTS"
HINT_TRACKPAD_IS_TOUCH_ONLY =
"SDL_TRACKPAD_IS_TOUCH_ONLY"
HINT_TV_REMOTE_AS_JOYSTICK =
"SDL_TV_REMOTE_AS_JOYSTICK"
HINT_VIDEO_ALLOW_SCREENSAVER =
"SDL_VIDEO_ALLOW_SCREENSAVER"
HINT_VIDEO_DISPLAY_PRIORITY =
"SDL_VIDEO_DISPLAY_PRIORITY"
HINT_VIDEO_DOUBLE_BUFFER =
"SDL_VIDEO_DOUBLE_BUFFER"
HINT_VIDEO_DRIVER =
"SDL_VIDEO_DRIVER"
HINT_VIDEO_DUMMY_SAVE_FRAMES =
"SDL_VIDEO_DUMMY_SAVE_FRAMES"
HINT_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK =
"SDL_VIDEO_EGL_ALLOW_GETDISPLAY_FALLBACK"
HINT_VIDEO_FORCE_EGL =
"SDL_VIDEO_FORCE_EGL"
HINT_VIDEO_MAC_FULLSCREEN_SPACES =
"SDL_VIDEO_MAC_FULLSCREEN_SPACES"
HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY =
"SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE =
"SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE"
HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE =
"SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE"
HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS =
"SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
HINT_VIDEO_OFFSCREEN_SAVE_FRAMES =
"SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
HINT_VIDEO_SYNC_WINDOW_OPERATIONS =
"SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR =
"SDL_VIDEO_WAYLAND_ALLOW_LIBDECOR"
HINT_VIDEO_WAYLAND_MODE_EMULATION =
"SDL_VIDEO_WAYLAND_MODE_EMULATION"
HINT_VIDEO_WAYLAND_MODE_SCALING =
"SDL_VIDEO_WAYLAND_MODE_SCALING"
HINT_VIDEO_WAYLAND_PREFER_LIBDECOR =
"SDL_VIDEO_WAYLAND_PREFER_LIBDECOR"
HINT_VIDEO_WAYLAND_SCALE_TO_DISPLAY =
"SDL_VIDEO_WAYLAND_SCALE_TO_DISPLAY"
HINT_VIDEO_WIN_D3DCOMPILER =
"SDL_VIDEO_WIN_D3DCOMPILER"
HINT_VIDEO_X11_ENABLE_XSYNC_EXT =
"SDL_VIDEO_X11_ENABLE_XSYNC_EXT"
HINT_VIDEO_X11_EXTERNAL_WINDOW_INPUT =
"SDL_VIDEO_X11_EXTERNAL_WINDOW_INPUT"
HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR =
"SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR"
HINT_VIDEO_X11_NET_WM_PING =
"SDL_VIDEO_X11_NET_WM_PING"
HINT_VIDEO_X11_NODIRECTCOLOR =
"SDL_VIDEO_X11_NODIRECTCOLOR"
HINT_VIDEO_X11_SCALING_FACTOR =
"SDL_VIDEO_X11_SCALING_FACTOR"
HINT_VIDEO_X11_VISUALID =
"SDL_VIDEO_X11_VISUALID"
HINT_VIDEO_X11_WINDOW_VISUALID =
"SDL_VIDEO_X11_WINDOW_VISUALID"
HINT_VIDEO_X11_XRANDR =
"SDL_VIDEO_X11_XRANDR"
HINT_VITA_ENABLE_BACK_TOUCH =
"SDL_VITA_ENABLE_BACK_TOUCH"
HINT_VITA_ENABLE_FRONT_TOUCH =
"SDL_VITA_ENABLE_FRONT_TOUCH"
HINT_VITA_MODULE_PATH =
"SDL_VITA_MODULE_PATH"
HINT_VITA_PVR_INIT =
"SDL_VITA_PVR_INIT"
HINT_VITA_RESOLUTION =
"SDL_VITA_RESOLUTION"
HINT_VITA_PVR_OPENGL =
"SDL_VITA_PVR_OPENGL"
HINT_VITA_TOUCH_MOUSE_DEVICE =
"SDL_VITA_TOUCH_MOUSE_DEVICE"
HINT_VULKAN_DISPLAY =
"SDL_VULKAN_DISPLAY"
HINT_VULKAN_LIBRARY =
"SDL_VULKAN_LIBRARY"
HINT_WAVE_FACT_CHUNK =
"SDL_WAVE_FACT_CHUNK"
HINT_WAVE_CHUNK_LIMIT =
"SDL_WAVE_CHUNK_LIMIT"
HINT_WAVE_RIFF_CHUNK_SIZE =
"SDL_WAVE_RIFF_CHUNK_SIZE"
HINT_WAVE_TRUNCATION =
"SDL_WAVE_TRUNCATION"
HINT_WINDOW_ACTIVATE_WHEN_RAISED =
"SDL_WINDOW_ACTIVATE_WHEN_RAISED"
HINT_WINDOW_ACTIVATE_WHEN_SHOWN =
"SDL_WINDOW_ACTIVATE_WHEN_SHOWN"
HINT_WINDOW_ALLOW_TOPMOST =
"SDL_WINDOW_ALLOW_TOPMOST"
HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN =
"SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN"
HINT_WINDOWS_CLOSE_ON_ALT_F4 =
"SDL_WINDOWS_CLOSE_ON_ALT_F4"
HINT_WINDOWS_ENABLE_MENU_MNEMONICS =
"SDL_WINDOWS_ENABLE_MENU_MNEMONICS"
HINT_WINDOWS_ENABLE_MESSAGELOOP =
"SDL_WINDOWS_ENABLE_MESSAGELOOP"
HINT_WINDOWS_GAMEINPUT =
"SDL_WINDOWS_GAMEINPUT"
HINT_WINDOWS_RAW_KEYBOARD =
"SDL_WINDOWS_RAW_KEYBOARD"
HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS =
"SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS"
HINT_WINDOWS_RAW_KEYBOARD_INPUTSINK =
"SDL_WINDOWS_RAW_KEYBOARD_INPUTSINK"
HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL =
"SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
HINT_WINDOWS_INTRESOURCE_ICON =
"SDL_WINDOWS_INTRESOURCE_ICON"
HINT_WINDOWS_INTRESOURCE_ICON_SMALL =
"SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
HINT_WINDOWS_USE_D3D9EX =
"SDL_WINDOWS_USE_D3D9EX"
HINT_WINDOWS_ERASE_BACKGROUND_MODE =
"SDL_WINDOWS_ERASE_BACKGROUND_MODE"
HINT_X11_FORCE_OVERRIDE_REDIRECT =
"SDL_X11_FORCE_OVERRIDE_REDIRECT"
HINT_X11_WINDOW_TYPE =
"SDL_X11_WINDOW_TYPE"
HINT_X11_XCB_LIBRARY =
"SDL_X11_XCB_LIBRARY"
HINT_XINPUT_ENABLED =
"SDL_XINPUT_ENABLED"
HINT_ASSERT =
"SDL_ASSERT"
HINT_PEN_MOUSE_EVENTS =
"SDL_PEN_MOUSE_EVENTS"
HINT_PEN_TOUCH_EVENTS =
"SDL_PEN_TOUCH_EVENTS"
HINT_DEFAULT =

Enum

0
HINT_NORMAL =
1
HINT_OVERRIDE =
2
IMAGE_MAJOR_VERSION =

Define/Macro

3
IMAGE_MINOR_VERSION =
4
IMAGE_MICRO_VERSION =
4
IMG_DECODER_STATUS_INVALID =

Enum

-1
IMG_DECODER_STATUS_OK =
0
IMG_DECODER_STATUS_FAILED =
1
IMG_DECODER_STATUS_COMPLETE =
2
MIXER_MAJOR_VERSION =

Define/Macro

3
MIXER_MINOR_VERSION =
2
MIXER_MICRO_VERSION =
4
MIX_PROP_MIXER_DEVICE_NUMBER =
"SDL_mixer.mixer.device"
MIX_PROP_AUDIO_LOAD_IOSTREAM_POINTER =
"SDL_mixer.audio.load.iostream"
MIX_PROP_AUDIO_LOAD_CLOSEIO_BOOLEAN =
"SDL_mixer.audio.load.closeio"
MIX_PROP_AUDIO_LOAD_PREDECODE_BOOLEAN =
"SDL_mixer.audio.load.predecode"
MIX_PROP_AUDIO_LOAD_PREFERRED_MIXER_POINTER =
"SDL_mixer.audio.load.preferred_mixer"
MIX_PROP_AUDIO_LOAD_SKIP_METADATA_TAGS_BOOLEAN =
"SDL_mixer.audio.load.skip_metadata_tags"
MIX_PROP_AUDIO_LOAD_IGNORE_LOOPS_BOOLEAN =
"SDL_mixer.audio.load.ignore_loops"
MIX_PROP_AUDIO_DECODER_STRING =
"SDL_mixer.audio.decoder"
MIX_PROP_METADATA_TITLE_STRING =
"SDL_mixer.metadata.title"
MIX_PROP_METADATA_ARTIST_STRING =
"SDL_mixer.metadata.artist"
MIX_PROP_METADATA_ALBUM_STRING =
"SDL_mixer.metadata.album"
"SDL_mixer.metadata.copyright"
MIX_PROP_METADATA_TRACK_NUMBER =
"SDL_mixer.metadata.track"
MIX_PROP_METADATA_TOTAL_TRACKS_NUMBER =
"SDL_mixer.metadata.total_tracks"
MIX_PROP_METADATA_YEAR_NUMBER =
"SDL_mixer.metadata.year"
MIX_PROP_METADATA_DURATION_FRAMES_NUMBER =
"SDL_mixer.metadata.duration_frames"
MIX_PROP_METADATA_DURATION_INFINITE_BOOLEAN =
"SDL_mixer.metadata.duration_infinite"
MIX_DURATION_UNKNOWN =
-1
MIX_DURATION_INFINITE =
-2
MIX_PROP_PLAY_LOOPS_NUMBER =
"SDL_mixer.play.loops"
MIX_PROP_PLAY_MAX_FRAME_NUMBER =
"SDL_mixer.play.max_frame"
MIX_PROP_PLAY_MAX_MILLISECONDS_NUMBER =
"SDL_mixer.play.max_milliseconds"
MIX_PROP_PLAY_START_FRAME_NUMBER =
"SDL_mixer.play.start_frame"
MIX_PROP_PLAY_START_MILLISECOND_NUMBER =
"SDL_mixer.play.start_millisecond"
MIX_PROP_PLAY_START_ORDER_NUMBER =
"SDL_mixer.play.start_order"
MIX_PROP_PLAY_LOOP_START_FRAME_NUMBER =
"SDL_mixer.play.loop_start_frame"
MIX_PROP_PLAY_LOOP_START_MILLISECOND_NUMBER =
"SDL_mixer.play.loop_start_millisecond"
MIX_PROP_PLAY_FADE_IN_FRAMES_NUMBER =
"SDL_mixer.play.fade_in_frames"
MIX_PROP_PLAY_FADE_IN_MILLISECONDS_NUMBER =
"SDL_mixer.play.fade_in_milliseconds"
MIX_PROP_PLAY_FADE_IN_START_GAIN_FLOAT =
"SDL_mixer.play.fade_in_start_gain"
MIX_PROP_PLAY_APPEND_SILENCE_FRAMES_NUMBER =
"SDL_mixer.play.append_silence_frames"
MIX_PROP_PLAY_APPEND_SILENCE_MILLISECONDS_NUMBER =
"SDL_mixer.play.append_silence_milliseconds"
MIX_PROP_PLAY_HALT_WHEN_EXHAUSTED_BOOLEAN =
"SDL_mixer.play.halt_when_exhausted"
BUTTON_LEFT =

Define/Macro

1
BUTTON_MIDDLE =
2
BUTTON_RIGHT =
3
BUTTON_X1 =
4
BUTTON_X2 =
5
SYSTEM_CURSOR_DEFAULT =

Enum

0
SYSTEM_CURSOR_TEXT =
1
SYSTEM_CURSOR_WAIT =
2
SYSTEM_CURSOR_CROSSHAIR =
3
SYSTEM_CURSOR_PROGRESS =
4
SYSTEM_CURSOR_NWSE_RESIZE =
5
SYSTEM_CURSOR_NESW_RESIZE =
6
SYSTEM_CURSOR_EW_RESIZE =
7
SYSTEM_CURSOR_NS_RESIZE =
8
SYSTEM_CURSOR_MOVE =
9
SYSTEM_CURSOR_NOT_ALLOWED =
10
SYSTEM_CURSOR_POINTER =
11
SYSTEM_CURSOR_NW_RESIZE =
12
SYSTEM_CURSOR_N_RESIZE =
13
SYSTEM_CURSOR_NE_RESIZE =
14
SYSTEM_CURSOR_E_RESIZE =
15
SYSTEM_CURSOR_SE_RESIZE =
16
SYSTEM_CURSOR_S_RESIZE =
17
SYSTEM_CURSOR_SW_RESIZE =
18
SYSTEM_CURSOR_W_RESIZE =
19
SYSTEM_CURSOR_COUNT =
20
MOUSEWHEEL_NORMAL =
0
MOUSEWHEEL_FLIPPED =
1
INIT_STATUS_UNINITIALIZED =

Enum

0
INIT_STATUS_INITIALIZING =
1
INIT_STATUS_INITIALIZED =
2
INIT_STATUS_UNINITIALIZING =
3
POWERSTATE_ERROR =

Enum

-1
POWERSTATE_UNKNOWN =
0
POWERSTATE_ON_BATTERY =
1
POWERSTATE_NO_BATTERY =
2
POWERSTATE_CHARGING =
3
POWERSTATE_CHARGED =
4
SOUND_MAJOR_VERSION =

Define/Macro

3
SOUND_MINOR_VERSION =
2
SOUND_MICRO_VERSION =
0
SOUND_SAMPLEFLAG_NONE =

Enum

0
SOUND_SAMPLEFLAG_CANSEEK =
1
SOUND_SAMPLEFLAG_EOF =
536870912
SOUND_SAMPLEFLAG_ERROR =
1073741824
SOUND_SAMPLEFLAG_EAGAIN =
-2147483648
MS_PER_SECOND =

Define/Macro

1000
US_PER_SECOND =
1000000
NS_PER_SECOND =
1000000000
NS_PER_MS =
1000000
NS_PER_US =
1000
TOUCH_MOUSEID =

Define/Macro

-1
MOUSE_TOUCHID =
-1
TOUCH_DEVICE_INVALID =

Enum

-1
TOUCH_DEVICE_DIRECT =
0
TOUCH_DEVICE_INDIRECT_ABSOLUTE =
1
TOUCH_DEVICE_INDIRECT_RELATIVE =
2
PROP_GLOBAL_VIDEO_WAYLAND_WL_DISPLAY_POINTER =

Define/Macro

"SDL.video.wayland.wl_display"
WINDOW_FULLSCREEN =
0x0000000000000001
WINDOW_OPENGL =
0x0000000000000002
WINDOW_OCCLUDED =
0x0000000000000004
WINDOW_HIDDEN =
0x0000000000000008
WINDOW_BORDERLESS =
0x0000000000000010
WINDOW_RESIZABLE =
0x0000000000000020
WINDOW_MINIMIZED =
0x0000000000000040
WINDOW_MAXIMIZED =
0x0000000000000080
WINDOW_MOUSE_GRABBED =
0x0000000000000100
WINDOW_INPUT_FOCUS =
0x0000000000000200
WINDOW_MOUSE_FOCUS =
0x0000000000000400
WINDOW_EXTERNAL =
0x0000000000000800
WINDOW_MODAL =
0x0000000000001000
WINDOW_HIGH_PIXEL_DENSITY =
0x0000000000002000
WINDOW_MOUSE_CAPTURE =
0x0000000000004000
WINDOW_MOUSE_RELATIVE_MODE =
0x0000000000008000
WINDOW_ALWAYS_ON_TOP =
0x0000000000010000
WINDOW_UTILITY =
0x0000000000020000
WINDOW_TOOLTIP =
0x0000000000040000
WINDOW_POPUP_MENU =
0x0000000000080000
WINDOW_KEYBOARD_GRABBED =
0x0000000000100000
WINDOW_FILL_DOCUMENT =
0x0000000000200000
WINDOW_VULKAN =
0x0000000010000000
WINDOW_METAL =
0x0000000020000000
WINDOW_TRANSPARENT =
0x0000000040000000
WINDOW_NOT_FOCUSABLE =
0x0000000080000000
WINDOWPOS_UNDEFINED_MASK =
0x1FFF0000
WINDOWPOS_CENTERED_MASK =
0x2FFF0000
GL_CONTEXT_PROFILE_CORE =
0x0001
GL_CONTEXT_PROFILE_COMPATIBILITY =
0x0002
GL_CONTEXT_PROFILE_ES =
0x0004
GL_CONTEXT_DEBUG_FLAG =
0x0001
GL_CONTEXT_FORWARD_COMPATIBLE_FLAG =
0x0002
GL_CONTEXT_ROBUST_ACCESS_FLAG =
0x0004
GL_CONTEXT_RESET_ISOLATION_FLAG =
0x0008
GL_CONTEXT_RELEASE_BEHAVIOR_NONE =
0x0000
GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH =
0x0001
GL_CONTEXT_RESET_NO_NOTIFICATION =
0x0000
GL_CONTEXT_RESET_LOSE_CONTEXT =
0x0001
PROP_DISPLAY_HDR_ENABLED_BOOLEAN =
"SDL.display.HDR_enabled"
PROP_DISPLAY_KMSDRM_PANEL_ORIENTATION_NUMBER =
"SDL.display.KMSDRM.panel_orientation"
PROP_DISPLAY_WAYLAND_WL_OUTPUT_POINTER =
"SDL.display.wayland.wl_output"
PROP_DISPLAY_WINDOWS_HMONITOR_POINTER =
"SDL.display.windows.hmonitor"
PROP_WINDOW_CREATE_ALWAYS_ON_TOP_BOOLEAN =
"SDL.window.create.always_on_top"
PROP_WINDOW_CREATE_BORDERLESS_BOOLEAN =
"SDL.window.create.borderless"
PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN =
"SDL.window.create.constrain_popup"
PROP_WINDOW_CREATE_FOCUSABLE_BOOLEAN =
"SDL.window.create.focusable"
PROP_WINDOW_CREATE_EXTERNAL_GRAPHICS_CONTEXT_BOOLEAN =
"SDL.window.create.external_graphics_context"
PROP_WINDOW_CREATE_FLAGS_NUMBER =
"SDL.window.create.flags"
PROP_WINDOW_CREATE_FULLSCREEN_BOOLEAN =
"SDL.window.create.fullscreen"
PROP_WINDOW_CREATE_HEIGHT_NUMBER =
"SDL.window.create.height"
PROP_WINDOW_CREATE_HIDDEN_BOOLEAN =
"SDL.window.create.hidden"
PROP_WINDOW_CREATE_HIGH_PIXEL_DENSITY_BOOLEAN =
"SDL.window.create.high_pixel_density"
PROP_WINDOW_CREATE_MAXIMIZED_BOOLEAN =
"SDL.window.create.maximized"
PROP_WINDOW_CREATE_MENU_BOOLEAN =
"SDL.window.create.menu"
PROP_WINDOW_CREATE_METAL_BOOLEAN =
"SDL.window.create.metal"
PROP_WINDOW_CREATE_MINIMIZED_BOOLEAN =
"SDL.window.create.minimized"
PROP_WINDOW_CREATE_MODAL_BOOLEAN =
"SDL.window.create.modal"
PROP_WINDOW_CREATE_MOUSE_GRABBED_BOOLEAN =
"SDL.window.create.mouse_grabbed"
PROP_WINDOW_CREATE_OPENGL_BOOLEAN =
"SDL.window.create.opengl"
PROP_WINDOW_CREATE_PARENT_POINTER =
"SDL.window.create.parent"
PROP_WINDOW_CREATE_RESIZABLE_BOOLEAN =
"SDL.window.create.resizable"
PROP_WINDOW_CREATE_TITLE_STRING =
"SDL.window.create.title"
PROP_WINDOW_CREATE_TRANSPARENT_BOOLEAN =
"SDL.window.create.transparent"
PROP_WINDOW_CREATE_TOOLTIP_BOOLEAN =
"SDL.window.create.tooltip"
PROP_WINDOW_CREATE_UTILITY_BOOLEAN =
"SDL.window.create.utility"
PROP_WINDOW_CREATE_VULKAN_BOOLEAN =
"SDL.window.create.vulkan"
PROP_WINDOW_CREATE_WIDTH_NUMBER =
"SDL.window.create.width"
PROP_WINDOW_CREATE_X_NUMBER =
"SDL.window.create.x"
PROP_WINDOW_CREATE_Y_NUMBER =
"SDL.window.create.y"
PROP_WINDOW_CREATE_COCOA_WINDOW_POINTER =
"SDL.window.create.cocoa.window"
PROP_WINDOW_CREATE_COCOA_VIEW_POINTER =
"SDL.window.create.cocoa.view"
PROP_WINDOW_CREATE_WINDOWSCENE_POINTER =
"SDL.window.create.uikit.windowscene"
PROP_WINDOW_CREATE_WAYLAND_SURFACE_ROLE_CUSTOM_BOOLEAN =
"SDL.window.create.wayland.surface_role_custom"
PROP_WINDOW_CREATE_WAYLAND_CREATE_EGL_WINDOW_BOOLEAN =
"SDL.window.create.wayland.create_egl_window"
PROP_WINDOW_CREATE_WAYLAND_WL_SURFACE_POINTER =
"SDL.window.create.wayland.wl_surface"
PROP_WINDOW_CREATE_WIN32_HWND_POINTER =
"SDL.window.create.win32.hwnd"
PROP_WINDOW_CREATE_WIN32_PIXEL_FORMAT_HWND_POINTER =
"SDL.window.create.win32.pixel_format_hwnd"
PROP_WINDOW_CREATE_X11_WINDOW_NUMBER =
"SDL.window.create.x11.window"
PROP_WINDOW_CREATE_EMSCRIPTEN_CANVAS_ID_STRING =
"SDL.window.create.emscripten.canvas_id"
PROP_WINDOW_CREATE_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING =
"SDL.window.create.emscripten.keyboard_element"
PROP_WINDOW_SHAPE_POINTER =
"SDL.window.shape"
PROP_WINDOW_HDR_ENABLED_BOOLEAN =
"SDL.window.HDR_enabled"
PROP_WINDOW_SDR_WHITE_LEVEL_FLOAT =
"SDL.window.SDR_white_level"
PROP_WINDOW_HDR_HEADROOM_FLOAT =
"SDL.window.HDR_headroom"
PROP_WINDOW_ANDROID_WINDOW_POINTER =
"SDL.window.android.window"
PROP_WINDOW_ANDROID_SURFACE_POINTER =
"SDL.window.android.surface"
PROP_WINDOW_UIKIT_WINDOW_POINTER =
"SDL.window.uikit.window"
PROP_WINDOW_UIKIT_METAL_VIEW_TAG_NUMBER =
"SDL.window.uikit.metal_view_tag"
PROP_WINDOW_UIKIT_OPENGL_FRAMEBUFFER_NUMBER =
"SDL.window.uikit.opengl.framebuffer"
PROP_WINDOW_UIKIT_OPENGL_RENDERBUFFER_NUMBER =
"SDL.window.uikit.opengl.renderbuffer"
PROP_WINDOW_UIKIT_OPENGL_RESOLVE_FRAMEBUFFER_NUMBER =
"SDL.window.uikit.opengl.resolve_framebuffer"
PROP_WINDOW_KMSDRM_DEVICE_INDEX_NUMBER =
"SDL.window.kmsdrm.dev_index"
PROP_WINDOW_KMSDRM_DRM_FD_NUMBER =
"SDL.window.kmsdrm.drm_fd"
PROP_WINDOW_KMSDRM_GBM_DEVICE_POINTER =
"SDL.window.kmsdrm.gbm_dev"
PROP_WINDOW_COCOA_WINDOW_POINTER =
"SDL.window.cocoa.window"
PROP_WINDOW_COCOA_METAL_VIEW_TAG_NUMBER =
"SDL.window.cocoa.metal_view_tag"
PROP_WINDOW_OPENVR_OVERLAY_ID_NUMBER =
"SDL.window.openvr.overlay_id"
PROP_WINDOW_VIVANTE_DISPLAY_POINTER =
"SDL.window.vivante.display"
PROP_WINDOW_VIVANTE_WINDOW_POINTER =
"SDL.window.vivante.window"
PROP_WINDOW_VIVANTE_SURFACE_POINTER =
"SDL.window.vivante.surface"
PROP_WINDOW_WIN32_HWND_POINTER =
"SDL.window.win32.hwnd"
PROP_WINDOW_WIN32_HDC_POINTER =
"SDL.window.win32.hdc"
PROP_WINDOW_WIN32_INSTANCE_POINTER =
"SDL.window.win32.instance"
PROP_WINDOW_WAYLAND_DISPLAY_POINTER =
"SDL.window.wayland.display"
PROP_WINDOW_WAYLAND_SURFACE_POINTER =
"SDL.window.wayland.surface"
PROP_WINDOW_WAYLAND_VIEWPORT_POINTER =
"SDL.window.wayland.viewport"
PROP_WINDOW_WAYLAND_EGL_WINDOW_POINTER =
"SDL.window.wayland.egl_window"
PROP_WINDOW_WAYLAND_XDG_SURFACE_POINTER =
"SDL.window.wayland.xdg_surface"
PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_POINTER =
"SDL.window.wayland.xdg_toplevel"
PROP_WINDOW_WAYLAND_XDG_TOPLEVEL_EXPORT_HANDLE_STRING =
"SDL.window.wayland.xdg_toplevel_export_handle"
PROP_WINDOW_WAYLAND_XDG_POPUP_POINTER =
"SDL.window.wayland.xdg_popup"
PROP_WINDOW_WAYLAND_XDG_POSITIONER_POINTER =
"SDL.window.wayland.xdg_positioner"
PROP_WINDOW_X11_DISPLAY_POINTER =
"SDL.window.x11.display"
PROP_WINDOW_X11_SCREEN_NUMBER =
"SDL.window.x11.screen"
PROP_WINDOW_X11_WINDOW_NUMBER =
"SDL.window.x11.window"
PROP_WINDOW_EMSCRIPTEN_CANVAS_ID_STRING =
"SDL.window.emscripten.canvas_id"
PROP_WINDOW_EMSCRIPTEN_KEYBOARD_ELEMENT_STRING =
"SDL.window.emscripten.keyboard_element"
WINDOW_SURFACE_VSYNC_DISABLED =
0
WINDOW_SURFACE_VSYNC_ADAPTIVE =
-1
SYSTEM_THEME_UNKNOWN =

Enum

0
SYSTEM_THEME_LIGHT =
1
SYSTEM_THEME_DARK =
2
ORIENTATION_UNKNOWN =
0
ORIENTATION_LANDSCAPE =
1
ORIENTATION_LANDSCAPE_FLIPPED =
2
ORIENTATION_PORTRAIT =
3
ORIENTATION_PORTRAIT_FLIPPED =
4
FLASH_CANCEL =
0
FLASH_BRIEFLY =
1
FLASH_UNTIL_FOCUSED =
2
PROGRESS_STATE_INVALID =
-1
PROGRESS_STATE_NONE =
0
PROGRESS_STATE_INDETERMINATE =
1
PROGRESS_STATE_NORMAL =
2
PROGRESS_STATE_PAUSED =
3
PROGRESS_STATE_ERROR =
4
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_FLAGS =
19
GL_CONTEXT_PROFILE_MASK =
20
GL_SHARE_WITH_CURRENT_CONTEXT =
21
GL_FRAMEBUFFER_SRGB_CAPABLE =
22
GL_CONTEXT_RELEASE_BEHAVIOR =
23
GL_CONTEXT_RESET_NOTIFICATION =
24
GL_CONTEXT_NO_ERROR =
25
GL_FLOATBUFFERS =
26
GL_EGL_PLATFORM =
27
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
ASSERTION_RETRY =

Enum

0
ASSERTION_BREAK =
1
ASSERTION_ABORT =
2
ASSERTION_IGNORE =
3
ASSERTION_ALWAYS_IGNORE =
4
CAMERA_POSITION_UNKNOWN =

Enum

0
CAMERA_POSITION_FRONT_FACING =
1
CAMERA_POSITION_BACK_FACING =
2
CAMERA_PERMISSION_STATE_DENIED =
-1
CAMERA_PERMISSION_STATE_PENDING =
0
CAMERA_PERMISSION_STATE_APPROVED =
1
PROP_FILE_DIALOG_FILTERS_POINTER =

Define/Macro

"SDL.filedialog.filters"
PROP_FILE_DIALOG_NFILTERS_NUMBER =
"SDL.filedialog.nfilters"
PROP_FILE_DIALOG_WINDOW_POINTER =
"SDL.filedialog.window"
PROP_FILE_DIALOG_LOCATION_STRING =
"SDL.filedialog.location"
PROP_FILE_DIALOG_MANY_BOOLEAN =
"SDL.filedialog.many"
PROP_FILE_DIALOG_TITLE_STRING =
"SDL.filedialog.title"
PROP_FILE_DIALOG_ACCEPT_STRING =
"SDL.filedialog.accept"
PROP_FILE_DIALOG_CANCEL_STRING =
"SDL.filedialog.cancel"
FILEDIALOG_OPENFILE =

Enum

0
FILEDIALOG_SAVEFILE =
1
FILEDIALOG_OPENFOLDER =
2
LIL_ENDIAN =

Define/Macro

1234
BIG_ENDIAN =
4321
EVENT_FIRST =

Enum

0
EVENT_QUIT =
256
EVENT_TERMINATING =
257
EVENT_LOW_MEMORY =
258
EVENT_WILL_ENTER_BACKGROUND =
259
EVENT_DID_ENTER_BACKGROUND =
260
EVENT_WILL_ENTER_FOREGROUND =
261
EVENT_DID_ENTER_FOREGROUND =
262
EVENT_LOCALE_CHANGED =
263
EVENT_SYSTEM_THEME_CHANGED =
264
EVENT_DISPLAY_ORIENTATION =
337
EVENT_DISPLAY_ADDED =
338
EVENT_DISPLAY_REMOVED =
339
EVENT_DISPLAY_MOVED =
340
EVENT_DISPLAY_DESKTOP_MODE_CHANGED =
341
EVENT_DISPLAY_CURRENT_MODE_CHANGED =
342
EVENT_DISPLAY_CONTENT_SCALE_CHANGED =
343
EVENT_DISPLAY_USABLE_BOUNDS_CHANGED =
344
EVENT_DISPLAY_FIRST =
337
EVENT_DISPLAY_LAST =
344
EVENT_WINDOW_SHOWN =
514
EVENT_WINDOW_HIDDEN =
515
EVENT_WINDOW_EXPOSED =
516
EVENT_WINDOW_MOVED =
517
EVENT_WINDOW_RESIZED =
518
EVENT_WINDOW_PIXEL_SIZE_CHANGED =
519
EVENT_WINDOW_METAL_VIEW_RESIZED =
520
EVENT_WINDOW_MINIMIZED =
521
EVENT_WINDOW_MAXIMIZED =
522
EVENT_WINDOW_RESTORED =
523
EVENT_WINDOW_MOUSE_ENTER =
524
EVENT_WINDOW_MOUSE_LEAVE =
525
EVENT_WINDOW_FOCUS_GAINED =
526
EVENT_WINDOW_FOCUS_LOST =
527
EVENT_WINDOW_CLOSE_REQUESTED =
528
EVENT_WINDOW_HIT_TEST =
529
EVENT_WINDOW_ICCPROF_CHANGED =
530
EVENT_WINDOW_DISPLAY_CHANGED =
531
EVENT_WINDOW_DISPLAY_SCALE_CHANGED =
532
EVENT_WINDOW_SAFE_AREA_CHANGED =
533
EVENT_WINDOW_OCCLUDED =
534
EVENT_WINDOW_ENTER_FULLSCREEN =
535
EVENT_WINDOW_LEAVE_FULLSCREEN =
536
EVENT_WINDOW_DESTROYED =
537
EVENT_WINDOW_HDR_STATE_CHANGED =
538
EVENT_WINDOW_FIRST =
514
EVENT_WINDOW_LAST =
538
EVENT_KEY_DOWN =
768
EVENT_KEY_UP =
769
EVENT_TEXT_EDITING =
770
EVENT_TEXT_INPUT =
771
EVENT_KEYMAP_CHANGED =
772
EVENT_KEYBOARD_ADDED =
773
EVENT_KEYBOARD_REMOVED =
774
EVENT_TEXT_EDITING_CANDIDATES =
775
EVENT_SCREEN_KEYBOARD_SHOWN =
776
EVENT_SCREEN_KEYBOARD_HIDDEN =
777
EVENT_MOUSE_MOTION =
1024
EVENT_MOUSE_BUTTON_DOWN =
1025
EVENT_MOUSE_BUTTON_UP =
1026
EVENT_MOUSE_WHEEL =
1027
EVENT_MOUSE_ADDED =
1028
EVENT_MOUSE_REMOVED =
1029
EVENT_JOYSTICK_AXIS_MOTION =
1536
EVENT_JOYSTICK_BALL_MOTION =
1537
EVENT_JOYSTICK_HAT_MOTION =
1538
EVENT_JOYSTICK_BUTTON_DOWN =
1539
EVENT_JOYSTICK_BUTTON_UP =
1540
EVENT_JOYSTICK_ADDED =
1541
EVENT_JOYSTICK_REMOVED =
1542
EVENT_JOYSTICK_BATTERY_UPDATED =
1543
EVENT_JOYSTICK_UPDATE_COMPLETE =
1544
EVENT_GAMEPAD_AXIS_MOTION =
1616
EVENT_GAMEPAD_BUTTON_DOWN =
1617
EVENT_GAMEPAD_BUTTON_UP =
1618
EVENT_GAMEPAD_ADDED =
1619
EVENT_GAMEPAD_REMOVED =
1620
EVENT_GAMEPAD_REMAPPED =
1621
EVENT_GAMEPAD_TOUCHPAD_DOWN =
1622
EVENT_GAMEPAD_TOUCHPAD_MOTION =
1623
EVENT_GAMEPAD_TOUCHPAD_UP =
1624
EVENT_GAMEPAD_SENSOR_UPDATE =
1625
EVENT_GAMEPAD_UPDATE_COMPLETE =
1626
EVENT_GAMEPAD_STEAM_HANDLE_UPDATED =
1627
EVENT_FINGER_DOWN =
1792
EVENT_FINGER_UP =
1793
EVENT_FINGER_MOTION =
1794
EVENT_FINGER_CANCELED =
1795
EVENT_PINCH_BEGIN =
1808
EVENT_PINCH_UPDATE =
1809
EVENT_PINCH_END =
1810
EVENT_CLIPBOARD_UPDATE =
2304
EVENT_DROP_FILE =
4096
EVENT_DROP_TEXT =
4097
EVENT_DROP_BEGIN =
4098
EVENT_DROP_COMPLETE =
4099
EVENT_DROP_POSITION =
4100
EVENT_AUDIO_DEVICE_ADDED =
4352
EVENT_AUDIO_DEVICE_REMOVED =
4353
EVENT_AUDIO_DEVICE_FORMAT_CHANGED =
4354
EVENT_SENSOR_UPDATE =
4608
EVENT_PEN_PROXIMITY_IN =
4864
EVENT_PEN_PROXIMITY_OUT =
4865
EVENT_PEN_DOWN =
4866
EVENT_PEN_UP =
4867
EVENT_PEN_BUTTON_DOWN =
4868
EVENT_PEN_BUTTON_UP =
4869
EVENT_PEN_MOTION =
4870
EVENT_PEN_AXIS =
4871
EVENT_CAMERA_DEVICE_ADDED =
5120
EVENT_CAMERA_DEVICE_REMOVED =
5121
EVENT_CAMERA_DEVICE_APPROVED =
5122
EVENT_CAMERA_DEVICE_DENIED =
5123
EVENT_RENDER_TARGETS_RESET =
8192
EVENT_RENDER_DEVICE_RESET =
8193
EVENT_RENDER_DEVICE_LOST =
8194
EVENT_PRIVATE0 =
16384
EVENT_PRIVATE1 =
16385
EVENT_PRIVATE2 =
16386
EVENT_PRIVATE3 =
16387
EVENT_POLL_SENTINEL =
32512
EVENT_USER =
32768
EVENT_LAST =
65535
EVENT_ENUM_PADDING =
2147483647
ADDEVENT =
0
PEEKEVENT =
1
GETEVENT =
2
HAPTIC_INFINITY =

Define/Macro

4294967295
HAPTIC_CONSTANT =
1 << 0
HAPTIC_SINE =
1 << 1
HAPTIC_SQUARE =
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
HAPTIC_FRICTION =
1 << 10
HAPTIC_LEFTRIGHT =
1 << 11
HAPTIC_RESERVED1 =
1 << 12
HAPTIC_RESERVED2 =
1 << 13
HAPTIC_RESERVED3 =
1 << 14
HAPTIC_CUSTOM =
1 << 15
HAPTIC_GAIN =
1 << 16
HAPTIC_AUTOCENTER =
1 << 17
HAPTIC_STATUS =
1 << 18
HAPTIC_PAUSE =
1 << 19
HAPTIC_POLAR =
0
HAPTIC_CARTESIAN =
1
HAPTIC_SPHERICAL =
2
HAPTIC_STEERING_AXIS =
3
PROP_HIDAPI_LIBUSB_DEVICE_HANDLE_POINTER =

Define/Macro

"SDL.hidapi.libusb.device.handle"
HID_API_BUS_UNKNOWN =

Enum

0
HID_API_BUS_USB =
1
HID_API_BUS_BLUETOOTH =
2
HID_API_BUS_I2C =
3
HID_API_BUS_SPI =
4
ALPHA_OPAQUE =

Define/Macro

255
ALPHA_OPAQUE_FLOAT =
1.0
ALPHA_TRANSPARENT =
0
ALPHA_TRANSPARENT_FLOAT =
0.0
PIXELTYPE_UNKNOWN =

Enum

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
PIXELTYPE_INDEX2 =
12
BITMAPORDER_NONE =
0
BITMAPORDER_4321 =
1
BITMAPORDER_1234 =
2
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_NONE =
0
ARRAYORDER_RGB =
1
ARRAYORDER_RGBA =
2
ARRAYORDER_ARGB =
3
ARRAYORDER_BGR =
4
ARRAYORDER_BGRA =
5
ARRAYORDER_ABGR =
6
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
PIXELFORMAT_UNKNOWN =
0
PIXELFORMAT_INDEX1LSB =
286261504
PIXELFORMAT_INDEX1MSB =
287310080
PIXELFORMAT_INDEX2LSB =
470811136
PIXELFORMAT_INDEX2MSB =
471859712
PIXELFORMAT_INDEX4LSB =
303039488
PIXELFORMAT_INDEX4MSB =
304088064
PIXELFORMAT_INDEX8 =
318769153
PIXELFORMAT_RGB332 =
336660481
PIXELFORMAT_XRGB4444 =
353504258
PIXELFORMAT_XBGR4444 =
357698562
PIXELFORMAT_XRGB1555 =
353570562
PIXELFORMAT_XBGR1555 =
357764866
PIXELFORMAT_ARGB4444 =
355602434
PIXELFORMAT_RGBA4444 =
356651010
PIXELFORMAT_ABGR4444 =
359796738
PIXELFORMAT_BGRA4444 =
360845314
PIXELFORMAT_ARGB1555 =
355667970
PIXELFORMAT_RGBA5551 =
356782082
PIXELFORMAT_ABGR1555 =
359862274
PIXELFORMAT_BGRA5551 =
360976386
PIXELFORMAT_RGB565 =
353701890
PIXELFORMAT_BGR565 =
357896194
PIXELFORMAT_RGB24 =
386930691
PIXELFORMAT_BGR24 =
390076419
PIXELFORMAT_XRGB8888 =
370546692
PIXELFORMAT_RGBX8888 =
371595268
PIXELFORMAT_XBGR8888 =
374740996
PIXELFORMAT_BGRX8888 =
375789572
PIXELFORMAT_ARGB8888 =
372645892
PIXELFORMAT_RGBA8888 =
373694468
PIXELFORMAT_ABGR8888 =
376840196
PIXELFORMAT_BGRA8888 =
377888772
PIXELFORMAT_XRGB2101010 =
370614276
PIXELFORMAT_XBGR2101010 =
374808580
PIXELFORMAT_ARGB2101010 =
372711428
PIXELFORMAT_ABGR2101010 =
376905732
PIXELFORMAT_RGB48 =
403714054
PIXELFORMAT_BGR48 =
406859782
PIXELFORMAT_RGBA64 =
404766728
PIXELFORMAT_ARGB64 =
405815304
PIXELFORMAT_BGRA64 =
407912456
PIXELFORMAT_ABGR64 =
408961032
PIXELFORMAT_RGB48_FLOAT =
437268486
PIXELFORMAT_BGR48_FLOAT =
440414214
PIXELFORMAT_RGBA64_FLOAT =
438321160
PIXELFORMAT_ARGB64_FLOAT =
439369736
PIXELFORMAT_BGRA64_FLOAT =
441466888
PIXELFORMAT_ABGR64_FLOAT =
442515464
PIXELFORMAT_RGB96_FLOAT =
454057996
PIXELFORMAT_BGR96_FLOAT =
457203724
PIXELFORMAT_RGBA128_FLOAT =
455114768
PIXELFORMAT_ARGB128_FLOAT =
456163344
PIXELFORMAT_BGRA128_FLOAT =
458260496
PIXELFORMAT_ABGR128_FLOAT =
459309072
PIXELFORMAT_YV12 =
842094169
PIXELFORMAT_IYUV =
1448433993
PIXELFORMAT_YUY2 =
844715353
PIXELFORMAT_UYVY =
1498831189
PIXELFORMAT_YVYU =
1431918169
PIXELFORMAT_NV12 =
842094158
PIXELFORMAT_NV21 =
825382478
PIXELFORMAT_P010 =
808530000
PIXELFORMAT_EXTERNAL_OES =
542328143
PIXELFORMAT_MJPG =
1196444237
PIXELFORMAT_RGBA32 =
376840196
PIXELFORMAT_ARGB32 =
377888772
PIXELFORMAT_BGRA32 =
372645892
PIXELFORMAT_ABGR32 =
373694468
PIXELFORMAT_RGBX32 =
374740996
PIXELFORMAT_XRGB32 =
375789572
PIXELFORMAT_BGRX32 =
370546692
PIXELFORMAT_XBGR32 =
371595268
COLOR_TYPE_UNKNOWN =
0
COLOR_TYPE_RGB =
1
COLOR_TYPE_YCBCR =
2
COLOR_RANGE_UNKNOWN =
0
COLOR_RANGE_LIMITED =
1
COLOR_RANGE_FULL =
2
COLOR_PRIMARIES_UNKNOWN =
0
COLOR_PRIMARIES_BT709 =
1
COLOR_PRIMARIES_UNSPECIFIED =
2
COLOR_PRIMARIES_BT470M =
4
COLOR_PRIMARIES_BT470BG =
5
COLOR_PRIMARIES_BT601 =
6
COLOR_PRIMARIES_SMPTE240 =
7
COLOR_PRIMARIES_GENERIC_FILM =
8
COLOR_PRIMARIES_BT2020 =
9
COLOR_PRIMARIES_XYZ =
10
COLOR_PRIMARIES_SMPTE431 =
11
COLOR_PRIMARIES_SMPTE432 =
12
COLOR_PRIMARIES_EBU3213 =
22
COLOR_PRIMARIES_CUSTOM =
31
TRANSFER_CHARACTERISTICS_UNKNOWN =
0
TRANSFER_CHARACTERISTICS_BT709 =
1
TRANSFER_CHARACTERISTICS_UNSPECIFIED =
2
TRANSFER_CHARACTERISTICS_GAMMA22 =
4
TRANSFER_CHARACTERISTICS_GAMMA28 =
5
TRANSFER_CHARACTERISTICS_BT601 =
6
TRANSFER_CHARACTERISTICS_SMPTE240 =
7
TRANSFER_CHARACTERISTICS_LINEAR =
8
TRANSFER_CHARACTERISTICS_LOG100 =
9
TRANSFER_CHARACTERISTICS_LOG100_SQRT10 =
10
TRANSFER_CHARACTERISTICS_IEC61966 =
11
TRANSFER_CHARACTERISTICS_BT1361 =
12
TRANSFER_CHARACTERISTICS_SRGB =
13
TRANSFER_CHARACTERISTICS_BT2020_10BIT =
14
TRANSFER_CHARACTERISTICS_BT2020_12BIT =
15
TRANSFER_CHARACTERISTICS_PQ =
16
TRANSFER_CHARACTERISTICS_SMPTE428 =
17
TRANSFER_CHARACTERISTICS_HLG =
18
TRANSFER_CHARACTERISTICS_CUSTOM =
31
MATRIX_COEFFICIENTS_IDENTITY =
0
MATRIX_COEFFICIENTS_BT709 =
1
MATRIX_COEFFICIENTS_UNSPECIFIED =
2
MATRIX_COEFFICIENTS_FCC =
4
MATRIX_COEFFICIENTS_BT470BG =
5
MATRIX_COEFFICIENTS_BT601 =
6
MATRIX_COEFFICIENTS_SMPTE240 =
7
MATRIX_COEFFICIENTS_YCGCO =
8
MATRIX_COEFFICIENTS_BT2020_NCL =
9
MATRIX_COEFFICIENTS_BT2020_CL =
10
MATRIX_COEFFICIENTS_SMPTE2085 =
11
MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL =
12
MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL =
13
MATRIX_COEFFICIENTS_ICTCP =
14
MATRIX_COEFFICIENTS_CUSTOM =
31
CHROMA_LOCATION_NONE =
0
CHROMA_LOCATION_LEFT =
1
CHROMA_LOCATION_CENTER =
2
CHROMA_LOCATION_TOPLEFT =
3
COLORSPACE_UNKNOWN =
0
COLORSPACE_SRGB =
301991328
COLORSPACE_SRGB_LINEAR =
301991168
COLORSPACE_HDR10 =
301999616
COLORSPACE_JPEG =
570426566
COLORSPACE_BT601_LIMITED =
554703046
COLORSPACE_BT601_FULL =
571480262
COLORSPACE_BT709_LIMITED =
554697761
COLORSPACE_BT709_FULL =
571474977
COLORSPACE_BT2020_LIMITED =
554706441
COLORSPACE_BT2020_FULL =
571483657
COLORSPACE_RGB_DEFAULT =
301991328
COLORSPACE_YUV_DEFAULT =
554703046
SOFTWARE_RENDERER =

Define/Macro

"software"
GPU_RENDERER =
"gpu"
PROP_RENDERER_CREATE_NAME_STRING =
"SDL.renderer.create.name"
PROP_RENDERER_CREATE_WINDOW_POINTER =
"SDL.renderer.create.window"
PROP_RENDERER_CREATE_SURFACE_POINTER =
"SDL.renderer.create.surface"
PROP_RENDERER_CREATE_OUTPUT_COLORSPACE_NUMBER =
"SDL.renderer.create.output_colorspace"
PROP_RENDERER_CREATE_PRESENT_VSYNC_NUMBER =
"SDL.renderer.create.present_vsync"
PROP_RENDERER_CREATE_GPU_DEVICE_POINTER =
"SDL.renderer.create.gpu.device"
PROP_RENDERER_CREATE_GPU_SHADERS_SPIRV_BOOLEAN =
"SDL.renderer.create.gpu.shaders_spirv"
PROP_RENDERER_CREATE_GPU_SHADERS_DXIL_BOOLEAN =
"SDL.renderer.create.gpu.shaders_dxil"
PROP_RENDERER_CREATE_GPU_SHADERS_MSL_BOOLEAN =
"SDL.renderer.create.gpu.shaders_msl"
PROP_RENDERER_CREATE_VULKAN_INSTANCE_POINTER =
"SDL.renderer.create.vulkan.instance"
PROP_RENDERER_CREATE_VULKAN_SURFACE_NUMBER =
"SDL.renderer.create.vulkan.surface"
PROP_RENDERER_CREATE_VULKAN_PHYSICAL_DEVICE_POINTER =
"SDL.renderer.create.vulkan.physical_device"
PROP_RENDERER_CREATE_VULKAN_DEVICE_POINTER =
"SDL.renderer.create.vulkan.device"
PROP_RENDERER_CREATE_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER =
"SDL.renderer.create.vulkan.graphics_queue_family_index"
PROP_RENDERER_CREATE_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER =
"SDL.renderer.create.vulkan.present_queue_family_index"
PROP_RENDERER_NAME_STRING =
"SDL.renderer.name"
PROP_RENDERER_WINDOW_POINTER =
"SDL.renderer.window"
PROP_RENDERER_SURFACE_POINTER =
"SDL.renderer.surface"
PROP_RENDERER_VSYNC_NUMBER =
"SDL.renderer.vsync"
PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER =
"SDL.renderer.max_texture_size"
PROP_RENDERER_TEXTURE_FORMATS_POINTER =
"SDL.renderer.texture_formats"
PROP_RENDERER_TEXTURE_WRAPPING_BOOLEAN =
"SDL.renderer.texture_wrapping"
PROP_RENDERER_OUTPUT_COLORSPACE_NUMBER =
"SDL.renderer.output_colorspace"
PROP_RENDERER_HDR_ENABLED_BOOLEAN =
"SDL.renderer.HDR_enabled"
PROP_RENDERER_SDR_WHITE_POINT_FLOAT =
"SDL.renderer.SDR_white_point"
PROP_RENDERER_HDR_HEADROOM_FLOAT =
"SDL.renderer.HDR_headroom"
PROP_RENDERER_D3D9_DEVICE_POINTER =
"SDL.renderer.d3d9.device"
PROP_RENDERER_D3D11_DEVICE_POINTER =
"SDL.renderer.d3d11.device"
PROP_RENDERER_D3D11_SWAPCHAIN_POINTER =
"SDL.renderer.d3d11.swap_chain"
PROP_RENDERER_D3D12_DEVICE_POINTER =
"SDL.renderer.d3d12.device"
PROP_RENDERER_D3D12_SWAPCHAIN_POINTER =
"SDL.renderer.d3d12.swap_chain"
PROP_RENDERER_D3D12_COMMAND_QUEUE_POINTER =
"SDL.renderer.d3d12.command_queue"
PROP_RENDERER_VULKAN_INSTANCE_POINTER =
"SDL.renderer.vulkan.instance"
PROP_RENDERER_VULKAN_SURFACE_NUMBER =
"SDL.renderer.vulkan.surface"
PROP_RENDERER_VULKAN_PHYSICAL_DEVICE_POINTER =
"SDL.renderer.vulkan.physical_device"
PROP_RENDERER_VULKAN_DEVICE_POINTER =
"SDL.renderer.vulkan.device"
PROP_RENDERER_VULKAN_GRAPHICS_QUEUE_FAMILY_INDEX_NUMBER =
"SDL.renderer.vulkan.graphics_queue_family_index"
PROP_RENDERER_VULKAN_PRESENT_QUEUE_FAMILY_INDEX_NUMBER =
"SDL.renderer.vulkan.present_queue_family_index"
PROP_RENDERER_VULKAN_SWAPCHAIN_IMAGE_COUNT_NUMBER =
"SDL.renderer.vulkan.swapchain_image_count"
PROP_RENDERER_GPU_DEVICE_POINTER =
"SDL.renderer.gpu.device"
PROP_TEXTURE_CREATE_COLORSPACE_NUMBER =
"SDL.texture.create.colorspace"
PROP_TEXTURE_CREATE_FORMAT_NUMBER =
"SDL.texture.create.format"
PROP_TEXTURE_CREATE_ACCESS_NUMBER =
"SDL.texture.create.access"
PROP_TEXTURE_CREATE_WIDTH_NUMBER =
"SDL.texture.create.width"
PROP_TEXTURE_CREATE_HEIGHT_NUMBER =
"SDL.texture.create.height"
PROP_TEXTURE_CREATE_PALETTE_POINTER =
"SDL.texture.create.palette"
PROP_TEXTURE_CREATE_SDR_WHITE_POINT_FLOAT =
"SDL.texture.create.SDR_white_point"
PROP_TEXTURE_CREATE_HDR_HEADROOM_FLOAT =
"SDL.texture.create.HDR_headroom"
PROP_TEXTURE_CREATE_D3D11_TEXTURE_POINTER =
"SDL.texture.create.d3d11.texture"
PROP_TEXTURE_CREATE_D3D11_TEXTURE_U_POINTER =
"SDL.texture.create.d3d11.texture_u"
PROP_TEXTURE_CREATE_D3D11_TEXTURE_V_POINTER =
"SDL.texture.create.d3d11.texture_v"
PROP_TEXTURE_CREATE_D3D12_TEXTURE_POINTER =
"SDL.texture.create.d3d12.texture"
PROP_TEXTURE_CREATE_D3D12_TEXTURE_U_POINTER =
"SDL.texture.create.d3d12.texture_u"
PROP_TEXTURE_CREATE_D3D12_TEXTURE_V_POINTER =
"SDL.texture.create.d3d12.texture_v"
PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER =
"SDL.texture.create.metal.pixelbuffer"
PROP_TEXTURE_CREATE_OPENGL_TEXTURE_NUMBER =
"SDL.texture.create.opengl.texture"
PROP_TEXTURE_CREATE_OPENGL_TEXTURE_UV_NUMBER =
"SDL.texture.create.opengl.texture_uv"
PROP_TEXTURE_CREATE_OPENGL_TEXTURE_U_NUMBER =
"SDL.texture.create.opengl.texture_u"
PROP_TEXTURE_CREATE_OPENGL_TEXTURE_V_NUMBER =
"SDL.texture.create.opengl.texture_v"
PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_NUMBER =
"SDL.texture.create.opengles2.texture"
PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_UV_NUMBER =
"SDL.texture.create.opengles2.texture_uv"
PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_U_NUMBER =
"SDL.texture.create.opengles2.texture_u"
PROP_TEXTURE_CREATE_OPENGLES2_TEXTURE_V_NUMBER =
"SDL.texture.create.opengles2.texture_v"
PROP_TEXTURE_CREATE_VULKAN_TEXTURE_NUMBER =
"SDL.texture.create.vulkan.texture"
PROP_TEXTURE_CREATE_VULKAN_LAYOUT_NUMBER =
"SDL.texture.create.vulkan.layout"
PROP_TEXTURE_CREATE_GPU_TEXTURE_POINTER =
"SDL.texture.create.gpu.texture"
PROP_TEXTURE_CREATE_GPU_TEXTURE_UV_POINTER =
"SDL.texture.create.gpu.texture_uv"
PROP_TEXTURE_CREATE_GPU_TEXTURE_U_POINTER =
"SDL.texture.create.gpu.texture_u"
PROP_TEXTURE_CREATE_GPU_TEXTURE_V_POINTER =
"SDL.texture.create.gpu.texture_v"
PROP_TEXTURE_COLORSPACE_NUMBER =
"SDL.texture.colorspace"
PROP_TEXTURE_FORMAT_NUMBER =
"SDL.texture.format"
PROP_TEXTURE_ACCESS_NUMBER =
"SDL.texture.access"
PROP_TEXTURE_WIDTH_NUMBER =
"SDL.texture.width"
PROP_TEXTURE_HEIGHT_NUMBER =
"SDL.texture.height"
PROP_TEXTURE_SDR_WHITE_POINT_FLOAT =
"SDL.texture.SDR_white_point"
PROP_TEXTURE_HDR_HEADROOM_FLOAT =
"SDL.texture.HDR_headroom"
PROP_TEXTURE_D3D11_TEXTURE_POINTER =
"SDL.texture.d3d11.texture"
PROP_TEXTURE_D3D11_TEXTURE_U_POINTER =
"SDL.texture.d3d11.texture_u"
PROP_TEXTURE_D3D11_TEXTURE_V_POINTER =
"SDL.texture.d3d11.texture_v"
PROP_TEXTURE_D3D12_TEXTURE_POINTER =
"SDL.texture.d3d12.texture"
PROP_TEXTURE_D3D12_TEXTURE_U_POINTER =
"SDL.texture.d3d12.texture_u"
PROP_TEXTURE_D3D12_TEXTURE_V_POINTER =
"SDL.texture.d3d12.texture_v"
PROP_TEXTURE_OPENGL_TEXTURE_NUMBER =
"SDL.texture.opengl.texture"
PROP_TEXTURE_OPENGL_TEXTURE_UV_NUMBER =
"SDL.texture.opengl.texture_uv"
PROP_TEXTURE_OPENGL_TEXTURE_U_NUMBER =
"SDL.texture.opengl.texture_u"
PROP_TEXTURE_OPENGL_TEXTURE_V_NUMBER =
"SDL.texture.opengl.texture_v"
PROP_TEXTURE_OPENGL_TEXTURE_TARGET_NUMBER =
"SDL.texture.opengl.target"
PROP_TEXTURE_OPENGL_TEX_W_FLOAT =
"SDL.texture.opengl.tex_w"
PROP_TEXTURE_OPENGL_TEX_H_FLOAT =
"SDL.texture.opengl.tex_h"
PROP_TEXTURE_OPENGLES2_TEXTURE_NUMBER =
"SDL.texture.opengles2.texture"
PROP_TEXTURE_OPENGLES2_TEXTURE_UV_NUMBER =
"SDL.texture.opengles2.texture_uv"
PROP_TEXTURE_OPENGLES2_TEXTURE_U_NUMBER =
"SDL.texture.opengles2.texture_u"
PROP_TEXTURE_OPENGLES2_TEXTURE_V_NUMBER =
"SDL.texture.opengles2.texture_v"
PROP_TEXTURE_OPENGLES2_TEXTURE_TARGET_NUMBER =
"SDL.texture.opengles2.target"
PROP_TEXTURE_VULKAN_TEXTURE_NUMBER =
"SDL.texture.vulkan.texture"
PROP_TEXTURE_GPU_TEXTURE_POINTER =
"SDL.texture.gpu.texture"
PROP_TEXTURE_GPU_TEXTURE_UV_POINTER =
"SDL.texture.gpu.texture_uv"
PROP_TEXTURE_GPU_TEXTURE_U_POINTER =
"SDL.texture.gpu.texture_u"
PROP_TEXTURE_GPU_TEXTURE_V_POINTER =
"SDL.texture.gpu.texture_v"
RENDERER_VSYNC_DISABLED =
0
RENDERER_VSYNC_ADAPTIVE =
-1
DEBUG_TEXT_FONT_CHARACTER_SIZE =
8
TEXTUREACCESS_STATIC =

Enum

0
TEXTUREACCESS_STREAMING =
1
TEXTUREACCESS_TARGET =
2
TEXTURE_ADDRESS_INVALID =
-1
TEXTURE_ADDRESS_AUTO =
0
TEXTURE_ADDRESS_CLAMP =
1
TEXTURE_ADDRESS_WRAP =
2
LOGICAL_PRESENTATION_DISABLED =
0
LOGICAL_PRESENTATION_STRETCH =
1
LOGICAL_PRESENTATION_LETTERBOX =
2
LOGICAL_PRESENTATION_OVERSCAN =
3
LOGICAL_PRESENTATION_INTEGER_SCALE =
4
STANDARD_GRAVITY =

Define/Macro

9.80665
SENSOR_INVALID =

Enum

-1
SENSOR_UNKNOWN =
0
SENSOR_ACCEL =
1
SENSOR_GYRO =
2
SENSOR_ACCEL_L =
3
SENSOR_GYRO_L =
4
SENSOR_ACCEL_R =
5
SENSOR_GYRO_R =
6
SENSOR_COUNT =
7
INVALID_UNICODE_CODEPOINT =

Define/Macro

0xFFFD
ICONV_ERROR =
-1
ICONV_E2BIG =
-2
ICONV_EILSEQ =
-3
ICONV_EINVAL =
-4
PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER =

Define/Macro

"SDL.thread.create.entry_function"
PROP_THREAD_CREATE_NAME_STRING =
"SDL.thread.create.name"
PROP_THREAD_CREATE_USERDATA_POINTER =
"SDL.thread.create.userdata"
PROP_THREAD_CREATE_STACKSIZE_NUMBER =
"SDL.thread.create.stacksize"
THREAD_PRIORITY_LOW =

Enum

0
THREAD_PRIORITY_NORMAL =
1
THREAD_PRIORITY_HIGH =
2
THREAD_PRIORITY_TIME_CRITICAL =
3
THREAD_UNKNOWN =
0
THREAD_ALIVE =
1
THREAD_DETACHED =
2
THREAD_COMPLETE =
3
ASYNCIO_TASK_READ =

Enum

0
ASYNCIO_TASK_WRITE =
1
ASYNCIO_TASK_CLOSE =
2
ASYNCIO_COMPLETE =
0
ASYNCIO_FAILURE =
1
ASYNCIO_CANCELED =
2
CACHELINE_SIZE =

Define/Macro

128
GAMEPAD_TYPE_UNKNOWN =

Enum

0
GAMEPAD_TYPE_STANDARD =
1
GAMEPAD_TYPE_XBOX360 =
2
GAMEPAD_TYPE_XBOXONE =
3
GAMEPAD_TYPE_PS3 =
4
GAMEPAD_TYPE_PS4 =
5
GAMEPAD_TYPE_PS5 =
6
GAMEPAD_TYPE_NINTENDO_SWITCH_PRO =
7
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT =
8
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT =
9
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR =
10
GAMEPAD_TYPE_GAMECUBE =
11
GAMEPAD_TYPE_COUNT =
12
GAMEPAD_BUTTON_INVALID =
-1
GAMEPAD_BUTTON_SOUTH =
0
GAMEPAD_BUTTON_EAST =
1
GAMEPAD_BUTTON_WEST =
2
GAMEPAD_BUTTON_NORTH =
3
GAMEPAD_BUTTON_BACK =
4
GAMEPAD_BUTTON_GUIDE =
5
GAMEPAD_BUTTON_START =
6
GAMEPAD_BUTTON_LEFT_STICK =
7
GAMEPAD_BUTTON_RIGHT_STICK =
8
GAMEPAD_BUTTON_LEFT_SHOULDER =
9
GAMEPAD_BUTTON_RIGHT_SHOULDER =
10
GAMEPAD_BUTTON_DPAD_UP =
11
GAMEPAD_BUTTON_DPAD_DOWN =
12
GAMEPAD_BUTTON_DPAD_LEFT =
13
GAMEPAD_BUTTON_DPAD_RIGHT =
14
GAMEPAD_BUTTON_MISC1 =
15
GAMEPAD_BUTTON_RIGHT_PADDLE1 =
16
GAMEPAD_BUTTON_LEFT_PADDLE1 =
17
GAMEPAD_BUTTON_RIGHT_PADDLE2 =
18
GAMEPAD_BUTTON_LEFT_PADDLE2 =
19
GAMEPAD_BUTTON_TOUCHPAD =
20
GAMEPAD_BUTTON_MISC2 =
21
GAMEPAD_BUTTON_MISC3 =
22
GAMEPAD_BUTTON_MISC4 =
23
GAMEPAD_BUTTON_MISC5 =
24
GAMEPAD_BUTTON_MISC6 =
25
GAMEPAD_BUTTON_COUNT =
26
GAMEPAD_BUTTON_LABEL_UNKNOWN =
0
GAMEPAD_BUTTON_LABEL_A =
1
GAMEPAD_BUTTON_LABEL_B =
2
GAMEPAD_BUTTON_LABEL_X =
3
GAMEPAD_BUTTON_LABEL_Y =
4
GAMEPAD_BUTTON_LABEL_CROSS =
5
GAMEPAD_BUTTON_LABEL_CIRCLE =
6
GAMEPAD_BUTTON_LABEL_SQUARE =
7
GAMEPAD_BUTTON_LABEL_TRIANGLE =
8
GAMEPAD_AXIS_INVALID =
-1
GAMEPAD_AXIS_LEFTX =
0
GAMEPAD_AXIS_LEFTY =
1
GAMEPAD_AXIS_RIGHTX =
2
GAMEPAD_AXIS_RIGHTY =
3
GAMEPAD_AXIS_LEFT_TRIGGER =
4
GAMEPAD_AXIS_RIGHT_TRIGGER =
5
GAMEPAD_AXIS_COUNT =
6
GAMEPAD_BINDTYPE_NONE =
0
GAMEPAD_BINDTYPE_BUTTON =
1
GAMEPAD_BINDTYPE_AXIS =
2
GAMEPAD_BINDTYPE_HAT =
3
SDLK_EXTENDED_MASK =

Define/Macro

1 << 29
SDLK_SCANCODE_MASK =
1 << 30
SDLK_UNKNOWN =
0x00000000
SDLK_RETURN =
0x0000000d
SDLK_ESCAPE =
0x0000001b
SDLK_BACKSPACE =
0x00000008
SDLK_TAB =
0x00000009
SDLK_SPACE =
0x00000020
SDLK_EXCLAIM =
0x00000021
SDLK_DBLAPOSTROPHE =
0x00000022
SDLK_HASH =
0x00000023
SDLK_DOLLAR =
0x00000024
SDLK_PERCENT =
0x00000025
SDLK_AMPERSAND =
0x00000026
SDLK_APOSTROPHE =
0x00000027
SDLK_LEFTPAREN =
0x00000028
SDLK_RIGHTPAREN =
0x00000029
SDLK_ASTERISK =
0x0000002a
SDLK_PLUS =
0x0000002b
SDLK_COMMA =
0x0000002c
SDLK_MINUS =
0x0000002d
SDLK_PERIOD =
0x0000002e
SDLK_SLASH =
0x0000002f
SDLK_0 =
0x00000030
SDLK_1 =
0x00000031
SDLK_2 =
0x00000032
SDLK_3 =
0x00000033
SDLK_4 =
0x00000034
SDLK_5 =
0x00000035
SDLK_6 =
0x00000036
SDLK_7 =
0x00000037
SDLK_8 =
0x00000038
SDLK_9 =
0x00000039
SDLK_COLON =
0x0000003a
SDLK_SEMICOLON =
0x0000003b
SDLK_LESS =
0x0000003c
SDLK_EQUALS =
0x0000003d
SDLK_GREATER =
0x0000003e
SDLK_QUESTION =
0x0000003f
SDLK_AT =
0x00000040
SDLK_LEFTBRACKET =
0x0000005b
SDLK_BACKSLASH =
0x0000005c
SDLK_RIGHTBRACKET =
0x0000005d
SDLK_CARET =
0x0000005e
SDLK_UNDERSCORE =
0x0000005f
SDLK_GRAVE =
0x00000060
SDLK_A =
0x00000061
SDLK_B =
0x00000062
SDLK_C =
0x00000063
SDLK_D =
0x00000064
SDLK_E =
0x00000065
SDLK_F =
0x00000066
SDLK_G =
0x00000067
SDLK_H =
0x00000068
SDLK_I =
0x00000069
SDLK_J =
0x0000006a
SDLK_K =
0x0000006b
SDLK_L =
0x0000006c
SDLK_M =
0x0000006d
SDLK_N =
0x0000006e
SDLK_O =
0x0000006f
SDLK_P =
0x00000070
SDLK_Q =
0x00000071
SDLK_R =
0x00000072
SDLK_S =
0x00000073
SDLK_T =
0x00000074
SDLK_U =
0x00000075
SDLK_V =
0x00000076
SDLK_W =
0x00000077
SDLK_X =
0x00000078
SDLK_Y =
0x00000079
SDLK_Z =
0x0000007a
SDLK_LEFTBRACE =
0x0000007b
SDLK_PIPE =
0x0000007c
SDLK_RIGHTBRACE =
0x0000007d
SDLK_TILDE =
0x0000007e
SDLK_DELETE =
0x0000007f
SDLK_PLUSMINUS =
0x000000b1
SDLK_CAPSLOCK =
0x40000039
SDLK_F1 =
0x4000003a
SDLK_F2 =
0x4000003b
SDLK_F3 =
0x4000003c
SDLK_F4 =
0x4000003d
SDLK_F5 =
0x4000003e
SDLK_F6 =
0x4000003f
SDLK_F7 =
0x40000040
SDLK_F8 =
0x40000041
SDLK_F9 =
0x40000042
SDLK_F10 =
0x40000043
SDLK_F11 =
0x40000044
SDLK_F12 =
0x40000045
SDLK_PRINTSCREEN =
0x40000046
SDLK_SCROLLLOCK =
0x40000047
SDLK_PAUSE =
0x40000048
SDLK_INSERT =
0x40000049
SDLK_HOME =
0x4000004a
SDLK_PAGEUP =
0x4000004b
SDLK_END =
0x4000004d
SDLK_PAGEDOWN =
0x4000004e
SDLK_RIGHT =
0x4000004f
SDLK_LEFT =
0x40000050
SDLK_DOWN =
0x40000051
SDLK_UP =
0x40000052
SDLK_NUMLOCKCLEAR =
0x40000053
SDLK_KP_DIVIDE =
0x40000054
SDLK_KP_MULTIPLY =
0x40000055
SDLK_KP_MINUS =
0x40000056
SDLK_KP_PLUS =
0x40000057
SDLK_KP_ENTER =
0x40000058
SDLK_KP_1 =
0x40000059
SDLK_KP_2 =
0x4000005a
SDLK_KP_3 =
0x4000005b
SDLK_KP_4 =
0x4000005c
SDLK_KP_5 =
0x4000005d
SDLK_KP_6 =
0x4000005e
SDLK_KP_7 =
0x4000005f
SDLK_KP_8 =
0x40000060
SDLK_KP_9 =
0x40000061
SDLK_KP_0 =
0x40000062
SDLK_KP_PERIOD =
0x40000063
SDLK_APPLICATION =
0x40000065
SDLK_POWER =
0x40000066
SDLK_KP_EQUALS =
0x40000067
SDLK_F13 =
0x40000068
SDLK_F14 =
0x40000069
SDLK_F15 =
0x4000006a
SDLK_F16 =
0x4000006b
SDLK_F17 =
0x4000006c
SDLK_F18 =
0x4000006d
SDLK_F19 =
0x4000006e
SDLK_F20 =
0x4000006f
SDLK_F21 =
0x40000070
SDLK_F22 =
0x40000071
SDLK_F23 =
0x40000072
SDLK_F24 =
0x40000073
SDLK_EXECUTE =
0x40000074
SDLK_HELP =
0x40000075
SDLK_MENU =
0x40000076
SDLK_SELECT =
0x40000077
SDLK_STOP =
0x40000078
SDLK_AGAIN =
0x40000079
SDLK_UNDO =
0x4000007a
SDLK_CUT =
0x4000007b
SDLK_COPY =
0x4000007c
SDLK_PASTE =
0x4000007d
SDLK_FIND =
0x4000007e
SDLK_MUTE =
0x4000007f
SDLK_VOLUMEUP =
0x40000080
SDLK_VOLUMEDOWN =
0x40000081
SDLK_KP_COMMA =
0x40000085
SDLK_KP_EQUALSAS400 =
0x40000086
SDLK_ALTERASE =
0x40000099
SDLK_SYSREQ =
0x4000009a
SDLK_CANCEL =
0x4000009b
SDLK_CLEAR =
0x4000009c
SDLK_PRIOR =
0x4000009d
SDLK_RETURN2 =
0x4000009e
SDLK_SEPARATOR =
0x4000009f
SDLK_OUT =
0x400000a0
SDLK_OPER =
0x400000a1
SDLK_CLEARAGAIN =
0x400000a2
SDLK_CRSEL =
0x400000a3
SDLK_EXSEL =
0x400000a4
SDLK_KP_00 =
0x400000b0
SDLK_KP_000 =
0x400000b1
SDLK_THOUSANDSSEPARATOR =
0x400000b2
SDLK_DECIMALSEPARATOR =
0x400000b3
SDLK_CURRENCYUNIT =
0x400000b4
SDLK_CURRENCYSUBUNIT =
0x400000b5
SDLK_KP_LEFTPAREN =
0x400000b6
SDLK_KP_RIGHTPAREN =
0x400000b7
SDLK_KP_LEFTBRACE =
0x400000b8
SDLK_KP_RIGHTBRACE =
0x400000b9
SDLK_KP_TAB =
0x400000ba
SDLK_KP_BACKSPACE =
0x400000bb
SDLK_KP_A =
0x400000bc
SDLK_KP_B =
0x400000bd
SDLK_KP_C =
0x400000be
SDLK_KP_D =
0x400000bf
SDLK_KP_E =
0x400000c0
SDLK_KP_F =
0x400000c1
SDLK_KP_XOR =
0x400000c2
SDLK_KP_POWER =
0x400000c3
SDLK_KP_PERCENT =
0x400000c4
SDLK_KP_LESS =
0x400000c5
SDLK_KP_GREATER =
0x400000c6
SDLK_KP_AMPERSAND =
0x400000c7
SDLK_KP_DBLAMPERSAND =
0x400000c8
SDLK_KP_VERTICALBAR =
0x400000c9
SDLK_KP_DBLVERTICALBAR =
0x400000ca
SDLK_KP_COLON =
0x400000cb
SDLK_KP_HASH =
0x400000cc
SDLK_KP_SPACE =
0x400000cd
SDLK_KP_AT =
0x400000ce
SDLK_KP_EXCLAM =
0x400000cf
SDLK_KP_MEMSTORE =
0x400000d0
SDLK_KP_MEMRECALL =
0x400000d1
SDLK_KP_MEMCLEAR =
0x400000d2
SDLK_KP_MEMADD =
0x400000d3
SDLK_KP_MEMSUBTRACT =
0x400000d4
SDLK_KP_MEMMULTIPLY =
0x400000d5
SDLK_KP_MEMDIVIDE =
0x400000d6
SDLK_KP_PLUSMINUS =
0x400000d7
SDLK_KP_CLEAR =
0x400000d8
SDLK_KP_CLEARENTRY =
0x400000d9
SDLK_KP_BINARY =
0x400000da
SDLK_KP_OCTAL =
0x400000db
SDLK_KP_DECIMAL =
0x400000dc
SDLK_KP_HEXADECIMAL =
0x400000dd
SDLK_LCTRL =
0x400000e0
SDLK_LSHIFT =
0x400000e1
SDLK_LALT =
0x400000e2
SDLK_LGUI =
0x400000e3
SDLK_RCTRL =
0x400000e4
SDLK_RSHIFT =
0x400000e5
SDLK_RALT =
0x400000e6
SDLK_RGUI =
0x400000e7
SDLK_MODE =
0x40000101
SDLK_SLEEP =
0x40000102
SDLK_WAKE =
0x40000103
SDLK_CHANNEL_INCREMENT =
0x40000104
SDLK_CHANNEL_DECREMENT =
0x40000105
SDLK_MEDIA_PLAY =
0x40000106
SDLK_MEDIA_PAUSE =
0x40000107
SDLK_MEDIA_RECORD =
0x40000108
SDLK_MEDIA_FAST_FORWARD =
0x40000109
SDLK_MEDIA_REWIND =
0x4000010a
SDLK_MEDIA_NEXT_TRACK =
0x4000010b
SDLK_MEDIA_PREVIOUS_TRACK =
0x4000010c
SDLK_MEDIA_STOP =
0x4000010d
SDLK_MEDIA_EJECT =
0x4000010e
SDLK_MEDIA_PLAY_PAUSE =
0x4000010f
SDLK_MEDIA_SELECT =
0x40000110
SDLK_AC_NEW =
0x40000111
SDLK_AC_OPEN =
0x40000112
SDLK_AC_CLOSE =
0x40000113
SDLK_AC_EXIT =
0x40000114
SDLK_AC_SAVE =
0x40000115
SDLK_AC_PRINT =
0x40000116
SDLK_AC_PROPERTIES =
0x40000117
SDLK_AC_SEARCH =
0x40000118
SDLK_AC_HOME =
0x40000119
SDLK_AC_BACK =
0x4000011a
SDLK_AC_FORWARD =
0x4000011b
SDLK_AC_STOP =
0x4000011c
SDLK_AC_REFRESH =
0x4000011d
SDLK_AC_BOOKMARKS =
0x4000011e
SDLK_SOFTLEFT =
0x4000011f
SDLK_SOFTRIGHT =
0x40000120
SDLK_CALL =
0x40000121
SDLK_ENDCALL =
0x40000122
SDLK_LEFT_TAB =
0x20000001
SDLK_LEVEL5_SHIFT =
0x20000002
SDLK_MULTI_KEY_COMPOSE =
0x20000003
SDLK_LMETA =
0x20000004
SDLK_RMETA =
0x20000005
SDLK_LHYPER =
0x20000006
SDLK_RHYPER =
0x20000007
KMOD_NONE =
0x0000
KMOD_LSHIFT =
0x0001
KMOD_RSHIFT =
0x0002
KMOD_LEVEL5 =
0x0004
KMOD_LCTRL =
0x0040
KMOD_RCTRL =
0x0080
KMOD_LALT =
0x0100
KMOD_RALT =
0x0200
KMOD_LGUI =
0x0400
KMOD_RGUI =
0x0800
KMOD_NUM =
0x1000
KMOD_CAPS =
0x2000
KMOD_MODE =
0x4000
KMOD_SCROLL =
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)
PROP_PROCESS_CREATE_ARGS_POINTER =

Define/Macro

"SDL.process.create.args"
PROP_PROCESS_CREATE_ENVIRONMENT_POINTER =
"SDL.process.create.environment"
PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING =
"SDL.process.create.working_directory"
PROP_PROCESS_CREATE_STDIN_NUMBER =
"SDL.process.create.stdin_option"
PROP_PROCESS_CREATE_STDIN_POINTER =
"SDL.process.create.stdin_source"
PROP_PROCESS_CREATE_STDOUT_NUMBER =
"SDL.process.create.stdout_option"
PROP_PROCESS_CREATE_STDOUT_POINTER =
"SDL.process.create.stdout_source"
PROP_PROCESS_CREATE_STDERR_NUMBER =
"SDL.process.create.stderr_option"
PROP_PROCESS_CREATE_STDERR_POINTER =
"SDL.process.create.stderr_source"
PROP_PROCESS_CREATE_STDERR_TO_STDOUT_BOOLEAN =
"SDL.process.create.stderr_to_stdout"
PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN =
"SDL.process.create.background"
PROP_PROCESS_CREATE_CMDLINE_STRING =
"SDL.process.create.cmdline"
PROP_PROCESS_PID_NUMBER =
"SDL.process.pid"
PROP_PROCESS_STDIN_POINTER =
"SDL.process.stdin"
PROP_PROCESS_STDOUT_POINTER =
"SDL.process.stdout"
PROP_PROCESS_STDERR_POINTER =
"SDL.process.stderr"
PROP_PROCESS_BACKGROUND_BOOLEAN =
"SDL.process.background"
PROCESS_STDIO_INHERITED =

Enum

0
PROCESS_STDIO_NULL =
1
PROCESS_STDIO_APP =
2
PROCESS_STDIO_REDIRECT =
3
SURFACE_PREALLOCATED =

Define/Macro

0x00000001
SURFACE_LOCK_NEEDED =
0x00000002
SURFACE_LOCKED =
0x00000004
SURFACE_SIMD_ALIGNED =
0x00000008
PROP_SURFACE_SDR_WHITE_POINT_FLOAT =
"SDL.surface.SDR_white_point"
PROP_SURFACE_HDR_HEADROOM_FLOAT =
"SDL.surface.HDR_headroom"
PROP_SURFACE_TONEMAP_OPERATOR_STRING =
"SDL.surface.tonemap"
PROP_SURFACE_HOTSPOT_X_NUMBER =
"SDL.surface.hotspot.x"
PROP_SURFACE_HOTSPOT_Y_NUMBER =
"SDL.surface.hotspot.y"
PROP_SURFACE_ROTATION_FLOAT =
"SDL.surface.rotation"
SCALEMODE_INVALID =

Enum

-1
SCALEMODE_NEAREST =
0
SCALEMODE_LINEAR =
1
SCALEMODE_PIXELART =
2
FLIP_NONE =
0
FLIP_HORIZONTAL =
1
FLIP_VERTICAL =
2
FLIP_HORIZONTAL_AND_VERTICAL =
3
MAJOR_VERSION =

Define/Macro

3
MINOR_VERSION =
4
MICRO_VERSION =
12
PROP_IOSTREAM_WINDOWS_HANDLE_POINTER =

Define/Macro

"SDL.iostream.windows.handle"
PROP_IOSTREAM_STDIO_FILE_POINTER =
"SDL.iostream.stdio.file"
PROP_IOSTREAM_FILE_DESCRIPTOR_NUMBER =
"SDL.iostream.file_descriptor"
PROP_IOSTREAM_ANDROID_AASSET_POINTER =
"SDL.iostream.android.aasset"
PROP_IOSTREAM_MEMORY_POINTER =
"SDL.iostream.memory.base"
PROP_IOSTREAM_MEMORY_SIZE_NUMBER =
"SDL.iostream.memory.size"
PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER =
"SDL.iostream.memory.free"
PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER =
"SDL.iostream.dynamic.memory"
PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER =
"SDL.iostream.dynamic.chunksize"
IO_STATUS_READY =

Enum

0
IO_STATUS_ERROR =
1
IO_STATUS_EOF =
2
IO_STATUS_NOT_READY =
3
IO_STATUS_READONLY =
4
IO_STATUS_WRITEONLY =
5
IO_SEEK_SET =
0
IO_SEEK_CUR =
1
IO_SEEK_END =
2
JOYSTICK_AXIS_MAX =

Define/Macro

32767
JOYSTICK_AXIS_MIN =
-32768
PROP_JOYSTICK_CAP_MONO_LED_BOOLEAN =
"SDL.joystick.cap.mono_led"
PROP_JOYSTICK_CAP_RGB_LED_BOOLEAN =
"SDL.joystick.cap.rgb_led"
PROP_JOYSTICK_CAP_PLAYER_LED_BOOLEAN =
"SDL.joystick.cap.player_led"
PROP_JOYSTICK_CAP_RUMBLE_BOOLEAN =
"SDL.joystick.cap.rumble"
PROP_JOYSTICK_CAP_TRIGGER_RUMBLE_BOOLEAN =
"SDL.joystick.cap.trigger_rumble"
HAT_CENTERED =
0x00
HAT_UP =
0x01
HAT_RIGHT =
0x02
HAT_DOWN =
0x04
HAT_LEFT =
0x08
HAT_RIGHTUP =
(HAT_RIGHT | HAT_UP)
HAT_RIGHTDOWN =
(HAT_RIGHT | HAT_DOWN)
HAT_LEFTUP =
(HAT_LEFT | HAT_UP)
HAT_LEFTDOWN =
(HAT_LEFT | HAT_DOWN)
JOYSTICK_TYPE_UNKNOWN =

Enum

0
JOYSTICK_TYPE_GAMEPAD =
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
JOYSTICK_TYPE_COUNT =
10
JOYSTICK_CONNECTION_INVALID =
-1
JOYSTICK_CONNECTION_UNKNOWN =
0
JOYSTICK_CONNECTION_WIRED =
1
JOYSTICK_CONNECTION_WIRELESS =
2
PROP_TEXTINPUT_TYPE_NUMBER =

Define/Macro

"SDL.textinput.type"
PROP_TEXTINPUT_CAPITALIZATION_NUMBER =
"SDL.textinput.capitalization"
PROP_TEXTINPUT_AUTOCORRECT_BOOLEAN =
"SDL.textinput.autocorrect"
PROP_TEXTINPUT_MULTILINE_BOOLEAN =
"SDL.textinput.multiline"
PROP_TEXTINPUT_ANDROID_INPUTTYPE_NUMBER =
"SDL.textinput.android.inputtype"
TEXTINPUT_TYPE_TEXT =

Enum

0
TEXTINPUT_TYPE_TEXT_NAME =
1
TEXTINPUT_TYPE_TEXT_EMAIL =
2
TEXTINPUT_TYPE_TEXT_USERNAME =
3
TEXTINPUT_TYPE_TEXT_PASSWORD_HIDDEN =
4
TEXTINPUT_TYPE_TEXT_PASSWORD_VISIBLE =
5
TEXTINPUT_TYPE_NUMBER =
6
TEXTINPUT_TYPE_NUMBER_PASSWORD_HIDDEN =
7
TEXTINPUT_TYPE_NUMBER_PASSWORD_VISIBLE =
8
CAPITALIZE_NONE =
0
CAPITALIZE_SENTENCES =
1
CAPITALIZE_WORDS =
2
CAPITALIZE_LETTERS =
3
REVISION =

Define/Macro

"SDL-release-3.4.12-0-gf87239e71"
SCANCODE_UNKNOWN =

Enum

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_SLEEP =
258
SCANCODE_WAKE =
259
SCANCODE_CHANNEL_INCREMENT =
260
SCANCODE_CHANNEL_DECREMENT =
261
SCANCODE_MEDIA_PLAY =
262
SCANCODE_MEDIA_PAUSE =
263
SCANCODE_MEDIA_RECORD =
264
SCANCODE_MEDIA_FAST_FORWARD =
265
SCANCODE_MEDIA_REWIND =
266
SCANCODE_MEDIA_NEXT_TRACK =
267
SCANCODE_MEDIA_PREVIOUS_TRACK =
268
SCANCODE_MEDIA_STOP =
269
SCANCODE_MEDIA_EJECT =
270
SCANCODE_MEDIA_PLAY_PAUSE =
271
SCANCODE_MEDIA_SELECT =
272
SCANCODE_AC_NEW =
273
SCANCODE_AC_OPEN =
274
SCANCODE_AC_CLOSE =
275
SCANCODE_AC_EXIT =
276
SCANCODE_AC_SAVE =
277
SCANCODE_AC_PRINT =
278
SCANCODE_AC_PROPERTIES =
279
SCANCODE_AC_SEARCH =
280
SCANCODE_AC_HOME =
281
SCANCODE_AC_BACK =
282
SCANCODE_AC_FORWARD =
283
SCANCODE_AC_STOP =
284
SCANCODE_AC_REFRESH =
285
SCANCODE_AC_BOOKMARKS =
286
SCANCODE_SOFTLEFT =
287
SCANCODE_SOFTRIGHT =
288
SCANCODE_CALL =
289
SCANCODE_ENDCALL =
290
SCANCODE_RESERVED =
400
SCANCODE_COUNT =
512
BLENDMODE_NONE =

Define/Macro

0x00000000
BLENDMODE_BLEND =
0x00000001
BLENDMODE_BLEND_PREMULTIPLIED =
0x00000010
BLENDMODE_ADD =
0x00000002
BLENDMODE_ADD_PREMULTIPLIED =
0x00000020
BLENDMODE_MOD =
0x00000004
BLENDMODE_MUL =
0x00000008
BLENDMODE_INVALID =
0x7FFFFFFF
BLENDOPERATION_ADD =

Enum

1
BLENDOPERATION_SUBTRACT =
2
BLENDOPERATION_REV_SUBTRACT =
3
BLENDOPERATION_MINIMUM =
4
BLENDOPERATION_MAXIMUM =
5
BLENDFACTOR_ZERO =
1
BLENDFACTOR_ONE =
2
BLENDFACTOR_SRC_COLOR =
3
BLENDFACTOR_ONE_MINUS_SRC_COLOR =
4
BLENDFACTOR_SRC_ALPHA =
5
BLENDFACTOR_ONE_MINUS_SRC_ALPHA =
6
BLENDFACTOR_DST_COLOR =
7
BLENDFACTOR_ONE_MINUS_DST_COLOR =
8
BLENDFACTOR_DST_ALPHA =
9
BLENDFACTOR_ONE_MINUS_DST_ALPHA =
10
GLOB_CASEINSENSITIVE =

Define/Macro

1 << 0
FOLDER_HOME =

Enum

0
FOLDER_DESKTOP =
1
FOLDER_DOCUMENTS =
2
FOLDER_DOWNLOADS =
3
FOLDER_MUSIC =
4
FOLDER_PICTURES =
5
FOLDER_PUBLICSHARE =
6
FOLDER_SAVEDGAMES =
7
FOLDER_SCREENSHOTS =
8
FOLDER_TEMPLATES =
9
FOLDER_VIDEOS =
10
FOLDER_COUNT =
11
PATHTYPE_NONE =
0
PATHTYPE_FILE =
1
PATHTYPE_DIRECTORY =
2
PATHTYPE_OTHER =
3
ENUM_CONTINUE =
0
ENUM_SUCCESS =
1
ENUM_FAILURE =
2
MESSAGEBOX_ERROR =

Define/Macro

0x00000010
MESSAGEBOX_WARNING =
0x00000020
MESSAGEBOX_INFORMATION =
0x00000040
MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT =
0x00000080
MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT =
0x00000100
MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT =
0x00000001
MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT =
0x00000002
MESSAGEBOX_COLOR_BACKGROUND =

Enum

0
MESSAGEBOX_COLOR_TEXT =
1
MESSAGEBOX_COLOR_BUTTON_BORDER =
2
MESSAGEBOX_COLOR_BUTTON_BACKGROUND =
3
MESSAGEBOX_COLOR_BUTTON_SELECTED =
4
MESSAGEBOX_COLOR_COUNT =
5
PROP_NAME_STRING =

Define/Macro

"SDL.name"
PROPERTY_TYPE_INVALID =

Enum

0
PROPERTY_TYPE_POINTER =
1
PROPERTY_TYPE_STRING =
2
PROPERTY_TYPE_NUMBER =
3
PROPERTY_TYPE_FLOAT =
4
PROPERTY_TYPE_BOOLEAN =
5
@@sdl3_import_done =
false

Class Method Summary collapse

Class Method Details

.load_lib(libpath, output_error: false, image_libpath: nil, ttf_libpath: nil, mixer_libpath: nil, sound_libpath: nil) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/sdl3.rb', line 72

def self.load_lib(libpath, output_error: false, image_libpath: nil, ttf_libpath: nil, mixer_libpath: nil, sound_libpath: nil)

  unless @@sdl3_import_done
    # Ref.: Using Multiple and Alternate Libraries
    # https://github.com/ffi/ffi/wiki/Using-Multiple-and-Alternate-Libraries
    begin
      lib_paths = [libpath, image_libpath, ttf_libpath, mixer_libpath, sound_libpath].compact

      ffi_lib_flags :now, :global
      ffi_lib *lib_paths
      setup_symbols(output_error)

      setup_image_symbols(output_error) if image_libpath
      setup_ttf_symbols(output_error) if ttf_libpath
      setup_mixer_symbols(output_error) if mixer_libpath
      setup_sound_symbols(output_error) if sound_libpath
    rescue => error
      $stderr.puts("[Warning] Failed to load libraries (#{error}).") if output_error
    end
  end

end

.PointInRectFloat(p, r) ⇒ Object



27
28
29
# File 'lib/sdl3_rect.rb', line 27

def self.PointInRectFloat(p, r)
  return ( (p.x >= r.x) && (p.x < (r.x + r.w)) && (p.y >= r.y) && (p.y < (r.y + r.h)) ) ? 1 : 0
end

.RectEmpty(r) ⇒ Object



31
32
33
# File 'lib/sdl3_rect.rb', line 31

def self.RectEmpty(r)
  return (!r.null? || (r.w <= 0) || (r.h <= 0)) ? 1 : 0
end

.RectsEqual(a, b) ⇒ Object



35
36
37
# File 'lib/sdl3_rect.rb', line 35

def self.RectsEqual(a, b)
  return (!a.null? && !b.null? && (a.x == b.x) && (a.y == b.y) && (a.w == b.w) && (a.h == b.h)) ? 1 : 0
end

.RectToFRect(rect, frect) ⇒ Object



20
21
22
23
24
25
# File 'lib/sdl3_rect.rb', line 20

def self.RectToFRect(rect, frect)
  frect.x = rect.x
  frect.y = rect.y
  frect.w = rect.w
  frect.y = rect.h
end

.setup_assert_symbols(output_error = false) ⇒ Object

Function



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/sdl3_assert.rb', line 44

def self.setup_assert_symbols(output_error = false)
  entries = [
    [:ReportAssertion, :SDL_ReportAssertion, [:pointer, :pointer, :pointer, :int], :int],
    [:SetAssertionHandler, :SDL_SetAssertionHandler, [:SDL_AssertionHandler, :pointer], :void],
    [:GetDefaultAssertionHandler, :SDL_GetDefaultAssertionHandler, [], :pointer],
    [:GetAssertionHandler, :SDL_GetAssertionHandler, [:pointer], :pointer],
    [:GetAssertionReport, :SDL_GetAssertionReport, [], :pointer],
    [:ResetAssertionReport, :SDL_ResetAssertionReport, [], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_asyncio_symbols(output_error = false) ⇒ Object

Function



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/sdl3_asyncio.rb', line 46

def self.setup_asyncio_symbols(output_error = false)
  entries = [
    [:AsyncIOFromFile, :SDL_AsyncIOFromFile, [:pointer, :pointer], :pointer],
    [:GetAsyncIOSize, :SDL_GetAsyncIOSize, [:pointer], :long_long],
    [:ReadAsyncIO, :SDL_ReadAsyncIO, [:pointer, :pointer, :ulong_long, :ulong_long, :pointer, :pointer], :bool],
    [:WriteAsyncIO, :SDL_WriteAsyncIO, [:pointer, :pointer, :ulong_long, :ulong_long, :pointer, :pointer], :bool],
    [:CloseAsyncIO, :SDL_CloseAsyncIO, [:pointer, :bool, :pointer, :pointer], :bool],
    [:CreateAsyncIOQueue, :SDL_CreateAsyncIOQueue, [], :pointer],
    [:DestroyAsyncIOQueue, :SDL_DestroyAsyncIOQueue, [:pointer], :void],
    [:GetAsyncIOResult, :SDL_GetAsyncIOResult, [:pointer, :pointer], :bool],
    [:WaitAsyncIOResult, :SDL_WaitAsyncIOResult, [:pointer, :pointer, :int], :bool],
    [:SignalAsyncIOQueue, :SDL_SignalAsyncIOQueue, [:pointer], :void],
    [:LoadFileAsync, :SDL_LoadFileAsync, [:pointer, :pointer, :pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_atomic_symbols(output_error = false) ⇒ Object

Function



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/sdl3_atomic.rb', line 38

def self.setup_atomic_symbols(output_error = false)
  entries = [
    [:TryLockSpinlock, :SDL_TryLockSpinlock, [:pointer], :bool],
    [:LockSpinlock, :SDL_LockSpinlock, [:pointer], :void],
    [:UnlockSpinlock, :SDL_UnlockSpinlock, [:pointer], :void],
    [:MemoryBarrierReleaseFunction, :SDL_MemoryBarrierReleaseFunction, [], :void],
    [:MemoryBarrierAcquireFunction, :SDL_MemoryBarrierAcquireFunction, [], :void],
    [:CompareAndSwapAtomicInt, :SDL_CompareAndSwapAtomicInt, [:pointer, :int, :int], :bool],
    [:SetAtomicInt, :SDL_SetAtomicInt, [:pointer, :int], :int],
    [:GetAtomicInt, :SDL_GetAtomicInt, [:pointer], :int],
    [:AddAtomicInt, :SDL_AddAtomicInt, [:pointer, :int], :int],
    [:CompareAndSwapAtomicU32, :SDL_CompareAndSwapAtomicU32, [:pointer, :uint, :uint], :bool],
    [:SetAtomicU32, :SDL_SetAtomicU32, [:pointer, :uint], :uint],
    [:GetAtomicU32, :SDL_GetAtomicU32, [:pointer], :uint],
    [:AddAtomicU32, :SDL_AddAtomicU32, [:pointer, :int], :uint],
    [:CompareAndSwapAtomicPointer, :SDL_CompareAndSwapAtomicPointer, [:pointer, :pointer, :pointer], :bool],
    [:SetAtomicPointer, :SDL_SetAtomicPointer, [:pointer, :pointer], :pointer],
    [:GetAtomicPointer, :SDL_GetAtomicPointer, [:pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_audio_symbols(output_error = false) ⇒ Object

Function



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/sdl3_audio.rb', line 57

def self.setup_audio_symbols(output_error = false)
  entries = [
    [:GetNumAudioDrivers, :SDL_GetNumAudioDrivers, [], :int],
    [:GetAudioDriver, :SDL_GetAudioDriver, [:int], :pointer],
    [:GetCurrentAudioDriver, :SDL_GetCurrentAudioDriver, [], :pointer],
    [:GetAudioPlaybackDevices, :SDL_GetAudioPlaybackDevices, [:pointer], :pointer],
    [:GetAudioRecordingDevices, :SDL_GetAudioRecordingDevices, [:pointer], :pointer],
    [:GetAudioDeviceName, :SDL_GetAudioDeviceName, [:uint], :pointer],
    [:GetAudioDeviceFormat, :SDL_GetAudioDeviceFormat, [:uint, :pointer, :pointer], :bool],
    [:GetAudioDeviceChannelMap, :SDL_GetAudioDeviceChannelMap, [:uint, :pointer], :pointer],
    [:OpenAudioDevice, :SDL_OpenAudioDevice, [:uint, :pointer], :uint],
    [:IsAudioDevicePhysical, :SDL_IsAudioDevicePhysical, [:uint], :bool],
    [:IsAudioDevicePlayback, :SDL_IsAudioDevicePlayback, [:uint], :bool],
    [:PauseAudioDevice, :SDL_PauseAudioDevice, [:uint], :bool],
    [:ResumeAudioDevice, :SDL_ResumeAudioDevice, [:uint], :bool],
    [:AudioDevicePaused, :SDL_AudioDevicePaused, [:uint], :bool],
    [:GetAudioDeviceGain, :SDL_GetAudioDeviceGain, [:uint], :float],
    [:SetAudioDeviceGain, :SDL_SetAudioDeviceGain, [:uint, :float], :bool],
    [:CloseAudioDevice, :SDL_CloseAudioDevice, [:uint], :void],
    [:BindAudioStreams, :SDL_BindAudioStreams, [:uint, :pointer, :int], :bool],
    [:BindAudioStream, :SDL_BindAudioStream, [:uint, :pointer], :bool],
    [:UnbindAudioStreams, :SDL_UnbindAudioStreams, [:pointer, :int], :void],
    [:UnbindAudioStream, :SDL_UnbindAudioStream, [:pointer], :void],
    [:GetAudioStreamDevice, :SDL_GetAudioStreamDevice, [:pointer], :uint],
    [:CreateAudioStream, :SDL_CreateAudioStream, [:pointer, :pointer], :pointer],
    [:GetAudioStreamProperties, :SDL_GetAudioStreamProperties, [:pointer], :uint],
    [:GetAudioStreamFormat, :SDL_GetAudioStreamFormat, [:pointer, :pointer, :pointer], :bool],
    [:SetAudioStreamFormat, :SDL_SetAudioStreamFormat, [:pointer, :pointer, :pointer], :bool],
    [:GetAudioStreamFrequencyRatio, :SDL_GetAudioStreamFrequencyRatio, [:pointer], :float],
    [:SetAudioStreamFrequencyRatio, :SDL_SetAudioStreamFrequencyRatio, [:pointer, :float], :bool],
    [:GetAudioStreamGain, :SDL_GetAudioStreamGain, [:pointer], :float],
    [:SetAudioStreamGain, :SDL_SetAudioStreamGain, [:pointer, :float], :bool],
    [:GetAudioStreamInputChannelMap, :SDL_GetAudioStreamInputChannelMap, [:pointer, :pointer], :pointer],
    [:GetAudioStreamOutputChannelMap, :SDL_GetAudioStreamOutputChannelMap, [:pointer, :pointer], :pointer],
    [:SetAudioStreamInputChannelMap, :SDL_SetAudioStreamInputChannelMap, [:pointer, :pointer, :int], :bool],
    [:SetAudioStreamOutputChannelMap, :SDL_SetAudioStreamOutputChannelMap, [:pointer, :pointer, :int], :bool],
    [:PutAudioStreamData, :SDL_PutAudioStreamData, [:pointer, :pointer, :int], :bool],
    [:PutAudioStreamDataNoCopy, :SDL_PutAudioStreamDataNoCopy, [:pointer, :pointer, :int, :SDL_AudioStreamDataCompleteCallback, :pointer], :bool],
    [:PutAudioStreamPlanarData, :SDL_PutAudioStreamPlanarData, [:pointer, :pointer, :int, :int], :bool],
    [:GetAudioStreamData, :SDL_GetAudioStreamData, [:pointer, :pointer, :int], :int],
    [:GetAudioStreamAvailable, :SDL_GetAudioStreamAvailable, [:pointer], :int],
    [:GetAudioStreamQueued, :SDL_GetAudioStreamQueued, [:pointer], :int],
    [:FlushAudioStream, :SDL_FlushAudioStream, [:pointer], :bool],
    [:ClearAudioStream, :SDL_ClearAudioStream, [:pointer], :bool],
    [:PauseAudioStreamDevice, :SDL_PauseAudioStreamDevice, [:pointer], :bool],
    [:ResumeAudioStreamDevice, :SDL_ResumeAudioStreamDevice, [:pointer], :bool],
    [:AudioStreamDevicePaused, :SDL_AudioStreamDevicePaused, [:pointer], :bool],
    [:LockAudioStream, :SDL_LockAudioStream, [:pointer], :bool],
    [:UnlockAudioStream, :SDL_UnlockAudioStream, [:pointer], :bool],
    [:SetAudioStreamGetCallback, :SDL_SetAudioStreamGetCallback, [:pointer, :SDL_AudioStreamCallback, :pointer], :bool],
    [:SetAudioStreamPutCallback, :SDL_SetAudioStreamPutCallback, [:pointer, :SDL_AudioStreamCallback, :pointer], :bool],
    [:DestroyAudioStream, :SDL_DestroyAudioStream, [:pointer], :void],
    [:OpenAudioDeviceStream, :SDL_OpenAudioDeviceStream, [:uint, :pointer, :SDL_AudioStreamCallback, :pointer], :pointer],
    [:SetAudioPostmixCallback, :SDL_SetAudioPostmixCallback, [:uint, :SDL_AudioPostmixCallback, :pointer], :bool],
    [:LoadWAV_IO, :SDL_LoadWAV_IO, [:pointer, :bool, :pointer, :pointer, :pointer], :bool],
    [:LoadWAV, :SDL_LoadWAV, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:MixAudio, :SDL_MixAudio, [:pointer, :pointer, :int, :uint, :float], :bool],
    [:ConvertAudioSamples, :SDL_ConvertAudioSamples, [:pointer, :pointer, :int, :pointer, :pointer, :pointer], :bool],
    [:GetAudioFormatName, :SDL_GetAudioFormatName, [:int], :pointer],
    [:GetSilenceValueForFormat, :SDL_GetSilenceValueForFormat, [:int], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_bits_symbols(output_error = false) ⇒ Object

Function



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sdl3_bits.rb', line 25

def self.setup_bits_symbols(output_error = false)
  entries = [
    [:MostSignificantBitIndex32, :SDL_MostSignificantBitIndex32, [:uint], :int],
    [:HasExactlyOneBitSet32, :SDL_HasExactlyOneBitSet32, [:uint], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_blendmode_symbols(output_error = false) ⇒ Object

Function



51
52
53
54
55
56
57
58
59
60
# File 'lib/sdl3_blendmode.rb', line 51

def self.setup_blendmode_symbols(output_error = false)
  entries = [
    [:ComposeCustomBlendMode, :SDL_ComposeCustomBlendMode, [:int, :int, :int, :int, :int, :int], :uint],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_camera_symbols(output_error = false) ⇒ Object

Function



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/sdl3_camera.rb', line 45

def self.setup_camera_symbols(output_error = false)
  entries = [
    [:GetNumCameraDrivers, :SDL_GetNumCameraDrivers, [], :int],
    [:GetCameraDriver, :SDL_GetCameraDriver, [:int], :pointer],
    [:GetCurrentCameraDriver, :SDL_GetCurrentCameraDriver, [], :pointer],
    [:GetCameras, :SDL_GetCameras, [:pointer], :pointer],
    [:GetCameraSupportedFormats, :SDL_GetCameraSupportedFormats, [:uint, :pointer], :pointer],
    [:GetCameraName, :SDL_GetCameraName, [:uint], :pointer],
    [:GetCameraPosition, :SDL_GetCameraPosition, [:uint], :int],
    [:OpenCamera, :SDL_OpenCamera, [:uint, :pointer], :pointer],
    [:GetCameraPermissionState, :SDL_GetCameraPermissionState, [:pointer], :int],
    [:GetCameraID, :SDL_GetCameraID, [:pointer], :uint],
    [:GetCameraProperties, :SDL_GetCameraProperties, [:pointer], :uint],
    [:GetCameraFormat, :SDL_GetCameraFormat, [:pointer, :pointer], :bool],
    [:AcquireCameraFrame, :SDL_AcquireCameraFrame, [:pointer, :pointer], :pointer],
    [:ReleaseCameraFrame, :SDL_ReleaseCameraFrame, [:pointer, :pointer], :void],
    [:CloseCamera, :SDL_CloseCamera, [:pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_clipboard_symbols(output_error = false) ⇒ Object

Function



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/sdl3_clipboard.rb', line 27

def self.setup_clipboard_symbols(output_error = false)
  entries = [
    [:SetClipboardText, :SDL_SetClipboardText, [:pointer], :bool],
    [:GetClipboardText, :SDL_GetClipboardText, [], :pointer],
    [:HasClipboardText, :SDL_HasClipboardText, [], :bool],
    [:SetPrimarySelectionText, :SDL_SetPrimarySelectionText, [:pointer], :bool],
    [:GetPrimarySelectionText, :SDL_GetPrimarySelectionText, [], :pointer],
    [:HasPrimarySelectionText, :SDL_HasPrimarySelectionText, [], :bool],
    [:SetClipboardData, :SDL_SetClipboardData, [:SDL_ClipboardDataCallback, :SDL_ClipboardCleanupCallback, :pointer, :pointer, :ulong_long], :bool],
    [:ClearClipboardData, :SDL_ClearClipboardData, [], :bool],
    [:GetClipboardData, :SDL_GetClipboardData, [:pointer, :pointer], :pointer],
    [:HasClipboardData, :SDL_HasClipboardData, [:pointer], :bool],
    [:GetClipboardMimeTypes, :SDL_GetClipboardMimeTypes, [:pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_cpuinfo_symbols(output_error = false) ⇒ Object

Function



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/sdl3_cpuinfo.rb', line 26

def self.setup_cpuinfo_symbols(output_error = false)
  entries = [
    [:GetNumLogicalCPUCores, :SDL_GetNumLogicalCPUCores, [], :int],
    [:GetCPUCacheLineSize, :SDL_GetCPUCacheLineSize, [], :int],
    [:HasAltiVec, :SDL_HasAltiVec, [], :bool],
    [:HasMMX, :SDL_HasMMX, [], :bool],
    [:HasSSE, :SDL_HasSSE, [], :bool],
    [:HasSSE2, :SDL_HasSSE2, [], :bool],
    [:HasSSE3, :SDL_HasSSE3, [], :bool],
    [:HasSSE41, :SDL_HasSSE41, [], :bool],
    [:HasSSE42, :SDL_HasSSE42, [], :bool],
    [:HasAVX, :SDL_HasAVX, [], :bool],
    [:HasAVX2, :SDL_HasAVX2, [], :bool],
    [:HasAVX512F, :SDL_HasAVX512F, [], :bool],
    [:HasARMSIMD, :SDL_HasARMSIMD, [], :bool],
    [:HasNEON, :SDL_HasNEON, [], :bool],
    [:HasLSX, :SDL_HasLSX, [], :bool],
    [:HasLASX, :SDL_HasLASX, [], :bool],
    [:GetSystemRAM, :SDL_GetSystemRAM, [], :int],
    [:GetSIMDAlignment, :SDL_GetSIMDAlignment, [], :ulong_long],
    [:GetSystemPageSize, :SDL_GetSystemPageSize, [], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_dialog_symbols(output_error = false) ⇒ Object

Function



45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/sdl3_dialog.rb', line 45

def self.setup_dialog_symbols(output_error = false)
  entries = [
    [:ShowOpenFileDialog, :SDL_ShowOpenFileDialog, [:SDL_DialogFileCallback, :pointer, :pointer, :pointer, :int, :pointer, :bool], :void],
    [:ShowSaveFileDialog, :SDL_ShowSaveFileDialog, [:SDL_DialogFileCallback, :pointer, :pointer, :pointer, :int, :pointer], :void],
    [:ShowOpenFolderDialog, :SDL_ShowOpenFolderDialog, [:SDL_DialogFileCallback, :pointer, :pointer, :pointer, :bool], :void],
    [:ShowFileDialogWithProperties, :SDL_ShowFileDialogWithProperties, [:int, :SDL_DialogFileCallback, :pointer, :uint], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_endian_symbols(output_error = false) ⇒ Object

Function



27
28
29
30
31
32
33
34
35
36
# File 'lib/sdl3_endian.rb', line 27

def self.setup_endian_symbols(output_error = false)
  entries = [
    [:SwapFloat, :SDL_SwapFloat, [:float], :float],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_error_symbols(output_error = false) ⇒ Object

Function



25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/sdl3_error.rb', line 25

def self.setup_error_symbols(output_error = false)
  entries = [
    [:SetError, :SDL_SetError, [:pointer], :bool],
    [:SetErrorV, :SDL_SetErrorV, [:pointer, :pointer], :bool],
    [:OutOfMemory, :SDL_OutOfMemory, [], :bool],
    [:GetError, :SDL_GetError, [], :pointer],
    [:ClearError, :SDL_ClearError, [], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_events_symbols(output_error = false) ⇒ Object

Function



669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
# File 'lib/sdl3_events.rb', line 669

def self.setup_events_symbols(output_error = false)
  entries = [
    [:PumpEvents, :SDL_PumpEvents, [], :void],
    [:PeepEvents, :SDL_PeepEvents, [:pointer, :int, :int, :uint, :uint], :int],
    [:HasEvent, :SDL_HasEvent, [:uint], :bool],
    [:HasEvents, :SDL_HasEvents, [:uint, :uint], :bool],
    [:FlushEvent, :SDL_FlushEvent, [:uint], :void],
    [:FlushEvents, :SDL_FlushEvents, [:uint, :uint], :void],
    [:PollEvent, :SDL_PollEvent, [:pointer], :bool],
    [:WaitEvent, :SDL_WaitEvent, [:pointer], :bool],
    [:WaitEventTimeout, :SDL_WaitEventTimeout, [:pointer, :int], :bool],
    [:PushEvent, :SDL_PushEvent, [:pointer], :bool],
    [:SetEventFilter, :SDL_SetEventFilter, [:SDL_EventFilter, :pointer], :void],
    [:GetEventFilter, :SDL_GetEventFilter, [:pointer, :pointer], :bool],
    [:AddEventWatch, :SDL_AddEventWatch, [:SDL_EventFilter, :pointer], :bool],
    [:RemoveEventWatch, :SDL_RemoveEventWatch, [:SDL_EventFilter, :pointer], :void],
    [:FilterEvents, :SDL_FilterEvents, [:SDL_EventFilter, :pointer], :void],
    [:SetEventEnabled, :SDL_SetEventEnabled, [:uint, :bool], :void],
    [:EventEnabled, :SDL_EventEnabled, [:uint], :bool],
    [:RegisterEvents, :SDL_RegisterEvents, [:int], :uint],
    [:GetWindowFromEvent, :SDL_GetWindowFromEvent, [:pointer], :pointer],
    [:GetEventDescription, :SDL_GetEventDescription, [:pointer, :pointer, :int], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_filesystem_symbols(output_error = false) ⇒ Object

Function



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/sdl3_filesystem.rb', line 60

def self.setup_filesystem_symbols(output_error = false)
  entries = [
    [:GetBasePath, :SDL_GetBasePath, [], :pointer],
    [:GetPrefPath, :SDL_GetPrefPath, [:pointer, :pointer], :pointer],
    [:GetUserFolder, :SDL_GetUserFolder, [:int], :pointer],
    [:CreateDirectory, :SDL_CreateDirectory, [:pointer], :bool],
    [:EnumerateDirectory, :SDL_EnumerateDirectory, [:pointer, :SDL_EnumerateDirectoryCallback, :pointer], :bool],
    [:RemovePath, :SDL_RemovePath, [:pointer], :bool],
    [:RenamePath, :SDL_RenamePath, [:pointer, :pointer], :bool],
    [:CopyFile, :SDL_CopyFile, [:pointer, :pointer], :bool],
    [:GetPathInfo, :SDL_GetPathInfo, [:pointer, :pointer], :bool],
    [:GlobDirectory, :SDL_GlobDirectory, [:pointer, :pointer, :uint, :pointer], :pointer],
    [:GetCurrentDirectory, :SDL_GetCurrentDirectory, [], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_gamepad_symbols(output_error = false) ⇒ Object

Function



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/sdl3_gamepad.rb', line 133

def self.setup_gamepad_symbols(output_error = false)
  entries = [
    [:AddGamepadMapping, :SDL_AddGamepadMapping, [:pointer], :int],
    [:AddGamepadMappingsFromIO, :SDL_AddGamepadMappingsFromIO, [:pointer, :bool], :int],
    [:AddGamepadMappingsFromFile, :SDL_AddGamepadMappingsFromFile, [:pointer], :int],
    [:ReloadGamepadMappings, :SDL_ReloadGamepadMappings, [], :bool],
    [:GetGamepadMappings, :SDL_GetGamepadMappings, [:pointer], :pointer],
    [:GetGamepadMappingForGUID, :SDL_GetGamepadMappingForGUID, [GUID.by_value], :pointer],
    [:GetGamepadMapping, :SDL_GetGamepadMapping, [:pointer], :pointer],
    [:SetGamepadMapping, :SDL_SetGamepadMapping, [:uint, :pointer], :bool],
    [:HasGamepad, :SDL_HasGamepad, [], :bool],
    [:GetGamepads, :SDL_GetGamepads, [:pointer], :pointer],
    [:IsGamepad, :SDL_IsGamepad, [:uint], :bool],
    [:GetGamepadNameForID, :SDL_GetGamepadNameForID, [:uint], :pointer],
    [:GetGamepadPathForID, :SDL_GetGamepadPathForID, [:uint], :pointer],
    [:GetGamepadPlayerIndexForID, :SDL_GetGamepadPlayerIndexForID, [:uint], :int],
    [:GetGamepadGUIDForID, :SDL_GetGamepadGUIDForID, [:uint], GUID.by_value],
    [:GetGamepadVendorForID, :SDL_GetGamepadVendorForID, [:uint], :ushort],
    [:GetGamepadProductForID, :SDL_GetGamepadProductForID, [:uint], :ushort],
    [:GetGamepadProductVersionForID, :SDL_GetGamepadProductVersionForID, [:uint], :ushort],
    [:GetGamepadTypeForID, :SDL_GetGamepadTypeForID, [:uint], :int],
    [:GetRealGamepadTypeForID, :SDL_GetRealGamepadTypeForID, [:uint], :int],
    [:GetGamepadMappingForID, :SDL_GetGamepadMappingForID, [:uint], :pointer],
    [:OpenGamepad, :SDL_OpenGamepad, [:uint], :pointer],
    [:GetGamepadFromID, :SDL_GetGamepadFromID, [:uint], :pointer],
    [:GetGamepadFromPlayerIndex, :SDL_GetGamepadFromPlayerIndex, [:int], :pointer],
    [:GetGamepadProperties, :SDL_GetGamepadProperties, [:pointer], :uint],
    [:GetGamepadID, :SDL_GetGamepadID, [:pointer], :uint],
    [:GetGamepadName, :SDL_GetGamepadName, [:pointer], :pointer],
    [:GetGamepadPath, :SDL_GetGamepadPath, [:pointer], :pointer],
    [:GetGamepadType, :SDL_GetGamepadType, [:pointer], :int],
    [:GetRealGamepadType, :SDL_GetRealGamepadType, [:pointer], :int],
    [:GetGamepadPlayerIndex, :SDL_GetGamepadPlayerIndex, [:pointer], :int],
    [:SetGamepadPlayerIndex, :SDL_SetGamepadPlayerIndex, [:pointer, :int], :bool],
    [:GetGamepadVendor, :SDL_GetGamepadVendor, [:pointer], :ushort],
    [:GetGamepadProduct, :SDL_GetGamepadProduct, [:pointer], :ushort],
    [:GetGamepadProductVersion, :SDL_GetGamepadProductVersion, [:pointer], :ushort],
    [:GetGamepadFirmwareVersion, :SDL_GetGamepadFirmwareVersion, [:pointer], :ushort],
    [:GetGamepadSerial, :SDL_GetGamepadSerial, [:pointer], :pointer],
    [:GetGamepadSteamHandle, :SDL_GetGamepadSteamHandle, [:pointer], :ulong_long],
    [:GetGamepadConnectionState, :SDL_GetGamepadConnectionState, [:pointer], :int],
    [:GetGamepadPowerInfo, :SDL_GetGamepadPowerInfo, [:pointer, :pointer], :int],
    [:GamepadConnected, :SDL_GamepadConnected, [:pointer], :bool],
    [:GetGamepadJoystick, :SDL_GetGamepadJoystick, [:pointer], :pointer],
    [:SetGamepadEventsEnabled, :SDL_SetGamepadEventsEnabled, [:bool], :void],
    [:GamepadEventsEnabled, :SDL_GamepadEventsEnabled, [], :bool],
    [:GetGamepadBindings, :SDL_GetGamepadBindings, [:pointer, :pointer], :pointer],
    [:UpdateGamepads, :SDL_UpdateGamepads, [], :void],
    [:GetGamepadTypeFromString, :SDL_GetGamepadTypeFromString, [:pointer], :int],
    [:GetGamepadStringForType, :SDL_GetGamepadStringForType, [:int], :pointer],
    [:GetGamepadAxisFromString, :SDL_GetGamepadAxisFromString, [:pointer], :int],
    [:GetGamepadStringForAxis, :SDL_GetGamepadStringForAxis, [:int], :pointer],
    [:GamepadHasAxis, :SDL_GamepadHasAxis, [:pointer, :int], :bool],
    [:GetGamepadAxis, :SDL_GetGamepadAxis, [:pointer, :int], :short],
    [:GetGamepadButtonFromString, :SDL_GetGamepadButtonFromString, [:pointer], :int],
    [:GetGamepadStringForButton, :SDL_GetGamepadStringForButton, [:int], :pointer],
    [:GamepadHasButton, :SDL_GamepadHasButton, [:pointer, :int], :bool],
    [:GetGamepadButton, :SDL_GetGamepadButton, [:pointer, :int], :bool],
    [:GetGamepadButtonLabelForType, :SDL_GetGamepadButtonLabelForType, [:int, :int], :int],
    [:GetGamepadButtonLabel, :SDL_GetGamepadButtonLabel, [:pointer, :int], :int],
    [:GetNumGamepadTouchpads, :SDL_GetNumGamepadTouchpads, [:pointer], :int],
    [:GetNumGamepadTouchpadFingers, :SDL_GetNumGamepadTouchpadFingers, [:pointer, :int], :int],
    [:GetGamepadTouchpadFinger, :SDL_GetGamepadTouchpadFinger, [:pointer, :int, :int, :pointer, :pointer, :pointer, :pointer], :bool],
    [:GamepadHasSensor, :SDL_GamepadHasSensor, [:pointer, :int], :bool],
    [:SetGamepadSensorEnabled, :SDL_SetGamepadSensorEnabled, [:pointer, :int, :bool], :bool],
    [:GamepadSensorEnabled, :SDL_GamepadSensorEnabled, [:pointer, :int], :bool],
    [:GetGamepadSensorDataRate, :SDL_GetGamepadSensorDataRate, [:pointer, :int], :float],
    [:GetGamepadSensorData, :SDL_GetGamepadSensorData, [:pointer, :int, :pointer, :int], :bool],
    [:RumbleGamepad, :SDL_RumbleGamepad, [:pointer, :ushort, :ushort, :uint], :bool],
    [:RumbleGamepadTriggers, :SDL_RumbleGamepadTriggers, [:pointer, :ushort, :ushort, :uint], :bool],
    [:SetGamepadLED, :SDL_SetGamepadLED, [:pointer, :uchar, :uchar, :uchar], :bool],
    [:SendGamepadEffect, :SDL_SendGamepadEffect, [:pointer, :pointer, :int], :bool],
    [:CloseGamepad, :SDL_CloseGamepad, [:pointer], :void],
    [:GetGamepadAppleSFSymbolsNameForButton, :SDL_GetGamepadAppleSFSymbolsNameForButton, [:pointer, :int], :pointer],
    [:GetGamepadAppleSFSymbolsNameForAxis, :SDL_GetGamepadAppleSFSymbolsNameForAxis, [:pointer, :int], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_gpu_symbols(output_error = false) ⇒ Object

Function



760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
# File 'lib/sdl3_gpu.rb', line 760

def self.setup_gpu_symbols(output_error = false)
  entries = [
    [:GPUSupportsShaderFormats, :SDL_GPUSupportsShaderFormats, [:uint, :pointer], :bool],
    [:GPUSupportsProperties, :SDL_GPUSupportsProperties, [:uint], :bool],
    [:CreateGPUDevice, :SDL_CreateGPUDevice, [:uint, :bool, :pointer], :pointer],
    [:CreateGPUDeviceWithProperties, :SDL_CreateGPUDeviceWithProperties, [:uint], :pointer],
    [:DestroyGPUDevice, :SDL_DestroyGPUDevice, [:pointer], :void],
    [:GetNumGPUDrivers, :SDL_GetNumGPUDrivers, [], :int],
    [:GetGPUDriver, :SDL_GetGPUDriver, [:int], :pointer],
    [:GetGPUDeviceDriver, :SDL_GetGPUDeviceDriver, [:pointer], :pointer],
    [:GetGPUShaderFormats, :SDL_GetGPUShaderFormats, [:pointer], :uint],
    [:GetGPUDeviceProperties, :SDL_GetGPUDeviceProperties, [:pointer], :uint],
    [:CreateGPUComputePipeline, :SDL_CreateGPUComputePipeline, [:pointer, :pointer], :pointer],
    [:CreateGPUGraphicsPipeline, :SDL_CreateGPUGraphicsPipeline, [:pointer, :pointer], :pointer],
    [:CreateGPUSampler, :SDL_CreateGPUSampler, [:pointer, :pointer], :pointer],
    [:CreateGPUShader, :SDL_CreateGPUShader, [:pointer, :pointer], :pointer],
    [:CreateGPUTexture, :SDL_CreateGPUTexture, [:pointer, :pointer], :pointer],
    [:CreateGPUBuffer, :SDL_CreateGPUBuffer, [:pointer, :pointer], :pointer],
    [:CreateGPUTransferBuffer, :SDL_CreateGPUTransferBuffer, [:pointer, :pointer], :pointer],
    [:SetGPUBufferName, :SDL_SetGPUBufferName, [:pointer, :pointer, :pointer], :void],
    [:SetGPUTextureName, :SDL_SetGPUTextureName, [:pointer, :pointer, :pointer], :void],
    [:InsertGPUDebugLabel, :SDL_InsertGPUDebugLabel, [:pointer, :pointer], :void],
    [:PushGPUDebugGroup, :SDL_PushGPUDebugGroup, [:pointer, :pointer], :void],
    [:PopGPUDebugGroup, :SDL_PopGPUDebugGroup, [:pointer], :void],
    [:ReleaseGPUTexture, :SDL_ReleaseGPUTexture, [:pointer, :pointer], :void],
    [:ReleaseGPUSampler, :SDL_ReleaseGPUSampler, [:pointer, :pointer], :void],
    [:ReleaseGPUBuffer, :SDL_ReleaseGPUBuffer, [:pointer, :pointer], :void],
    [:ReleaseGPUTransferBuffer, :SDL_ReleaseGPUTransferBuffer, [:pointer, :pointer], :void],
    [:ReleaseGPUComputePipeline, :SDL_ReleaseGPUComputePipeline, [:pointer, :pointer], :void],
    [:ReleaseGPUShader, :SDL_ReleaseGPUShader, [:pointer, :pointer], :void],
    [:ReleaseGPUGraphicsPipeline, :SDL_ReleaseGPUGraphicsPipeline, [:pointer, :pointer], :void],
    [:AcquireGPUCommandBuffer, :SDL_AcquireGPUCommandBuffer, [:pointer], :pointer],
    [:PushGPUVertexUniformData, :SDL_PushGPUVertexUniformData, [:pointer, :uint, :pointer, :uint], :void],
    [:PushGPUFragmentUniformData, :SDL_PushGPUFragmentUniformData, [:pointer, :uint, :pointer, :uint], :void],
    [:PushGPUComputeUniformData, :SDL_PushGPUComputeUniformData, [:pointer, :uint, :pointer, :uint], :void],
    [:BeginGPURenderPass, :SDL_BeginGPURenderPass, [:pointer, :pointer, :uint, :pointer], :pointer],
    [:BindGPUGraphicsPipeline, :SDL_BindGPUGraphicsPipeline, [:pointer, :pointer], :void],
    [:SetGPUViewport, :SDL_SetGPUViewport, [:pointer, :pointer], :void],
    [:SetGPUScissor, :SDL_SetGPUScissor, [:pointer, :pointer], :void],
    [:SetGPUBlendConstants, :SDL_SetGPUBlendConstants, [:pointer, FColor.by_value], :void],
    [:SetGPUStencilReference, :SDL_SetGPUStencilReference, [:pointer, :uchar], :void],
    [:BindGPUVertexBuffers, :SDL_BindGPUVertexBuffers, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUIndexBuffer, :SDL_BindGPUIndexBuffer, [:pointer, :pointer, :int], :void],
    [:BindGPUVertexSamplers, :SDL_BindGPUVertexSamplers, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUVertexStorageTextures, :SDL_BindGPUVertexStorageTextures, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUVertexStorageBuffers, :SDL_BindGPUVertexStorageBuffers, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUFragmentSamplers, :SDL_BindGPUFragmentSamplers, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUFragmentStorageTextures, :SDL_BindGPUFragmentStorageTextures, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUFragmentStorageBuffers, :SDL_BindGPUFragmentStorageBuffers, [:pointer, :uint, :pointer, :uint], :void],
    [:DrawGPUIndexedPrimitives, :SDL_DrawGPUIndexedPrimitives, [:pointer, :uint, :uint, :uint, :int, :uint], :void],
    [:DrawGPUPrimitives, :SDL_DrawGPUPrimitives, [:pointer, :uint, :uint, :uint, :uint], :void],
    [:DrawGPUPrimitivesIndirect, :SDL_DrawGPUPrimitivesIndirect, [:pointer, :pointer, :uint, :uint], :void],
    [:DrawGPUIndexedPrimitivesIndirect, :SDL_DrawGPUIndexedPrimitivesIndirect, [:pointer, :pointer, :uint, :uint], :void],
    [:EndGPURenderPass, :SDL_EndGPURenderPass, [:pointer], :void],
    [:BeginGPUComputePass, :SDL_BeginGPUComputePass, [:pointer, :pointer, :uint, :pointer, :uint], :pointer],
    [:BindGPUComputePipeline, :SDL_BindGPUComputePipeline, [:pointer, :pointer], :void],
    [:BindGPUComputeSamplers, :SDL_BindGPUComputeSamplers, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUComputeStorageTextures, :SDL_BindGPUComputeStorageTextures, [:pointer, :uint, :pointer, :uint], :void],
    [:BindGPUComputeStorageBuffers, :SDL_BindGPUComputeStorageBuffers, [:pointer, :uint, :pointer, :uint], :void],
    [:DispatchGPUCompute, :SDL_DispatchGPUCompute, [:pointer, :uint, :uint, :uint], :void],
    [:DispatchGPUComputeIndirect, :SDL_DispatchGPUComputeIndirect, [:pointer, :pointer, :uint], :void],
    [:EndGPUComputePass, :SDL_EndGPUComputePass, [:pointer], :void],
    [:MapGPUTransferBuffer, :SDL_MapGPUTransferBuffer, [:pointer, :pointer, :bool], :pointer],
    [:UnmapGPUTransferBuffer, :SDL_UnmapGPUTransferBuffer, [:pointer, :pointer], :void],
    [:BeginGPUCopyPass, :SDL_BeginGPUCopyPass, [:pointer], :pointer],
    [:UploadToGPUTexture, :SDL_UploadToGPUTexture, [:pointer, :pointer, :pointer, :bool], :void],
    [:UploadToGPUBuffer, :SDL_UploadToGPUBuffer, [:pointer, :pointer, :pointer, :bool], :void],
    [:CopyGPUTextureToTexture, :SDL_CopyGPUTextureToTexture, [:pointer, :pointer, :pointer, :uint, :uint, :uint, :bool], :void],
    [:CopyGPUBufferToBuffer, :SDL_CopyGPUBufferToBuffer, [:pointer, :pointer, :pointer, :uint, :bool], :void],
    [:DownloadFromGPUTexture, :SDL_DownloadFromGPUTexture, [:pointer, :pointer, :pointer], :void],
    [:DownloadFromGPUBuffer, :SDL_DownloadFromGPUBuffer, [:pointer, :pointer, :pointer], :void],
    [:EndGPUCopyPass, :SDL_EndGPUCopyPass, [:pointer], :void],
    [:GenerateMipmapsForGPUTexture, :SDL_GenerateMipmapsForGPUTexture, [:pointer, :pointer], :void],
    [:BlitGPUTexture, :SDL_BlitGPUTexture, [:pointer, :pointer], :void],
    [:WindowSupportsGPUSwapchainComposition, :SDL_WindowSupportsGPUSwapchainComposition, [:pointer, :pointer, :int], :bool],
    [:WindowSupportsGPUPresentMode, :SDL_WindowSupportsGPUPresentMode, [:pointer, :pointer, :int], :bool],
    [:ClaimWindowForGPUDevice, :SDL_ClaimWindowForGPUDevice, [:pointer, :pointer], :bool],
    [:ReleaseWindowFromGPUDevice, :SDL_ReleaseWindowFromGPUDevice, [:pointer, :pointer], :void],
    [:SetGPUSwapchainParameters, :SDL_SetGPUSwapchainParameters, [:pointer, :pointer, :int, :int], :bool],
    [:SetGPUAllowedFramesInFlight, :SDL_SetGPUAllowedFramesInFlight, [:pointer, :uint], :bool],
    [:GetGPUSwapchainTextureFormat, :SDL_GetGPUSwapchainTextureFormat, [:pointer, :pointer], :int],
    [:AcquireGPUSwapchainTexture, :SDL_AcquireGPUSwapchainTexture, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:WaitForGPUSwapchain, :SDL_WaitForGPUSwapchain, [:pointer, :pointer], :bool],
    [:WaitAndAcquireGPUSwapchainTexture, :SDL_WaitAndAcquireGPUSwapchainTexture, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:SubmitGPUCommandBuffer, :SDL_SubmitGPUCommandBuffer, [:pointer], :bool],
    [:SubmitGPUCommandBufferAndAcquireFence, :SDL_SubmitGPUCommandBufferAndAcquireFence, [:pointer], :pointer],
    [:CancelGPUCommandBuffer, :SDL_CancelGPUCommandBuffer, [:pointer], :bool],
    [:WaitForGPUIdle, :SDL_WaitForGPUIdle, [:pointer], :bool],
    [:WaitForGPUFences, :SDL_WaitForGPUFences, [:pointer, :bool, :pointer, :uint], :bool],
    [:QueryGPUFence, :SDL_QueryGPUFence, [:pointer, :pointer], :bool],
    [:ReleaseGPUFence, :SDL_ReleaseGPUFence, [:pointer, :pointer], :void],
    [:GPUTextureFormatTexelBlockSize, :SDL_GPUTextureFormatTexelBlockSize, [:int], :uint],
    [:GPUTextureSupportsFormat, :SDL_GPUTextureSupportsFormat, [:pointer, :int, :int, :uint], :bool],
    [:GPUTextureSupportsSampleCount, :SDL_GPUTextureSupportsSampleCount, [:pointer, :int, :int], :bool],
    [:CalculateGPUTextureFormatSize, :SDL_CalculateGPUTextureFormatSize, [:int, :uint, :uint, :uint], :uint],
    [:GetPixelFormatFromGPUTextureFormat, :SDL_GetPixelFormatFromGPUTextureFormat, [:int], :int],
    [:GetGPUTextureFormatFromPixelFormat, :SDL_GetGPUTextureFormatFromPixelFormat, [:int], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_guid_symbols(output_error = false) ⇒ Object

Function



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/sdl3_guid.rb', line 31

def self.setup_guid_symbols(output_error = false)
  entries = [
    [:GUIDToString, :SDL_GUIDToString, [GUID.by_value, :pointer, :int], :void],
    [:StringToGUID, :SDL_StringToGUID, [:pointer], GUID.by_value],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_haptic_symbols(output_error = false) ⇒ Object

Function



170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
# File 'lib/sdl3_haptic.rb', line 170

def self.setup_haptic_symbols(output_error = false)
  entries = [
    [:GetHaptics, :SDL_GetHaptics, [:pointer], :pointer],
    [:GetHapticNameForID, :SDL_GetHapticNameForID, [:uint], :pointer],
    [:OpenHaptic, :SDL_OpenHaptic, [:uint], :pointer],
    [:GetHapticFromID, :SDL_GetHapticFromID, [:uint], :pointer],
    [:GetHapticID, :SDL_GetHapticID, [:pointer], :uint],
    [:GetHapticName, :SDL_GetHapticName, [:pointer], :pointer],
    [:IsMouseHaptic, :SDL_IsMouseHaptic, [], :bool],
    [:OpenHapticFromMouse, :SDL_OpenHapticFromMouse, [], :pointer],
    [:IsJoystickHaptic, :SDL_IsJoystickHaptic, [:pointer], :bool],
    [:OpenHapticFromJoystick, :SDL_OpenHapticFromJoystick, [:pointer], :pointer],
    [:CloseHaptic, :SDL_CloseHaptic, [:pointer], :void],
    [:GetMaxHapticEffects, :SDL_GetMaxHapticEffects, [:pointer], :int],
    [:GetMaxHapticEffectsPlaying, :SDL_GetMaxHapticEffectsPlaying, [:pointer], :int],
    [:GetHapticFeatures, :SDL_GetHapticFeatures, [:pointer], :uint],
    [:GetNumHapticAxes, :SDL_GetNumHapticAxes, [:pointer], :int],
    [:HapticEffectSupported, :SDL_HapticEffectSupported, [:pointer, :pointer], :bool],
    [:CreateHapticEffect, :SDL_CreateHapticEffect, [:pointer, :pointer], :int],
    [:UpdateHapticEffect, :SDL_UpdateHapticEffect, [:pointer, :int, :pointer], :bool],
    [:RunHapticEffect, :SDL_RunHapticEffect, [:pointer, :int, :uint], :bool],
    [:StopHapticEffect, :SDL_StopHapticEffect, [:pointer, :int], :bool],
    [:DestroyHapticEffect, :SDL_DestroyHapticEffect, [:pointer, :int], :void],
    [:GetHapticEffectStatus, :SDL_GetHapticEffectStatus, [:pointer, :int], :bool],
    [:SetHapticGain, :SDL_SetHapticGain, [:pointer, :int], :bool],
    [:SetHapticAutocenter, :SDL_SetHapticAutocenter, [:pointer, :int], :bool],
    [:PauseHaptic, :SDL_PauseHaptic, [:pointer], :bool],
    [:ResumeHaptic, :SDL_ResumeHaptic, [:pointer], :bool],
    [:StopHapticEffects, :SDL_StopHapticEffects, [:pointer], :bool],
    [:HapticRumbleSupported, :SDL_HapticRumbleSupported, [:pointer], :bool],
    [:InitHapticRumble, :SDL_InitHapticRumble, [:pointer], :bool],
    [:PlayHapticRumble, :SDL_PlayHapticRumble, [:pointer, :float, :uint], :bool],
    [:StopHapticRumble, :SDL_StopHapticRumble, [:pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_hidapi_symbols(output_error = false) ⇒ Object

Function



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/sdl3_hidapi.rb', line 52

def self.setup_hidapi_symbols(output_error = false)
  entries = [
    [:hid_init, :SDL_hid_init, [], :int],
    [:hid_exit, :SDL_hid_exit, [], :int],
    [:hid_device_change_count, :SDL_hid_device_change_count, [], :uint],
    [:hid_enumerate, :SDL_hid_enumerate, [:ushort, :ushort], :pointer],
    [:hid_free_enumeration, :SDL_hid_free_enumeration, [:pointer], :void],
    [:hid_open, :SDL_hid_open, [:ushort, :ushort, :pointer], :pointer],
    [:hid_open_path, :SDL_hid_open_path, [:pointer], :pointer],
    [:hid_get_properties, :SDL_hid_get_properties, [:pointer], :uint],
    [:hid_write, :SDL_hid_write, [:pointer, :pointer, :ulong_long], :int],
    [:hid_read_timeout, :SDL_hid_read_timeout, [:pointer, :pointer, :ulong_long, :int], :int],
    [:hid_read, :SDL_hid_read, [:pointer, :pointer, :ulong_long], :int],
    [:hid_set_nonblocking, :SDL_hid_set_nonblocking, [:pointer, :int], :int],
    [:hid_send_feature_report, :SDL_hid_send_feature_report, [:pointer, :pointer, :ulong_long], :int],
    [:hid_get_feature_report, :SDL_hid_get_feature_report, [:pointer, :pointer, :ulong_long], :int],
    [:hid_get_input_report, :SDL_hid_get_input_report, [:pointer, :pointer, :ulong_long], :int],
    [:hid_close, :SDL_hid_close, [:pointer], :int],
    [:hid_get_manufacturer_string, :SDL_hid_get_manufacturer_string, [:pointer, :pointer, :ulong_long], :int],
    [:hid_get_product_string, :SDL_hid_get_product_string, [:pointer, :pointer, :ulong_long], :int],
    [:hid_get_serial_number_string, :SDL_hid_get_serial_number_string, [:pointer, :pointer, :ulong_long], :int],
    [:hid_get_indexed_string, :SDL_hid_get_indexed_string, [:pointer, :int, :pointer, :ulong_long], :int],
    [:hid_get_device_info, :SDL_hid_get_device_info, [:pointer], :pointer],
    [:hid_get_report_descriptor, :SDL_hid_get_report_descriptor, [:pointer, :pointer, :ulong_long], :int],
    [:hid_ble_scan, :SDL_hid_ble_scan, [:bool], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_hints_symbols(output_error = false) ⇒ Object

Function



295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
# File 'lib/sdl3_hints.rb', line 295

def self.setup_hints_symbols(output_error = false)
  entries = [
    [:SetHintWithPriority, :SDL_SetHintWithPriority, [:pointer, :pointer, :int], :bool],
    [:SetHint, :SDL_SetHint, [:pointer, :pointer], :bool],
    [:ResetHint, :SDL_ResetHint, [:pointer], :bool],
    [:ResetHints, :SDL_ResetHints, [], :void],
    [:GetHint, :SDL_GetHint, [:pointer], :pointer],
    [:GetHintBoolean, :SDL_GetHintBoolean, [:pointer, :bool], :bool],
    [:AddHintCallback, :SDL_AddHintCallback, [:pointer, :SDL_HintCallback, :pointer], :bool],
    [:RemoveHintCallback, :SDL_RemoveHintCallback, [:pointer, :SDL_HintCallback, :pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_image_symbols(output_error = false) ⇒ Object

Function



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/sdl3_image.rb', line 43

def self.setup_image_symbols(output_error = false)
  entries = [
    [:IMG_Version, :IMG_Version, [], :int],
    [:IMG_Load, :IMG_Load, [:pointer], :pointer],
    [:IMG_Load_IO, :IMG_Load_IO, [:pointer, :bool], :pointer],
    [:IMG_LoadTyped_IO, :IMG_LoadTyped_IO, [:pointer, :bool, :pointer], :pointer],
    [:IMG_LoadTexture, :IMG_LoadTexture, [:pointer, :pointer], :pointer],
    [:IMG_LoadTexture_IO, :IMG_LoadTexture_IO, [:pointer, :pointer, :bool], :pointer],
    [:IMG_LoadTextureTyped_IO, :IMG_LoadTextureTyped_IO, [:pointer, :pointer, :bool, :pointer], :pointer],
    [:IMG_LoadGPUTexture, :IMG_LoadGPUTexture, [:pointer, :pointer, :pointer, :pointer, :pointer], :pointer],
    [:IMG_LoadGPUTexture_IO, :IMG_LoadGPUTexture_IO, [:pointer, :pointer, :pointer, :bool, :pointer, :pointer], :pointer],
    [:IMG_LoadGPUTextureTyped_IO, :IMG_LoadGPUTextureTyped_IO, [:pointer, :pointer, :pointer, :bool, :pointer, :pointer, :pointer], :pointer],
    [:IMG_GetClipboardImage, :IMG_GetClipboardImage, [], :pointer],
    [:IMG_isANI, :IMG_isANI, [:pointer], :bool],
    [:IMG_isAVIF, :IMG_isAVIF, [:pointer], :bool],
    [:IMG_isCUR, :IMG_isCUR, [:pointer], :bool],
    [:IMG_isBMP, :IMG_isBMP, [:pointer], :bool],
    [:IMG_isGIF, :IMG_isGIF, [:pointer], :bool],
    [:IMG_isICO, :IMG_isICO, [:pointer], :bool],
    [:IMG_isJPG, :IMG_isJPG, [:pointer], :bool],
    [:IMG_isJXL, :IMG_isJXL, [:pointer], :bool],
    [:IMG_isLBM, :IMG_isLBM, [:pointer], :bool],
    [:IMG_isPCX, :IMG_isPCX, [:pointer], :bool],
    [:IMG_isPNG, :IMG_isPNG, [:pointer], :bool],
    [:IMG_isPNM, :IMG_isPNM, [:pointer], :bool],
    [:IMG_isQOI, :IMG_isQOI, [:pointer], :bool],
    [:IMG_isSVG, :IMG_isSVG, [:pointer], :bool],
    [:IMG_isTIF, :IMG_isTIF, [:pointer], :bool],
    [:IMG_isWEBP, :IMG_isWEBP, [:pointer], :bool],
    [:IMG_isXCF, :IMG_isXCF, [:pointer], :bool],
    [:IMG_isXPM, :IMG_isXPM, [:pointer], :bool],
    [:IMG_isXV, :IMG_isXV, [:pointer], :bool],
    [:IMG_LoadAVIF_IO, :IMG_LoadAVIF_IO, [:pointer], :pointer],
    [:IMG_LoadBMP_IO, :IMG_LoadBMP_IO, [:pointer], :pointer],
    [:IMG_LoadCUR_IO, :IMG_LoadCUR_IO, [:pointer], :pointer],
    [:IMG_LoadGIF_IO, :IMG_LoadGIF_IO, [:pointer], :pointer],
    [:IMG_LoadICO_IO, :IMG_LoadICO_IO, [:pointer], :pointer],
    [:IMG_LoadJPG_IO, :IMG_LoadJPG_IO, [:pointer], :pointer],
    [:IMG_LoadJXL_IO, :IMG_LoadJXL_IO, [:pointer], :pointer],
    [:IMG_LoadLBM_IO, :IMG_LoadLBM_IO, [:pointer], :pointer],
    [:IMG_LoadPCX_IO, :IMG_LoadPCX_IO, [:pointer], :pointer],
    [:IMG_LoadPNG_IO, :IMG_LoadPNG_IO, [:pointer], :pointer],
    [:IMG_LoadPNM_IO, :IMG_LoadPNM_IO, [:pointer], :pointer],
    [:IMG_LoadSVG_IO, :IMG_LoadSVG_IO, [:pointer], :pointer],
    [:IMG_LoadSizedSVG_IO, :IMG_LoadSizedSVG_IO, [:pointer, :int, :int], :pointer],
    [:IMG_LoadQOI_IO, :IMG_LoadQOI_IO, [:pointer], :pointer],
    [:IMG_LoadTGA_IO, :IMG_LoadTGA_IO, [:pointer], :pointer],
    [:IMG_LoadTIF_IO, :IMG_LoadTIF_IO, [:pointer], :pointer],
    [:IMG_LoadWEBP_IO, :IMG_LoadWEBP_IO, [:pointer], :pointer],
    [:IMG_LoadXCF_IO, :IMG_LoadXCF_IO, [:pointer], :pointer],
    [:IMG_LoadXPM_IO, :IMG_LoadXPM_IO, [:pointer], :pointer],
    [:IMG_LoadXV_IO, :IMG_LoadXV_IO, [:pointer], :pointer],
    [:IMG_ReadXPMFromArray, :IMG_ReadXPMFromArray, [:pointer], :pointer],
    [:IMG_ReadXPMFromArrayToRGB888, :IMG_ReadXPMFromArrayToRGB888, [:pointer], :pointer],
    [:IMG_Save, :IMG_Save, [:pointer, :pointer], :bool],
    [:IMG_SaveTyped_IO, :IMG_SaveTyped_IO, [:pointer, :pointer, :bool, :pointer], :bool],
    [:IMG_SaveAVIF, :IMG_SaveAVIF, [:pointer, :pointer, :int], :bool],
    [:IMG_SaveAVIF_IO, :IMG_SaveAVIF_IO, [:pointer, :pointer, :bool, :int], :bool],
    [:IMG_SaveBMP, :IMG_SaveBMP, [:pointer, :pointer], :bool],
    [:IMG_SaveBMP_IO, :IMG_SaveBMP_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveCUR, :IMG_SaveCUR, [:pointer, :pointer], :bool],
    [:IMG_SaveCUR_IO, :IMG_SaveCUR_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveGIF, :IMG_SaveGIF, [:pointer, :pointer], :bool],
    [:IMG_SaveGIF_IO, :IMG_SaveGIF_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveICO, :IMG_SaveICO, [:pointer, :pointer], :bool],
    [:IMG_SaveICO_IO, :IMG_SaveICO_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveJPG, :IMG_SaveJPG, [:pointer, :pointer, :int], :bool],
    [:IMG_SaveJPG_IO, :IMG_SaveJPG_IO, [:pointer, :pointer, :bool, :int], :bool],
    [:IMG_SavePNG, :IMG_SavePNG, [:pointer, :pointer], :bool],
    [:IMG_SavePNG_IO, :IMG_SavePNG_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveTGA, :IMG_SaveTGA, [:pointer, :pointer], :bool],
    [:IMG_SaveTGA_IO, :IMG_SaveTGA_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveWEBP, :IMG_SaveWEBP, [:pointer, :pointer, :float], :bool],
    [:IMG_SaveWEBP_IO, :IMG_SaveWEBP_IO, [:pointer, :pointer, :bool, :float], :bool],
    [:IMG_LoadAnimation, :IMG_LoadAnimation, [:pointer], :pointer],
    [:IMG_LoadAnimation_IO, :IMG_LoadAnimation_IO, [:pointer, :bool], :pointer],
    [:IMG_LoadAnimationTyped_IO, :IMG_LoadAnimationTyped_IO, [:pointer, :bool, :pointer], :pointer],
    [:IMG_LoadANIAnimation_IO, :IMG_LoadANIAnimation_IO, [:pointer], :pointer],
    [:IMG_LoadAPNGAnimation_IO, :IMG_LoadAPNGAnimation_IO, [:pointer], :pointer],
    [:IMG_LoadAVIFAnimation_IO, :IMG_LoadAVIFAnimation_IO, [:pointer], :pointer],
    [:IMG_LoadGIFAnimation_IO, :IMG_LoadGIFAnimation_IO, [:pointer], :pointer],
    [:IMG_LoadWEBPAnimation_IO, :IMG_LoadWEBPAnimation_IO, [:pointer], :pointer],
    [:IMG_SaveAnimation, :IMG_SaveAnimation, [:pointer, :pointer], :bool],
    [:IMG_SaveAnimationTyped_IO, :IMG_SaveAnimationTyped_IO, [:pointer, :pointer, :bool, :pointer], :bool],
    [:IMG_SaveANIAnimation_IO, :IMG_SaveANIAnimation_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveAPNGAnimation_IO, :IMG_SaveAPNGAnimation_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveAVIFAnimation_IO, :IMG_SaveAVIFAnimation_IO, [:pointer, :pointer, :bool, :int], :bool],
    [:IMG_SaveGIFAnimation_IO, :IMG_SaveGIFAnimation_IO, [:pointer, :pointer, :bool], :bool],
    [:IMG_SaveWEBPAnimation_IO, :IMG_SaveWEBPAnimation_IO, [:pointer, :pointer, :bool, :int], :bool],
    [:IMG_CreateAnimatedCursor, :IMG_CreateAnimatedCursor, [:pointer, :int, :int], :pointer],
    [:IMG_FreeAnimation, :IMG_FreeAnimation, [:pointer], :void],
    [:IMG_CreateAnimationEncoder, :IMG_CreateAnimationEncoder, [:pointer], :pointer],
    [:IMG_CreateAnimationEncoder_IO, :IMG_CreateAnimationEncoder_IO, [:pointer, :bool, :pointer], :pointer],
    [:IMG_CreateAnimationEncoderWithProperties, :IMG_CreateAnimationEncoderWithProperties, [:uint], :pointer],
    [:IMG_AddAnimationEncoderFrame, :IMG_AddAnimationEncoderFrame, [:pointer, :pointer, :ulong_long], :bool],
    [:IMG_CloseAnimationEncoder, :IMG_CloseAnimationEncoder, [:pointer], :bool],
    [:IMG_CreateAnimationDecoder, :IMG_CreateAnimationDecoder, [:pointer], :pointer],
    [:IMG_CreateAnimationDecoder_IO, :IMG_CreateAnimationDecoder_IO, [:pointer, :bool, :pointer], :pointer],
    [:IMG_CreateAnimationDecoderWithProperties, :IMG_CreateAnimationDecoderWithProperties, [:uint], :pointer],
    [:IMG_GetAnimationDecoderProperties, :IMG_GetAnimationDecoderProperties, [:pointer], :uint],
    [:IMG_GetAnimationDecoderFrame, :IMG_GetAnimationDecoderFrame, [:pointer, :pointer, :pointer], :bool],
    [:IMG_GetAnimationDecoderStatus, :IMG_GetAnimationDecoderStatus, [:pointer], :int],
    [:IMG_ResetAnimationDecoder, :IMG_ResetAnimationDecoder, [:pointer], :bool],
    [:IMG_CloseAnimationDecoder, :IMG_CloseAnimationDecoder, [:pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_init_symbols(output_error = false) ⇒ Object

Function



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/sdl3_init.rb', line 50

def self.setup_init_symbols(output_error = false)
  entries = [
    [:Init, :SDL_Init, [:uint], :bool],
    [:InitSubSystem, :SDL_InitSubSystem, [:uint], :bool],
    [:QuitSubSystem, :SDL_QuitSubSystem, [:uint], :void],
    [:WasInit, :SDL_WasInit, [:uint], :uint],
    [:Quit, :SDL_Quit, [], :void],
    [:IsMainThread, :SDL_IsMainThread, [], :bool],
    [:RunOnMainThread, :SDL_RunOnMainThread, [:SDL_MainThreadCallback, :pointer, :bool], :bool],
    [:SetAppMetadata, :SDL_SetAppMetadata, [:pointer, :pointer, :pointer], :bool],
    [:SetAppMetadataProperty, :SDL_SetAppMetadataProperty, [:pointer, :pointer], :bool],
    [:GetAppMetadataProperty, :SDL_GetAppMetadataProperty, [:pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_iostream_symbols(output_error = false) ⇒ Object

Function



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/sdl3_iostream.rb', line 57

def self.setup_iostream_symbols(output_error = false)
  entries = [
    [:IOFromFile, :SDL_IOFromFile, [:pointer, :pointer], :pointer],
    [:IOFromMem, :SDL_IOFromMem, [:pointer, :ulong_long], :pointer],
    [:IOFromConstMem, :SDL_IOFromConstMem, [:pointer, :ulong_long], :pointer],
    [:IOFromDynamicMem, :SDL_IOFromDynamicMem, [], :pointer],
    [:OpenIO, :SDL_OpenIO, [:pointer, :pointer], :pointer],
    [:CloseIO, :SDL_CloseIO, [:pointer], :bool],
    [:GetIOProperties, :SDL_GetIOProperties, [:pointer], :uint],
    [:GetIOStatus, :SDL_GetIOStatus, [:pointer], :int],
    [:GetIOSize, :SDL_GetIOSize, [:pointer], :long_long],
    [:SeekIO, :SDL_SeekIO, [:pointer, :long_long, :int], :long_long],
    [:TellIO, :SDL_TellIO, [:pointer], :long_long],
    [:ReadIO, :SDL_ReadIO, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:WriteIO, :SDL_WriteIO, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:IOprintf, :SDL_IOprintf, [:pointer, :pointer], :ulong_long],
    [:IOvprintf, :SDL_IOvprintf, [:pointer, :pointer, :pointer], :ulong_long],
    [:FlushIO, :SDL_FlushIO, [:pointer], :bool],
    [:LoadFile_IO, :SDL_LoadFile_IO, [:pointer, :pointer, :bool], :pointer],
    [:LoadFile, :SDL_LoadFile, [:pointer, :pointer], :pointer],
    [:SaveFile_IO, :SDL_SaveFile_IO, [:pointer, :pointer, :ulong_long, :bool], :bool],
    [:SaveFile, :SDL_SaveFile, [:pointer, :pointer, :ulong_long], :bool],
    [:ReadU8, :SDL_ReadU8, [:pointer, :pointer], :bool],
    [:ReadS8, :SDL_ReadS8, [:pointer, :pointer], :bool],
    [:ReadU16LE, :SDL_ReadU16LE, [:pointer, :pointer], :bool],
    [:ReadS16LE, :SDL_ReadS16LE, [:pointer, :pointer], :bool],
    [:ReadU16BE, :SDL_ReadU16BE, [:pointer, :pointer], :bool],
    [:ReadS16BE, :SDL_ReadS16BE, [:pointer, :pointer], :bool],
    [:ReadU32LE, :SDL_ReadU32LE, [:pointer, :pointer], :bool],
    [:ReadS32LE, :SDL_ReadS32LE, [:pointer, :pointer], :bool],
    [:ReadU32BE, :SDL_ReadU32BE, [:pointer, :pointer], :bool],
    [:ReadS32BE, :SDL_ReadS32BE, [:pointer, :pointer], :bool],
    [:ReadU64LE, :SDL_ReadU64LE, [:pointer, :pointer], :bool],
    [:ReadS64LE, :SDL_ReadS64LE, [:pointer, :pointer], :bool],
    [:ReadU64BE, :SDL_ReadU64BE, [:pointer, :pointer], :bool],
    [:ReadS64BE, :SDL_ReadS64BE, [:pointer, :pointer], :bool],
    [:WriteU8, :SDL_WriteU8, [:pointer, :uchar], :bool],
    [:WriteS8, :SDL_WriteS8, [:pointer, :char], :bool],
    [:WriteU16LE, :SDL_WriteU16LE, [:pointer, :ushort], :bool],
    [:WriteS16LE, :SDL_WriteS16LE, [:pointer, :short], :bool],
    [:WriteU16BE, :SDL_WriteU16BE, [:pointer, :ushort], :bool],
    [:WriteS16BE, :SDL_WriteS16BE, [:pointer, :short], :bool],
    [:WriteU32LE, :SDL_WriteU32LE, [:pointer, :uint], :bool],
    [:WriteS32LE, :SDL_WriteS32LE, [:pointer, :int], :bool],
    [:WriteU32BE, :SDL_WriteU32BE, [:pointer, :uint], :bool],
    [:WriteS32BE, :SDL_WriteS32BE, [:pointer, :int], :bool],
    [:WriteU64LE, :SDL_WriteU64LE, [:pointer, :ulong_long], :bool],
    [:WriteS64LE, :SDL_WriteS64LE, [:pointer, :long_long], :bool],
    [:WriteU64BE, :SDL_WriteU64BE, [:pointer, :ulong_long], :bool],
    [:WriteS64BE, :SDL_WriteS64BE, [:pointer, :long_long], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_joystick_symbols(output_error = false) ⇒ Object

Function



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# File 'lib/sdl3_joystick.rb', line 105

def self.setup_joystick_symbols(output_error = false)
  entries = [
    [:LockJoysticks, :SDL_LockJoysticks, [], :void],
    [:UnlockJoysticks, :SDL_UnlockJoysticks, [], :void],
    [:HasJoystick, :SDL_HasJoystick, [], :bool],
    [:GetJoysticks, :SDL_GetJoysticks, [:pointer], :pointer],
    [:GetJoystickNameForID, :SDL_GetJoystickNameForID, [:uint], :pointer],
    [:GetJoystickPathForID, :SDL_GetJoystickPathForID, [:uint], :pointer],
    [:GetJoystickPlayerIndexForID, :SDL_GetJoystickPlayerIndexForID, [:uint], :int],
    [:GetJoystickGUIDForID, :SDL_GetJoystickGUIDForID, [:uint], GUID.by_value],
    [:GetJoystickVendorForID, :SDL_GetJoystickVendorForID, [:uint], :ushort],
    [:GetJoystickProductForID, :SDL_GetJoystickProductForID, [:uint], :ushort],
    [:GetJoystickProductVersionForID, :SDL_GetJoystickProductVersionForID, [:uint], :ushort],
    [:GetJoystickTypeForID, :SDL_GetJoystickTypeForID, [:uint], :int],
    [:OpenJoystick, :SDL_OpenJoystick, [:uint], :pointer],
    [:GetJoystickFromID, :SDL_GetJoystickFromID, [:uint], :pointer],
    [:GetJoystickFromPlayerIndex, :SDL_GetJoystickFromPlayerIndex, [:int], :pointer],
    [:AttachVirtualJoystick, :SDL_AttachVirtualJoystick, [:pointer], :uint],
    [:DetachVirtualJoystick, :SDL_DetachVirtualJoystick, [:uint], :bool],
    [:IsJoystickVirtual, :SDL_IsJoystickVirtual, [:uint], :bool],
    [:SetJoystickVirtualAxis, :SDL_SetJoystickVirtualAxis, [:pointer, :int, :short], :bool],
    [:SetJoystickVirtualBall, :SDL_SetJoystickVirtualBall, [:pointer, :int, :short, :short], :bool],
    [:SetJoystickVirtualButton, :SDL_SetJoystickVirtualButton, [:pointer, :int, :bool], :bool],
    [:SetJoystickVirtualHat, :SDL_SetJoystickVirtualHat, [:pointer, :int, :uchar], :bool],
    [:SetJoystickVirtualTouchpad, :SDL_SetJoystickVirtualTouchpad, [:pointer, :int, :int, :bool, :float, :float, :float], :bool],
    [:SendJoystickVirtualSensorData, :SDL_SendJoystickVirtualSensorData, [:pointer, :int, :ulong_long, :pointer, :int], :bool],
    [:GetJoystickProperties, :SDL_GetJoystickProperties, [:pointer], :uint],
    [:GetJoystickName, :SDL_GetJoystickName, [:pointer], :pointer],
    [:GetJoystickPath, :SDL_GetJoystickPath, [:pointer], :pointer],
    [:GetJoystickPlayerIndex, :SDL_GetJoystickPlayerIndex, [:pointer], :int],
    [:SetJoystickPlayerIndex, :SDL_SetJoystickPlayerIndex, [:pointer, :int], :bool],
    [:GetJoystickGUID, :SDL_GetJoystickGUID, [:pointer], GUID.by_value],
    [:GetJoystickVendor, :SDL_GetJoystickVendor, [:pointer], :ushort],
    [:GetJoystickProduct, :SDL_GetJoystickProduct, [:pointer], :ushort],
    [:GetJoystickProductVersion, :SDL_GetJoystickProductVersion, [:pointer], :ushort],
    [:GetJoystickFirmwareVersion, :SDL_GetJoystickFirmwareVersion, [:pointer], :ushort],
    [:GetJoystickSerial, :SDL_GetJoystickSerial, [:pointer], :pointer],
    [:GetJoystickType, :SDL_GetJoystickType, [:pointer], :int],
    [:GetJoystickGUIDInfo, :SDL_GetJoystickGUIDInfo, [GUID.by_value, :pointer, :pointer, :pointer, :pointer], :void],
    [:JoystickConnected, :SDL_JoystickConnected, [:pointer], :bool],
    [:GetJoystickID, :SDL_GetJoystickID, [:pointer], :uint],
    [:GetNumJoystickAxes, :SDL_GetNumJoystickAxes, [:pointer], :int],
    [:GetNumJoystickBalls, :SDL_GetNumJoystickBalls, [:pointer], :int],
    [:GetNumJoystickHats, :SDL_GetNumJoystickHats, [:pointer], :int],
    [:GetNumJoystickButtons, :SDL_GetNumJoystickButtons, [:pointer], :int],
    [:SetJoystickEventsEnabled, :SDL_SetJoystickEventsEnabled, [:bool], :void],
    [:JoystickEventsEnabled, :SDL_JoystickEventsEnabled, [], :bool],
    [:UpdateJoysticks, :SDL_UpdateJoysticks, [], :void],
    [:GetJoystickAxis, :SDL_GetJoystickAxis, [:pointer, :int], :short],
    [:GetJoystickAxisInitialState, :SDL_GetJoystickAxisInitialState, [:pointer, :int, :pointer], :bool],
    [:GetJoystickBall, :SDL_GetJoystickBall, [:pointer, :int, :pointer, :pointer], :bool],
    [:GetJoystickHat, :SDL_GetJoystickHat, [:pointer, :int], :uchar],
    [:GetJoystickButton, :SDL_GetJoystickButton, [:pointer, :int], :bool],
    [:RumbleJoystick, :SDL_RumbleJoystick, [:pointer, :ushort, :ushort, :uint], :bool],
    [:RumbleJoystickTriggers, :SDL_RumbleJoystickTriggers, [:pointer, :ushort, :ushort, :uint], :bool],
    [:SetJoystickLED, :SDL_SetJoystickLED, [:pointer, :uchar, :uchar, :uchar], :bool],
    [:SendJoystickEffect, :SDL_SendJoystickEffect, [:pointer, :pointer, :int], :bool],
    [:CloseJoystick, :SDL_CloseJoystick, [:pointer], :void],
    [:GetJoystickConnectionState, :SDL_GetJoystickConnectionState, [:pointer], :int],
    [:GetJoystickPowerInfo, :SDL_GetJoystickPowerInfo, [:pointer, :pointer], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_keyboard_symbols(output_error = false) ⇒ Object

Function



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/sdl3_keyboard.rb', line 46

def self.setup_keyboard_symbols(output_error = false)
  entries = [
    [:HasKeyboard, :SDL_HasKeyboard, [], :bool],
    [:GetKeyboards, :SDL_GetKeyboards, [:pointer], :pointer],
    [:GetKeyboardNameForID, :SDL_GetKeyboardNameForID, [:uint], :pointer],
    [:GetKeyboardFocus, :SDL_GetKeyboardFocus, [], :pointer],
    [:GetKeyboardState, :SDL_GetKeyboardState, [:pointer], :pointer],
    [:ResetKeyboard, :SDL_ResetKeyboard, [], :void],
    [:GetModState, :SDL_GetModState, [], :ushort],
    [:SetModState, :SDL_SetModState, [:ushort], :void],
    [:GetKeyFromScancode, :SDL_GetKeyFromScancode, [:int, :ushort, :bool], :uint],
    [:GetScancodeFromKey, :SDL_GetScancodeFromKey, [:uint, :pointer], :int],
    [:SetScancodeName, :SDL_SetScancodeName, [:int, :pointer], :bool],
    [:GetScancodeName, :SDL_GetScancodeName, [:int], :pointer],
    [:GetScancodeFromName, :SDL_GetScancodeFromName, [:pointer], :int],
    [:GetKeyName, :SDL_GetKeyName, [:uint], :pointer],
    [:GetKeyFromName, :SDL_GetKeyFromName, [:pointer], :uint],
    [:StartTextInput, :SDL_StartTextInput, [:pointer], :bool],
    [:StartTextInputWithProperties, :SDL_StartTextInputWithProperties, [:pointer, :uint], :bool],
    [:TextInputActive, :SDL_TextInputActive, [:pointer], :bool],
    [:StopTextInput, :SDL_StopTextInput, [:pointer], :bool],
    [:ClearComposition, :SDL_ClearComposition, [:pointer], :bool],
    [:SetTextInputArea, :SDL_SetTextInputArea, [:pointer, :pointer, :int], :bool],
    [:GetTextInputArea, :SDL_GetTextInputArea, [:pointer, :pointer, :pointer], :bool],
    [:HasScreenKeyboardSupport, :SDL_HasScreenKeyboardSupport, [], :bool],
    [:ScreenKeyboardShown, :SDL_ScreenKeyboardShown, [:pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_keycode_symbols(output_error = false) ⇒ Object

Function



303
304
305
306
307
308
309
310
311
# File 'lib/sdl3_keycode.rb', line 303

def self.setup_keycode_symbols(output_error = false)
  entries = [
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_loadso_symbols(output_error = false) ⇒ Object

Function



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/sdl3_loadso.rb', line 25

def self.setup_loadso_symbols(output_error = false)
  entries = [
    [:LoadObject, :SDL_LoadObject, [:pointer], :pointer],
    [:LoadFunction, :SDL_LoadFunction, [:pointer, :pointer], :pointer],
    [:UnloadObject, :SDL_UnloadObject, [:pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_locale_symbols(output_error = false) ⇒ Object

Function



32
33
34
35
36
37
38
39
40
41
# File 'lib/sdl3_locale.rb', line 32

def self.setup_locale_symbols(output_error = false)
  entries = [
    [:GetPreferredLocales, :SDL_GetPreferredLocales, [:pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_log_symbols(output_error = false) ⇒ Object

Function



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/sdl3_log.rb', line 57

def self.setup_log_symbols(output_error = false)
  entries = [
    [:SetLogPriorities, :SDL_SetLogPriorities, [:int], :void],
    [:SetLogPriority, :SDL_SetLogPriority, [:int, :int], :void],
    [:GetLogPriority, :SDL_GetLogPriority, [:int], :int],
    [:ResetLogPriorities, :SDL_ResetLogPriorities, [], :void],
    [:SetLogPriorityPrefix, :SDL_SetLogPriorityPrefix, [:int, :pointer], :bool],
    [:Log, :SDL_Log, [:pointer], :void],
    [:LogTrace, :SDL_LogTrace, [:int, :pointer], :void],
    [:LogVerbose, :SDL_LogVerbose, [:int, :pointer], :void],
    [:LogDebug, :SDL_LogDebug, [:int, :pointer], :void],
    [:LogInfo, :SDL_LogInfo, [:int, :pointer], :void],
    [:LogWarn, :SDL_LogWarn, [:int, :pointer], :void],
    [:LogError, :SDL_LogError, [:int, :pointer], :void],
    [:LogCritical, :SDL_LogCritical, [:int, :pointer], :void],
    [:LogMessage, :SDL_LogMessage, [:int, :int, :pointer], :void],
    [:GetDefaultLogOutputFunction, :SDL_GetDefaultLogOutputFunction, [], :pointer],
    [:GetLogOutputFunction, :SDL_GetLogOutputFunction, [:pointer, :pointer], :void],
    [:SetLogOutputFunction, :SDL_SetLogOutputFunction, [:SDL_LogOutputFunction, :pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_messagebox_symbols(output_error = false) ⇒ Object

Function



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/sdl3_messagebox.rb', line 75

def self.setup_messagebox_symbols(output_error = false)
  entries = [
    [:ShowMessageBox, :SDL_ShowMessageBox, [:pointer, :pointer], :bool],
    [:ShowSimpleMessageBox, :SDL_ShowSimpleMessageBox, [:uint, :pointer, :pointer, :pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_misc_symbols(output_error = false) ⇒ Object

Function



25
26
27
28
29
30
31
32
33
34
# File 'lib/sdl3_misc.rb', line 25

def self.setup_misc_symbols(output_error = false)
  entries = [
    [:OpenURL, :SDL_OpenURL, [:pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_mixer_symbols(output_error = false) ⇒ Object

Function



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/sdl3_mixer.rb', line 80

def self.setup_mixer_symbols(output_error = false)
  entries = [
    [:MIX_Version, :MIX_Version, [], :int],
    [:MIX_Init, :MIX_Init, [], :bool],
    [:MIX_Quit, :MIX_Quit, [], :void],
    [:MIX_GetNumAudioDecoders, :MIX_GetNumAudioDecoders, [], :int],
    [:MIX_GetAudioDecoder, :MIX_GetAudioDecoder, [:int], :pointer],
    [:MIX_CreateMixerDevice, :MIX_CreateMixerDevice, [:uint, :pointer], :pointer],
    [:MIX_CreateMixer, :MIX_CreateMixer, [:pointer], :pointer],
    [:MIX_DestroyMixer, :MIX_DestroyMixer, [:pointer], :void],
    [:MIX_GetMixerProperties, :MIX_GetMixerProperties, [:pointer], :uint],
    [:MIX_GetMixerFormat, :MIX_GetMixerFormat, [:pointer, :pointer], :bool],
    [:MIX_LockMixer, :MIX_LockMixer, [:pointer], :void],
    [:MIX_UnlockMixer, :MIX_UnlockMixer, [:pointer], :void],
    [:MIX_LoadAudio_IO, :MIX_LoadAudio_IO, [:pointer, :pointer, :bool, :bool], :pointer],
    [:MIX_LoadAudio, :MIX_LoadAudio, [:pointer, :pointer, :bool], :pointer],
    [:MIX_LoadAudioNoCopy, :MIX_LoadAudioNoCopy, [:pointer, :pointer, :ulong_long, :bool], :pointer],
    [:MIX_LoadAudioWithProperties, :MIX_LoadAudioWithProperties, [:uint], :pointer],
    [:MIX_LoadRawAudio_IO, :MIX_LoadRawAudio_IO, [:pointer, :pointer, :pointer, :bool], :pointer],
    [:MIX_LoadRawAudio, :MIX_LoadRawAudio, [:pointer, :pointer, :ulong_long, :pointer], :pointer],
    [:MIX_LoadRawAudioNoCopy, :MIX_LoadRawAudioNoCopy, [:pointer, :pointer, :ulong_long, :pointer, :bool], :pointer],
    [:MIX_CreateSineWaveAudio, :MIX_CreateSineWaveAudio, [:pointer, :int, :float, :long_long], :pointer],
    [:MIX_GetAudioProperties, :MIX_GetAudioProperties, [:pointer], :uint],
    [:MIX_GetAudioDuration, :MIX_GetAudioDuration, [:pointer], :long_long],
    [:MIX_GetAudioFormat, :MIX_GetAudioFormat, [:pointer, :pointer], :bool],
    [:MIX_DestroyAudio, :MIX_DestroyAudio, [:pointer], :void],
    [:MIX_CreateTrack, :MIX_CreateTrack, [:pointer], :pointer],
    [:MIX_DestroyTrack, :MIX_DestroyTrack, [:pointer], :void],
    [:MIX_GetTrackProperties, :MIX_GetTrackProperties, [:pointer], :uint],
    [:MIX_GetTrackMixer, :MIX_GetTrackMixer, [:pointer], :pointer],
    [:MIX_SetTrackAudio, :MIX_SetTrackAudio, [:pointer, :pointer], :bool],
    [:MIX_SetTrackAudioStream, :MIX_SetTrackAudioStream, [:pointer, :pointer], :bool],
    [:MIX_SetTrackIOStream, :MIX_SetTrackIOStream, [:pointer, :pointer, :bool], :bool],
    [:MIX_SetTrackRawIOStream, :MIX_SetTrackRawIOStream, [:pointer, :pointer, :pointer, :bool], :bool],
    [:MIX_TagTrack, :MIX_TagTrack, [:pointer, :pointer], :bool],
    [:MIX_UntagTrack, :MIX_UntagTrack, [:pointer, :pointer], :void],
    [:MIX_GetTrackTags, :MIX_GetTrackTags, [:pointer, :pointer], :pointer],
    [:MIX_GetTaggedTracks, :MIX_GetTaggedTracks, [:pointer, :pointer, :pointer], :pointer],
    [:MIX_SetTrackPlaybackPosition, :MIX_SetTrackPlaybackPosition, [:pointer, :long_long], :bool],
    [:MIX_GetTrackPlaybackPosition, :MIX_GetTrackPlaybackPosition, [:pointer], :long_long],
    [:MIX_GetTrackFadeFrames, :MIX_GetTrackFadeFrames, [:pointer], :long_long],
    [:MIX_GetTrackLoops, :MIX_GetTrackLoops, [:pointer], :int],
    [:MIX_SetTrackLoops, :MIX_SetTrackLoops, [:pointer, :int], :bool],
    [:MIX_GetTrackAudio, :MIX_GetTrackAudio, [:pointer], :pointer],
    [:MIX_GetTrackAudioStream, :MIX_GetTrackAudioStream, [:pointer], :pointer],
    [:MIX_GetTrackRemaining, :MIX_GetTrackRemaining, [:pointer], :long_long],
    [:MIX_TrackMSToFrames, :MIX_TrackMSToFrames, [:pointer, :long_long], :long_long],
    [:MIX_TrackFramesToMS, :MIX_TrackFramesToMS, [:pointer, :long_long], :long_long],
    [:MIX_AudioMSToFrames, :MIX_AudioMSToFrames, [:pointer, :long_long], :long_long],
    [:MIX_AudioFramesToMS, :MIX_AudioFramesToMS, [:pointer, :long_long], :long_long],
    [:MIX_MSToFrames, :MIX_MSToFrames, [:int, :long_long], :long_long],
    [:MIX_FramesToMS, :MIX_FramesToMS, [:int, :long_long], :long_long],
    [:MIX_PlayTrack, :MIX_PlayTrack, [:pointer, :uint], :bool],
    [:MIX_PlayTag, :MIX_PlayTag, [:pointer, :pointer, :uint], :bool],
    [:MIX_PlayAudio, :MIX_PlayAudio, [:pointer, :pointer], :bool],
    [:MIX_StopTrack, :MIX_StopTrack, [:pointer, :long_long], :bool],
    [:MIX_StopAllTracks, :MIX_StopAllTracks, [:pointer, :long_long], :bool],
    [:MIX_StopTag, :MIX_StopTag, [:pointer, :pointer, :long_long], :bool],
    [:MIX_PauseTrack, :MIX_PauseTrack, [:pointer], :bool],
    [:MIX_PauseAllTracks, :MIX_PauseAllTracks, [:pointer], :bool],
    [:MIX_PauseTag, :MIX_PauseTag, [:pointer, :pointer], :bool],
    [:MIX_ResumeTrack, :MIX_ResumeTrack, [:pointer], :bool],
    [:MIX_ResumeAllTracks, :MIX_ResumeAllTracks, [:pointer], :bool],
    [:MIX_ResumeTag, :MIX_ResumeTag, [:pointer, :pointer], :bool],
    [:MIX_TrackPlaying, :MIX_TrackPlaying, [:pointer], :bool],
    [:MIX_TrackPaused, :MIX_TrackPaused, [:pointer], :bool],
    [:MIX_SetMixerGain, :MIX_SetMixerGain, [:pointer, :float], :bool],
    [:MIX_GetMixerGain, :MIX_GetMixerGain, [:pointer], :float],
    [:MIX_SetTrackGain, :MIX_SetTrackGain, [:pointer, :float], :bool],
    [:MIX_GetTrackGain, :MIX_GetTrackGain, [:pointer], :float],
    [:MIX_SetTagGain, :MIX_SetTagGain, [:pointer, :pointer, :float], :bool],
    [:MIX_SetMixerFrequencyRatio, :MIX_SetMixerFrequencyRatio, [:pointer, :float], :bool],
    [:MIX_GetMixerFrequencyRatio, :MIX_GetMixerFrequencyRatio, [:pointer], :float],
    [:MIX_SetTrackFrequencyRatio, :MIX_SetTrackFrequencyRatio, [:pointer, :float], :bool],
    [:MIX_GetTrackFrequencyRatio, :MIX_GetTrackFrequencyRatio, [:pointer], :float],
    [:MIX_SetTrackOutputChannelMap, :MIX_SetTrackOutputChannelMap, [:pointer, :pointer, :int], :bool],
    [:MIX_SetTrackStereo, :MIX_SetTrackStereo, [:pointer, :pointer], :bool],
    [:MIX_SetTrack3DPosition, :MIX_SetTrack3DPosition, [:pointer, :pointer], :bool],
    [:MIX_GetTrack3DPosition, :MIX_GetTrack3DPosition, [:pointer, :pointer], :bool],
    [:MIX_CreateGroup, :MIX_CreateGroup, [:pointer], :pointer],
    [:MIX_DestroyGroup, :MIX_DestroyGroup, [:pointer], :void],
    [:MIX_GetGroupProperties, :MIX_GetGroupProperties, [:pointer], :uint],
    [:MIX_GetGroupMixer, :MIX_GetGroupMixer, [:pointer], :pointer],
    [:MIX_SetTrackGroup, :MIX_SetTrackGroup, [:pointer, :pointer], :bool],
    [:MIX_SetTrackStoppedCallback, :MIX_SetTrackStoppedCallback, [:pointer, :MIX_TrackStoppedCallback, :pointer], :bool],
    [:MIX_SetTrackRawCallback, :MIX_SetTrackRawCallback, [:pointer, :MIX_TrackMixCallback, :pointer], :bool],
    [:MIX_SetTrackCookedCallback, :MIX_SetTrackCookedCallback, [:pointer, :MIX_TrackMixCallback, :pointer], :bool],
    [:MIX_SetGroupPostMixCallback, :MIX_SetGroupPostMixCallback, [:pointer, :MIX_GroupMixCallback, :pointer], :bool],
    [:MIX_SetPostMixCallback, :MIX_SetPostMixCallback, [:pointer, :MIX_PostMixCallback, :pointer], :bool],
    [:MIX_Generate, :MIX_Generate, [:pointer, :pointer, :int], :int],
    [:MIX_CreateAudioDecoder, :MIX_CreateAudioDecoder, [:pointer, :uint], :pointer],
    [:MIX_CreateAudioDecoder_IO, :MIX_CreateAudioDecoder_IO, [:pointer, :bool, :uint], :pointer],
    [:MIX_DestroyAudioDecoder, :MIX_DestroyAudioDecoder, [:pointer], :void],
    [:MIX_GetAudioDecoderProperties, :MIX_GetAudioDecoderProperties, [:pointer], :uint],
    [:MIX_GetAudioDecoderFormat, :MIX_GetAudioDecoderFormat, [:pointer, :pointer], :bool],
    [:MIX_DecodeAudio, :MIX_DecodeAudio, [:pointer, :pointer, :int, :pointer], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_mouse_symbols(output_error = false) ⇒ Object

Function



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/sdl3_mouse.rb', line 65

def self.setup_mouse_symbols(output_error = false)
  entries = [
    [:HasMouse, :SDL_HasMouse, [], :bool],
    [:GetMice, :SDL_GetMice, [:pointer], :pointer],
    [:GetMouseNameForID, :SDL_GetMouseNameForID, [:uint], :pointer],
    [:GetMouseFocus, :SDL_GetMouseFocus, [], :pointer],
    [:GetMouseState, :SDL_GetMouseState, [:pointer, :pointer], :uint],
    [:GetGlobalMouseState, :SDL_GetGlobalMouseState, [:pointer, :pointer], :uint],
    [:GetRelativeMouseState, :SDL_GetRelativeMouseState, [:pointer, :pointer], :uint],
    [:WarpMouseInWindow, :SDL_WarpMouseInWindow, [:pointer, :float, :float], :void],
    [:WarpMouseGlobal, :SDL_WarpMouseGlobal, [:float, :float], :bool],
    [:SetRelativeMouseTransform, :SDL_SetRelativeMouseTransform, [:SDL_MouseMotionTransformCallback, :pointer], :bool],
    [:SetWindowRelativeMouseMode, :SDL_SetWindowRelativeMouseMode, [:pointer, :bool], :bool],
    [:GetWindowRelativeMouseMode, :SDL_GetWindowRelativeMouseMode, [:pointer], :bool],
    [:CaptureMouse, :SDL_CaptureMouse, [:bool], :bool],
    [:CreateCursor, :SDL_CreateCursor, [:pointer, :pointer, :int, :int, :int, :int], :pointer],
    [:CreateColorCursor, :SDL_CreateColorCursor, [:pointer, :int, :int], :pointer],
    [:CreateAnimatedCursor, :SDL_CreateAnimatedCursor, [:pointer, :int, :int, :int], :pointer],
    [:CreateSystemCursor, :SDL_CreateSystemCursor, [:int], :pointer],
    [:SetCursor, :SDL_SetCursor, [:pointer], :bool],
    [:GetCursor, :SDL_GetCursor, [], :pointer],
    [:GetDefaultCursor, :SDL_GetDefaultCursor, [], :pointer],
    [:DestroyCursor, :SDL_DestroyCursor, [:pointer], :void],
    [:ShowCursor, :SDL_ShowCursor, [], :bool],
    [:HideCursor, :SDL_HideCursor, [], :bool],
    [:CursorVisible, :SDL_CursorVisible, [], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_mutex_symbols(output_error = false) ⇒ Object

Function



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/sdl3_mutex.rb', line 38

def self.setup_mutex_symbols(output_error = false)
  entries = [
    [:CreateMutex, :SDL_CreateMutex, [], :pointer],
    [:LockMutex, :SDL_LockMutex, [:pointer], :void],
    [:TryLockMutex, :SDL_TryLockMutex, [:pointer], :bool],
    [:UnlockMutex, :SDL_UnlockMutex, [:pointer], :void],
    [:DestroyMutex, :SDL_DestroyMutex, [:pointer], :void],
    [:CreateRWLock, :SDL_CreateRWLock, [], :pointer],
    [:LockRWLockForReading, :SDL_LockRWLockForReading, [:pointer], :void],
    [:LockRWLockForWriting, :SDL_LockRWLockForWriting, [:pointer], :void],
    [:TryLockRWLockForReading, :SDL_TryLockRWLockForReading, [:pointer], :bool],
    [:TryLockRWLockForWriting, :SDL_TryLockRWLockForWriting, [:pointer], :bool],
    [:UnlockRWLock, :SDL_UnlockRWLock, [:pointer], :void],
    [:DestroyRWLock, :SDL_DestroyRWLock, [:pointer], :void],
    [:CreateSemaphore, :SDL_CreateSemaphore, [:uint], :pointer],
    [:DestroySemaphore, :SDL_DestroySemaphore, [:pointer], :void],
    [:WaitSemaphore, :SDL_WaitSemaphore, [:pointer], :void],
    [:TryWaitSemaphore, :SDL_TryWaitSemaphore, [:pointer], :bool],
    [:WaitSemaphoreTimeout, :SDL_WaitSemaphoreTimeout, [:pointer, :int], :bool],
    [:SignalSemaphore, :SDL_SignalSemaphore, [:pointer], :void],
    [:GetSemaphoreValue, :SDL_GetSemaphoreValue, [:pointer], :uint],
    [:CreateCondition, :SDL_CreateCondition, [], :pointer],
    [:DestroyCondition, :SDL_DestroyCondition, [:pointer], :void],
    [:SignalCondition, :SDL_SignalCondition, [:pointer], :void],
    [:BroadcastCondition, :SDL_BroadcastCondition, [:pointer], :void],
    [:WaitCondition, :SDL_WaitCondition, [:pointer, :pointer], :void],
    [:WaitConditionTimeout, :SDL_WaitConditionTimeout, [:pointer, :pointer, :int], :bool],
    [:ShouldInit, :SDL_ShouldInit, [:pointer], :bool],
    [:ShouldQuit, :SDL_ShouldQuit, [:pointer], :bool],
    [:SetInitialized, :SDL_SetInitialized, [:pointer, :bool], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_pen_symbols(output_error = false) ⇒ Object

Function



51
52
53
54
55
56
57
58
59
60
# File 'lib/sdl3_pen.rb', line 51

def self.setup_pen_symbols(output_error = false)
  entries = [
    [:GetPenDeviceType, :SDL_GetPenDeviceType, [:uint], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_pixels_symbols(output_error = false) ⇒ Object

Function



275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
# File 'lib/sdl3_pixels.rb', line 275

def self.setup_pixels_symbols(output_error = false)
  entries = [
    [:GetPixelFormatName, :SDL_GetPixelFormatName, [:int], :pointer],
    [:GetMasksForPixelFormat, :SDL_GetMasksForPixelFormat, [:int, :pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:GetPixelFormatForMasks, :SDL_GetPixelFormatForMasks, [:int, :uint, :uint, :uint, :uint], :int],
    [:GetPixelFormatDetails, :SDL_GetPixelFormatDetails, [:int], :pointer],
    [:CreatePalette, :SDL_CreatePalette, [:int], :pointer],
    [:SetPaletteColors, :SDL_SetPaletteColors, [:pointer, :pointer, :int, :int], :bool],
    [:DestroyPalette, :SDL_DestroyPalette, [:pointer], :void],
    [:MapRGB, :SDL_MapRGB, [:pointer, :pointer, :uchar, :uchar, :uchar], :uint],
    [:MapRGBA, :SDL_MapRGBA, [:pointer, :pointer, :uchar, :uchar, :uchar, :uchar], :uint],
    [:GetRGB, :SDL_GetRGB, [:uint, :pointer, :pointer, :pointer, :pointer, :pointer], :void],
    [:GetRGBA, :SDL_GetRGBA, [:uint, :pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_platform_symbols(output_error = false) ⇒ Object

Function



25
26
27
28
29
30
31
32
33
34
# File 'lib/sdl3_platform.rb', line 25

def self.setup_platform_symbols(output_error = false)
  entries = [
    [:GetPlatform, :SDL_GetPlatform, [], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_power_symbols(output_error = false) ⇒ Object

Function



32
33
34
35
36
37
38
39
40
41
# File 'lib/sdl3_power.rb', line 32

def self.setup_power_symbols(output_error = false)
  entries = [
    [:GetPowerInfo, :SDL_GetPowerInfo, [:pointer, :pointer], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_process_symbols(output_error = false) ⇒ Object

Function



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/sdl3_process.rb', line 47

def self.setup_process_symbols(output_error = false)
  entries = [
    [:CreateProcess, :SDL_CreateProcess, [:pointer, :bool], :pointer],
    [:CreateProcessWithProperties, :SDL_CreateProcessWithProperties, [:uint], :pointer],
    [:GetProcessProperties, :SDL_GetProcessProperties, [:pointer], :uint],
    [:ReadProcess, :SDL_ReadProcess, [:pointer, :pointer, :pointer], :pointer],
    [:GetProcessInput, :SDL_GetProcessInput, [:pointer], :pointer],
    [:GetProcessOutput, :SDL_GetProcessOutput, [:pointer], :pointer],
    [:KillProcess, :SDL_KillProcess, [:pointer, :bool], :bool],
    [:WaitProcess, :SDL_WaitProcess, [:pointer, :bool, :pointer], :bool],
    [:DestroyProcess, :SDL_DestroyProcess, [:pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_properties_symbols(output_error = false) ⇒ Object

Function



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/sdl3_properties.rb', line 36

def self.setup_properties_symbols(output_error = false)
  entries = [
    [:GetGlobalProperties, :SDL_GetGlobalProperties, [], :uint],
    [:CreateProperties, :SDL_CreateProperties, [], :uint],
    [:CopyProperties, :SDL_CopyProperties, [:uint, :uint], :bool],
    [:LockProperties, :SDL_LockProperties, [:uint], :bool],
    [:UnlockProperties, :SDL_UnlockProperties, [:uint], :void],
    [:SetPointerPropertyWithCleanup, :SDL_SetPointerPropertyWithCleanup, [:uint, :pointer, :pointer, :SDL_CleanupPropertyCallback, :pointer], :bool],
    [:SetPointerProperty, :SDL_SetPointerProperty, [:uint, :pointer, :pointer], :bool],
    [:SetStringProperty, :SDL_SetStringProperty, [:uint, :pointer, :pointer], :bool],
    [:SetNumberProperty, :SDL_SetNumberProperty, [:uint, :pointer, :long_long], :bool],
    [:SetFloatProperty, :SDL_SetFloatProperty, [:uint, :pointer, :float], :bool],
    [:SetBooleanProperty, :SDL_SetBooleanProperty, [:uint, :pointer, :bool], :bool],
    [:HasProperty, :SDL_HasProperty, [:uint, :pointer], :bool],
    [:GetPropertyType, :SDL_GetPropertyType, [:uint, :pointer], :int],
    [:GetPointerProperty, :SDL_GetPointerProperty, [:uint, :pointer, :pointer], :pointer],
    [:GetStringProperty, :SDL_GetStringProperty, [:uint, :pointer, :pointer], :pointer],
    [:GetNumberProperty, :SDL_GetNumberProperty, [:uint, :pointer, :long_long], :long_long],
    [:GetFloatProperty, :SDL_GetFloatProperty, [:uint, :pointer, :float], :float],
    [:GetBooleanProperty, :SDL_GetBooleanProperty, [:uint, :pointer, :bool], :bool],
    [:ClearProperty, :SDL_ClearProperty, [:uint, :pointer], :bool],
    [:EnumerateProperties, :SDL_EnumerateProperties, [:uint, :SDL_EnumeratePropertiesCallback, :pointer], :bool],
    [:DestroyProperties, :SDL_DestroyProperties, [:uint], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_rect_symbols(output_error = false) ⇒ Object

Function



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/sdl3_rect.rb', line 77

def self.setup_rect_symbols(output_error = false)
  entries = [
    [:HasRectIntersection, :SDL_HasRectIntersection, [:pointer, :pointer], :bool],
    [:GetRectIntersection, :SDL_GetRectIntersection, [:pointer, :pointer, :pointer], :bool],
    [:GetRectUnion, :SDL_GetRectUnion, [:pointer, :pointer, :pointer], :bool],
    [:GetRectEnclosingPoints, :SDL_GetRectEnclosingPoints, [:pointer, :int, :pointer, :pointer], :bool],
    [:GetRectAndLineIntersection, :SDL_GetRectAndLineIntersection, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:HasRectIntersectionFloat, :SDL_HasRectIntersectionFloat, [:pointer, :pointer], :bool],
    [:GetRectIntersectionFloat, :SDL_GetRectIntersectionFloat, [:pointer, :pointer, :pointer], :bool],
    [:GetRectUnionFloat, :SDL_GetRectUnionFloat, [:pointer, :pointer, :pointer], :bool],
    [:GetRectEnclosingPointsFloat, :SDL_GetRectEnclosingPointsFloat, [:pointer, :int, :pointer, :pointer], :bool],
    [:GetRectAndLineIntersectionFloat, :SDL_GetRectAndLineIntersectionFloat, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_render_symbols(output_error = false) ⇒ Object

Function



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
# File 'lib/sdl3_render.rb', line 174

def self.setup_render_symbols(output_error = false)
  entries = [
    [:GetNumRenderDrivers, :SDL_GetNumRenderDrivers, [], :int],
    [:GetRenderDriver, :SDL_GetRenderDriver, [:int], :pointer],
    [:CreateWindowAndRenderer, :SDL_CreateWindowAndRenderer, [:pointer, :int, :int, :ulong_long, :pointer, :pointer], :bool],
    [:CreateRenderer, :SDL_CreateRenderer, [:pointer, :pointer], :pointer],
    [:CreateRendererWithProperties, :SDL_CreateRendererWithProperties, [:uint], :pointer],
    [:CreateGPURenderer, :SDL_CreateGPURenderer, [:pointer, :pointer], :pointer],
    [:GetGPURendererDevice, :SDL_GetGPURendererDevice, [:pointer], :pointer],
    [:CreateSoftwareRenderer, :SDL_CreateSoftwareRenderer, [:pointer], :pointer],
    [:GetRenderer, :SDL_GetRenderer, [:pointer], :pointer],
    [:GetRenderWindow, :SDL_GetRenderWindow, [:pointer], :pointer],
    [:GetRendererName, :SDL_GetRendererName, [:pointer], :pointer],
    [:GetRendererProperties, :SDL_GetRendererProperties, [:pointer], :uint],
    [:GetRenderOutputSize, :SDL_GetRenderOutputSize, [:pointer, :pointer, :pointer], :bool],
    [:GetCurrentRenderOutputSize, :SDL_GetCurrentRenderOutputSize, [:pointer, :pointer, :pointer], :bool],
    [:CreateTexture, :SDL_CreateTexture, [:pointer, :int, :int, :int, :int], :pointer],
    [:CreateTextureFromSurface, :SDL_CreateTextureFromSurface, [:pointer, :pointer], :pointer],
    [:CreateTextureWithProperties, :SDL_CreateTextureWithProperties, [:pointer, :uint], :pointer],
    [:GetTextureProperties, :SDL_GetTextureProperties, [:pointer], :uint],
    [:GetRendererFromTexture, :SDL_GetRendererFromTexture, [:pointer], :pointer],
    [:GetTextureSize, :SDL_GetTextureSize, [:pointer, :pointer, :pointer], :bool],
    [:SetTexturePalette, :SDL_SetTexturePalette, [:pointer, :pointer], :bool],
    [:GetTexturePalette, :SDL_GetTexturePalette, [:pointer], :pointer],
    [:SetTextureColorMod, :SDL_SetTextureColorMod, [:pointer, :uchar, :uchar, :uchar], :bool],
    [:SetTextureColorModFloat, :SDL_SetTextureColorModFloat, [:pointer, :float, :float, :float], :bool],
    [:GetTextureColorMod, :SDL_GetTextureColorMod, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:GetTextureColorModFloat, :SDL_GetTextureColorModFloat, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:SetTextureAlphaMod, :SDL_SetTextureAlphaMod, [:pointer, :uchar], :bool],
    [:SetTextureAlphaModFloat, :SDL_SetTextureAlphaModFloat, [:pointer, :float], :bool],
    [:GetTextureAlphaMod, :SDL_GetTextureAlphaMod, [:pointer, :pointer], :bool],
    [:GetTextureAlphaModFloat, :SDL_GetTextureAlphaModFloat, [:pointer, :pointer], :bool],
    [:SetTextureBlendMode, :SDL_SetTextureBlendMode, [:pointer, :uint], :bool],
    [:GetTextureBlendMode, :SDL_GetTextureBlendMode, [:pointer, :pointer], :bool],
    [:SetTextureScaleMode, :SDL_SetTextureScaleMode, [:pointer, :int], :bool],
    [:GetTextureScaleMode, :SDL_GetTextureScaleMode, [:pointer, :pointer], :bool],
    [:UpdateTexture, :SDL_UpdateTexture, [:pointer, :pointer, :pointer, :int], :bool],
    [:UpdateYUVTexture, :SDL_UpdateYUVTexture, [:pointer, :pointer, :pointer, :int, :pointer, :int, :pointer, :int], :bool],
    [:UpdateNVTexture, :SDL_UpdateNVTexture, [:pointer, :pointer, :pointer, :int, :pointer, :int], :bool],
    [:LockTexture, :SDL_LockTexture, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:LockTextureToSurface, :SDL_LockTextureToSurface, [:pointer, :pointer, :pointer], :bool],
    [:UnlockTexture, :SDL_UnlockTexture, [:pointer], :void],
    [:SetRenderTarget, :SDL_SetRenderTarget, [:pointer, :pointer], :bool],
    [:GetRenderTarget, :SDL_GetRenderTarget, [:pointer], :pointer],
    [:SetRenderLogicalPresentation, :SDL_SetRenderLogicalPresentation, [:pointer, :int, :int, :int], :bool],
    [:GetRenderLogicalPresentation, :SDL_GetRenderLogicalPresentation, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:GetRenderLogicalPresentationRect, :SDL_GetRenderLogicalPresentationRect, [:pointer, :pointer], :bool],
    [:RenderCoordinatesFromWindow, :SDL_RenderCoordinatesFromWindow, [:pointer, :float, :float, :pointer, :pointer], :bool],
    [:RenderCoordinatesToWindow, :SDL_RenderCoordinatesToWindow, [:pointer, :float, :float, :pointer, :pointer], :bool],
    [:ConvertEventToRenderCoordinates, :SDL_ConvertEventToRenderCoordinates, [:pointer, :pointer], :bool],
    [:SetRenderViewport, :SDL_SetRenderViewport, [:pointer, :pointer], :bool],
    [:GetRenderViewport, :SDL_GetRenderViewport, [:pointer, :pointer], :bool],
    [:RenderViewportSet, :SDL_RenderViewportSet, [:pointer], :bool],
    [:GetRenderSafeArea, :SDL_GetRenderSafeArea, [:pointer, :pointer], :bool],
    [:SetRenderClipRect, :SDL_SetRenderClipRect, [:pointer, :pointer], :bool],
    [:GetRenderClipRect, :SDL_GetRenderClipRect, [:pointer, :pointer], :bool],
    [:RenderClipEnabled, :SDL_RenderClipEnabled, [:pointer], :bool],
    [:SetRenderScale, :SDL_SetRenderScale, [:pointer, :float, :float], :bool],
    [:GetRenderScale, :SDL_GetRenderScale, [:pointer, :pointer, :pointer], :bool],
    [:SetRenderDrawColor, :SDL_SetRenderDrawColor, [:pointer, :uchar, :uchar, :uchar, :uchar], :bool],
    [:SetRenderDrawColorFloat, :SDL_SetRenderDrawColorFloat, [:pointer, :float, :float, :float, :float], :bool],
    [:GetRenderDrawColor, :SDL_GetRenderDrawColor, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:GetRenderDrawColorFloat, :SDL_GetRenderDrawColorFloat, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:SetRenderColorScale, :SDL_SetRenderColorScale, [:pointer, :float], :bool],
    [:GetRenderColorScale, :SDL_GetRenderColorScale, [:pointer, :pointer], :bool],
    [:SetRenderDrawBlendMode, :SDL_SetRenderDrawBlendMode, [:pointer, :uint], :bool],
    [:GetRenderDrawBlendMode, :SDL_GetRenderDrawBlendMode, [:pointer, :pointer], :bool],
    [:RenderClear, :SDL_RenderClear, [:pointer], :bool],
    [:RenderPoint, :SDL_RenderPoint, [:pointer, :float, :float], :bool],
    [:RenderPoints, :SDL_RenderPoints, [:pointer, :pointer, :int], :bool],
    [:RenderLine, :SDL_RenderLine, [:pointer, :float, :float, :float, :float], :bool],
    [:RenderLines, :SDL_RenderLines, [:pointer, :pointer, :int], :bool],
    [:RenderRect, :SDL_RenderRect, [:pointer, :pointer], :bool],
    [:RenderRects, :SDL_RenderRects, [:pointer, :pointer, :int], :bool],
    [:RenderFillRect, :SDL_RenderFillRect, [:pointer, :pointer], :bool],
    [:RenderFillRects, :SDL_RenderFillRects, [:pointer, :pointer, :int], :bool],
    [:RenderTexture, :SDL_RenderTexture, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:RenderTextureRotated, :SDL_RenderTextureRotated, [:pointer, :pointer, :pointer, :pointer, :double, :pointer, :int], :bool],
    [:RenderTextureAffine, :SDL_RenderTextureAffine, [:pointer, :pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:RenderTextureTiled, :SDL_RenderTextureTiled, [:pointer, :pointer, :pointer, :float, :pointer], :bool],
    [:RenderTexture9Grid, :SDL_RenderTexture9Grid, [:pointer, :pointer, :pointer, :float, :float, :float, :float, :float, :pointer], :bool],
    [:RenderTexture9GridTiled, :SDL_RenderTexture9GridTiled, [:pointer, :pointer, :pointer, :float, :float, :float, :float, :float, :pointer, :float], :bool],
    [:RenderGeometry, :SDL_RenderGeometry, [:pointer, :pointer, :pointer, :int, :pointer, :int], :bool],
    [:RenderGeometryRaw, :SDL_RenderGeometryRaw, [:pointer, :pointer, :pointer, :int, :pointer, :int, :pointer, :int, :int, :pointer, :int, :int], :bool],
    [:SetRenderTextureAddressMode, :SDL_SetRenderTextureAddressMode, [:pointer, :int, :int], :bool],
    [:GetRenderTextureAddressMode, :SDL_GetRenderTextureAddressMode, [:pointer, :pointer, :pointer], :bool],
    [:RenderReadPixels, :SDL_RenderReadPixels, [:pointer, :pointer], :pointer],
    [:RenderPresent, :SDL_RenderPresent, [:pointer], :bool],
    [:DestroyTexture, :SDL_DestroyTexture, [:pointer], :void],
    [:DestroyRenderer, :SDL_DestroyRenderer, [:pointer], :void],
    [:FlushRenderer, :SDL_FlushRenderer, [:pointer], :bool],
    [:GetRenderMetalLayer, :SDL_GetRenderMetalLayer, [:pointer], :pointer],
    [:GetRenderMetalCommandEncoder, :SDL_GetRenderMetalCommandEncoder, [:pointer], :pointer],
    [:AddVulkanRenderSemaphores, :SDL_AddVulkanRenderSemaphores, [:pointer, :uint, :long_long, :long_long], :bool],
    [:SetRenderVSync, :SDL_SetRenderVSync, [:pointer, :int], :bool],
    [:GetRenderVSync, :SDL_GetRenderVSync, [:pointer, :pointer], :bool],
    [:RenderDebugText, :SDL_RenderDebugText, [:pointer, :float, :float, :pointer], :bool],
    [:RenderDebugTextFormat, :SDL_RenderDebugTextFormat, [:pointer, :float, :float, :pointer], :bool],
    [:SetDefaultTextureScaleMode, :SDL_SetDefaultTextureScaleMode, [:pointer, :int], :bool],
    [:GetDefaultTextureScaleMode, :SDL_GetDefaultTextureScaleMode, [:pointer, :pointer], :bool],
    [:CreateGPURenderState, :SDL_CreateGPURenderState, [:pointer, :pointer], :pointer],
    [:SetGPURenderStateFragmentUniforms, :SDL_SetGPURenderStateFragmentUniforms, [:pointer, :uint, :pointer, :uint], :bool],
    [:SetGPURenderState, :SDL_SetGPURenderState, [:pointer, :pointer], :bool],
    [:DestroyGPURenderState, :SDL_DestroyGPURenderState, [:pointer], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_revision_symbols(output_error = false) ⇒ Object

Function



26
27
28
29
30
31
32
33
34
# File 'lib/sdl3_revision.rb', line 26

def self.setup_revision_symbols(output_error = false)
  entries = [
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_scancode_symbols(output_error = false) ⇒ Object

Function



275
276
277
278
279
280
281
282
283
# File 'lib/sdl3_scancode.rb', line 275

def self.setup_scancode_symbols(output_error = false)
  entries = [
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_sensor_symbols(output_error = false) ⇒ Object

Function



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/sdl3_sensor.rb', line 37

def self.setup_sensor_symbols(output_error = false)
  entries = [
    [:GetSensors, :SDL_GetSensors, [:pointer], :pointer],
    [:GetSensorNameForID, :SDL_GetSensorNameForID, [:uint], :pointer],
    [:GetSensorTypeForID, :SDL_GetSensorTypeForID, [:uint], :int],
    [:GetSensorNonPortableTypeForID, :SDL_GetSensorNonPortableTypeForID, [:uint], :int],
    [:OpenSensor, :SDL_OpenSensor, [:uint], :pointer],
    [:GetSensorFromID, :SDL_GetSensorFromID, [:uint], :pointer],
    [:GetSensorProperties, :SDL_GetSensorProperties, [:pointer], :uint],
    [:GetSensorName, :SDL_GetSensorName, [:pointer], :pointer],
    [:GetSensorType, :SDL_GetSensorType, [:pointer], :int],
    [:GetSensorNonPortableType, :SDL_GetSensorNonPortableType, [:pointer], :int],
    [:GetSensorID, :SDL_GetSensorID, [:pointer], :uint],
    [:GetSensorData, :SDL_GetSensorData, [:pointer, :pointer, :int], :bool],
    [:CloseSensor, :SDL_CloseSensor, [:pointer], :void],
    [:UpdateSensors, :SDL_UpdateSensors, [], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_sound_symbols(output_error = false) ⇒ Object

Function



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/sdl3_sound.rb', line 55

def self.setup_sound_symbols(output_error = false)
  entries = [
    [:Sound_Version, :Sound_Version, [], :int],
    [:Sound_Init, :Sound_Init, [], :int],
    [:Sound_Quit, :Sound_Quit, [], :int],
    [:Sound_AvailableDecoders, :Sound_AvailableDecoders, [], :pointer],
    [:Sound_GetError, :Sound_GetError, [], :pointer],
    [:Sound_ClearError, :Sound_ClearError, [], :void],
    [:Sound_NewSample, :Sound_NewSample, [:pointer, :pointer, :pointer, :uint], :pointer],
    [:Sound_NewSampleFromMem, :Sound_NewSampleFromMem, [:pointer, :uint, :pointer, :pointer, :uint], :pointer],
    [:Sound_NewSampleFromFile, :Sound_NewSampleFromFile, [:pointer, :pointer, :uint], :pointer],
    [:Sound_FreeSample, :Sound_FreeSample, [:pointer], :void],
    [:Sound_GetDuration, :Sound_GetDuration, [:pointer], :int],
    [:Sound_SetBufferSize, :Sound_SetBufferSize, [:pointer, :uint], :int],
    [:Sound_SetDesiredFormat, :Sound_SetDesiredFormat, [:pointer, :pointer], :int],
    [:Sound_Decode, :Sound_Decode, [:pointer], :uint],
    [:Sound_DecodeAll, :Sound_DecodeAll, [:pointer], :uint],
    [:Sound_Rewind, :Sound_Rewind, [:pointer], :int],
    [:Sound_Seek, :Sound_Seek, [:pointer, :uint], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_stdinc_symbols(output_error = false) ⇒ Object

Function



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
# File 'lib/sdl3_stdinc.rb', line 54

def self.setup_stdinc_symbols(output_error = false)
  entries = [
    [:malloc, :SDL_malloc, [:ulong_long], :pointer],
    [:calloc, :SDL_calloc, [:ulong_long, :ulong_long], :pointer],
    [:realloc, :SDL_realloc, [:pointer, :ulong_long], :pointer],
    [:free, :SDL_free, [:pointer], :void],
    [:GetOriginalMemoryFunctions, :SDL_GetOriginalMemoryFunctions, [:pointer, :pointer, :pointer, :pointer], :void],
    [:GetMemoryFunctions, :SDL_GetMemoryFunctions, [:pointer, :pointer, :pointer, :pointer], :void],
    [:SetMemoryFunctions, :SDL_SetMemoryFunctions, [:SDL_malloc_func, :SDL_calloc_func, :SDL_realloc_func, :SDL_free_func], :bool],
    [:aligned_alloc, :SDL_aligned_alloc, [:ulong_long, :ulong_long], :pointer],
    [:aligned_free, :SDL_aligned_free, [:pointer], :void],
    [:GetNumAllocations, :SDL_GetNumAllocations, [], :int],
    [:GetEnvironment, :SDL_GetEnvironment, [], :pointer],
    [:CreateEnvironment, :SDL_CreateEnvironment, [:bool], :pointer],
    [:GetEnvironmentVariable, :SDL_GetEnvironmentVariable, [:pointer, :pointer], :pointer],
    [:GetEnvironmentVariables, :SDL_GetEnvironmentVariables, [:pointer], :pointer],
    [:SetEnvironmentVariable, :SDL_SetEnvironmentVariable, [:pointer, :pointer, :pointer, :bool], :bool],
    [:UnsetEnvironmentVariable, :SDL_UnsetEnvironmentVariable, [:pointer, :pointer], :bool],
    [:DestroyEnvironment, :SDL_DestroyEnvironment, [:pointer], :void],
    [:getenv, :SDL_getenv, [:pointer], :pointer],
    [:getenv_unsafe, :SDL_getenv_unsafe, [:pointer], :pointer],
    [:setenv_unsafe, :SDL_setenv_unsafe, [:pointer, :pointer, :int], :int],
    [:unsetenv_unsafe, :SDL_unsetenv_unsafe, [:pointer], :int],
    [:qsort, :SDL_qsort, [:pointer, :ulong_long, :ulong_long, :SDL_CompareCallback], :void],
    [:bsearch, :SDL_bsearch, [:pointer, :pointer, :ulong_long, :ulong_long, :SDL_CompareCallback], :pointer],
    [:qsort_r, :SDL_qsort_r, [:pointer, :ulong_long, :ulong_long, :SDL_CompareCallback_r, :pointer], :void],
    [:bsearch_r, :SDL_bsearch_r, [:pointer, :pointer, :ulong_long, :ulong_long, :SDL_CompareCallback_r, :pointer], :pointer],
    [:abs, :SDL_abs, [:int], :int],
    [:isalpha, :SDL_isalpha, [:int], :int],
    [:isalnum, :SDL_isalnum, [:int], :int],
    [:isblank, :SDL_isblank, [:int], :int],
    [:iscntrl, :SDL_iscntrl, [:int], :int],
    [:isdigit, :SDL_isdigit, [:int], :int],
    [:isxdigit, :SDL_isxdigit, [:int], :int],
    [:ispunct, :SDL_ispunct, [:int], :int],
    [:isspace, :SDL_isspace, [:int], :int],
    [:isupper, :SDL_isupper, [:int], :int],
    [:islower, :SDL_islower, [:int], :int],
    [:isprint, :SDL_isprint, [:int], :int],
    [:isgraph, :SDL_isgraph, [:int], :int],
    [:toupper, :SDL_toupper, [:int], :int],
    [:tolower, :SDL_tolower, [:int], :int],
    [:crc16, :SDL_crc16, [:ushort, :pointer, :ulong_long], :ushort],
    [:crc32, :SDL_crc32, [:uint, :pointer, :ulong_long], :uint],
    [:murmur3_32, :SDL_murmur3_32, [:pointer, :ulong_long, :uint], :uint],
    [:memcpy, :SDL_memcpy, [:pointer, :pointer, :ulong_long], :pointer],
    [:memmove, :SDL_memmove, [:pointer, :pointer, :ulong_long], :pointer],
    [:memset, :SDL_memset, [:pointer, :int, :ulong_long], :pointer],
    [:memcmp, :SDL_memcmp, [:pointer, :pointer, :ulong_long], :int],
    [:wcslen, :SDL_wcslen, [:pointer], :ulong_long],
    [:wcsnlen, :SDL_wcsnlen, [:pointer, :ulong_long], :ulong_long],
    [:wcslcpy, :SDL_wcslcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:wcslcat, :SDL_wcslcat, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:wcsdup, :SDL_wcsdup, [:pointer], :pointer],
    [:wcsstr, :SDL_wcsstr, [:pointer, :pointer], :pointer],
    [:wcsnstr, :SDL_wcsnstr, [:pointer, :pointer, :ulong_long], :pointer],
    [:wcscmp, :SDL_wcscmp, [:pointer, :pointer], :int],
    [:wcsncmp, :SDL_wcsncmp, [:pointer, :pointer, :ulong_long], :int],
    [:wcscasecmp, :SDL_wcscasecmp, [:pointer, :pointer], :int],
    [:wcsncasecmp, :SDL_wcsncasecmp, [:pointer, :pointer, :ulong_long], :int],
    [:wcstol, :SDL_wcstol, [:pointer, :pointer, :int], :long],
    [:strlen, :SDL_strlen, [:pointer], :ulong_long],
    [:strnlen, :SDL_strnlen, [:pointer, :ulong_long], :ulong_long],
    [:strlcpy, :SDL_strlcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:utf8strlcpy, :SDL_utf8strlcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:strlcat, :SDL_strlcat, [:pointer, :pointer, :ulong_long], :ulong_long],
    [:strdup, :SDL_strdup, [:pointer], :pointer],
    [:strndup, :SDL_strndup, [:pointer, :ulong_long], :pointer],
    [:strrev, :SDL_strrev, [:pointer], :pointer],
    [:strupr, :SDL_strupr, [:pointer], :pointer],
    [:strlwr, :SDL_strlwr, [:pointer], :pointer],
    [:strchr, :SDL_strchr, [:pointer, :int], :pointer],
    [:strrchr, :SDL_strrchr, [:pointer, :int], :pointer],
    [:strstr, :SDL_strstr, [:pointer, :pointer], :pointer],
    [:strnstr, :SDL_strnstr, [:pointer, :pointer, :ulong_long], :pointer],
    [:strcasestr, :SDL_strcasestr, [:pointer, :pointer], :pointer],
    [:strtok_r, :SDL_strtok_r, [:pointer, :pointer, :pointer], :pointer],
    [:utf8strlen, :SDL_utf8strlen, [:pointer], :ulong_long],
    [:utf8strnlen, :SDL_utf8strnlen, [:pointer, :ulong_long], :ulong_long],
    [:itoa, :SDL_itoa, [:int, :pointer, :int], :pointer],
    [:uitoa, :SDL_uitoa, [:uint, :pointer, :int], :pointer],
    [:ltoa, :SDL_ltoa, [:long, :pointer, :int], :pointer],
    [:ultoa, :SDL_ultoa, [:ulong, :pointer, :int], :pointer],
    [:lltoa, :SDL_lltoa, [:long_long, :pointer, :int], :pointer],
    [:ulltoa, :SDL_ulltoa, [:ulong_long, :pointer, :int], :pointer],
    [:atoi, :SDL_atoi, [:pointer], :int],
    [:atof, :SDL_atof, [:pointer], :double],
    [:strtol, :SDL_strtol, [:pointer, :pointer, :int], :long],
    [:strtoul, :SDL_strtoul, [:pointer, :pointer, :int], :ulong],
    [:strtoll, :SDL_strtoll, [:pointer, :pointer, :int], :long_long],
    [:strtoull, :SDL_strtoull, [:pointer, :pointer, :int], :ulong_long],
    [:strtod, :SDL_strtod, [:pointer, :pointer], :double],
    [:strcmp, :SDL_strcmp, [:pointer, :pointer], :int],
    [:strncmp, :SDL_strncmp, [:pointer, :pointer, :ulong_long], :int],
    [:strcasecmp, :SDL_strcasecmp, [:pointer, :pointer], :int],
    [:strncasecmp, :SDL_strncasecmp, [:pointer, :pointer, :ulong_long], :int],
    [:strpbrk, :SDL_strpbrk, [:pointer, :pointer], :pointer],
    [:StepUTF8, :SDL_StepUTF8, [:pointer, :pointer], :uint],
    [:StepBackUTF8, :SDL_StepBackUTF8, [:pointer, :pointer], :uint],
    [:UCS4ToUTF8, :SDL_UCS4ToUTF8, [:uint, :pointer], :pointer],
    [:sscanf, :SDL_sscanf, [:pointer, :pointer], :int],
    [:vsscanf, :SDL_vsscanf, [:pointer, :pointer, :pointer], :int],
    [:snprintf, :SDL_snprintf, [:pointer, :ulong_long, :pointer], :int],
    [:swprintf, :SDL_swprintf, [:pointer, :ulong_long, :pointer], :int],
    [:vsnprintf, :SDL_vsnprintf, [:pointer, :ulong_long, :pointer, :pointer], :int],
    [:vswprintf, :SDL_vswprintf, [:pointer, :ulong_long, :pointer, :pointer], :int],
    [:asprintf, :SDL_asprintf, [:pointer, :pointer], :int],
    [:vasprintf, :SDL_vasprintf, [:pointer, :pointer, :pointer], :int],
    [:srand, :SDL_srand, [:ulong_long], :void],
    [:rand, :SDL_rand, [:int], :int],
    [:randf, :SDL_randf, [], :float],
    [:rand_bits, :SDL_rand_bits, [], :uint],
    [:rand_r, :SDL_rand_r, [:pointer, :int], :int],
    [:randf_r, :SDL_randf_r, [:pointer], :float],
    [:rand_bits_r, :SDL_rand_bits_r, [:pointer], :uint],
    [:acos, :SDL_acos, [:double], :double],
    [:acosf, :SDL_acosf, [:float], :float],
    [:asin, :SDL_asin, [:double], :double],
    [:asinf, :SDL_asinf, [:float], :float],
    [:atan, :SDL_atan, [:double], :double],
    [:atanf, :SDL_atanf, [:float], :float],
    [:atan2, :SDL_atan2, [:double, :double], :double],
    [:atan2f, :SDL_atan2f, [:float, :float], :float],
    [:ceil, :SDL_ceil, [:double], :double],
    [:ceilf, :SDL_ceilf, [:float], :float],
    [:copysign, :SDL_copysign, [:double, :double], :double],
    [:copysignf, :SDL_copysignf, [:float, :float], :float],
    [:cos, :SDL_cos, [:double], :double],
    [:cosf, :SDL_cosf, [:float], :float],
    [:exp, :SDL_exp, [:double], :double],
    [:expf, :SDL_expf, [:float], :float],
    [:fabs, :SDL_fabs, [:double], :double],
    [:fabsf, :SDL_fabsf, [:float], :float],
    [:floor, :SDL_floor, [:double], :double],
    [:floorf, :SDL_floorf, [:float], :float],
    [:trunc, :SDL_trunc, [:double], :double],
    [:truncf, :SDL_truncf, [:float], :float],
    [:fmod, :SDL_fmod, [:double, :double], :double],
    [:fmodf, :SDL_fmodf, [:float, :float], :float],
    [:isinf, :SDL_isinf, [:double], :int],
    [:isinff, :SDL_isinff, [:float], :int],
    [:isnan, :SDL_isnan, [:double], :int],
    [:isnanf, :SDL_isnanf, [:float], :int],
    [:log, :SDL_log, [:double], :double],
    [:logf, :SDL_logf, [:float], :float],
    [:log10, :SDL_log10, [:double], :double],
    [:log10f, :SDL_log10f, [:float], :float],
    [:modf, :SDL_modf, [:double, :pointer], :double],
    [:modff, :SDL_modff, [:float, :pointer], :float],
    [:pow, :SDL_pow, [:double, :double], :double],
    [:powf, :SDL_powf, [:float, :float], :float],
    [:round, :SDL_round, [:double], :double],
    [:roundf, :SDL_roundf, [:float], :float],
    [:lround, :SDL_lround, [:double], :long],
    [:lroundf, :SDL_lroundf, [:float], :long],
    [:scalbn, :SDL_scalbn, [:double, :int], :double],
    [:scalbnf, :SDL_scalbnf, [:float, :int], :float],
    [:sin, :SDL_sin, [:double], :double],
    [:sinf, :SDL_sinf, [:float], :float],
    [:sqrt, :SDL_sqrt, [:double], :double],
    [:sqrtf, :SDL_sqrtf, [:float], :float],
    [:tan, :SDL_tan, [:double], :double],
    [:tanf, :SDL_tanf, [:float], :float],
    [:iconv_open, :SDL_iconv_open, [:pointer, :pointer], :pointer],
    [:iconv_close, :SDL_iconv_close, [:pointer], :int],
    [:iconv, :SDL_iconv, [:pointer, :pointer, :pointer, :pointer, :pointer], :ulong_long],
    [:iconv_string, :SDL_iconv_string, [:pointer, :pointer, :pointer, :ulong_long], :pointer],
    [:size_mul_check_overflow, :SDL_size_mul_check_overflow, [:ulong_long, :ulong_long, :pointer], :bool],
    [:size_mul_check_overflow_builtin, :SDL_size_mul_check_overflow_builtin, [:ulong_long, :ulong_long, :pointer], :bool],
    [:size_add_check_overflow, :SDL_size_add_check_overflow, [:ulong_long, :ulong_long, :pointer], :bool],
    [:size_add_check_overflow_builtin, :SDL_size_add_check_overflow_builtin, [:ulong_long, :ulong_long, :pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_storage_symbols(output_error = false) ⇒ Object

Function



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/sdl3_storage.rb', line 42

def self.setup_storage_symbols(output_error = false)
  entries = [
    [:OpenTitleStorage, :SDL_OpenTitleStorage, [:pointer, :uint], :pointer],
    [:OpenUserStorage, :SDL_OpenUserStorage, [:pointer, :pointer, :uint], :pointer],
    [:OpenFileStorage, :SDL_OpenFileStorage, [:pointer], :pointer],
    [:OpenStorage, :SDL_OpenStorage, [:pointer, :pointer], :pointer],
    [:CloseStorage, :SDL_CloseStorage, [:pointer], :bool],
    [:StorageReady, :SDL_StorageReady, [:pointer], :bool],
    [:GetStorageFileSize, :SDL_GetStorageFileSize, [:pointer, :pointer, :pointer], :bool],
    [:ReadStorageFile, :SDL_ReadStorageFile, [:pointer, :pointer, :pointer, :ulong_long], :bool],
    [:WriteStorageFile, :SDL_WriteStorageFile, [:pointer, :pointer, :pointer, :ulong_long], :bool],
    [:CreateStorageDirectory, :SDL_CreateStorageDirectory, [:pointer, :pointer], :bool],
    [:EnumerateStorageDirectory, :SDL_EnumerateStorageDirectory, [:pointer, :pointer, :SDL_EnumerateDirectoryCallback, :pointer], :bool],
    [:RemoveStoragePath, :SDL_RemoveStoragePath, [:pointer, :pointer], :bool],
    [:RenameStoragePath, :SDL_RenameStoragePath, [:pointer, :pointer, :pointer], :bool],
    [:CopyStorageFile, :SDL_CopyStorageFile, [:pointer, :pointer, :pointer], :bool],
    [:GetStoragePathInfo, :SDL_GetStoragePathInfo, [:pointer, :pointer, :pointer], :bool],
    [:GetStorageSpaceRemaining, :SDL_GetStorageSpaceRemaining, [:pointer], :ulong_long],
    [:GlobStorageDirectory, :SDL_GlobStorageDirectory, [:pointer, :pointer, :pointer, :uint, :pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_surface_symbols(output_error = false) ⇒ Object

Function



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/sdl3_surface.rb', line 60

def self.setup_surface_symbols(output_error = false)
  entries = [
    [:CreateSurface, :SDL_CreateSurface, [:int, :int, :int], :pointer],
    [:CreateSurfaceFrom, :SDL_CreateSurfaceFrom, [:int, :int, :int, :pointer, :int], :pointer],
    [:DestroySurface, :SDL_DestroySurface, [:pointer], :void],
    [:GetSurfaceProperties, :SDL_GetSurfaceProperties, [:pointer], :uint],
    [:SetSurfaceColorspace, :SDL_SetSurfaceColorspace, [:pointer, :int], :bool],
    [:GetSurfaceColorspace, :SDL_GetSurfaceColorspace, [:pointer], :int],
    [:CreateSurfacePalette, :SDL_CreateSurfacePalette, [:pointer], :pointer],
    [:SetSurfacePalette, :SDL_SetSurfacePalette, [:pointer, :pointer], :bool],
    [:GetSurfacePalette, :SDL_GetSurfacePalette, [:pointer], :pointer],
    [:AddSurfaceAlternateImage, :SDL_AddSurfaceAlternateImage, [:pointer, :pointer], :bool],
    [:SurfaceHasAlternateImages, :SDL_SurfaceHasAlternateImages, [:pointer], :bool],
    [:GetSurfaceImages, :SDL_GetSurfaceImages, [:pointer, :pointer], :pointer],
    [:RemoveSurfaceAlternateImages, :SDL_RemoveSurfaceAlternateImages, [:pointer], :void],
    [:LockSurface, :SDL_LockSurface, [:pointer], :bool],
    [:UnlockSurface, :SDL_UnlockSurface, [:pointer], :void],
    [:LoadSurface_IO, :SDL_LoadSurface_IO, [:pointer, :bool], :pointer],
    [:LoadSurface, :SDL_LoadSurface, [:pointer], :pointer],
    [:LoadBMP_IO, :SDL_LoadBMP_IO, [:pointer, :bool], :pointer],
    [:LoadBMP, :SDL_LoadBMP, [:pointer], :pointer],
    [:SaveBMP_IO, :SDL_SaveBMP_IO, [:pointer, :pointer, :bool], :bool],
    [:SaveBMP, :SDL_SaveBMP, [:pointer, :pointer], :bool],
    [:LoadPNG_IO, :SDL_LoadPNG_IO, [:pointer, :bool], :pointer],
    [:LoadPNG, :SDL_LoadPNG, [:pointer], :pointer],
    [:SavePNG_IO, :SDL_SavePNG_IO, [:pointer, :pointer, :bool], :bool],
    [:SavePNG, :SDL_SavePNG, [:pointer, :pointer], :bool],
    [:SetSurfaceRLE, :SDL_SetSurfaceRLE, [:pointer, :bool], :bool],
    [:SurfaceHasRLE, :SDL_SurfaceHasRLE, [:pointer], :bool],
    [:SetSurfaceColorKey, :SDL_SetSurfaceColorKey, [:pointer, :bool, :uint], :bool],
    [:SurfaceHasColorKey, :SDL_SurfaceHasColorKey, [:pointer], :bool],
    [:GetSurfaceColorKey, :SDL_GetSurfaceColorKey, [:pointer, :pointer], :bool],
    [:SetSurfaceColorMod, :SDL_SetSurfaceColorMod, [:pointer, :uchar, :uchar, :uchar], :bool],
    [:GetSurfaceColorMod, :SDL_GetSurfaceColorMod, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:SetSurfaceAlphaMod, :SDL_SetSurfaceAlphaMod, [:pointer, :uchar], :bool],
    [:GetSurfaceAlphaMod, :SDL_GetSurfaceAlphaMod, [:pointer, :pointer], :bool],
    [:SetSurfaceBlendMode, :SDL_SetSurfaceBlendMode, [:pointer, :uint], :bool],
    [:GetSurfaceBlendMode, :SDL_GetSurfaceBlendMode, [:pointer, :pointer], :bool],
    [:SetSurfaceClipRect, :SDL_SetSurfaceClipRect, [:pointer, :pointer], :bool],
    [:GetSurfaceClipRect, :SDL_GetSurfaceClipRect, [:pointer, :pointer], :bool],
    [:FlipSurface, :SDL_FlipSurface, [:pointer, :int], :bool],
    [:RotateSurface, :SDL_RotateSurface, [:pointer, :float], :pointer],
    [:DuplicateSurface, :SDL_DuplicateSurface, [:pointer], :pointer],
    [:ScaleSurface, :SDL_ScaleSurface, [:pointer, :int, :int, :int], :pointer],
    [:ConvertSurface, :SDL_ConvertSurface, [:pointer, :int], :pointer],
    [:ConvertSurfaceAndColorspace, :SDL_ConvertSurfaceAndColorspace, [:pointer, :int, :pointer, :int, :uint], :pointer],
    [:ConvertPixels, :SDL_ConvertPixels, [:int, :int, :int, :pointer, :int, :int, :pointer, :int], :bool],
    [:ConvertPixelsAndColorspace, :SDL_ConvertPixelsAndColorspace, [:int, :int, :int, :int, :uint, :pointer, :int, :int, :int, :uint, :pointer, :int], :bool],
    [:PremultiplyAlpha, :SDL_PremultiplyAlpha, [:int, :int, :int, :pointer, :int, :int, :pointer, :int, :bool], :bool],
    [:PremultiplySurfaceAlpha, :SDL_PremultiplySurfaceAlpha, [:pointer, :bool], :bool],
    [:ClearSurface, :SDL_ClearSurface, [:pointer, :float, :float, :float, :float], :bool],
    [:FillSurfaceRect, :SDL_FillSurfaceRect, [:pointer, :pointer, :uint], :bool],
    [:FillSurfaceRects, :SDL_FillSurfaceRects, [:pointer, :pointer, :int, :uint], :bool],
    [:BlitSurface, :SDL_BlitSurface, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:BlitSurfaceUnchecked, :SDL_BlitSurfaceUnchecked, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:BlitSurfaceScaled, :SDL_BlitSurfaceScaled, [:pointer, :pointer, :pointer, :pointer, :int], :bool],
    [:BlitSurfaceUncheckedScaled, :SDL_BlitSurfaceUncheckedScaled, [:pointer, :pointer, :pointer, :pointer, :int], :bool],
    [:StretchSurface, :SDL_StretchSurface, [:pointer, :pointer, :pointer, :pointer, :int], :bool],
    [:BlitSurfaceTiled, :SDL_BlitSurfaceTiled, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:BlitSurfaceTiledWithScale, :SDL_BlitSurfaceTiledWithScale, [:pointer, :pointer, :float, :int, :pointer, :pointer], :bool],
    [:BlitSurface9Grid, :SDL_BlitSurface9Grid, [:pointer, :pointer, :int, :int, :int, :int, :float, :int, :pointer, :pointer], :bool],
    [:MapSurfaceRGB, :SDL_MapSurfaceRGB, [:pointer, :uchar, :uchar, :uchar], :uint],
    [:MapSurfaceRGBA, :SDL_MapSurfaceRGBA, [:pointer, :uchar, :uchar, :uchar, :uchar], :uint],
    [:ReadSurfacePixel, :SDL_ReadSurfacePixel, [:pointer, :int, :int, :pointer, :pointer, :pointer, :pointer], :bool],
    [:ReadSurfacePixelFloat, :SDL_ReadSurfacePixelFloat, [:pointer, :int, :int, :pointer, :pointer, :pointer, :pointer], :bool],
    [:WriteSurfacePixel, :SDL_WriteSurfacePixel, [:pointer, :int, :int, :uchar, :uchar, :uchar, :uchar], :bool],
    [:WriteSurfacePixelFloat, :SDL_WriteSurfacePixelFloat, [:pointer, :int, :int, :float, :float, :float, :float], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_symbols(output_error = false) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/sdl3.rb', line 95

def self.setup_symbols(output_error = false)
  setup_assert_symbols(output_error)
  setup_asyncio_symbols(output_error)
  setup_atomic_symbols(output_error)
  setup_audio_symbols(output_error)
  setup_bits_symbols(output_error)
  setup_blendmode_symbols(output_error)
  setup_camera_symbols(output_error)
  setup_clipboard_symbols(output_error)
  setup_cpuinfo_symbols(output_error)
  setup_dialog_symbols(output_error)
  setup_endian_symbols(output_error)
  setup_error_symbols(output_error)
  setup_events_symbols(output_error)
  setup_filesystem_symbols(output_error)
  setup_gamepad_symbols(output_error)
  setup_gpu_symbols(output_error)
  setup_guid_symbols(output_error)
  setup_haptic_symbols(output_error)
  setup_hints_symbols(output_error)
  setup_init_symbols(output_error)
  setup_iostream_symbols(output_error)
  setup_joystick_symbols(output_error)
  setup_keyboard_symbols(output_error)
  setup_keycode_symbols(output_error)
  setup_loadso_symbols(output_error)
  setup_log_symbols(output_error)
  setup_messagebox_symbols(output_error)
  setup_misc_symbols(output_error)
  setup_mouse_symbols(output_error)
  setup_mutex_symbols(output_error)
  setup_pen_symbols(output_error)
  setup_pixels_symbols(output_error)
  setup_platform_symbols(output_error)
  setup_power_symbols(output_error)
  setup_process_symbols(output_error)
  setup_properties_symbols(output_error)
  setup_rect_symbols(output_error)
  setup_render_symbols(output_error)
  setup_revision_symbols(output_error)
  setup_scancode_symbols(output_error)
  setup_sensor_symbols(output_error)
  setup_stdinc_symbols(output_error)
  setup_storage_symbols(output_error)
  setup_surface_symbols(output_error)
  setup_thread_symbols(output_error)
  setup_time_symbols(output_error)
  setup_timer_symbols(output_error)
  setup_touch_symbols(output_error)
  setup_tray_symbols(output_error)
  setup_version_symbols(output_error)
  setup_video_symbols(output_error)
  setup_vulkan_symbols(output_error)
end

.setup_thread_symbols(output_error = false) ⇒ Object

Function



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/sdl3_thread.rb', line 42

def self.setup_thread_symbols(output_error = false)
  entries = [
    [:CreateThreadRuntime, :SDL_CreateThreadRuntime, [:SDL_ThreadFunction, :pointer, :pointer, :SDL_FunctionPointer, :SDL_FunctionPointer], :pointer],
    [:CreateThreadWithPropertiesRuntime, :SDL_CreateThreadWithPropertiesRuntime, [:uint, :SDL_FunctionPointer, :SDL_FunctionPointer], :pointer],
    [:GetThreadName, :SDL_GetThreadName, [:pointer], :pointer],
    [:GetCurrentThreadID, :SDL_GetCurrentThreadID, [], :ulong_long],
    [:GetThreadID, :SDL_GetThreadID, [:pointer], :ulong_long],
    [:SetCurrentThreadPriority, :SDL_SetCurrentThreadPriority, [:int], :bool],
    [:WaitThread, :SDL_WaitThread, [:pointer, :pointer], :void],
    [:GetThreadState, :SDL_GetThreadState, [:pointer], :int],
    [:DetachThread, :SDL_DetachThread, [:pointer], :void],
    [:GetTLS, :SDL_GetTLS, [:pointer], :pointer],
    [:SetTLS, :SDL_SetTLS, [:pointer, :pointer, :SDL_TLSDestructorCallback], :bool],
    [:CleanupTLS, :SDL_CleanupTLS, [], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_time_symbols(output_error = false) ⇒ Object

Function



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/sdl3_time.rb', line 46

def self.setup_time_symbols(output_error = false)
  entries = [
    [:GetDateTimeLocalePreferences, :SDL_GetDateTimeLocalePreferences, [:pointer, :pointer], :bool],
    [:GetCurrentTime, :SDL_GetCurrentTime, [:pointer], :bool],
    [:TimeToDateTime, :SDL_TimeToDateTime, [:long_long, :pointer, :bool], :bool],
    [:DateTimeToTime, :SDL_DateTimeToTime, [:pointer, :pointer], :bool],
    [:TimeToWindows, :SDL_TimeToWindows, [:long_long, :pointer, :pointer], :void],
    [:TimeFromWindows, :SDL_TimeFromWindows, [:uint, :uint], :long_long],
    [:GetDaysInMonth, :SDL_GetDaysInMonth, [:int, :int], :int],
    [:GetDayOfYear, :SDL_GetDayOfYear, [:int, :int, :int], :int],
    [:GetDayOfWeek, :SDL_GetDayOfWeek, [:int, :int, :int], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_timer_symbols(output_error = false) ⇒ Object

Function



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/sdl3_timer.rb', line 33

def self.setup_timer_symbols(output_error = false)
  entries = [
    [:GetTicks, :SDL_GetTicks, [], :ulong_long],
    [:GetTicksNS, :SDL_GetTicksNS, [], :ulong_long],
    [:GetPerformanceCounter, :SDL_GetPerformanceCounter, [], :ulong_long],
    [:GetPerformanceFrequency, :SDL_GetPerformanceFrequency, [], :ulong_long],
    [:Delay, :SDL_Delay, [:uint], :void],
    [:DelayNS, :SDL_DelayNS, [:ulong_long], :void],
    [:DelayPrecise, :SDL_DelayPrecise, [:ulong_long], :void],
    [:AddTimer, :SDL_AddTimer, [:uint, :SDL_TimerCallback, :pointer], :uint],
    [:AddTimerNS, :SDL_AddTimerNS, [:ulong_long, :SDL_NSTimerCallback, :pointer], :uint],
    [:RemoveTimer, :SDL_RemoveTimer, [:uint], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_touch_symbols(output_error = false) ⇒ Object

Function



43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/sdl3_touch.rb', line 43

def self.setup_touch_symbols(output_error = false)
  entries = [
    [:GetTouchDevices, :SDL_GetTouchDevices, [:pointer], :pointer],
    [:GetTouchDeviceName, :SDL_GetTouchDeviceName, [:ulong_long], :pointer],
    [:GetTouchDeviceType, :SDL_GetTouchDeviceType, [:ulong_long], :int],
    [:GetTouchFingers, :SDL_GetTouchFingers, [:ulong_long, :pointer], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_tray_symbols(output_error = false) ⇒ Object

Function



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/sdl3_tray.rb', line 32

def self.setup_tray_symbols(output_error = false)
  entries = [
    [:CreateTray, :SDL_CreateTray, [:pointer, :pointer], :pointer],
    [:SetTrayIcon, :SDL_SetTrayIcon, [:pointer, :pointer], :void],
    [:SetTrayTooltip, :SDL_SetTrayTooltip, [:pointer, :pointer], :void],
    [:CreateTrayMenu, :SDL_CreateTrayMenu, [:pointer], :pointer],
    [:CreateTraySubmenu, :SDL_CreateTraySubmenu, [:pointer], :pointer],
    [:GetTrayMenu, :SDL_GetTrayMenu, [:pointer], :pointer],
    [:GetTraySubmenu, :SDL_GetTraySubmenu, [:pointer], :pointer],
    [:GetTrayEntries, :SDL_GetTrayEntries, [:pointer, :pointer], :pointer],
    [:RemoveTrayEntry, :SDL_RemoveTrayEntry, [:pointer], :void],
    [:InsertTrayEntryAt, :SDL_InsertTrayEntryAt, [:pointer, :int, :pointer, :uint], :pointer],
    [:SetTrayEntryLabel, :SDL_SetTrayEntryLabel, [:pointer, :pointer], :void],
    [:GetTrayEntryLabel, :SDL_GetTrayEntryLabel, [:pointer], :pointer],
    [:SetTrayEntryChecked, :SDL_SetTrayEntryChecked, [:pointer, :bool], :void],
    [:GetTrayEntryChecked, :SDL_GetTrayEntryChecked, [:pointer], :bool],
    [:SetTrayEntryEnabled, :SDL_SetTrayEntryEnabled, [:pointer, :bool], :void],
    [:GetTrayEntryEnabled, :SDL_GetTrayEntryEnabled, [:pointer], :bool],
    [:SetTrayEntryCallback, :SDL_SetTrayEntryCallback, [:pointer, :SDL_TrayCallback, :pointer], :void],
    [:ClickTrayEntry, :SDL_ClickTrayEntry, [:pointer], :void],
    [:DestroyTray, :SDL_DestroyTray, [:pointer], :void],
    [:GetTrayEntryParent, :SDL_GetTrayEntryParent, [:pointer], :pointer],
    [:GetTrayMenuParentEntry, :SDL_GetTrayMenuParentEntry, [:pointer], :pointer],
    [:GetTrayMenuParentTray, :SDL_GetTrayMenuParentTray, [:pointer], :pointer],
    [:UpdateTrays, :SDL_UpdateTrays, [], :void],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_ttf_symbols(output_error = false) ⇒ Object

Function



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/sdl3_ttf.rb', line 127

def self.setup_ttf_symbols(output_error = false)
  entries = [
    [:TTF_Version, :TTF_Version, [], :int],
    [:TTF_GetFreeTypeVersion, :TTF_GetFreeTypeVersion, [:pointer, :pointer, :pointer], :void],
    [:TTF_GetHarfBuzzVersion, :TTF_GetHarfBuzzVersion, [:pointer, :pointer, :pointer], :void],
    [:TTF_Init, :TTF_Init, [], :bool],
    [:TTF_OpenFont, :TTF_OpenFont, [:pointer, :float], :pointer],
    [:TTF_OpenFontIO, :TTF_OpenFontIO, [:pointer, :bool, :float], :pointer],
    [:TTF_OpenFontWithProperties, :TTF_OpenFontWithProperties, [:uint], :pointer],
    [:TTF_CopyFont, :TTF_CopyFont, [:pointer], :pointer],
    [:TTF_GetFontProperties, :TTF_GetFontProperties, [:pointer], :uint],
    [:TTF_GetFontGeneration, :TTF_GetFontGeneration, [:pointer], :uint],
    [:TTF_AddFallbackFont, :TTF_AddFallbackFont, [:pointer, :pointer], :bool],
    [:TTF_RemoveFallbackFont, :TTF_RemoveFallbackFont, [:pointer, :pointer], :void],
    [:TTF_ClearFallbackFonts, :TTF_ClearFallbackFonts, [:pointer], :void],
    [:TTF_SetFontSize, :TTF_SetFontSize, [:pointer, :float], :bool],
    [:TTF_SetFontSizeDPI, :TTF_SetFontSizeDPI, [:pointer, :float, :int, :int], :bool],
    [:TTF_GetFontSize, :TTF_GetFontSize, [:pointer], :float],
    [:TTF_GetFontDPI, :TTF_GetFontDPI, [:pointer, :pointer, :pointer], :bool],
    [:TTF_SetFontStyle, :TTF_SetFontStyle, [:pointer, :uint], :void],
    [:TTF_GetFontStyle, :TTF_GetFontStyle, [:pointer], :uint],
    [:TTF_SetFontOutline, :TTF_SetFontOutline, [:pointer, :int], :bool],
    [:TTF_GetFontOutline, :TTF_GetFontOutline, [:pointer], :int],
    [:TTF_SetFontHinting, :TTF_SetFontHinting, [:pointer, :int], :void],
    [:TTF_GetNumFontFaces, :TTF_GetNumFontFaces, [:pointer], :int],
    [:TTF_GetFontHinting, :TTF_GetFontHinting, [:pointer], :int],
    [:TTF_SetFontSDF, :TTF_SetFontSDF, [:pointer, :bool], :bool],
    [:TTF_GetFontSDF, :TTF_GetFontSDF, [:pointer], :bool],
    [:TTF_GetFontWeight, :TTF_GetFontWeight, [:pointer], :int],
    [:TTF_SetFontWrapAlignment, :TTF_SetFontWrapAlignment, [:pointer, :int], :void],
    [:TTF_GetFontWrapAlignment, :TTF_GetFontWrapAlignment, [:pointer], :int],
    [:TTF_GetFontHeight, :TTF_GetFontHeight, [:pointer], :int],
    [:TTF_GetFontAscent, :TTF_GetFontAscent, [:pointer], :int],
    [:TTF_GetFontDescent, :TTF_GetFontDescent, [:pointer], :int],
    [:TTF_SetFontLineSkip, :TTF_SetFontLineSkip, [:pointer, :int], :void],
    [:TTF_GetFontLineSkip, :TTF_GetFontLineSkip, [:pointer], :int],
    [:TTF_SetFontKerning, :TTF_SetFontKerning, [:pointer, :bool], :void],
    [:TTF_GetFontKerning, :TTF_GetFontKerning, [:pointer], :bool],
    [:TTF_FontIsFixedWidth, :TTF_FontIsFixedWidth, [:pointer], :bool],
    [:TTF_FontIsScalable, :TTF_FontIsScalable, [:pointer], :bool],
    [:TTF_GetFontFamilyName, :TTF_GetFontFamilyName, [:pointer], :pointer],
    [:TTF_GetFontStyleName, :TTF_GetFontStyleName, [:pointer], :pointer],
    [:TTF_SetFontDirection, :TTF_SetFontDirection, [:pointer, :int], :bool],
    [:TTF_GetFontDirection, :TTF_GetFontDirection, [:pointer], :int],
    [:TTF_SetFontCharSpacing, :TTF_SetFontCharSpacing, [:pointer, :int], :bool],
    [:TTF_GetFontCharSpacing, :TTF_GetFontCharSpacing, [:pointer], :int],
    [:TTF_StringToTag, :TTF_StringToTag, [:pointer], :uint],
    [:TTF_TagToString, :TTF_TagToString, [:uint, :pointer, :ulong_long], :void],
    [:TTF_SetFontScript, :TTF_SetFontScript, [:pointer, :uint], :bool],
    [:TTF_GetFontScript, :TTF_GetFontScript, [:pointer], :uint],
    [:TTF_GetGlyphScript, :TTF_GetGlyphScript, [:uint], :uint],
    [:TTF_SetFontLanguage, :TTF_SetFontLanguage, [:pointer, :pointer], :bool],
    [:TTF_FontHasGlyph, :TTF_FontHasGlyph, [:pointer, :uint], :bool],
    [:TTF_GetGlyphImage, :TTF_GetGlyphImage, [:pointer, :uint, :pointer], :pointer],
    [:TTF_GetGlyphImageForIndex, :TTF_GetGlyphImageForIndex, [:pointer, :uint, :pointer], :pointer],
    [:TTF_GetGlyphMetrics, :TTF_GetGlyphMetrics, [:pointer, :uint, :pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:TTF_GetGlyphKerning, :TTF_GetGlyphKerning, [:pointer, :uint, :uint, :pointer], :bool],
    [:TTF_GetStringSize, :TTF_GetStringSize, [:pointer, :pointer, :ulong_long, :pointer, :pointer], :bool],
    [:TTF_GetStringSizeWrapped, :TTF_GetStringSizeWrapped, [:pointer, :pointer, :ulong_long, :int, :pointer, :pointer], :bool],
    [:TTF_MeasureString, :TTF_MeasureString, [:pointer, :pointer, :ulong_long, :int, :pointer, :pointer], :bool],
    [:TTF_RenderText_Solid, :TTF_RenderText_Solid, [:pointer, :pointer, :ulong_long, Color.by_value], :pointer],
    [:TTF_RenderText_Solid_Wrapped, :TTF_RenderText_Solid_Wrapped, [:pointer, :pointer, :ulong_long, Color.by_value, :int], :pointer],
    [:TTF_RenderGlyph_Solid, :TTF_RenderGlyph_Solid, [:pointer, :uint, Color.by_value], :pointer],
    [:TTF_RenderText_Shaded, :TTF_RenderText_Shaded, [:pointer, :pointer, :ulong_long, Color.by_value, Color.by_value], :pointer],
    [:TTF_RenderText_Shaded_Wrapped, :TTF_RenderText_Shaded_Wrapped, [:pointer, :pointer, :ulong_long, Color.by_value, Color.by_value, :int], :pointer],
    [:TTF_RenderGlyph_Shaded, :TTF_RenderGlyph_Shaded, [:pointer, :uint, Color.by_value, Color.by_value], :pointer],
    [:TTF_RenderText_Blended, :TTF_RenderText_Blended, [:pointer, :pointer, :ulong_long, Color.by_value], :pointer],
    [:TTF_RenderText_Blended_Wrapped, :TTF_RenderText_Blended_Wrapped, [:pointer, :pointer, :ulong_long, Color.by_value, :int], :pointer],
    [:TTF_RenderGlyph_Blended, :TTF_RenderGlyph_Blended, [:pointer, :uint, Color.by_value], :pointer],
    [:TTF_RenderText_LCD, :TTF_RenderText_LCD, [:pointer, :pointer, :ulong_long, Color.by_value, Color.by_value], :pointer],
    [:TTF_RenderText_LCD_Wrapped, :TTF_RenderText_LCD_Wrapped, [:pointer, :pointer, :ulong_long, Color.by_value, Color.by_value, :int], :pointer],
    [:TTF_RenderGlyph_LCD, :TTF_RenderGlyph_LCD, [:pointer, :uint, Color.by_value, Color.by_value], :pointer],
    [:TTF_CreateSurfaceTextEngine, :TTF_CreateSurfaceTextEngine, [], :pointer],
    [:TTF_DrawSurfaceText, :TTF_DrawSurfaceText, [:pointer, :int, :int, :pointer], :bool],
    [:TTF_DestroySurfaceTextEngine, :TTF_DestroySurfaceTextEngine, [:pointer], :void],
    [:TTF_CreateRendererTextEngine, :TTF_CreateRendererTextEngine, [:pointer], :pointer],
    [:TTF_CreateRendererTextEngineWithProperties, :TTF_CreateRendererTextEngineWithProperties, [:uint], :pointer],
    [:TTF_DrawRendererText, :TTF_DrawRendererText, [:pointer, :float, :float], :bool],
    [:TTF_DestroyRendererTextEngine, :TTF_DestroyRendererTextEngine, [:pointer], :void],
    [:TTF_CreateGPUTextEngine, :TTF_CreateGPUTextEngine, [:pointer], :pointer],
    [:TTF_CreateGPUTextEngineWithProperties, :TTF_CreateGPUTextEngineWithProperties, [:uint], :pointer],
    [:TTF_GetGPUTextDrawData, :TTF_GetGPUTextDrawData, [:pointer], :pointer],
    [:TTF_DestroyGPUTextEngine, :TTF_DestroyGPUTextEngine, [:pointer], :void],
    [:TTF_SetGPUTextEngineWinding, :TTF_SetGPUTextEngineWinding, [:pointer, :int], :void],
    [:TTF_GetGPUTextEngineWinding, :TTF_GetGPUTextEngineWinding, [:pointer], :int],
    [:TTF_CreateText, :TTF_CreateText, [:pointer, :pointer, :pointer, :ulong_long], :pointer],
    [:TTF_GetTextProperties, :TTF_GetTextProperties, [:pointer], :uint],
    [:TTF_SetTextEngine, :TTF_SetTextEngine, [:pointer, :pointer], :bool],
    [:TTF_GetTextEngine, :TTF_GetTextEngine, [:pointer], :pointer],
    [:TTF_SetTextFont, :TTF_SetTextFont, [:pointer, :pointer], :bool],
    [:TTF_GetTextFont, :TTF_GetTextFont, [:pointer], :pointer],
    [:TTF_SetTextDirection, :TTF_SetTextDirection, [:pointer, :int], :bool],
    [:TTF_GetTextDirection, :TTF_GetTextDirection, [:pointer], :int],
    [:TTF_SetTextScript, :TTF_SetTextScript, [:pointer, :uint], :bool],
    [:TTF_GetTextScript, :TTF_GetTextScript, [:pointer], :uint],
    [:TTF_SetTextColor, :TTF_SetTextColor, [:pointer, :uchar, :uchar, :uchar, :uchar], :bool],
    [:TTF_SetTextColorFloat, :TTF_SetTextColorFloat, [:pointer, :float, :float, :float, :float], :bool],
    [:TTF_GetTextColor, :TTF_GetTextColor, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:TTF_GetTextColorFloat, :TTF_GetTextColorFloat, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:TTF_SetTextPosition, :TTF_SetTextPosition, [:pointer, :int, :int], :bool],
    [:TTF_GetTextPosition, :TTF_GetTextPosition, [:pointer, :pointer, :pointer], :bool],
    [:TTF_SetTextWrapWidth, :TTF_SetTextWrapWidth, [:pointer, :int], :bool],
    [:TTF_GetTextWrapWidth, :TTF_GetTextWrapWidth, [:pointer, :pointer], :bool],
    [:TTF_SetTextWrapWhitespaceVisible, :TTF_SetTextWrapWhitespaceVisible, [:pointer, :bool], :bool],
    [:TTF_TextWrapWhitespaceVisible, :TTF_TextWrapWhitespaceVisible, [:pointer], :bool],
    [:TTF_SetTextString, :TTF_SetTextString, [:pointer, :pointer, :ulong_long], :bool],
    [:TTF_InsertTextString, :TTF_InsertTextString, [:pointer, :int, :pointer, :ulong_long], :bool],
    [:TTF_AppendTextString, :TTF_AppendTextString, [:pointer, :pointer, :ulong_long], :bool],
    [:TTF_DeleteTextString, :TTF_DeleteTextString, [:pointer, :int, :int], :bool],
    [:TTF_GetTextSize, :TTF_GetTextSize, [:pointer, :pointer, :pointer], :bool],
    [:TTF_GetTextSubString, :TTF_GetTextSubString, [:pointer, :int, :pointer], :bool],
    [:TTF_GetTextSubStringForLine, :TTF_GetTextSubStringForLine, [:pointer, :int, :pointer], :bool],
    [:TTF_GetTextSubStringsForRange, :TTF_GetTextSubStringsForRange, [:pointer, :int, :int, :pointer], :pointer],
    [:TTF_GetTextSubStringForPoint, :TTF_GetTextSubStringForPoint, [:pointer, :int, :int, :pointer], :bool],
    [:TTF_GetPreviousTextSubString, :TTF_GetPreviousTextSubString, [:pointer, :pointer, :pointer], :bool],
    [:TTF_GetNextTextSubString, :TTF_GetNextTextSubString, [:pointer, :pointer, :pointer], :bool],
    [:TTF_UpdateText, :TTF_UpdateText, [:pointer], :bool],
    [:TTF_DestroyText, :TTF_DestroyText, [:pointer], :void],
    [:TTF_CloseFont, :TTF_CloseFont, [:pointer], :void],
    [:TTF_Quit, :TTF_Quit, [], :void],
    [:TTF_WasInit, :TTF_WasInit, [], :int],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_version_symbols(output_error = false) ⇒ Object

Function



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/sdl3_version.rb', line 28

def self.setup_version_symbols(output_error = false)
  entries = [
    [:GetVersion, :SDL_GetVersion, [], :int],
    [:GetRevision, :SDL_GetRevision, [], :pointer],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_video_symbols(output_error = false) ⇒ Object

Function



237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'lib/sdl3_video.rb', line 237

def self.setup_video_symbols(output_error = false)
  entries = [
    [:GetNumVideoDrivers, :SDL_GetNumVideoDrivers, [], :int],
    [:GetVideoDriver, :SDL_GetVideoDriver, [:int], :pointer],
    [:GetCurrentVideoDriver, :SDL_GetCurrentVideoDriver, [], :pointer],
    [:GetSystemTheme, :SDL_GetSystemTheme, [], :int],
    [:GetDisplays, :SDL_GetDisplays, [:pointer], :pointer],
    [:GetPrimaryDisplay, :SDL_GetPrimaryDisplay, [], :uint],
    [:GetDisplayProperties, :SDL_GetDisplayProperties, [:uint], :uint],
    [:GetDisplayName, :SDL_GetDisplayName, [:uint], :pointer],
    [:GetDisplayBounds, :SDL_GetDisplayBounds, [:uint, :pointer], :bool],
    [:GetDisplayUsableBounds, :SDL_GetDisplayUsableBounds, [:uint, :pointer], :bool],
    [:GetNaturalDisplayOrientation, :SDL_GetNaturalDisplayOrientation, [:uint], :int],
    [:GetCurrentDisplayOrientation, :SDL_GetCurrentDisplayOrientation, [:uint], :int],
    [:GetDisplayContentScale, :SDL_GetDisplayContentScale, [:uint], :float],
    [:GetFullscreenDisplayModes, :SDL_GetFullscreenDisplayModes, [:uint, :pointer], :pointer],
    [:GetClosestFullscreenDisplayMode, :SDL_GetClosestFullscreenDisplayMode, [:uint, :int, :int, :float, :bool, :pointer], :bool],
    [:GetDesktopDisplayMode, :SDL_GetDesktopDisplayMode, [:uint], :pointer],
    [:GetCurrentDisplayMode, :SDL_GetCurrentDisplayMode, [:uint], :pointer],
    [:GetDisplayForPoint, :SDL_GetDisplayForPoint, [:pointer], :uint],
    [:GetDisplayForRect, :SDL_GetDisplayForRect, [:pointer], :uint],
    [:GetDisplayForWindow, :SDL_GetDisplayForWindow, [:pointer], :uint],
    [:GetWindowPixelDensity, :SDL_GetWindowPixelDensity, [:pointer], :float],
    [:GetWindowDisplayScale, :SDL_GetWindowDisplayScale, [:pointer], :float],
    [:SetWindowFullscreenMode, :SDL_SetWindowFullscreenMode, [:pointer, :pointer], :bool],
    [:GetWindowFullscreenMode, :SDL_GetWindowFullscreenMode, [:pointer], :pointer],
    [:GetWindowICCProfile, :SDL_GetWindowICCProfile, [:pointer, :pointer], :pointer],
    [:GetWindowPixelFormat, :SDL_GetWindowPixelFormat, [:pointer], :int],
    [:GetWindows, :SDL_GetWindows, [:pointer], :pointer],
    [:CreateWindow, :SDL_CreateWindow, [:pointer, :int, :int, :ulong_long], :pointer],
    [:CreatePopupWindow, :SDL_CreatePopupWindow, [:pointer, :int, :int, :int, :int, :ulong_long], :pointer],
    [:CreateWindowWithProperties, :SDL_CreateWindowWithProperties, [:uint], :pointer],
    [:GetWindowID, :SDL_GetWindowID, [:pointer], :uint],
    [:GetWindowFromID, :SDL_GetWindowFromID, [:uint], :pointer],
    [:GetWindowParent, :SDL_GetWindowParent, [:pointer], :pointer],
    [:GetWindowProperties, :SDL_GetWindowProperties, [:pointer], :uint],
    [:GetWindowFlags, :SDL_GetWindowFlags, [:pointer], :ulong_long],
    [:SetWindowTitle, :SDL_SetWindowTitle, [:pointer, :pointer], :bool],
    [:GetWindowTitle, :SDL_GetWindowTitle, [:pointer], :pointer],
    [:SetWindowIcon, :SDL_SetWindowIcon, [:pointer, :pointer], :bool],
    [:SetWindowPosition, :SDL_SetWindowPosition, [:pointer, :int, :int], :bool],
    [:GetWindowPosition, :SDL_GetWindowPosition, [:pointer, :pointer, :pointer], :bool],
    [:SetWindowSize, :SDL_SetWindowSize, [:pointer, :int, :int], :bool],
    [:GetWindowSize, :SDL_GetWindowSize, [:pointer, :pointer, :pointer], :bool],
    [:GetWindowSafeArea, :SDL_GetWindowSafeArea, [:pointer, :pointer], :bool],
    [:SetWindowAspectRatio, :SDL_SetWindowAspectRatio, [:pointer, :float, :float], :bool],
    [:GetWindowAspectRatio, :SDL_GetWindowAspectRatio, [:pointer, :pointer, :pointer], :bool],
    [:GetWindowBordersSize, :SDL_GetWindowBordersSize, [:pointer, :pointer, :pointer, :pointer, :pointer], :bool],
    [:GetWindowSizeInPixels, :SDL_GetWindowSizeInPixels, [:pointer, :pointer, :pointer], :bool],
    [:SetWindowMinimumSize, :SDL_SetWindowMinimumSize, [:pointer, :int, :int], :bool],
    [:GetWindowMinimumSize, :SDL_GetWindowMinimumSize, [:pointer, :pointer, :pointer], :bool],
    [:SetWindowMaximumSize, :SDL_SetWindowMaximumSize, [:pointer, :int, :int], :bool],
    [:GetWindowMaximumSize, :SDL_GetWindowMaximumSize, [:pointer, :pointer, :pointer], :bool],
    [:SetWindowBordered, :SDL_SetWindowBordered, [:pointer, :bool], :bool],
    [:SetWindowResizable, :SDL_SetWindowResizable, [:pointer, :bool], :bool],
    [:SetWindowAlwaysOnTop, :SDL_SetWindowAlwaysOnTop, [:pointer, :bool], :bool],
    [:SetWindowFillDocument, :SDL_SetWindowFillDocument, [:pointer, :bool], :bool],
    [:ShowWindow, :SDL_ShowWindow, [:pointer], :bool],
    [:HideWindow, :SDL_HideWindow, [:pointer], :bool],
    [:RaiseWindow, :SDL_RaiseWindow, [:pointer], :bool],
    [:MaximizeWindow, :SDL_MaximizeWindow, [:pointer], :bool],
    [:MinimizeWindow, :SDL_MinimizeWindow, [:pointer], :bool],
    [:RestoreWindow, :SDL_RestoreWindow, [:pointer], :bool],
    [:SetWindowFullscreen, :SDL_SetWindowFullscreen, [:pointer, :bool], :bool],
    [:SyncWindow, :SDL_SyncWindow, [:pointer], :bool],
    [:WindowHasSurface, :SDL_WindowHasSurface, [:pointer], :bool],
    [:GetWindowSurface, :SDL_GetWindowSurface, [:pointer], :pointer],
    [:SetWindowSurfaceVSync, :SDL_SetWindowSurfaceVSync, [:pointer, :int], :bool],
    [:GetWindowSurfaceVSync, :SDL_GetWindowSurfaceVSync, [:pointer, :pointer], :bool],
    [:UpdateWindowSurface, :SDL_UpdateWindowSurface, [:pointer], :bool],
    [:UpdateWindowSurfaceRects, :SDL_UpdateWindowSurfaceRects, [:pointer, :pointer, :int], :bool],
    [:DestroyWindowSurface, :SDL_DestroyWindowSurface, [:pointer], :bool],
    [:SetWindowKeyboardGrab, :SDL_SetWindowKeyboardGrab, [:pointer, :bool], :bool],
    [:SetWindowMouseGrab, :SDL_SetWindowMouseGrab, [:pointer, :bool], :bool],
    [:GetWindowKeyboardGrab, :SDL_GetWindowKeyboardGrab, [:pointer], :bool],
    [:GetWindowMouseGrab, :SDL_GetWindowMouseGrab, [:pointer], :bool],
    [:GetGrabbedWindow, :SDL_GetGrabbedWindow, [], :pointer],
    [:SetWindowMouseRect, :SDL_SetWindowMouseRect, [:pointer, :pointer], :bool],
    [:GetWindowMouseRect, :SDL_GetWindowMouseRect, [:pointer], :pointer],
    [:SetWindowOpacity, :SDL_SetWindowOpacity, [:pointer, :float], :bool],
    [:GetWindowOpacity, :SDL_GetWindowOpacity, [:pointer], :float],
    [:SetWindowParent, :SDL_SetWindowParent, [:pointer, :pointer], :bool],
    [:SetWindowModal, :SDL_SetWindowModal, [:pointer, :bool], :bool],
    [:SetWindowFocusable, :SDL_SetWindowFocusable, [:pointer, :bool], :bool],
    [:ShowWindowSystemMenu, :SDL_ShowWindowSystemMenu, [:pointer, :int, :int], :bool],
    [:SetWindowHitTest, :SDL_SetWindowHitTest, [:pointer, :SDL_HitTest, :pointer], :bool],
    [:SetWindowShape, :SDL_SetWindowShape, [:pointer, :pointer], :bool],
    [:FlashWindow, :SDL_FlashWindow, [:pointer, :int], :bool],
    [:SetWindowProgressState, :SDL_SetWindowProgressState, [:pointer, :int], :bool],
    [:GetWindowProgressState, :SDL_GetWindowProgressState, [:pointer], :int],
    [:SetWindowProgressValue, :SDL_SetWindowProgressValue, [:pointer, :float], :bool],
    [:GetWindowProgressValue, :SDL_GetWindowProgressValue, [:pointer], :float],
    [:DestroyWindow, :SDL_DestroyWindow, [:pointer], :void],
    [:ScreenSaverEnabled, :SDL_ScreenSaverEnabled, [], :bool],
    [:EnableScreenSaver, :SDL_EnableScreenSaver, [], :bool],
    [:DisableScreenSaver, :SDL_DisableScreenSaver, [], :bool],
    [:GL_LoadLibrary, :SDL_GL_LoadLibrary, [:pointer], :bool],
    [:GL_GetProcAddress, :SDL_GL_GetProcAddress, [:pointer], :pointer],
    [:EGL_GetProcAddress, :SDL_EGL_GetProcAddress, [:pointer], :pointer],
    [:GL_UnloadLibrary, :SDL_GL_UnloadLibrary, [], :void],
    [:GL_ExtensionSupported, :SDL_GL_ExtensionSupported, [:pointer], :bool],
    [:GL_ResetAttributes, :SDL_GL_ResetAttributes, [], :void],
    [:GL_SetAttribute, :SDL_GL_SetAttribute, [:int, :int], :bool],
    [:GL_GetAttribute, :SDL_GL_GetAttribute, [:int, :pointer], :bool],
    [:GL_CreateContext, :SDL_GL_CreateContext, [:pointer], :pointer],
    [:GL_MakeCurrent, :SDL_GL_MakeCurrent, [:pointer, :pointer], :bool],
    [:GL_GetCurrentWindow, :SDL_GL_GetCurrentWindow, [], :pointer],
    [:GL_GetCurrentContext, :SDL_GL_GetCurrentContext, [], :pointer],
    [:EGL_GetCurrentDisplay, :SDL_EGL_GetCurrentDisplay, [], :pointer],
    [:EGL_GetCurrentConfig, :SDL_EGL_GetCurrentConfig, [], :pointer],
    [:EGL_GetWindowSurface, :SDL_EGL_GetWindowSurface, [:pointer], :pointer],
    [:EGL_SetAttributeCallbacks, :SDL_EGL_SetAttributeCallbacks, [:SDL_EGLAttribArrayCallback, :SDL_EGLIntArrayCallback, :SDL_EGLIntArrayCallback, :pointer], :void],
    [:GL_SetSwapInterval, :SDL_GL_SetSwapInterval, [:int], :bool],
    [:GL_GetSwapInterval, :SDL_GL_GetSwapInterval, [:pointer], :bool],
    [:GL_SwapWindow, :SDL_GL_SwapWindow, [:pointer], :bool],
    [:GL_DestroyContext, :SDL_GL_DestroyContext, [:pointer], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end

.setup_vulkan_symbols(output_error = false) ⇒ Object

Function



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/sdl3_vulkan.rb', line 28

def self.setup_vulkan_symbols(output_error = false)
  entries = [
    [:Vulkan_LoadLibrary, :SDL_Vulkan_LoadLibrary, [:pointer], :bool],
    [:Vulkan_GetVkGetInstanceProcAddr, :SDL_Vulkan_GetVkGetInstanceProcAddr, [], :pointer],
    [:Vulkan_UnloadLibrary, :SDL_Vulkan_UnloadLibrary, [], :void],
    [:Vulkan_GetInstanceExtensions, :SDL_Vulkan_GetInstanceExtensions, [:pointer], :pointer],
    [:Vulkan_CreateSurface, :SDL_Vulkan_CreateSurface, [:pointer, :pointer, :pointer, :pointer], :bool],
    [:Vulkan_DestroySurface, :SDL_Vulkan_DestroySurface, [:pointer, :pointer, :pointer], :void],
    [:Vulkan_GetPresentationSupport, :SDL_Vulkan_GetPresentationSupport, [:pointer, :pointer, :uint], :bool],
  ]
  entries.each do |entry|
    attach_function entry[0], entry[1], entry[2], entry[3]
  rescue FFI::NotFoundError => e
    warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
  end
end