sdl3-bindings 1.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/ChangeLog +159 -0
- data/LICENSE.txt +21 -0
- data/README.md +132 -0
- data/lib/sdl3.rb +150 -0
- data/lib/sdl3_assert.rb +61 -0
- data/lib/sdl3_asyncio.rb +68 -0
- data/lib/sdl3_atomic.rb +64 -0
- data/lib/sdl3_audio.rb +120 -0
- data/lib/sdl3_bits.rb +38 -0
- data/lib/sdl3_blendmode.rb +63 -0
- data/lib/sdl3_camera.rb +67 -0
- data/lib/sdl3_clipboard.rb +49 -0
- data/lib/sdl3_cpuinfo.rb +55 -0
- data/lib/sdl3_dialog.rb +60 -0
- data/lib/sdl3_endian.rb +39 -0
- data/lib/sdl3_error.rb +41 -0
- data/lib/sdl3_events.rb +680 -0
- data/lib/sdl3_filesystem.rb +82 -0
- data/lib/sdl3_gamepad.rb +216 -0
- data/lib/sdl3_gpu.rb +836 -0
- data/lib/sdl3_guid.rb +44 -0
- data/lib/sdl3_haptic.rb +209 -0
- data/lib/sdl3_hidapi.rb +84 -0
- data/lib/sdl3_hints.rb +285 -0
- data/lib/sdl3_image.rb +108 -0
- data/lib/sdl3_init.rb +71 -0
- data/lib/sdl3_iostream.rb +115 -0
- data/lib/sdl3_joystick.rb +174 -0
- data/lib/sdl3_keyboard.rb +81 -0
- data/lib/sdl3_keycode.rb +310 -0
- data/lib/sdl3_loadso.rb +39 -0
- data/lib/sdl3_locale.rb +44 -0
- data/lib/sdl3_log.rb +85 -0
- data/lib/sdl3_messagebox.rb +88 -0
- data/lib/sdl3_misc.rb +37 -0
- data/lib/sdl3_mixer.rb +179 -0
- data/lib/sdl3_mouse.rb +90 -0
- data/lib/sdl3_mutex.rb +77 -0
- data/lib/sdl3_pen.rb +56 -0
- data/lib/sdl3_pixels.rb +296 -0
- data/lib/sdl3_platform.rb +37 -0
- data/lib/sdl3_power.rb +44 -0
- data/lib/sdl3_process.rb +65 -0
- data/lib/sdl3_properties.rb +67 -0
- data/lib/sdl3_rect.rb +98 -0
- data/lib/sdl3_render.rb +240 -0
- data/lib/sdl3_revision.rb +37 -0
- data/lib/sdl3_scancode.rb +286 -0
- data/lib/sdl3_sensor.rb +61 -0
- data/lib/sdl3_sound.rb +98 -0
- data/lib/sdl3_stdinc.rb +229 -0
- data/lib/sdl3_storage.rb +70 -0
- data/lib/sdl3_surface.rb +122 -0
- data/lib/sdl3_thread.rb +65 -0
- data/lib/sdl3_time.rb +66 -0
- data/lib/sdl3_timer.rb +54 -0
- data/lib/sdl3_touch.rb +56 -0
- data/lib/sdl3_tray.rb +66 -0
- data/lib/sdl3_ttf.rb +216 -0
- data/lib/sdl3_version.rb +41 -0
- data/lib/sdl3_video.rb +341 -0
- data/lib/sdl3_vulkan.rb +46 -0
- metadata +118 -0
@@ -0,0 +1,286 @@
|
|
1
|
+
# Ruby-SDL3 : SDL3 wrapper for Ruby
|
2
|
+
#
|
3
|
+
# * https://github.com/vaiorabbit/sdl3-bindings
|
4
|
+
#
|
5
|
+
# [NOTICE] Autogenerated. Do not edit.
|
6
|
+
|
7
|
+
require 'ffi'
|
8
|
+
|
9
|
+
module SDL
|
10
|
+
extend FFI::Library
|
11
|
+
# Define/Macro
|
12
|
+
|
13
|
+
|
14
|
+
# Enum
|
15
|
+
|
16
|
+
SCANCODE_UNKNOWN = 0
|
17
|
+
SCANCODE_A = 4
|
18
|
+
SCANCODE_B = 5
|
19
|
+
SCANCODE_C = 6
|
20
|
+
SCANCODE_D = 7
|
21
|
+
SCANCODE_E = 8
|
22
|
+
SCANCODE_F = 9
|
23
|
+
SCANCODE_G = 10
|
24
|
+
SCANCODE_H = 11
|
25
|
+
SCANCODE_I = 12
|
26
|
+
SCANCODE_J = 13
|
27
|
+
SCANCODE_K = 14
|
28
|
+
SCANCODE_L = 15
|
29
|
+
SCANCODE_M = 16
|
30
|
+
SCANCODE_N = 17
|
31
|
+
SCANCODE_O = 18
|
32
|
+
SCANCODE_P = 19
|
33
|
+
SCANCODE_Q = 20
|
34
|
+
SCANCODE_R = 21
|
35
|
+
SCANCODE_S = 22
|
36
|
+
SCANCODE_T = 23
|
37
|
+
SCANCODE_U = 24
|
38
|
+
SCANCODE_V = 25
|
39
|
+
SCANCODE_W = 26
|
40
|
+
SCANCODE_X = 27
|
41
|
+
SCANCODE_Y = 28
|
42
|
+
SCANCODE_Z = 29
|
43
|
+
SCANCODE_1 = 30
|
44
|
+
SCANCODE_2 = 31
|
45
|
+
SCANCODE_3 = 32
|
46
|
+
SCANCODE_4 = 33
|
47
|
+
SCANCODE_5 = 34
|
48
|
+
SCANCODE_6 = 35
|
49
|
+
SCANCODE_7 = 36
|
50
|
+
SCANCODE_8 = 37
|
51
|
+
SCANCODE_9 = 38
|
52
|
+
SCANCODE_0 = 39
|
53
|
+
SCANCODE_RETURN = 40
|
54
|
+
SCANCODE_ESCAPE = 41
|
55
|
+
SCANCODE_BACKSPACE = 42
|
56
|
+
SCANCODE_TAB = 43
|
57
|
+
SCANCODE_SPACE = 44
|
58
|
+
SCANCODE_MINUS = 45
|
59
|
+
SCANCODE_EQUALS = 46
|
60
|
+
SCANCODE_LEFTBRACKET = 47
|
61
|
+
SCANCODE_RIGHTBRACKET = 48
|
62
|
+
SCANCODE_BACKSLASH = 49
|
63
|
+
SCANCODE_NONUSHASH = 50
|
64
|
+
SCANCODE_SEMICOLON = 51
|
65
|
+
SCANCODE_APOSTROPHE = 52
|
66
|
+
SCANCODE_GRAVE = 53
|
67
|
+
SCANCODE_COMMA = 54
|
68
|
+
SCANCODE_PERIOD = 55
|
69
|
+
SCANCODE_SLASH = 56
|
70
|
+
SCANCODE_CAPSLOCK = 57
|
71
|
+
SCANCODE_F1 = 58
|
72
|
+
SCANCODE_F2 = 59
|
73
|
+
SCANCODE_F3 = 60
|
74
|
+
SCANCODE_F4 = 61
|
75
|
+
SCANCODE_F5 = 62
|
76
|
+
SCANCODE_F6 = 63
|
77
|
+
SCANCODE_F7 = 64
|
78
|
+
SCANCODE_F8 = 65
|
79
|
+
SCANCODE_F9 = 66
|
80
|
+
SCANCODE_F10 = 67
|
81
|
+
SCANCODE_F11 = 68
|
82
|
+
SCANCODE_F12 = 69
|
83
|
+
SCANCODE_PRINTSCREEN = 70
|
84
|
+
SCANCODE_SCROLLLOCK = 71
|
85
|
+
SCANCODE_PAUSE = 72
|
86
|
+
SCANCODE_INSERT = 73
|
87
|
+
SCANCODE_HOME = 74
|
88
|
+
SCANCODE_PAGEUP = 75
|
89
|
+
SCANCODE_DELETE = 76
|
90
|
+
SCANCODE_END = 77
|
91
|
+
SCANCODE_PAGEDOWN = 78
|
92
|
+
SCANCODE_RIGHT = 79
|
93
|
+
SCANCODE_LEFT = 80
|
94
|
+
SCANCODE_DOWN = 81
|
95
|
+
SCANCODE_UP = 82
|
96
|
+
SCANCODE_NUMLOCKCLEAR = 83
|
97
|
+
SCANCODE_KP_DIVIDE = 84
|
98
|
+
SCANCODE_KP_MULTIPLY = 85
|
99
|
+
SCANCODE_KP_MINUS = 86
|
100
|
+
SCANCODE_KP_PLUS = 87
|
101
|
+
SCANCODE_KP_ENTER = 88
|
102
|
+
SCANCODE_KP_1 = 89
|
103
|
+
SCANCODE_KP_2 = 90
|
104
|
+
SCANCODE_KP_3 = 91
|
105
|
+
SCANCODE_KP_4 = 92
|
106
|
+
SCANCODE_KP_5 = 93
|
107
|
+
SCANCODE_KP_6 = 94
|
108
|
+
SCANCODE_KP_7 = 95
|
109
|
+
SCANCODE_KP_8 = 96
|
110
|
+
SCANCODE_KP_9 = 97
|
111
|
+
SCANCODE_KP_0 = 98
|
112
|
+
SCANCODE_KP_PERIOD = 99
|
113
|
+
SCANCODE_NONUSBACKSLASH = 100
|
114
|
+
SCANCODE_APPLICATION = 101
|
115
|
+
SCANCODE_POWER = 102
|
116
|
+
SCANCODE_KP_EQUALS = 103
|
117
|
+
SCANCODE_F13 = 104
|
118
|
+
SCANCODE_F14 = 105
|
119
|
+
SCANCODE_F15 = 106
|
120
|
+
SCANCODE_F16 = 107
|
121
|
+
SCANCODE_F17 = 108
|
122
|
+
SCANCODE_F18 = 109
|
123
|
+
SCANCODE_F19 = 110
|
124
|
+
SCANCODE_F20 = 111
|
125
|
+
SCANCODE_F21 = 112
|
126
|
+
SCANCODE_F22 = 113
|
127
|
+
SCANCODE_F23 = 114
|
128
|
+
SCANCODE_F24 = 115
|
129
|
+
SCANCODE_EXECUTE = 116
|
130
|
+
SCANCODE_HELP = 117
|
131
|
+
SCANCODE_MENU = 118
|
132
|
+
SCANCODE_SELECT = 119
|
133
|
+
SCANCODE_STOP = 120
|
134
|
+
SCANCODE_AGAIN = 121
|
135
|
+
SCANCODE_UNDO = 122
|
136
|
+
SCANCODE_CUT = 123
|
137
|
+
SCANCODE_COPY = 124
|
138
|
+
SCANCODE_PASTE = 125
|
139
|
+
SCANCODE_FIND = 126
|
140
|
+
SCANCODE_MUTE = 127
|
141
|
+
SCANCODE_VOLUMEUP = 128
|
142
|
+
SCANCODE_VOLUMEDOWN = 129
|
143
|
+
SCANCODE_KP_COMMA = 133
|
144
|
+
SCANCODE_KP_EQUALSAS400 = 134
|
145
|
+
SCANCODE_INTERNATIONAL1 = 135
|
146
|
+
SCANCODE_INTERNATIONAL2 = 136
|
147
|
+
SCANCODE_INTERNATIONAL3 = 137
|
148
|
+
SCANCODE_INTERNATIONAL4 = 138
|
149
|
+
SCANCODE_INTERNATIONAL5 = 139
|
150
|
+
SCANCODE_INTERNATIONAL6 = 140
|
151
|
+
SCANCODE_INTERNATIONAL7 = 141
|
152
|
+
SCANCODE_INTERNATIONAL8 = 142
|
153
|
+
SCANCODE_INTERNATIONAL9 = 143
|
154
|
+
SCANCODE_LANG1 = 144
|
155
|
+
SCANCODE_LANG2 = 145
|
156
|
+
SCANCODE_LANG3 = 146
|
157
|
+
SCANCODE_LANG4 = 147
|
158
|
+
SCANCODE_LANG5 = 148
|
159
|
+
SCANCODE_LANG6 = 149
|
160
|
+
SCANCODE_LANG7 = 150
|
161
|
+
SCANCODE_LANG8 = 151
|
162
|
+
SCANCODE_LANG9 = 152
|
163
|
+
SCANCODE_ALTERASE = 153
|
164
|
+
SCANCODE_SYSREQ = 154
|
165
|
+
SCANCODE_CANCEL = 155
|
166
|
+
SCANCODE_CLEAR = 156
|
167
|
+
SCANCODE_PRIOR = 157
|
168
|
+
SCANCODE_RETURN2 = 158
|
169
|
+
SCANCODE_SEPARATOR = 159
|
170
|
+
SCANCODE_OUT = 160
|
171
|
+
SCANCODE_OPER = 161
|
172
|
+
SCANCODE_CLEARAGAIN = 162
|
173
|
+
SCANCODE_CRSEL = 163
|
174
|
+
SCANCODE_EXSEL = 164
|
175
|
+
SCANCODE_KP_00 = 176
|
176
|
+
SCANCODE_KP_000 = 177
|
177
|
+
SCANCODE_THOUSANDSSEPARATOR = 178
|
178
|
+
SCANCODE_DECIMALSEPARATOR = 179
|
179
|
+
SCANCODE_CURRENCYUNIT = 180
|
180
|
+
SCANCODE_CURRENCYSUBUNIT = 181
|
181
|
+
SCANCODE_KP_LEFTPAREN = 182
|
182
|
+
SCANCODE_KP_RIGHTPAREN = 183
|
183
|
+
SCANCODE_KP_LEFTBRACE = 184
|
184
|
+
SCANCODE_KP_RIGHTBRACE = 185
|
185
|
+
SCANCODE_KP_TAB = 186
|
186
|
+
SCANCODE_KP_BACKSPACE = 187
|
187
|
+
SCANCODE_KP_A = 188
|
188
|
+
SCANCODE_KP_B = 189
|
189
|
+
SCANCODE_KP_C = 190
|
190
|
+
SCANCODE_KP_D = 191
|
191
|
+
SCANCODE_KP_E = 192
|
192
|
+
SCANCODE_KP_F = 193
|
193
|
+
SCANCODE_KP_XOR = 194
|
194
|
+
SCANCODE_KP_POWER = 195
|
195
|
+
SCANCODE_KP_PERCENT = 196
|
196
|
+
SCANCODE_KP_LESS = 197
|
197
|
+
SCANCODE_KP_GREATER = 198
|
198
|
+
SCANCODE_KP_AMPERSAND = 199
|
199
|
+
SCANCODE_KP_DBLAMPERSAND = 200
|
200
|
+
SCANCODE_KP_VERTICALBAR = 201
|
201
|
+
SCANCODE_KP_DBLVERTICALBAR = 202
|
202
|
+
SCANCODE_KP_COLON = 203
|
203
|
+
SCANCODE_KP_HASH = 204
|
204
|
+
SCANCODE_KP_SPACE = 205
|
205
|
+
SCANCODE_KP_AT = 206
|
206
|
+
SCANCODE_KP_EXCLAM = 207
|
207
|
+
SCANCODE_KP_MEMSTORE = 208
|
208
|
+
SCANCODE_KP_MEMRECALL = 209
|
209
|
+
SCANCODE_KP_MEMCLEAR = 210
|
210
|
+
SCANCODE_KP_MEMADD = 211
|
211
|
+
SCANCODE_KP_MEMSUBTRACT = 212
|
212
|
+
SCANCODE_KP_MEMMULTIPLY = 213
|
213
|
+
SCANCODE_KP_MEMDIVIDE = 214
|
214
|
+
SCANCODE_KP_PLUSMINUS = 215
|
215
|
+
SCANCODE_KP_CLEAR = 216
|
216
|
+
SCANCODE_KP_CLEARENTRY = 217
|
217
|
+
SCANCODE_KP_BINARY = 218
|
218
|
+
SCANCODE_KP_OCTAL = 219
|
219
|
+
SCANCODE_KP_DECIMAL = 220
|
220
|
+
SCANCODE_KP_HEXADECIMAL = 221
|
221
|
+
SCANCODE_LCTRL = 224
|
222
|
+
SCANCODE_LSHIFT = 225
|
223
|
+
SCANCODE_LALT = 226
|
224
|
+
SCANCODE_LGUI = 227
|
225
|
+
SCANCODE_RCTRL = 228
|
226
|
+
SCANCODE_RSHIFT = 229
|
227
|
+
SCANCODE_RALT = 230
|
228
|
+
SCANCODE_RGUI = 231
|
229
|
+
SCANCODE_MODE = 257
|
230
|
+
SCANCODE_SLEEP = 258
|
231
|
+
SCANCODE_WAKE = 259
|
232
|
+
SCANCODE_CHANNEL_INCREMENT = 260
|
233
|
+
SCANCODE_CHANNEL_DECREMENT = 261
|
234
|
+
SCANCODE_MEDIA_PLAY = 262
|
235
|
+
SCANCODE_MEDIA_PAUSE = 263
|
236
|
+
SCANCODE_MEDIA_RECORD = 264
|
237
|
+
SCANCODE_MEDIA_FAST_FORWARD = 265
|
238
|
+
SCANCODE_MEDIA_REWIND = 266
|
239
|
+
SCANCODE_MEDIA_NEXT_TRACK = 267
|
240
|
+
SCANCODE_MEDIA_PREVIOUS_TRACK = 268
|
241
|
+
SCANCODE_MEDIA_STOP = 269
|
242
|
+
SCANCODE_MEDIA_EJECT = 270
|
243
|
+
SCANCODE_MEDIA_PLAY_PAUSE = 271
|
244
|
+
SCANCODE_MEDIA_SELECT = 272
|
245
|
+
SCANCODE_AC_NEW = 273
|
246
|
+
SCANCODE_AC_OPEN = 274
|
247
|
+
SCANCODE_AC_CLOSE = 275
|
248
|
+
SCANCODE_AC_EXIT = 276
|
249
|
+
SCANCODE_AC_SAVE = 277
|
250
|
+
SCANCODE_AC_PRINT = 278
|
251
|
+
SCANCODE_AC_PROPERTIES = 279
|
252
|
+
SCANCODE_AC_SEARCH = 280
|
253
|
+
SCANCODE_AC_HOME = 281
|
254
|
+
SCANCODE_AC_BACK = 282
|
255
|
+
SCANCODE_AC_FORWARD = 283
|
256
|
+
SCANCODE_AC_STOP = 284
|
257
|
+
SCANCODE_AC_REFRESH = 285
|
258
|
+
SCANCODE_AC_BOOKMARKS = 286
|
259
|
+
SCANCODE_SOFTLEFT = 287
|
260
|
+
SCANCODE_SOFTRIGHT = 288
|
261
|
+
SCANCODE_CALL = 289
|
262
|
+
SCANCODE_ENDCALL = 290
|
263
|
+
SCANCODE_RESERVED = 400
|
264
|
+
SCANCODE_COUNT = 512
|
265
|
+
|
266
|
+
# Typedef
|
267
|
+
|
268
|
+
typedef :int, :SDL_Scancode
|
269
|
+
|
270
|
+
# Struct
|
271
|
+
|
272
|
+
|
273
|
+
# Function
|
274
|
+
|
275
|
+
def self.setup_scancode_symbols(output_error = false)
|
276
|
+
entries = [
|
277
|
+
]
|
278
|
+
entries.each do |entry|
|
279
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
280
|
+
rescue FFI::NotFoundError => e
|
281
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
282
|
+
end
|
283
|
+
end
|
284
|
+
|
285
|
+
end
|
286
|
+
|
data/lib/sdl3_sensor.rb
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
# Ruby-SDL3 : SDL3 wrapper for Ruby
|
2
|
+
#
|
3
|
+
# * https://github.com/vaiorabbit/sdl3-bindings
|
4
|
+
#
|
5
|
+
# [NOTICE] Autogenerated. Do not edit.
|
6
|
+
|
7
|
+
require 'ffi'
|
8
|
+
|
9
|
+
module SDL
|
10
|
+
extend FFI::Library
|
11
|
+
# Define/Macro
|
12
|
+
|
13
|
+
STANDARD_GRAVITY = 9.80665
|
14
|
+
|
15
|
+
# Enum
|
16
|
+
|
17
|
+
SENSOR_INVALID = -1
|
18
|
+
SENSOR_UNKNOWN = 0
|
19
|
+
SENSOR_ACCEL = 1
|
20
|
+
SENSOR_GYRO = 2
|
21
|
+
SENSOR_ACCEL_L = 3
|
22
|
+
SENSOR_GYRO_L = 4
|
23
|
+
SENSOR_ACCEL_R = 5
|
24
|
+
SENSOR_GYRO_R = 6
|
25
|
+
|
26
|
+
# Typedef
|
27
|
+
|
28
|
+
typedef :uint, :SDL_SensorID
|
29
|
+
typedef :int, :SDL_SensorType
|
30
|
+
|
31
|
+
# Struct
|
32
|
+
|
33
|
+
|
34
|
+
# Function
|
35
|
+
|
36
|
+
def self.setup_sensor_symbols(output_error = false)
|
37
|
+
entries = [
|
38
|
+
[:GetSensors, :SDL_GetSensors, [:pointer], :pointer],
|
39
|
+
[:GetSensorNameForID, :SDL_GetSensorNameForID, [:uint], :pointer],
|
40
|
+
[:GetSensorTypeForID, :SDL_GetSensorTypeForID, [:uint], :int],
|
41
|
+
[:GetSensorNonPortableTypeForID, :SDL_GetSensorNonPortableTypeForID, [:uint], :int],
|
42
|
+
[:OpenSensor, :SDL_OpenSensor, [:uint], :pointer],
|
43
|
+
[:GetSensorFromID, :SDL_GetSensorFromID, [:uint], :pointer],
|
44
|
+
[:GetSensorProperties, :SDL_GetSensorProperties, [:pointer], :uint],
|
45
|
+
[:GetSensorName, :SDL_GetSensorName, [:pointer], :pointer],
|
46
|
+
[:GetSensorType, :SDL_GetSensorType, [:pointer], :int],
|
47
|
+
[:GetSensorNonPortableType, :SDL_GetSensorNonPortableType, [:pointer], :int],
|
48
|
+
[:GetSensorID, :SDL_GetSensorID, [:pointer], :uint],
|
49
|
+
[:GetSensorData, :SDL_GetSensorData, [:pointer, :pointer, :int], :bool],
|
50
|
+
[:CloseSensor, :SDL_CloseSensor, [:pointer], :void],
|
51
|
+
[:UpdateSensors, :SDL_UpdateSensors, [], :void],
|
52
|
+
]
|
53
|
+
entries.each do |entry|
|
54
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
55
|
+
rescue FFI::NotFoundError => e
|
56
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
data/lib/sdl3_sound.rb
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
# Ruby-SDL3 : SDL3 wrapper for Ruby
|
2
|
+
#
|
3
|
+
# * https://github.com/vaiorabbit/sdl3-bindings
|
4
|
+
#
|
5
|
+
# [NOTICE] Autogenerated. Do not edit.
|
6
|
+
|
7
|
+
require 'ffi'
|
8
|
+
|
9
|
+
module SDL
|
10
|
+
extend FFI::Library
|
11
|
+
# Define/Macro
|
12
|
+
|
13
|
+
SOUND_VER_MAJOR = 3
|
14
|
+
SOUND_VER_MINOR = 0
|
15
|
+
SOUND_VER_PATCH = 0
|
16
|
+
|
17
|
+
# Enum
|
18
|
+
|
19
|
+
SOUND_SAMPLEFLAG_NONE = 0
|
20
|
+
SOUND_SAMPLEFLAG_CANSEEK = 1
|
21
|
+
SOUND_SAMPLEFLAG_EOF = 536870912
|
22
|
+
SOUND_SAMPLEFLAG_ERROR = 1073741824
|
23
|
+
SOUND_SAMPLEFLAG_EAGAIN = -2147483648
|
24
|
+
|
25
|
+
# Typedef
|
26
|
+
|
27
|
+
typedef :int, :Sound_SampleFlags
|
28
|
+
|
29
|
+
# Struct
|
30
|
+
|
31
|
+
class Sound_AudioInfo < FFI::Struct
|
32
|
+
layout(
|
33
|
+
:format, :ushort,
|
34
|
+
:channels, :uchar,
|
35
|
+
:rate, :uint,
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
class Sound_DecoderInfo < FFI::Struct
|
40
|
+
layout(
|
41
|
+
:extensions, :pointer,
|
42
|
+
:description, :pointer,
|
43
|
+
:author, :pointer,
|
44
|
+
:url, :pointer,
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
class Sound_Sample < FFI::Struct
|
49
|
+
layout(
|
50
|
+
:opaque, :pointer,
|
51
|
+
:decoder, :pointer,
|
52
|
+
:desired, Sound_AudioInfo,
|
53
|
+
:actual, Sound_AudioInfo,
|
54
|
+
:buffer, :pointer,
|
55
|
+
:buffer_size, :uint,
|
56
|
+
:flags, :int,
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
class Sound_Version < FFI::Struct
|
61
|
+
layout(
|
62
|
+
:major, :int,
|
63
|
+
:minor, :int,
|
64
|
+
:patch, :int,
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
# Function
|
70
|
+
|
71
|
+
def self.setup_sound_symbols(output_error = false)
|
72
|
+
entries = [
|
73
|
+
[:Sound_GetLinkedVersion, :Sound_GetLinkedVersion, [:pointer], :void],
|
74
|
+
[:Sound_Init, :Sound_Init, [], :int],
|
75
|
+
[:Sound_Quit, :Sound_Quit, [], :int],
|
76
|
+
[:Sound_AvailableDecoders, :Sound_AvailableDecoders, [], :pointer],
|
77
|
+
[:Sound_GetError, :Sound_GetError, [], :pointer],
|
78
|
+
[:Sound_ClearError, :Sound_ClearError, [], :void],
|
79
|
+
[:Sound_NewSample, :Sound_NewSample, [:pointer, :pointer, :pointer, :uint], :pointer],
|
80
|
+
[:Sound_NewSampleFromMem, :Sound_NewSampleFromMem, [:pointer, :uint, :pointer, :pointer, :uint], :pointer],
|
81
|
+
[:Sound_NewSampleFromFile, :Sound_NewSampleFromFile, [:pointer, :pointer, :uint], :pointer],
|
82
|
+
[:Sound_FreeSample, :Sound_FreeSample, [:pointer], :void],
|
83
|
+
[:Sound_GetDuration, :Sound_GetDuration, [:pointer], :int],
|
84
|
+
[:Sound_SetBufferSize, :Sound_SetBufferSize, [:pointer, :uint], :int],
|
85
|
+
[:Sound_Decode, :Sound_Decode, [:pointer], :uint],
|
86
|
+
[:Sound_DecodeAll, :Sound_DecodeAll, [:pointer], :uint],
|
87
|
+
[:Sound_Rewind, :Sound_Rewind, [:pointer], :int],
|
88
|
+
[:Sound_Seek, :Sound_Seek, [:pointer, :uint], :int],
|
89
|
+
]
|
90
|
+
entries.each do |entry|
|
91
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
92
|
+
rescue FFI::NotFoundError => e
|
93
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
|
data/lib/sdl3_stdinc.rb
ADDED
@@ -0,0 +1,229 @@
|
|
1
|
+
# Ruby-SDL3 : SDL3 wrapper for Ruby
|
2
|
+
#
|
3
|
+
# * https://github.com/vaiorabbit/sdl3-bindings
|
4
|
+
#
|
5
|
+
# [NOTICE] Autogenerated. Do not edit.
|
6
|
+
|
7
|
+
require 'ffi'
|
8
|
+
|
9
|
+
module SDL
|
10
|
+
extend FFI::Library
|
11
|
+
# Define/Macro
|
12
|
+
|
13
|
+
|
14
|
+
# Enum
|
15
|
+
|
16
|
+
|
17
|
+
# Typedef
|
18
|
+
|
19
|
+
typedef :char, :Sint8
|
20
|
+
typedef :uchar, :Uint8
|
21
|
+
typedef :short, :Sint16
|
22
|
+
typedef :ushort, :Uint16
|
23
|
+
typedef :int, :Sint32
|
24
|
+
typedef :uint, :Uint32
|
25
|
+
typedef :long_long, :Sint64
|
26
|
+
typedef :ulong_long, :Uint64
|
27
|
+
typedef :long_long, :SDL_Time
|
28
|
+
callback :SDL_malloc_func, [:ulong_long], :pointer
|
29
|
+
callback :SDL_calloc_func, [:ulong_long, :ulong_long], :pointer
|
30
|
+
callback :SDL_realloc_func, [:pointer, :ulong_long], :pointer
|
31
|
+
callback :SDL_free_func, [:pointer], :void
|
32
|
+
callback :SDL_CompareCallback, [:pointer, :pointer], :int
|
33
|
+
callback :SDL_CompareCallback_r, [:pointer, :pointer, :pointer], :int
|
34
|
+
typedef :pointer, :SDL_iconv_t
|
35
|
+
callback :SDL_FunctionPointer, [], :void
|
36
|
+
|
37
|
+
# Struct
|
38
|
+
|
39
|
+
class Alignment_test < FFI::Struct
|
40
|
+
layout(
|
41
|
+
:a, :uchar,
|
42
|
+
:b, :pointer,
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
# Function
|
48
|
+
|
49
|
+
def self.setup_stdinc_symbols(output_error = false)
|
50
|
+
entries = [
|
51
|
+
[:malloc, :SDL_malloc, [:ulong_long], :pointer],
|
52
|
+
[:calloc, :SDL_calloc, [:ulong_long, :ulong_long], :pointer],
|
53
|
+
[:realloc, :SDL_realloc, [:pointer, :ulong_long], :pointer],
|
54
|
+
[:free, :SDL_free, [:pointer], :void],
|
55
|
+
[:GetOriginalMemoryFunctions, :SDL_GetOriginalMemoryFunctions, [:pointer, :pointer, :pointer, :pointer], :void],
|
56
|
+
[:GetMemoryFunctions, :SDL_GetMemoryFunctions, [:pointer, :pointer, :pointer, :pointer], :void],
|
57
|
+
[:SetMemoryFunctions, :SDL_SetMemoryFunctions, [:SDL_malloc_func, :SDL_calloc_func, :SDL_realloc_func, :SDL_free_func], :bool],
|
58
|
+
[:aligned_alloc, :SDL_aligned_alloc, [:ulong_long, :ulong_long], :pointer],
|
59
|
+
[:aligned_free, :SDL_aligned_free, [:pointer], :void],
|
60
|
+
[:GetNumAllocations, :SDL_GetNumAllocations, [], :int],
|
61
|
+
[:GetEnvironment, :SDL_GetEnvironment, [], :pointer],
|
62
|
+
[:CreateEnvironment, :SDL_CreateEnvironment, [:bool], :pointer],
|
63
|
+
[:GetEnvironmentVariable, :SDL_GetEnvironmentVariable, [:pointer, :pointer], :pointer],
|
64
|
+
[:GetEnvironmentVariables, :SDL_GetEnvironmentVariables, [:pointer], :pointer],
|
65
|
+
[:SetEnvironmentVariable, :SDL_SetEnvironmentVariable, [:pointer, :pointer, :pointer, :bool], :bool],
|
66
|
+
[:UnsetEnvironmentVariable, :SDL_UnsetEnvironmentVariable, [:pointer, :pointer], :bool],
|
67
|
+
[:DestroyEnvironment, :SDL_DestroyEnvironment, [:pointer], :void],
|
68
|
+
[:getenv, :SDL_getenv, [:pointer], :pointer],
|
69
|
+
[:getenv_unsafe, :SDL_getenv_unsafe, [:pointer], :pointer],
|
70
|
+
[:setenv_unsafe, :SDL_setenv_unsafe, [:pointer, :pointer, :int], :int],
|
71
|
+
[:unsetenv_unsafe, :SDL_unsetenv_unsafe, [:pointer], :int],
|
72
|
+
[:qsort, :SDL_qsort, [:pointer, :ulong_long, :ulong_long, :SDL_CompareCallback], :void],
|
73
|
+
[:bsearch, :SDL_bsearch, [:pointer, :pointer, :ulong_long, :ulong_long, :SDL_CompareCallback], :pointer],
|
74
|
+
[:qsort_r, :SDL_qsort_r, [:pointer, :ulong_long, :ulong_long, :SDL_CompareCallback_r, :pointer], :void],
|
75
|
+
[:bsearch_r, :SDL_bsearch_r, [:pointer, :pointer, :ulong_long, :ulong_long, :SDL_CompareCallback_r, :pointer], :pointer],
|
76
|
+
[:abs, :SDL_abs, [:int], :int],
|
77
|
+
[:isalpha, :SDL_isalpha, [:int], :int],
|
78
|
+
[:isalnum, :SDL_isalnum, [:int], :int],
|
79
|
+
[:isblank, :SDL_isblank, [:int], :int],
|
80
|
+
[:iscntrl, :SDL_iscntrl, [:int], :int],
|
81
|
+
[:isdigit, :SDL_isdigit, [:int], :int],
|
82
|
+
[:isxdigit, :SDL_isxdigit, [:int], :int],
|
83
|
+
[:ispunct, :SDL_ispunct, [:int], :int],
|
84
|
+
[:isspace, :SDL_isspace, [:int], :int],
|
85
|
+
[:isupper, :SDL_isupper, [:int], :int],
|
86
|
+
[:islower, :SDL_islower, [:int], :int],
|
87
|
+
[:isprint, :SDL_isprint, [:int], :int],
|
88
|
+
[:isgraph, :SDL_isgraph, [:int], :int],
|
89
|
+
[:toupper, :SDL_toupper, [:int], :int],
|
90
|
+
[:tolower, :SDL_tolower, [:int], :int],
|
91
|
+
[:crc16, :SDL_crc16, [:ushort, :pointer, :ulong_long], :ushort],
|
92
|
+
[:crc32, :SDL_crc32, [:uint, :pointer, :ulong_long], :uint],
|
93
|
+
[:murmur3_32, :SDL_murmur3_32, [:pointer, :ulong_long, :uint], :uint],
|
94
|
+
[:memcpy, :SDL_memcpy, [:pointer, :pointer, :ulong_long], :pointer],
|
95
|
+
[:memmove, :SDL_memmove, [:pointer, :pointer, :ulong_long], :pointer],
|
96
|
+
[:memset, :SDL_memset, [:pointer, :int, :ulong_long], :pointer],
|
97
|
+
[:memcmp, :SDL_memcmp, [:pointer, :pointer, :ulong_long], :int],
|
98
|
+
[:wcslen, :SDL_wcslen, [:pointer], :ulong_long],
|
99
|
+
[:wcsnlen, :SDL_wcsnlen, [:pointer, :ulong_long], :ulong_long],
|
100
|
+
[:wcslcpy, :SDL_wcslcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
|
101
|
+
[:wcslcat, :SDL_wcslcat, [:pointer, :pointer, :ulong_long], :ulong_long],
|
102
|
+
[:wcsdup, :SDL_wcsdup, [:pointer], :pointer],
|
103
|
+
[:wcsstr, :SDL_wcsstr, [:pointer, :pointer], :pointer],
|
104
|
+
[:wcsnstr, :SDL_wcsnstr, [:pointer, :pointer, :ulong_long], :pointer],
|
105
|
+
[:wcscmp, :SDL_wcscmp, [:pointer, :pointer], :int],
|
106
|
+
[:wcsncmp, :SDL_wcsncmp, [:pointer, :pointer, :ulong_long], :int],
|
107
|
+
[:wcscasecmp, :SDL_wcscasecmp, [:pointer, :pointer], :int],
|
108
|
+
[:wcsncasecmp, :SDL_wcsncasecmp, [:pointer, :pointer, :ulong_long], :int],
|
109
|
+
[:wcstol, :SDL_wcstol, [:pointer, :pointer, :int], :long],
|
110
|
+
[:strlen, :SDL_strlen, [:pointer], :ulong_long],
|
111
|
+
[:strnlen, :SDL_strnlen, [:pointer, :ulong_long], :ulong_long],
|
112
|
+
[:strlcpy, :SDL_strlcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
|
113
|
+
[:utf8strlcpy, :SDL_utf8strlcpy, [:pointer, :pointer, :ulong_long], :ulong_long],
|
114
|
+
[:strlcat, :SDL_strlcat, [:pointer, :pointer, :ulong_long], :ulong_long],
|
115
|
+
[:strdup, :SDL_strdup, [:pointer], :pointer],
|
116
|
+
[:strndup, :SDL_strndup, [:pointer, :ulong_long], :pointer],
|
117
|
+
[:strrev, :SDL_strrev, [:pointer], :pointer],
|
118
|
+
[:strupr, :SDL_strupr, [:pointer], :pointer],
|
119
|
+
[:strlwr, :SDL_strlwr, [:pointer], :pointer],
|
120
|
+
[:strchr, :SDL_strchr, [:pointer, :int], :pointer],
|
121
|
+
[:strrchr, :SDL_strrchr, [:pointer, :int], :pointer],
|
122
|
+
[:strstr, :SDL_strstr, [:pointer, :pointer], :pointer],
|
123
|
+
[:strnstr, :SDL_strnstr, [:pointer, :pointer, :ulong_long], :pointer],
|
124
|
+
[:strcasestr, :SDL_strcasestr, [:pointer, :pointer], :pointer],
|
125
|
+
[:strtok_r, :SDL_strtok_r, [:pointer, :pointer, :pointer], :pointer],
|
126
|
+
[:utf8strlen, :SDL_utf8strlen, [:pointer], :ulong_long],
|
127
|
+
[:utf8strnlen, :SDL_utf8strnlen, [:pointer, :ulong_long], :ulong_long],
|
128
|
+
[:itoa, :SDL_itoa, [:int, :pointer, :int], :pointer],
|
129
|
+
[:uitoa, :SDL_uitoa, [:uint, :pointer, :int], :pointer],
|
130
|
+
[:ltoa, :SDL_ltoa, [:long, :pointer, :int], :pointer],
|
131
|
+
[:ultoa, :SDL_ultoa, [:ulong, :pointer, :int], :pointer],
|
132
|
+
[:lltoa, :SDL_lltoa, [:long_long, :pointer, :int], :pointer],
|
133
|
+
[:ulltoa, :SDL_ulltoa, [:ulong_long, :pointer, :int], :pointer],
|
134
|
+
[:atoi, :SDL_atoi, [:pointer], :int],
|
135
|
+
[:atof, :SDL_atof, [:pointer], :double],
|
136
|
+
[:strtol, :SDL_strtol, [:pointer, :pointer, :int], :long],
|
137
|
+
[:strtoul, :SDL_strtoul, [:pointer, :pointer, :int], :ulong],
|
138
|
+
[:strtoll, :SDL_strtoll, [:pointer, :pointer, :int], :long_long],
|
139
|
+
[:strtoull, :SDL_strtoull, [:pointer, :pointer, :int], :ulong_long],
|
140
|
+
[:strtod, :SDL_strtod, [:pointer, :pointer], :double],
|
141
|
+
[:strcmp, :SDL_strcmp, [:pointer, :pointer], :int],
|
142
|
+
[:strncmp, :SDL_strncmp, [:pointer, :pointer, :ulong_long], :int],
|
143
|
+
[:strcasecmp, :SDL_strcasecmp, [:pointer, :pointer], :int],
|
144
|
+
[:strncasecmp, :SDL_strncasecmp, [:pointer, :pointer, :ulong_long], :int],
|
145
|
+
[:strpbrk, :SDL_strpbrk, [:pointer, :pointer], :pointer],
|
146
|
+
[:StepUTF8, :SDL_StepUTF8, [:pointer, :pointer], :uint],
|
147
|
+
[:StepBackUTF8, :SDL_StepBackUTF8, [:pointer, :pointer], :uint],
|
148
|
+
[:UCS4ToUTF8, :SDL_UCS4ToUTF8, [:uint, :pointer], :pointer],
|
149
|
+
[:sscanf, :SDL_sscanf, [:pointer, :pointer], :int],
|
150
|
+
[:vsscanf, :SDL_vsscanf, [:pointer, :pointer, :pointer], :int],
|
151
|
+
[:snprintf, :SDL_snprintf, [:pointer, :ulong_long, :pointer], :int],
|
152
|
+
[:swprintf, :SDL_swprintf, [:pointer, :ulong_long, :pointer], :int],
|
153
|
+
[:vsnprintf, :SDL_vsnprintf, [:pointer, :ulong_long, :pointer, :pointer], :int],
|
154
|
+
[:vswprintf, :SDL_vswprintf, [:pointer, :ulong_long, :pointer, :pointer], :int],
|
155
|
+
[:asprintf, :SDL_asprintf, [:pointer, :pointer], :int],
|
156
|
+
[:vasprintf, :SDL_vasprintf, [:pointer, :pointer, :pointer], :int],
|
157
|
+
[:srand, :SDL_srand, [:ulong_long], :void],
|
158
|
+
[:rand, :SDL_rand, [:int], :int],
|
159
|
+
[:randf, :SDL_randf, [], :float],
|
160
|
+
[:rand_bits, :SDL_rand_bits, [], :uint],
|
161
|
+
[:rand_r, :SDL_rand_r, [:pointer, :int], :int],
|
162
|
+
[:randf_r, :SDL_randf_r, [:pointer], :float],
|
163
|
+
[:rand_bits_r, :SDL_rand_bits_r, [:pointer], :uint],
|
164
|
+
[:acos, :SDL_acos, [:double], :double],
|
165
|
+
[:acosf, :SDL_acosf, [:float], :float],
|
166
|
+
[:asin, :SDL_asin, [:double], :double],
|
167
|
+
[:asinf, :SDL_asinf, [:float], :float],
|
168
|
+
[:atan, :SDL_atan, [:double], :double],
|
169
|
+
[:atanf, :SDL_atanf, [:float], :float],
|
170
|
+
[:atan2, :SDL_atan2, [:double, :double], :double],
|
171
|
+
[:atan2f, :SDL_atan2f, [:float, :float], :float],
|
172
|
+
[:ceil, :SDL_ceil, [:double], :double],
|
173
|
+
[:ceilf, :SDL_ceilf, [:float], :float],
|
174
|
+
[:copysign, :SDL_copysign, [:double, :double], :double],
|
175
|
+
[:copysignf, :SDL_copysignf, [:float, :float], :float],
|
176
|
+
[:cos, :SDL_cos, [:double], :double],
|
177
|
+
[:cosf, :SDL_cosf, [:float], :float],
|
178
|
+
[:exp, :SDL_exp, [:double], :double],
|
179
|
+
[:expf, :SDL_expf, [:float], :float],
|
180
|
+
[:fabs, :SDL_fabs, [:double], :double],
|
181
|
+
[:fabsf, :SDL_fabsf, [:float], :float],
|
182
|
+
[:floor, :SDL_floor, [:double], :double],
|
183
|
+
[:floorf, :SDL_floorf, [:float], :float],
|
184
|
+
[:trunc, :SDL_trunc, [:double], :double],
|
185
|
+
[:truncf, :SDL_truncf, [:float], :float],
|
186
|
+
[:fmod, :SDL_fmod, [:double, :double], :double],
|
187
|
+
[:fmodf, :SDL_fmodf, [:float, :float], :float],
|
188
|
+
[:isinf, :SDL_isinf, [:double], :int],
|
189
|
+
[:isinff, :SDL_isinff, [:float], :int],
|
190
|
+
[:isnan, :SDL_isnan, [:double], :int],
|
191
|
+
[:isnanf, :SDL_isnanf, [:float], :int],
|
192
|
+
[:log, :SDL_log, [:double], :double],
|
193
|
+
[:logf, :SDL_logf, [:float], :float],
|
194
|
+
[:log10, :SDL_log10, [:double], :double],
|
195
|
+
[:log10f, :SDL_log10f, [:float], :float],
|
196
|
+
[:modf, :SDL_modf, [:double, :pointer], :double],
|
197
|
+
[:modff, :SDL_modff, [:float, :pointer], :float],
|
198
|
+
[:pow, :SDL_pow, [:double, :double], :double],
|
199
|
+
[:powf, :SDL_powf, [:float, :float], :float],
|
200
|
+
[:round, :SDL_round, [:double], :double],
|
201
|
+
[:roundf, :SDL_roundf, [:float], :float],
|
202
|
+
[:lround, :SDL_lround, [:double], :long],
|
203
|
+
[:lroundf, :SDL_lroundf, [:float], :long],
|
204
|
+
[:scalbn, :SDL_scalbn, [:double, :int], :double],
|
205
|
+
[:scalbnf, :SDL_scalbnf, [:float, :int], :float],
|
206
|
+
[:sin, :SDL_sin, [:double], :double],
|
207
|
+
[:sinf, :SDL_sinf, [:float], :float],
|
208
|
+
[:sqrt, :SDL_sqrt, [:double], :double],
|
209
|
+
[:sqrtf, :SDL_sqrtf, [:float], :float],
|
210
|
+
[:tan, :SDL_tan, [:double], :double],
|
211
|
+
[:tanf, :SDL_tanf, [:float], :float],
|
212
|
+
[:iconv_open, :SDL_iconv_open, [:pointer, :pointer], :pointer],
|
213
|
+
[:iconv_close, :SDL_iconv_close, [:pointer], :int],
|
214
|
+
[:iconv, :SDL_iconv, [:pointer, :pointer, :pointer, :pointer, :pointer], :ulong_long],
|
215
|
+
[:iconv_string, :SDL_iconv_string, [:pointer, :pointer, :pointer, :ulong_long], :pointer],
|
216
|
+
[:size_mul_check_overflow, :SDL_size_mul_check_overflow, [:ulong_long, :ulong_long, :pointer], :bool],
|
217
|
+
[:size_mul_check_overflow_builtin, :SDL_size_mul_check_overflow_builtin, [:ulong_long, :ulong_long, :pointer], :bool],
|
218
|
+
[:size_add_check_overflow, :SDL_size_add_check_overflow, [:ulong_long, :ulong_long, :pointer], :bool],
|
219
|
+
[:size_add_check_overflow_builtin, :SDL_size_add_check_overflow_builtin, [:ulong_long, :ulong_long, :pointer], :bool],
|
220
|
+
]
|
221
|
+
entries.each do |entry|
|
222
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
223
|
+
rescue FFI::NotFoundError => e
|
224
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
end
|
229
|
+
|