sdl3-bindings 1.0.0.beta.4 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ChangeLog +18 -0
- data/LICENSE.txt +1 -1
- data/README.md +28 -8
- data/lib/sdl3_atomic.rb +1 -0
- data/lib/sdl3_audio.rb +5 -0
- data/lib/sdl3_camera.rb +4 -0
- data/lib/sdl3_cpuinfo.rb +1 -0
- data/lib/sdl3_events.rb +19 -1
- data/lib/sdl3_gamepad.rb +2 -1
- data/lib/sdl3_gpu.rb +30 -3
- data/lib/sdl3_haptic.rb +4 -1
- data/lib/sdl3_hidapi.rb +1 -0
- data/lib/sdl3_hints.rb +22 -0
- data/lib/sdl3_image.rb +1 -1
- data/lib/sdl3_iostream.rb +1 -0
- data/lib/sdl3_mixer.rb +134 -136
- data/lib/sdl3_mouse.rb +10 -0
- data/lib/sdl3_pen.rb +7 -0
- data/lib/sdl3_pixels.rb +1 -1
- data/lib/sdl3_process.rb +2 -0
- data/lib/sdl3_properties.rb +1 -0
- data/lib/sdl3_render.rb +47 -0
- data/lib/sdl3_revision.rb +1 -1
- data/lib/sdl3_sensor.rb +1 -0
- data/lib/sdl3_sound.rb +3 -22
- data/lib/sdl3_stdinc.rb +4 -0
- data/lib/sdl3_surface.rb +10 -0
- data/lib/sdl3_ttf.rb +9 -7
- data/lib/sdl3_version.rb +2 -2
- data/lib/sdl3_video.rb +22 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7b774bb4f1ac6496e89db960c4bc6e75bc78c6a63169f746f769d00901478bc7
|
|
4
|
+
data.tar.gz: 7ee1b499852bba110c501dd9c052ee9707f8f954c076b67e3e7211453b6be4bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a6c94bdaba07ec88ace683965cdfdcaa50a96c8f147487c944fc0c5e5158a8ad0af5de3f2de924f979fb3cafd9c119179e8dddb174be4dd26bc4901b81a850e4
|
|
7
|
+
data.tar.gz: 1cd02de85363f81d2da049668008b4511d4fb9cbede8967262fb66db1c3a8a6bbd9e687c69b0f49c409b82d3935d871de33c43ba57a66ad9380f2aaeb3cf9912
|
data/ChangeLog
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
2026-01-10 vaiorabbit <http://twitter.com/vaiorabbit>
|
|
2
|
+
|
|
3
|
+
* SDL 3.4.0 ( https://github.com/libsdl-org/SDL/releases/tag/release-3.4.0 )
|
|
4
|
+
* SDL_image 3.2.6 ( https://github.com/libsdl-org/SDL_image/releases/tag/release-3.2.6 )
|
|
5
|
+
* SDL_mixer 63f2c5a21760e3f1ad406ec8a8b18c6346f204b3 ( https://github.com/libsdl-org/SDL_mixer/commit/63f2c5a21760e3f1ad406ec8a8b18c6346f204b3 )
|
|
6
|
+
* SDL_sound 0d55b53a78f2c82683b8723c4c8cecdc20396f7d ( https://github.com/icculus/SDL_sound/commit/0d55b53a78f2c82683b8723c4c8cecdc20396f7d )
|
|
7
|
+
* SDL_ttf 24990fdfd68936022d9b9f6158f80a48ad3c30ab ( https://github.com/libsdl-org/SDL_ttf/commit/24990fdfd68936022d9b9f6158f80a48ad3c30ab )
|
|
8
|
+
* Added AUDIO_DEVICE_DEFAULT_PLAYBACK and AUDIO_DEVICE_DEFAULT_RECORDING
|
|
9
|
+
|
|
10
|
+
2025-12-28 vaiorabbit <http://twitter.com/vaiorabbit>
|
|
11
|
+
|
|
12
|
+
* SDL 3.2.28 ( https://github.com/libsdl-org/SDL/releases/tag/release-3.2.28 )
|
|
13
|
+
|
|
14
|
+
2025-07-19 vaiorabbit <http://twitter.com/vaiorabbit>
|
|
15
|
+
|
|
16
|
+
* SDL 3.2.18 ( https://github.com/libsdl-org/SDL/releases/tag/release-3.2.18 )
|
|
17
|
+
* SDL_mixer b3a6fa8b5ad183f0a1bad02527d89a00c3c90106 ( https://github.com/libsdl-org/SDL_mixer/commit/dd801fdd9af752c99c32a2356d2ebdf1ebb7ebaa )
|
|
18
|
+
|
|
1
19
|
2025-05-10 vaiorabbit <http://twitter.com/vaiorabbit>
|
|
2
20
|
|
|
3
21
|
* SDL 3.2.12 ( https://github.com/libsdl-org/SDL/releases/tag/release-3.2.12 )
|
data/LICENSE.txt
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
sdl3-bindings : SDL3 wrapper for Ruby
|
|
2
|
-
Copyright (c) 2015-
|
|
2
|
+
Copyright (c) 2015-2026 vaiorabbit <http://twitter.com/vaiorabbit>
|
|
3
3
|
|
|
4
4
|
This software is provided 'as-is', without any express or implied
|
|
5
5
|
warranty. In no event will the authors be held liable for any damages
|
data/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# sdl3-bindings : SDL3 wrapper for Ruby #
|
|
4
4
|
|
|
5
5
|
* Created : 2015-09-19
|
|
6
|
-
* Last modified :
|
|
6
|
+
* Last modified : 2026-01-10
|
|
7
7
|
|
|
8
8
|
## Features ##
|
|
9
9
|
|
|
@@ -23,12 +23,12 @@ See the project below to learn how to use this library:
|
|
|
23
23
|
|
|
24
24
|
## Target version ##
|
|
25
25
|
|
|
26
|
-
* [
|
|
27
|
-
* SDL : 3.
|
|
28
|
-
* SDL_image : 3.2.
|
|
29
|
-
* SDL_mixer :
|
|
30
|
-
* SDL_sound :
|
|
31
|
-
* SDL_ttf :
|
|
26
|
+
* [2026-01-20]
|
|
27
|
+
* SDL : [3.4.0](https://github.com/libsdl-org/SDL/releases/tag/release-3.4.0)
|
|
28
|
+
* SDL_image : [3.2.6](https://github.com/libsdl-org/SDL_image/releases/tag/release-3.2.6)
|
|
29
|
+
* SDL_mixer : [63f2c5a21760e3f1ad406ec8a8b18c6346f204b3](https://github.com/libsdl-org/SDL_mixer/commit/63f2c5a21760e3f1ad406ec8a8b18c6346f204b3)
|
|
30
|
+
* SDL_sound : [0d55b53a78f2c82683b8723c4c8cecdc20396f7d](https://github.com/icculus/SDL_sound/commit/0d55b53a78f2c82683b8723c4c8cecdc20396f7d)
|
|
31
|
+
* SDL_ttf : [24990fdfd68936022d9b9f6158f80a48ad3c30ab](https://github.com/libsdl-org/SDL_ttf/commit/24990fdfd68936022d9b9f6158f80a48ad3c30ab)
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
<details>
|
|
@@ -102,16 +102,36 @@ See the project below to learn how to use this library:
|
|
|
102
102
|
* SDL_mixer : 698aaa2e2fd18900f0e28132a8de9b48538d4857
|
|
103
103
|
* SDL_ttf : 3.2.0
|
|
104
104
|
* SDL_sound : f2705793331771fc584c34c3b26581462a3e95f4
|
|
105
|
+
* [2025-05-10]
|
|
106
|
+
* SDL : 3.2.12
|
|
107
|
+
* SDL_image : 3.2.4
|
|
108
|
+
* SDL_mixer : b3a6fa8b5ad183f0a1bad02527d89a00c3c90106
|
|
109
|
+
* SDL_sound : 68d18fe0a1105d1043b9f62d5e37fca19c0cd2c1
|
|
110
|
+
* SDL_ttf : 3.2.2
|
|
111
|
+
* [2025-05-10]
|
|
112
|
+
* SDL : 3.2.18
|
|
113
|
+
* SDL_image : 3.2.4
|
|
114
|
+
* SDL_mixer : dd801fdd9af752c99c32a2356d2ebdf1ebb7ebaa
|
|
115
|
+
* SDL_sound : 68d18fe0a1105d1043b9f62d5e37fca19c0cd2c1
|
|
116
|
+
* SDL_ttf : 3.2.2
|
|
117
|
+
* [2025-12-28]
|
|
118
|
+
* SDL : 3.2.28
|
|
119
|
+
* SDL_image : 3.2.4
|
|
120
|
+
* SDL_mixer : dd801fdd9af752c99c32a2356d2ebdf1ebb7ebaa
|
|
121
|
+
* SDL_sound : 68d18fe0a1105d1043b9f62d5e37fca19c0cd2c1
|
|
122
|
+
* SDL_ttf : 3.2.2
|
|
105
123
|
|
|
106
124
|
</details>
|
|
107
125
|
|
|
108
126
|
## Tested Environments ##
|
|
109
127
|
|
|
110
|
-
* [
|
|
128
|
+
* [2026-01-10] Windows 11 (25H2), ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [x64-mingw-ucrt]
|
|
111
129
|
|
|
112
130
|
<details>
|
|
113
131
|
<summary>Older Environments</summary>
|
|
114
132
|
|
|
133
|
+
* [2025-12-28] Windows 11 (25H2), ruby 4.0.0 (2025-12-25 revision 553f1675f3) +PRISM [x64-mingw-ucrt]
|
|
134
|
+
* [2025-03-29] Windows 11 (24H2), ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [x64-mingw-ucrt]
|
|
115
135
|
* [2025-01-26] Windows 11 (24H2), ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [x64-mingw-ucrt]
|
|
116
136
|
* [2023-02-05] Ubuntu Linux 22.04 LTS (jammy) on WSL/Windows 11, ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]
|
|
117
137
|
* [2023-01-07] Windows 11 (22H2), ruby 3.2.0 (2022-12-25 revision a528908271) [x64-mingw-ucrt]
|
data/lib/sdl3_atomic.rb
CHANGED
|
@@ -49,6 +49,7 @@ module SDL
|
|
|
49
49
|
[:CompareAndSwapAtomicU32, :SDL_CompareAndSwapAtomicU32, [:pointer, :uint, :uint], :bool],
|
|
50
50
|
[:SetAtomicU32, :SDL_SetAtomicU32, [:pointer, :uint], :uint],
|
|
51
51
|
[:GetAtomicU32, :SDL_GetAtomicU32, [:pointer], :uint],
|
|
52
|
+
[:AddAtomicU32, :SDL_AddAtomicU32, [:pointer, :int], :uint],
|
|
52
53
|
[:CompareAndSwapAtomicPointer, :SDL_CompareAndSwapAtomicPointer, [:pointer, :pointer, :pointer], :bool],
|
|
53
54
|
[:SetAtomicPointer, :SDL_SetAtomicPointer, [:pointer, :pointer], :pointer],
|
|
54
55
|
[:GetAtomicPointer, :SDL_GetAtomicPointer, [:pointer], :pointer],
|
data/lib/sdl3_audio.rb
CHANGED
|
@@ -14,6 +14,8 @@ module SDL
|
|
|
14
14
|
AUDIO_MASK_FLOAT = 1 << 8
|
|
15
15
|
AUDIO_MASK_BIG_ENDIAN = 1 << 12
|
|
16
16
|
AUDIO_MASK_SIGNED = 1 << 15
|
|
17
|
+
AUDIO_DEVICE_DEFAULT_PLAYBACK = 0xFFFFFFFF
|
|
18
|
+
AUDIO_DEVICE_DEFAULT_RECORDING = 0xFFFFFFFE
|
|
17
19
|
|
|
18
20
|
# Enum
|
|
19
21
|
|
|
@@ -34,6 +36,7 @@ module SDL
|
|
|
34
36
|
|
|
35
37
|
typedef :int, :SDL_AudioFormat
|
|
36
38
|
typedef :uint, :SDL_AudioDeviceID
|
|
39
|
+
callback :SDL_AudioStreamDataCompleteCallback, [:pointer, :pointer, :int], :void
|
|
37
40
|
callback :SDL_AudioStreamCallback, [:pointer, :pointer, :int, :int], :void
|
|
38
41
|
callback :SDL_AudioPostmixCallback, [:pointer, :pointer, :pointer, :int], :void
|
|
39
42
|
|
|
@@ -87,6 +90,8 @@ module SDL
|
|
|
87
90
|
[:SetAudioStreamInputChannelMap, :SDL_SetAudioStreamInputChannelMap, [:pointer, :pointer, :int], :bool],
|
|
88
91
|
[:SetAudioStreamOutputChannelMap, :SDL_SetAudioStreamOutputChannelMap, [:pointer, :pointer, :int], :bool],
|
|
89
92
|
[:PutAudioStreamData, :SDL_PutAudioStreamData, [:pointer, :pointer, :int], :bool],
|
|
93
|
+
[:PutAudioStreamDataNoCopy, :SDL_PutAudioStreamDataNoCopy, [:pointer, :pointer, :int, :SDL_AudioStreamDataCompleteCallback, :pointer], :bool],
|
|
94
|
+
[:PutAudioStreamPlanarData, :SDL_PutAudioStreamPlanarData, [:pointer, :pointer, :int, :int], :bool],
|
|
90
95
|
[:GetAudioStreamData, :SDL_GetAudioStreamData, [:pointer, :pointer, :int], :int],
|
|
91
96
|
[:GetAudioStreamAvailable, :SDL_GetAudioStreamAvailable, [:pointer], :int],
|
|
92
97
|
[:GetAudioStreamQueued, :SDL_GetAudioStreamQueued, [:pointer], :int],
|
data/lib/sdl3_camera.rb
CHANGED
|
@@ -16,11 +16,15 @@ module SDL
|
|
|
16
16
|
CAMERA_POSITION_UNKNOWN = 0
|
|
17
17
|
CAMERA_POSITION_FRONT_FACING = 1
|
|
18
18
|
CAMERA_POSITION_BACK_FACING = 2
|
|
19
|
+
CAMERA_PERMISSION_STATE_DENIED = -1
|
|
20
|
+
CAMERA_PERMISSION_STATE_PENDING = 0
|
|
21
|
+
CAMERA_PERMISSION_STATE_APPROVED = 1
|
|
19
22
|
|
|
20
23
|
# Typedef
|
|
21
24
|
|
|
22
25
|
typedef :uint, :SDL_CameraID
|
|
23
26
|
typedef :int, :SDL_CameraPosition
|
|
27
|
+
typedef :int, :SDL_CameraPermissionState
|
|
24
28
|
|
|
25
29
|
# Struct
|
|
26
30
|
|
data/lib/sdl3_cpuinfo.rb
CHANGED
|
@@ -43,6 +43,7 @@ module SDL
|
|
|
43
43
|
[:HasLASX, :SDL_HasLASX, [], :bool],
|
|
44
44
|
[:GetSystemRAM, :SDL_GetSystemRAM, [], :int],
|
|
45
45
|
[:GetSIMDAlignment, :SDL_GetSIMDAlignment, [], :ulong_long],
|
|
46
|
+
[:GetSystemPageSize, :SDL_GetSystemPageSize, [], :int],
|
|
46
47
|
]
|
|
47
48
|
entries.each do |entry|
|
|
48
49
|
attach_function entry[0], entry[1], entry[2], entry[3]
|
data/lib/sdl3_events.rb
CHANGED
|
@@ -30,8 +30,9 @@ module SDL
|
|
|
30
30
|
EVENT_DISPLAY_DESKTOP_MODE_CHANGED = 341
|
|
31
31
|
EVENT_DISPLAY_CURRENT_MODE_CHANGED = 342
|
|
32
32
|
EVENT_DISPLAY_CONTENT_SCALE_CHANGED = 343
|
|
33
|
+
EVENT_DISPLAY_USABLE_BOUNDS_CHANGED = 344
|
|
33
34
|
EVENT_DISPLAY_FIRST = 337
|
|
34
|
-
EVENT_DISPLAY_LAST =
|
|
35
|
+
EVENT_DISPLAY_LAST = 344
|
|
35
36
|
EVENT_WINDOW_SHOWN = 514
|
|
36
37
|
EVENT_WINDOW_HIDDEN = 515
|
|
37
38
|
EVENT_WINDOW_EXPOSED = 516
|
|
@@ -67,6 +68,8 @@ module SDL
|
|
|
67
68
|
EVENT_KEYBOARD_ADDED = 773
|
|
68
69
|
EVENT_KEYBOARD_REMOVED = 774
|
|
69
70
|
EVENT_TEXT_EDITING_CANDIDATES = 775
|
|
71
|
+
EVENT_SCREEN_KEYBOARD_SHOWN = 776
|
|
72
|
+
EVENT_SCREEN_KEYBOARD_HIDDEN = 777
|
|
70
73
|
EVENT_MOUSE_MOTION = 1024
|
|
71
74
|
EVENT_MOUSE_BUTTON_DOWN = 1025
|
|
72
75
|
EVENT_MOUSE_BUTTON_UP = 1026
|
|
@@ -98,6 +101,9 @@ module SDL
|
|
|
98
101
|
EVENT_FINGER_UP = 1793
|
|
99
102
|
EVENT_FINGER_MOTION = 1794
|
|
100
103
|
EVENT_FINGER_CANCELED = 1795
|
|
104
|
+
EVENT_PINCH_BEGIN = 1808
|
|
105
|
+
EVENT_PINCH_UPDATE = 1809
|
|
106
|
+
EVENT_PINCH_END = 1810
|
|
101
107
|
EVENT_CLIPBOARD_UPDATE = 2304
|
|
102
108
|
EVENT_DROP_FILE = 4096
|
|
103
109
|
EVENT_DROP_TEXT = 4097
|
|
@@ -479,6 +485,16 @@ module SDL
|
|
|
479
485
|
)
|
|
480
486
|
end
|
|
481
487
|
|
|
488
|
+
class PinchFingerEvent < FFI::Struct
|
|
489
|
+
layout(
|
|
490
|
+
:type, :int,
|
|
491
|
+
:reserved, :uint,
|
|
492
|
+
:timestamp, :ulong_long,
|
|
493
|
+
:scale, :float,
|
|
494
|
+
:windowID, :uint,
|
|
495
|
+
)
|
|
496
|
+
end
|
|
497
|
+
|
|
482
498
|
class PenProximityEvent < FFI::Struct
|
|
483
499
|
layout(
|
|
484
500
|
:type, :int,
|
|
@@ -634,6 +650,7 @@ module SDL
|
|
|
634
650
|
:quit, QuitEvent,
|
|
635
651
|
:user, UserEvent,
|
|
636
652
|
:tfinger, TouchFingerEvent,
|
|
653
|
+
:pinch, PinchFingerEvent,
|
|
637
654
|
:pproximity, PenProximityEvent,
|
|
638
655
|
:ptouch, PenTouchEvent,
|
|
639
656
|
:pmotion, PenMotionEvent,
|
|
@@ -670,6 +687,7 @@ module SDL
|
|
|
670
687
|
[:EventEnabled, :SDL_EventEnabled, [:uint], :bool],
|
|
671
688
|
[:RegisterEvents, :SDL_RegisterEvents, [:int], :uint],
|
|
672
689
|
[:GetWindowFromEvent, :SDL_GetWindowFromEvent, [:pointer], :pointer],
|
|
690
|
+
[:GetEventDescription, :SDL_GetEventDescription, [:pointer, :pointer, :int], :int],
|
|
673
691
|
]
|
|
674
692
|
entries.each do |entry|
|
|
675
693
|
attach_function entry[0], entry[1], entry[2], entry[3]
|
data/lib/sdl3_gamepad.rb
CHANGED
|
@@ -25,7 +25,8 @@ module SDL
|
|
|
25
25
|
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_LEFT = 8
|
|
26
26
|
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT = 9
|
|
27
27
|
GAMEPAD_TYPE_NINTENDO_SWITCH_JOYCON_PAIR = 10
|
|
28
|
-
|
|
28
|
+
GAMEPAD_TYPE_GAMECUBE = 11
|
|
29
|
+
GAMEPAD_TYPE_COUNT = 12
|
|
29
30
|
GAMEPAD_BUTTON_INVALID = -1
|
|
30
31
|
GAMEPAD_BUTTON_SOUTH = 0
|
|
31
32
|
GAMEPAD_BUTTON_EAST = 1
|
data/lib/sdl3_gpu.rb
CHANGED
|
@@ -37,14 +37,26 @@ module SDL
|
|
|
37
37
|
GPU_COLORCOMPONENT_A = 1 << 3
|
|
38
38
|
PROP_GPU_DEVICE_CREATE_DEBUGMODE_BOOLEAN = "SDL.gpu.device.create.debugmode"
|
|
39
39
|
PROP_GPU_DEVICE_CREATE_PREFERLOWPOWER_BOOLEAN = "SDL.gpu.device.create.preferlowpower"
|
|
40
|
+
PROP_GPU_DEVICE_CREATE_VERBOSE_BOOLEAN = "SDL.gpu.device.create.verbose"
|
|
40
41
|
PROP_GPU_DEVICE_CREATE_NAME_STRING = "SDL.gpu.device.create.name"
|
|
42
|
+
PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN = "SDL.gpu.device.create.feature.clip_distance"
|
|
43
|
+
PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN = "SDL.gpu.device.create.feature.depth_clamping"
|
|
44
|
+
PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN = "SDL.gpu.device.create.feature.indirect_draw_first_instance"
|
|
45
|
+
PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN = "SDL.gpu.device.create.feature.anisotropy"
|
|
41
46
|
PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN = "SDL.gpu.device.create.shaders.private"
|
|
42
47
|
PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN = "SDL.gpu.device.create.shaders.spirv"
|
|
43
48
|
PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN = "SDL.gpu.device.create.shaders.dxbc"
|
|
44
49
|
PROP_GPU_DEVICE_CREATE_SHADERS_DXIL_BOOLEAN = "SDL.gpu.device.create.shaders.dxil"
|
|
45
50
|
PROP_GPU_DEVICE_CREATE_SHADERS_MSL_BOOLEAN = "SDL.gpu.device.create.shaders.msl"
|
|
46
51
|
PROP_GPU_DEVICE_CREATE_SHADERS_METALLIB_BOOLEAN = "SDL.gpu.device.create.shaders.metallib"
|
|
52
|
+
PROP_GPU_DEVICE_CREATE_D3D12_ALLOW_FEWER_RESOURCE_SLOTS_BOOLEAN = "SDL.gpu.device.create.d3d12.allowtier1resourcebinding"
|
|
47
53
|
PROP_GPU_DEVICE_CREATE_D3D12_SEMANTIC_NAME_STRING = "SDL.gpu.device.create.d3d12.semantic"
|
|
54
|
+
PROP_GPU_DEVICE_CREATE_VULKAN_REQUIRE_HARDWARE_ACCELERATION_BOOLEAN = "SDL.gpu.device.create.vulkan.requirehardwareacceleration"
|
|
55
|
+
PROP_GPU_DEVICE_CREATE_VULKAN_OPTIONS_POINTER = "SDL.gpu.device.create.vulkan.options"
|
|
56
|
+
PROP_GPU_DEVICE_NAME_STRING = "SDL.gpu.device.name"
|
|
57
|
+
PROP_GPU_DEVICE_DRIVER_NAME_STRING = "SDL.gpu.device.driver_name"
|
|
58
|
+
PROP_GPU_DEVICE_DRIVER_VERSION_STRING = "SDL.gpu.device.driver_version"
|
|
59
|
+
PROP_GPU_DEVICE_DRIVER_INFO_STRING = "SDL.gpu.device.driver_info"
|
|
48
60
|
PROP_GPU_COMPUTEPIPELINE_CREATE_NAME_STRING = "SDL.gpu.computepipeline.create.name"
|
|
49
61
|
PROP_GPU_GRAPHICSPIPELINE_CREATE_NAME_STRING = "SDL.gpu.graphicspipeline.create.name"
|
|
50
62
|
PROP_GPU_SAMPLER_CREATE_NAME_STRING = "SDL.gpu.sampler.create.name"
|
|
@@ -569,7 +581,7 @@ module SDL
|
|
|
569
581
|
:sample_count, :int,
|
|
570
582
|
:sample_mask, :uint,
|
|
571
583
|
:enable_mask, :bool,
|
|
572
|
-
:
|
|
584
|
+
:enable_alpha_to_coverage, :bool,
|
|
573
585
|
:padding2, :uchar,
|
|
574
586
|
:padding3, :uchar,
|
|
575
587
|
)
|
|
@@ -671,8 +683,8 @@ module SDL
|
|
|
671
683
|
:stencil_store_op, :int,
|
|
672
684
|
:cycle, :bool,
|
|
673
685
|
:clear_stencil, :uchar,
|
|
674
|
-
:
|
|
675
|
-
:
|
|
686
|
+
:mip_level, :uchar,
|
|
687
|
+
:layer, :uchar,
|
|
676
688
|
)
|
|
677
689
|
end
|
|
678
690
|
|
|
@@ -727,6 +739,18 @@ module SDL
|
|
|
727
739
|
)
|
|
728
740
|
end
|
|
729
741
|
|
|
742
|
+
class GPUVulkanOptions < FFI::Struct
|
|
743
|
+
layout(
|
|
744
|
+
:vulkan_api_version, :uint,
|
|
745
|
+
:feature_list, :pointer,
|
|
746
|
+
:vulkan_10_physical_device_features, :pointer,
|
|
747
|
+
:device_extension_count, :uint,
|
|
748
|
+
:device_extension_names, :pointer,
|
|
749
|
+
:instance_extension_count, :uint,
|
|
750
|
+
:instance_extension_names, :pointer,
|
|
751
|
+
)
|
|
752
|
+
end
|
|
753
|
+
|
|
730
754
|
|
|
731
755
|
# Function
|
|
732
756
|
|
|
@@ -741,6 +765,7 @@ module SDL
|
|
|
741
765
|
[:GetGPUDriver, :SDL_GetGPUDriver, [:int], :pointer],
|
|
742
766
|
[:GetGPUDeviceDriver, :SDL_GetGPUDeviceDriver, [:pointer], :pointer],
|
|
743
767
|
[:GetGPUShaderFormats, :SDL_GetGPUShaderFormats, [:pointer], :uint],
|
|
768
|
+
[:GetGPUDeviceProperties, :SDL_GetGPUDeviceProperties, [:pointer], :uint],
|
|
744
769
|
[:CreateGPUComputePipeline, :SDL_CreateGPUComputePipeline, [:pointer, :pointer], :pointer],
|
|
745
770
|
[:CreateGPUGraphicsPipeline, :SDL_CreateGPUGraphicsPipeline, [:pointer, :pointer], :pointer],
|
|
746
771
|
[:CreateGPUSampler, :SDL_CreateGPUSampler, [:pointer, :pointer], :pointer],
|
|
@@ -824,6 +849,8 @@ module SDL
|
|
|
824
849
|
[:GPUTextureSupportsFormat, :SDL_GPUTextureSupportsFormat, [:pointer, :int, :int, :uint], :bool],
|
|
825
850
|
[:GPUTextureSupportsSampleCount, :SDL_GPUTextureSupportsSampleCount, [:pointer, :int, :int], :bool],
|
|
826
851
|
[:CalculateGPUTextureFormatSize, :SDL_CalculateGPUTextureFormatSize, [:int, :uint, :uint, :uint], :uint],
|
|
852
|
+
[:GetPixelFormatFromGPUTextureFormat, :SDL_GetPixelFormatFromGPUTextureFormat, [:int], :int],
|
|
853
|
+
[:GetGPUTextureFormatFromPixelFormat, :SDL_GetGPUTextureFormatFromPixelFormat, [:int], :int],
|
|
827
854
|
]
|
|
828
855
|
entries.each do |entry|
|
|
829
856
|
attach_function entry[0], entry[1], entry[2], entry[3]
|
data/lib/sdl3_haptic.rb
CHANGED
|
@@ -10,6 +10,7 @@ module SDL
|
|
|
10
10
|
extend FFI::Library
|
|
11
11
|
# Define/Macro
|
|
12
12
|
|
|
13
|
+
HAPTIC_INFINITY = 4294967295
|
|
13
14
|
HAPTIC_CONSTANT = 1 << 0
|
|
14
15
|
HAPTIC_SINE = 1 << 1
|
|
15
16
|
HAPTIC_SQUARE = 1 << 2
|
|
@@ -34,13 +35,15 @@ module SDL
|
|
|
34
35
|
HAPTIC_CARTESIAN = 1
|
|
35
36
|
HAPTIC_SPHERICAL = 2
|
|
36
37
|
HAPTIC_STEERING_AXIS = 3
|
|
37
|
-
HAPTIC_INFINITY = 4294967295
|
|
38
38
|
|
|
39
39
|
# Enum
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
# Typedef
|
|
43
43
|
|
|
44
|
+
typedef :ushort, :SDL_HapticEffectType
|
|
45
|
+
typedef :uchar, :SDL_HapticDirectionType
|
|
46
|
+
typedef :int, :SDL_HapticEffectID
|
|
44
47
|
typedef :uint, :SDL_HapticID
|
|
45
48
|
|
|
46
49
|
# Struct
|
data/lib/sdl3_hidapi.rb
CHANGED
|
@@ -57,6 +57,7 @@ module SDL
|
|
|
57
57
|
[:hid_free_enumeration, :SDL_hid_free_enumeration, [:pointer], :void],
|
|
58
58
|
[:hid_open, :SDL_hid_open, [:ushort, :ushort, :pointer], :pointer],
|
|
59
59
|
[:hid_open_path, :SDL_hid_open_path, [:pointer], :pointer],
|
|
60
|
+
[:hid_get_properties, :SDL_hid_get_properties, [:pointer], :uint],
|
|
60
61
|
[:hid_write, :SDL_hid_write, [:pointer, :pointer, :ulong_long], :int],
|
|
61
62
|
[:hid_read_timeout, :SDL_hid_read_timeout, [:pointer, :pointer, :ulong_long, :int], :int],
|
|
62
63
|
[:hid_read, :SDL_hid_read, [:pointer, :pointer, :ulong_long], :int],
|
data/lib/sdl3_hints.rb
CHANGED
|
@@ -28,6 +28,7 @@ module SDL
|
|
|
28
28
|
HINT_AUDIO_DEVICE_SAMPLE_FRAMES = "SDL_AUDIO_DEVICE_SAMPLE_FRAMES"
|
|
29
29
|
HINT_AUDIO_DEVICE_STREAM_NAME = "SDL_AUDIO_DEVICE_STREAM_NAME"
|
|
30
30
|
HINT_AUDIO_DEVICE_STREAM_ROLE = "SDL_AUDIO_DEVICE_STREAM_ROLE"
|
|
31
|
+
HINT_AUDIO_DEVICE_RAW_STREAM = "SDL_AUDIO_DEVICE_RAW_STREAM"
|
|
31
32
|
HINT_AUDIO_DISK_INPUT_FILE = "SDL_AUDIO_DISK_INPUT_FILE"
|
|
32
33
|
HINT_AUDIO_DISK_OUTPUT_FILE = "SDL_AUDIO_DISK_OUTPUT_FILE"
|
|
33
34
|
HINT_AUDIO_DISK_TIMESCALE = "SDL_AUDIO_DISK_TIMESCALE"
|
|
@@ -44,6 +45,7 @@ module SDL
|
|
|
44
45
|
HINT_JOYSTICK_DIRECTINPUT = "SDL_JOYSTICK_DIRECTINPUT"
|
|
45
46
|
HINT_FILE_DIALOG_DRIVER = "SDL_FILE_DIALOG_DRIVER"
|
|
46
47
|
HINT_DISPLAY_USABLE_BOUNDS = "SDL_DISPLAY_USABLE_BOUNDS"
|
|
48
|
+
HINT_INVALID_PARAM_CHECKS = "SDL_INVALID_PARAM_CHECKS"
|
|
47
49
|
HINT_EMSCRIPTEN_ASYNCIFY = "SDL_EMSCRIPTEN_ASYNCIFY"
|
|
48
50
|
HINT_EMSCRIPTEN_CANVAS_SELECTOR = "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
|
|
49
51
|
HINT_EMSCRIPTEN_KEYBOARD_ELEMENT = "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT"
|
|
@@ -64,6 +66,7 @@ module SDL
|
|
|
64
66
|
HINT_GDK_TEXTINPUT_SCOPE = "SDL_GDK_TEXTINPUT_SCOPE"
|
|
65
67
|
HINT_GDK_TEXTINPUT_TITLE = "SDL_GDK_TEXTINPUT_TITLE"
|
|
66
68
|
HINT_HIDAPI_LIBUSB = "SDL_HIDAPI_LIBUSB"
|
|
69
|
+
HINT_HIDAPI_LIBUSB_GAMECUBE = "SDL_HIDAPI_LIBUSB_GAMECUBE"
|
|
67
70
|
HINT_HIDAPI_LIBUSB_WHITELIST = "SDL_HIDAPI_LIBUSB_WHITELIST"
|
|
68
71
|
HINT_HIDAPI_UDEV = "SDL_HIDAPI_UDEV"
|
|
69
72
|
HINT_GPU_DRIVER = "SDL_GPU_DRIVER"
|
|
@@ -103,9 +106,15 @@ module SDL
|
|
|
103
106
|
HINT_JOYSTICK_HIDAPI_STEAM_HOME_LED = "SDL_JOYSTICK_HIDAPI_STEAM_HOME_LED"
|
|
104
107
|
HINT_JOYSTICK_HIDAPI_STEAMDECK = "SDL_JOYSTICK_HIDAPI_STEAMDECK"
|
|
105
108
|
HINT_JOYSTICK_HIDAPI_STEAM_HORI = "SDL_JOYSTICK_HIDAPI_STEAM_HORI"
|
|
109
|
+
HINT_JOYSTICK_HIDAPI_LG4FF = "SDL_JOYSTICK_HIDAPI_LG4FF"
|
|
110
|
+
HINT_JOYSTICK_HIDAPI_8BITDO = "SDL_JOYSTICK_HIDAPI_8BITDO"
|
|
111
|
+
HINT_JOYSTICK_HIDAPI_SINPUT = "SDL_JOYSTICK_HIDAPI_SINPUT"
|
|
112
|
+
HINT_JOYSTICK_HIDAPI_ZUIKI = "SDL_JOYSTICK_HIDAPI_ZUIKI"
|
|
113
|
+
HINT_JOYSTICK_HIDAPI_FLYDIGI = "SDL_JOYSTICK_HIDAPI_FLYDIGI"
|
|
106
114
|
HINT_JOYSTICK_HIDAPI_SWITCH = "SDL_JOYSTICK_HIDAPI_SWITCH"
|
|
107
115
|
HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_HOME_LED"
|
|
108
116
|
HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED"
|
|
117
|
+
HINT_JOYSTICK_HIDAPI_SWITCH2 = "SDL_JOYSTICK_HIDAPI_SWITCH2"
|
|
109
118
|
HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS = "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS"
|
|
110
119
|
HINT_JOYSTICK_HIDAPI_WII = "SDL_JOYSTICK_HIDAPI_WII"
|
|
111
120
|
HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED = "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED"
|
|
@@ -115,6 +124,8 @@ module SDL
|
|
|
115
124
|
HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS = "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS"
|
|
116
125
|
HINT_JOYSTICK_HIDAPI_XBOX_ONE = "SDL_JOYSTICK_HIDAPI_XBOX_ONE"
|
|
117
126
|
HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED = "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED"
|
|
127
|
+
HINT_JOYSTICK_HIDAPI_GIP = "SDL_JOYSTICK_HIDAPI_GIP"
|
|
128
|
+
HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA = "SDL_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA"
|
|
118
129
|
HINT_JOYSTICK_IOKIT = "SDL_JOYSTICK_IOKIT"
|
|
119
130
|
HINT_JOYSTICK_LINUX_CLASSIC = "SDL_JOYSTICK_LINUX_CLASSIC"
|
|
120
131
|
HINT_JOYSTICK_LINUX_DEADZONES = "SDL_JOYSTICK_LINUX_DEADZONES"
|
|
@@ -135,17 +146,20 @@ module SDL
|
|
|
135
146
|
HINT_KEYCODE_OPTIONS = "SDL_KEYCODE_OPTIONS"
|
|
136
147
|
HINT_KMSDRM_DEVICE_INDEX = "SDL_KMSDRM_DEVICE_INDEX"
|
|
137
148
|
HINT_KMSDRM_REQUIRE_DRM_MASTER = "SDL_KMSDRM_REQUIRE_DRM_MASTER"
|
|
149
|
+
HINT_KMSDRM_ATOMIC = "SDL_KMSDRM_ATOMIC"
|
|
138
150
|
HINT_LOGGING = "SDL_LOGGING"
|
|
139
151
|
HINT_MAC_BACKGROUND_APP = "SDL_MAC_BACKGROUND_APP"
|
|
140
152
|
HINT_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK = "SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK"
|
|
141
153
|
HINT_MAC_OPENGL_ASYNC_DISPATCH = "SDL_MAC_OPENGL_ASYNC_DISPATCH"
|
|
142
154
|
HINT_MAC_OPTION_AS_ALT = "SDL_MAC_OPTION_AS_ALT"
|
|
143
155
|
HINT_MAC_SCROLL_MOMENTUM = "SDL_MAC_SCROLL_MOMENTUM"
|
|
156
|
+
HINT_MAC_PRESS_AND_HOLD = "SDL_MAC_PRESS_AND_HOLD"
|
|
144
157
|
HINT_MAIN_CALLBACK_RATE = "SDL_MAIN_CALLBACK_RATE"
|
|
145
158
|
HINT_MOUSE_AUTO_CAPTURE = "SDL_MOUSE_AUTO_CAPTURE"
|
|
146
159
|
HINT_MOUSE_DOUBLE_CLICK_RADIUS = "SDL_MOUSE_DOUBLE_CLICK_RADIUS"
|
|
147
160
|
HINT_MOUSE_DOUBLE_CLICK_TIME = "SDL_MOUSE_DOUBLE_CLICK_TIME"
|
|
148
161
|
HINT_MOUSE_DEFAULT_SYSTEM_CURSOR = "SDL_MOUSE_DEFAULT_SYSTEM_CURSOR"
|
|
162
|
+
HINT_MOUSE_DPI_SCALE_CURSORS = "SDL_MOUSE_DPI_SCALE_CURSORS"
|
|
149
163
|
HINT_MOUSE_EMULATE_WARP_WITH_RELATIVE = "SDL_MOUSE_EMULATE_WARP_WITH_RELATIVE"
|
|
150
164
|
HINT_MOUSE_FOCUS_CLICKTHROUGH = "SDL_MOUSE_FOCUS_CLICKTHROUGH"
|
|
151
165
|
HINT_MOUSE_NORMAL_SPEED_SCALE = "SDL_MOUSE_NORMAL_SPEED_SCALE"
|
|
@@ -167,6 +181,7 @@ module SDL
|
|
|
167
181
|
HINT_QUIT_ON_LAST_WINDOW_CLOSE = "SDL_QUIT_ON_LAST_WINDOW_CLOSE"
|
|
168
182
|
HINT_RENDER_DIRECT3D_THREADSAFE = "SDL_RENDER_DIRECT3D_THREADSAFE"
|
|
169
183
|
HINT_RENDER_DIRECT3D11_DEBUG = "SDL_RENDER_DIRECT3D11_DEBUG"
|
|
184
|
+
HINT_RENDER_DIRECT3D11_WARP = "SDL_RENDER_DIRECT3D11_WARP"
|
|
170
185
|
HINT_RENDER_VULKAN_DEBUG = "SDL_RENDER_VULKAN_DEBUG"
|
|
171
186
|
HINT_RENDER_GPU_DEBUG = "SDL_RENDER_GPU_DEBUG"
|
|
172
187
|
HINT_RENDER_GPU_LOW_POWER = "SDL_RENDER_GPU_LOW_POWER"
|
|
@@ -177,6 +192,10 @@ module SDL
|
|
|
177
192
|
HINT_RETURN_KEY_HIDES_IME = "SDL_RETURN_KEY_HIDES_IME"
|
|
178
193
|
HINT_ROG_GAMEPAD_MICE = "SDL_ROG_GAMEPAD_MICE"
|
|
179
194
|
HINT_ROG_GAMEPAD_MICE_EXCLUDED = "SDL_ROG_GAMEPAD_MICE_EXCLUDED"
|
|
195
|
+
HINT_PS2_GS_WIDTH = "SDL_PS2_GS_WIDTH"
|
|
196
|
+
HINT_PS2_GS_HEIGHT = "SDL_PS2_GS_HEIGHT"
|
|
197
|
+
HINT_PS2_GS_PROGRESSIVE = "SDL_PS2_GS_PROGRESSIVE"
|
|
198
|
+
HINT_PS2_GS_MODE = "SDL_PS2_GS_MODE"
|
|
180
199
|
HINT_RPI_VIDEO_LAYER = "SDL_RPI_VIDEO_LAYER"
|
|
181
200
|
HINT_SCREENSAVER_INHIBIT_ACTIVITY_NAME = "SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME"
|
|
182
201
|
HINT_SHUTDOWN_DBUS_ON_QUIT = "SDL_SHUTDOWN_DBUS_ON_QUIT"
|
|
@@ -197,6 +216,8 @@ module SDL
|
|
|
197
216
|
HINT_VIDEO_FORCE_EGL = "SDL_VIDEO_FORCE_EGL"
|
|
198
217
|
HINT_VIDEO_MAC_FULLSCREEN_SPACES = "SDL_VIDEO_MAC_FULLSCREEN_SPACES"
|
|
199
218
|
HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY = "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY"
|
|
219
|
+
HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE = "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE"
|
|
220
|
+
HINT_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE = "SDL_VIDEO_MATCH_EXCLUSIVE_MODE_ON_MOVE"
|
|
200
221
|
HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
|
|
201
222
|
HINT_VIDEO_OFFSCREEN_SAVE_FRAMES = "SDL_VIDEO_OFFSCREEN_SAVE_FRAMES"
|
|
202
223
|
HINT_VIDEO_SYNC_WINDOW_OPERATIONS = "SDL_VIDEO_SYNC_WINDOW_OPERATIONS"
|
|
@@ -236,6 +257,7 @@ module SDL
|
|
|
236
257
|
HINT_WINDOWS_ENABLE_MESSAGELOOP = "SDL_WINDOWS_ENABLE_MESSAGELOOP"
|
|
237
258
|
HINT_WINDOWS_GAMEINPUT = "SDL_WINDOWS_GAMEINPUT"
|
|
238
259
|
HINT_WINDOWS_RAW_KEYBOARD = "SDL_WINDOWS_RAW_KEYBOARD"
|
|
260
|
+
HINT_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS = "SDL_WINDOWS_RAW_KEYBOARD_EXCLUDE_HOTKEYS"
|
|
239
261
|
HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL = "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
|
240
262
|
HINT_WINDOWS_INTRESOURCE_ICON = "SDL_WINDOWS_INTRESOURCE_ICON"
|
|
241
263
|
HINT_WINDOWS_INTRESOURCE_ICON_SMALL = "SDL_WINDOWS_INTRESOURCE_ICON_SMALL"
|
data/lib/sdl3_image.rb
CHANGED
data/lib/sdl3_iostream.rb
CHANGED
|
@@ -16,6 +16,7 @@ module SDL
|
|
|
16
16
|
PROP_IOSTREAM_ANDROID_AASSET_POINTER = "SDL.iostream.android.aasset"
|
|
17
17
|
PROP_IOSTREAM_MEMORY_POINTER = "SDL.iostream.memory.base"
|
|
18
18
|
PROP_IOSTREAM_MEMORY_SIZE_NUMBER = "SDL.iostream.memory.size"
|
|
19
|
+
PROP_IOSTREAM_MEMORY_FREE_FUNC_POINTER = "SDL.iostream.memory.free"
|
|
19
20
|
PROP_IOSTREAM_DYNAMIC_MEMORY_POINTER = "SDL.iostream.dynamic.memory"
|
|
20
21
|
PROP_IOSTREAM_DYNAMIC_CHUNKSIZE_NUMBER = "SDL.iostream.dynamic.chunksize"
|
|
21
22
|
|