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
data/lib/sdl3_keycode.rb
ADDED
@@ -0,0 +1,310 @@
|
|
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
|
+
SDLK_EXTENDED_MASK = 1 << 29
|
14
|
+
SDLK_SCANCODE_MASK = 1 << 30
|
15
|
+
SDLK_UNKNOWN = 0x00000000
|
16
|
+
SDLK_RETURN = 0x0000000d
|
17
|
+
SDLK_ESCAPE = 0x0000001b
|
18
|
+
SDLK_BACKSPACE = 0x00000008
|
19
|
+
SDLK_TAB = 0x00000009
|
20
|
+
SDLK_SPACE = 0x00000020
|
21
|
+
SDLK_EXCLAIM = 0x00000021
|
22
|
+
SDLK_DBLAPOSTROPHE = 0x00000022
|
23
|
+
SDLK_HASH = 0x00000023
|
24
|
+
SDLK_DOLLAR = 0x00000024
|
25
|
+
SDLK_PERCENT = 0x00000025
|
26
|
+
SDLK_AMPERSAND = 0x00000026
|
27
|
+
SDLK_APOSTROPHE = 0x00000027
|
28
|
+
SDLK_LEFTPAREN = 0x00000028
|
29
|
+
SDLK_RIGHTPAREN = 0x00000029
|
30
|
+
SDLK_ASTERISK = 0x0000002a
|
31
|
+
SDLK_PLUS = 0x0000002b
|
32
|
+
SDLK_COMMA = 0x0000002c
|
33
|
+
SDLK_MINUS = 0x0000002d
|
34
|
+
SDLK_PERIOD = 0x0000002e
|
35
|
+
SDLK_SLASH = 0x0000002f
|
36
|
+
SDLK_0 = 0x00000030
|
37
|
+
SDLK_1 = 0x00000031
|
38
|
+
SDLK_2 = 0x00000032
|
39
|
+
SDLK_3 = 0x00000033
|
40
|
+
SDLK_4 = 0x00000034
|
41
|
+
SDLK_5 = 0x00000035
|
42
|
+
SDLK_6 = 0x00000036
|
43
|
+
SDLK_7 = 0x00000037
|
44
|
+
SDLK_8 = 0x00000038
|
45
|
+
SDLK_9 = 0x00000039
|
46
|
+
SDLK_COLON = 0x0000003a
|
47
|
+
SDLK_SEMICOLON = 0x0000003b
|
48
|
+
SDLK_LESS = 0x0000003c
|
49
|
+
SDLK_EQUALS = 0x0000003d
|
50
|
+
SDLK_GREATER = 0x0000003e
|
51
|
+
SDLK_QUESTION = 0x0000003f
|
52
|
+
SDLK_AT = 0x00000040
|
53
|
+
SDLK_LEFTBRACKET = 0x0000005b
|
54
|
+
SDLK_BACKSLASH = 0x0000005c
|
55
|
+
SDLK_RIGHTBRACKET = 0x0000005d
|
56
|
+
SDLK_CARET = 0x0000005e
|
57
|
+
SDLK_UNDERSCORE = 0x0000005f
|
58
|
+
SDLK_GRAVE = 0x00000060
|
59
|
+
SDLK_A = 0x00000061
|
60
|
+
SDLK_B = 0x00000062
|
61
|
+
SDLK_C = 0x00000063
|
62
|
+
SDLK_D = 0x00000064
|
63
|
+
SDLK_E = 0x00000065
|
64
|
+
SDLK_F = 0x00000066
|
65
|
+
SDLK_G = 0x00000067
|
66
|
+
SDLK_H = 0x00000068
|
67
|
+
SDLK_I = 0x00000069
|
68
|
+
SDLK_J = 0x0000006a
|
69
|
+
SDLK_K = 0x0000006b
|
70
|
+
SDLK_L = 0x0000006c
|
71
|
+
SDLK_M = 0x0000006d
|
72
|
+
SDLK_N = 0x0000006e
|
73
|
+
SDLK_O = 0x0000006f
|
74
|
+
SDLK_P = 0x00000070
|
75
|
+
SDLK_Q = 0x00000071
|
76
|
+
SDLK_R = 0x00000072
|
77
|
+
SDLK_S = 0x00000073
|
78
|
+
SDLK_T = 0x00000074
|
79
|
+
SDLK_U = 0x00000075
|
80
|
+
SDLK_V = 0x00000076
|
81
|
+
SDLK_W = 0x00000077
|
82
|
+
SDLK_X = 0x00000078
|
83
|
+
SDLK_Y = 0x00000079
|
84
|
+
SDLK_Z = 0x0000007a
|
85
|
+
SDLK_LEFTBRACE = 0x0000007b
|
86
|
+
SDLK_PIPE = 0x0000007c
|
87
|
+
SDLK_RIGHTBRACE = 0x0000007d
|
88
|
+
SDLK_TILDE = 0x0000007e
|
89
|
+
SDLK_DELETE = 0x0000007f
|
90
|
+
SDLK_PLUSMINUS = 0x000000b1
|
91
|
+
SDLK_CAPSLOCK = 0x40000039
|
92
|
+
SDLK_F1 = 0x4000003a
|
93
|
+
SDLK_F2 = 0x4000003b
|
94
|
+
SDLK_F3 = 0x4000003c
|
95
|
+
SDLK_F4 = 0x4000003d
|
96
|
+
SDLK_F5 = 0x4000003e
|
97
|
+
SDLK_F6 = 0x4000003f
|
98
|
+
SDLK_F7 = 0x40000040
|
99
|
+
SDLK_F8 = 0x40000041
|
100
|
+
SDLK_F9 = 0x40000042
|
101
|
+
SDLK_F10 = 0x40000043
|
102
|
+
SDLK_F11 = 0x40000044
|
103
|
+
SDLK_F12 = 0x40000045
|
104
|
+
SDLK_PRINTSCREEN = 0x40000046
|
105
|
+
SDLK_SCROLLLOCK = 0x40000047
|
106
|
+
SDLK_PAUSE = 0x40000048
|
107
|
+
SDLK_INSERT = 0x40000049
|
108
|
+
SDLK_HOME = 0x4000004a
|
109
|
+
SDLK_PAGEUP = 0x4000004b
|
110
|
+
SDLK_END = 0x4000004d
|
111
|
+
SDLK_PAGEDOWN = 0x4000004e
|
112
|
+
SDLK_RIGHT = 0x4000004f
|
113
|
+
SDLK_LEFT = 0x40000050
|
114
|
+
SDLK_DOWN = 0x40000051
|
115
|
+
SDLK_UP = 0x40000052
|
116
|
+
SDLK_NUMLOCKCLEAR = 0x40000053
|
117
|
+
SDLK_KP_DIVIDE = 0x40000054
|
118
|
+
SDLK_KP_MULTIPLY = 0x40000055
|
119
|
+
SDLK_KP_MINUS = 0x40000056
|
120
|
+
SDLK_KP_PLUS = 0x40000057
|
121
|
+
SDLK_KP_ENTER = 0x40000058
|
122
|
+
SDLK_KP_1 = 0x40000059
|
123
|
+
SDLK_KP_2 = 0x4000005a
|
124
|
+
SDLK_KP_3 = 0x4000005b
|
125
|
+
SDLK_KP_4 = 0x4000005c
|
126
|
+
SDLK_KP_5 = 0x4000005d
|
127
|
+
SDLK_KP_6 = 0x4000005e
|
128
|
+
SDLK_KP_7 = 0x4000005f
|
129
|
+
SDLK_KP_8 = 0x40000060
|
130
|
+
SDLK_KP_9 = 0x40000061
|
131
|
+
SDLK_KP_0 = 0x40000062
|
132
|
+
SDLK_KP_PERIOD = 0x40000063
|
133
|
+
SDLK_APPLICATION = 0x40000065
|
134
|
+
SDLK_POWER = 0x40000066
|
135
|
+
SDLK_KP_EQUALS = 0x40000067
|
136
|
+
SDLK_F13 = 0x40000068
|
137
|
+
SDLK_F14 = 0x40000069
|
138
|
+
SDLK_F15 = 0x4000006a
|
139
|
+
SDLK_F16 = 0x4000006b
|
140
|
+
SDLK_F17 = 0x4000006c
|
141
|
+
SDLK_F18 = 0x4000006d
|
142
|
+
SDLK_F19 = 0x4000006e
|
143
|
+
SDLK_F20 = 0x4000006f
|
144
|
+
SDLK_F21 = 0x40000070
|
145
|
+
SDLK_F22 = 0x40000071
|
146
|
+
SDLK_F23 = 0x40000072
|
147
|
+
SDLK_F24 = 0x40000073
|
148
|
+
SDLK_EXECUTE = 0x40000074
|
149
|
+
SDLK_HELP = 0x40000075
|
150
|
+
SDLK_MENU = 0x40000076
|
151
|
+
SDLK_SELECT = 0x40000077
|
152
|
+
SDLK_STOP = 0x40000078
|
153
|
+
SDLK_AGAIN = 0x40000079
|
154
|
+
SDLK_UNDO = 0x4000007a
|
155
|
+
SDLK_CUT = 0x4000007b
|
156
|
+
SDLK_COPY = 0x4000007c
|
157
|
+
SDLK_PASTE = 0x4000007d
|
158
|
+
SDLK_FIND = 0x4000007e
|
159
|
+
SDLK_MUTE = 0x4000007f
|
160
|
+
SDLK_VOLUMEUP = 0x40000080
|
161
|
+
SDLK_VOLUMEDOWN = 0x40000081
|
162
|
+
SDLK_KP_COMMA = 0x40000085
|
163
|
+
SDLK_KP_EQUALSAS400 = 0x40000086
|
164
|
+
SDLK_ALTERASE = 0x40000099
|
165
|
+
SDLK_SYSREQ = 0x4000009a
|
166
|
+
SDLK_CANCEL = 0x4000009b
|
167
|
+
SDLK_CLEAR = 0x4000009c
|
168
|
+
SDLK_PRIOR = 0x4000009d
|
169
|
+
SDLK_RETURN2 = 0x4000009e
|
170
|
+
SDLK_SEPARATOR = 0x4000009f
|
171
|
+
SDLK_OUT = 0x400000a0
|
172
|
+
SDLK_OPER = 0x400000a1
|
173
|
+
SDLK_CLEARAGAIN = 0x400000a2
|
174
|
+
SDLK_CRSEL = 0x400000a3
|
175
|
+
SDLK_EXSEL = 0x400000a4
|
176
|
+
SDLK_KP_00 = 0x400000b0
|
177
|
+
SDLK_KP_000 = 0x400000b1
|
178
|
+
SDLK_THOUSANDSSEPARATOR = 0x400000b2
|
179
|
+
SDLK_DECIMALSEPARATOR = 0x400000b3
|
180
|
+
SDLK_CURRENCYUNIT = 0x400000b4
|
181
|
+
SDLK_CURRENCYSUBUNIT = 0x400000b5
|
182
|
+
SDLK_KP_LEFTPAREN = 0x400000b6
|
183
|
+
SDLK_KP_RIGHTPAREN = 0x400000b7
|
184
|
+
SDLK_KP_LEFTBRACE = 0x400000b8
|
185
|
+
SDLK_KP_RIGHTBRACE = 0x400000b9
|
186
|
+
SDLK_KP_TAB = 0x400000ba
|
187
|
+
SDLK_KP_BACKSPACE = 0x400000bb
|
188
|
+
SDLK_KP_A = 0x400000bc
|
189
|
+
SDLK_KP_B = 0x400000bd
|
190
|
+
SDLK_KP_C = 0x400000be
|
191
|
+
SDLK_KP_D = 0x400000bf
|
192
|
+
SDLK_KP_E = 0x400000c0
|
193
|
+
SDLK_KP_F = 0x400000c1
|
194
|
+
SDLK_KP_XOR = 0x400000c2
|
195
|
+
SDLK_KP_POWER = 0x400000c3
|
196
|
+
SDLK_KP_PERCENT = 0x400000c4
|
197
|
+
SDLK_KP_LESS = 0x400000c5
|
198
|
+
SDLK_KP_GREATER = 0x400000c6
|
199
|
+
SDLK_KP_AMPERSAND = 0x400000c7
|
200
|
+
SDLK_KP_DBLAMPERSAND = 0x400000c8
|
201
|
+
SDLK_KP_VERTICALBAR = 0x400000c9
|
202
|
+
SDLK_KP_DBLVERTICALBAR = 0x400000ca
|
203
|
+
SDLK_KP_COLON = 0x400000cb
|
204
|
+
SDLK_KP_HASH = 0x400000cc
|
205
|
+
SDLK_KP_SPACE = 0x400000cd
|
206
|
+
SDLK_KP_AT = 0x400000ce
|
207
|
+
SDLK_KP_EXCLAM = 0x400000cf
|
208
|
+
SDLK_KP_MEMSTORE = 0x400000d0
|
209
|
+
SDLK_KP_MEMRECALL = 0x400000d1
|
210
|
+
SDLK_KP_MEMCLEAR = 0x400000d2
|
211
|
+
SDLK_KP_MEMADD = 0x400000d3
|
212
|
+
SDLK_KP_MEMSUBTRACT = 0x400000d4
|
213
|
+
SDLK_KP_MEMMULTIPLY = 0x400000d5
|
214
|
+
SDLK_KP_MEMDIVIDE = 0x400000d6
|
215
|
+
SDLK_KP_PLUSMINUS = 0x400000d7
|
216
|
+
SDLK_KP_CLEAR = 0x400000d8
|
217
|
+
SDLK_KP_CLEARENTRY = 0x400000d9
|
218
|
+
SDLK_KP_BINARY = 0x400000da
|
219
|
+
SDLK_KP_OCTAL = 0x400000db
|
220
|
+
SDLK_KP_DECIMAL = 0x400000dc
|
221
|
+
SDLK_KP_HEXADECIMAL = 0x400000dd
|
222
|
+
SDLK_LCTRL = 0x400000e0
|
223
|
+
SDLK_LSHIFT = 0x400000e1
|
224
|
+
SDLK_LALT = 0x400000e2
|
225
|
+
SDLK_LGUI = 0x400000e3
|
226
|
+
SDLK_RCTRL = 0x400000e4
|
227
|
+
SDLK_RSHIFT = 0x400000e5
|
228
|
+
SDLK_RALT = 0x400000e6
|
229
|
+
SDLK_RGUI = 0x400000e7
|
230
|
+
SDLK_MODE = 0x40000101
|
231
|
+
SDLK_SLEEP = 0x40000102
|
232
|
+
SDLK_WAKE = 0x40000103
|
233
|
+
SDLK_CHANNEL_INCREMENT = 0x40000104
|
234
|
+
SDLK_CHANNEL_DECREMENT = 0x40000105
|
235
|
+
SDLK_MEDIA_PLAY = 0x40000106
|
236
|
+
SDLK_MEDIA_PAUSE = 0x40000107
|
237
|
+
SDLK_MEDIA_RECORD = 0x40000108
|
238
|
+
SDLK_MEDIA_FAST_FORWARD = 0x40000109
|
239
|
+
SDLK_MEDIA_REWIND = 0x4000010a
|
240
|
+
SDLK_MEDIA_NEXT_TRACK = 0x4000010b
|
241
|
+
SDLK_MEDIA_PREVIOUS_TRACK = 0x4000010c
|
242
|
+
SDLK_MEDIA_STOP = 0x4000010d
|
243
|
+
SDLK_MEDIA_EJECT = 0x4000010e
|
244
|
+
SDLK_MEDIA_PLAY_PAUSE = 0x4000010f
|
245
|
+
SDLK_MEDIA_SELECT = 0x40000110
|
246
|
+
SDLK_AC_NEW = 0x40000111
|
247
|
+
SDLK_AC_OPEN = 0x40000112
|
248
|
+
SDLK_AC_CLOSE = 0x40000113
|
249
|
+
SDLK_AC_EXIT = 0x40000114
|
250
|
+
SDLK_AC_SAVE = 0x40000115
|
251
|
+
SDLK_AC_PRINT = 0x40000116
|
252
|
+
SDLK_AC_PROPERTIES = 0x40000117
|
253
|
+
SDLK_AC_SEARCH = 0x40000118
|
254
|
+
SDLK_AC_HOME = 0x40000119
|
255
|
+
SDLK_AC_BACK = 0x4000011a
|
256
|
+
SDLK_AC_FORWARD = 0x4000011b
|
257
|
+
SDLK_AC_STOP = 0x4000011c
|
258
|
+
SDLK_AC_REFRESH = 0x4000011d
|
259
|
+
SDLK_AC_BOOKMARKS = 0x4000011e
|
260
|
+
SDLK_SOFTLEFT = 0x4000011f
|
261
|
+
SDLK_SOFTRIGHT = 0x40000120
|
262
|
+
SDLK_CALL = 0x40000121
|
263
|
+
SDLK_ENDCALL = 0x40000122
|
264
|
+
SDLK_LEFT_TAB = 0x20000001
|
265
|
+
SDLK_LEVEL5_SHIFT = 0x20000002
|
266
|
+
SDLK_MULTI_KEY_COMPOSE = 0x20000003
|
267
|
+
SDLK_LMETA = 0x20000004
|
268
|
+
SDLK_RMETA = 0x20000005
|
269
|
+
SDLK_LHYPER = 0x20000006
|
270
|
+
SDLK_RHYPER = 0x20000007
|
271
|
+
KMOD_NONE = 0x0000
|
272
|
+
KMOD_LSHIFT = 0x0001
|
273
|
+
KMOD_RSHIFT = 0x0002
|
274
|
+
KMOD_LEVEL5 = 0x0004
|
275
|
+
KMOD_LCTRL = 0x0040
|
276
|
+
KMOD_RCTRL = 0x0080
|
277
|
+
KMOD_LALT = 0x0100
|
278
|
+
KMOD_RALT = 0x0200
|
279
|
+
KMOD_LGUI = 0x0400
|
280
|
+
KMOD_RGUI = 0x0800
|
281
|
+
KMOD_NUM = 0x1000
|
282
|
+
KMOD_CAPS = 0x2000
|
283
|
+
KMOD_MODE = 0x4000
|
284
|
+
KMOD_SCROLL = 0x8000
|
285
|
+
|
286
|
+
# Enum
|
287
|
+
|
288
|
+
|
289
|
+
# Typedef
|
290
|
+
|
291
|
+
typedef :uint, :SDL_Keycode
|
292
|
+
typedef :ushort, :SDL_Keymod
|
293
|
+
|
294
|
+
# Struct
|
295
|
+
|
296
|
+
|
297
|
+
# Function
|
298
|
+
|
299
|
+
def self.setup_keycode_symbols(output_error = false)
|
300
|
+
entries = [
|
301
|
+
]
|
302
|
+
entries.each do |entry|
|
303
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
304
|
+
rescue FFI::NotFoundError => e
|
305
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
end
|
310
|
+
|
data/lib/sdl3_loadso.rb
ADDED
@@ -0,0 +1,39 @@
|
|
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
|
+
|
20
|
+
# Struct
|
21
|
+
|
22
|
+
|
23
|
+
# Function
|
24
|
+
|
25
|
+
def self.setup_loadso_symbols(output_error = false)
|
26
|
+
entries = [
|
27
|
+
[:LoadObject, :SDL_LoadObject, [:pointer], :pointer],
|
28
|
+
[:LoadFunction, :SDL_LoadFunction, [:pointer, :pointer], :pointer],
|
29
|
+
[:UnloadObject, :SDL_UnloadObject, [:pointer], :void],
|
30
|
+
]
|
31
|
+
entries.each do |entry|
|
32
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
33
|
+
rescue FFI::NotFoundError => e
|
34
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
data/lib/sdl3_locale.rb
ADDED
@@ -0,0 +1,44 @@
|
|
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
|
+
|
20
|
+
# Struct
|
21
|
+
|
22
|
+
class Locale < FFI::Struct
|
23
|
+
layout(
|
24
|
+
:language, :pointer,
|
25
|
+
:country, :pointer,
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
# Function
|
31
|
+
|
32
|
+
def self.setup_locale_symbols(output_error = false)
|
33
|
+
entries = [
|
34
|
+
[:GetPreferredLocales, :SDL_GetPreferredLocales, [:pointer], :pointer],
|
35
|
+
]
|
36
|
+
entries.each do |entry|
|
37
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
38
|
+
rescue FFI::NotFoundError => e
|
39
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
data/lib/sdl3_log.rb
ADDED
@@ -0,0 +1,85 @@
|
|
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
|
+
LOG_CATEGORY_APPLICATION = 0
|
17
|
+
LOG_CATEGORY_ERROR = 1
|
18
|
+
LOG_CATEGORY_ASSERT = 2
|
19
|
+
LOG_CATEGORY_SYSTEM = 3
|
20
|
+
LOG_CATEGORY_AUDIO = 4
|
21
|
+
LOG_CATEGORY_VIDEO = 5
|
22
|
+
LOG_CATEGORY_RENDER = 6
|
23
|
+
LOG_CATEGORY_INPUT = 7
|
24
|
+
LOG_CATEGORY_TEST = 8
|
25
|
+
LOG_CATEGORY_GPU = 9
|
26
|
+
LOG_CATEGORY_RESERVED2 = 10
|
27
|
+
LOG_CATEGORY_RESERVED3 = 11
|
28
|
+
LOG_CATEGORY_RESERVED4 = 12
|
29
|
+
LOG_CATEGORY_RESERVED5 = 13
|
30
|
+
LOG_CATEGORY_RESERVED6 = 14
|
31
|
+
LOG_CATEGORY_RESERVED7 = 15
|
32
|
+
LOG_CATEGORY_RESERVED8 = 16
|
33
|
+
LOG_CATEGORY_RESERVED9 = 17
|
34
|
+
LOG_CATEGORY_RESERVED10 = 18
|
35
|
+
LOG_CATEGORY_CUSTOM = 19
|
36
|
+
LOG_PRIORITY_INVALID = 0
|
37
|
+
LOG_PRIORITY_TRACE = 1
|
38
|
+
LOG_PRIORITY_VERBOSE = 2
|
39
|
+
LOG_PRIORITY_DEBUG = 3
|
40
|
+
LOG_PRIORITY_INFO = 4
|
41
|
+
LOG_PRIORITY_WARN = 5
|
42
|
+
LOG_PRIORITY_ERROR = 6
|
43
|
+
LOG_PRIORITY_CRITICAL = 7
|
44
|
+
LOG_PRIORITY_COUNT = 8
|
45
|
+
|
46
|
+
# Typedef
|
47
|
+
|
48
|
+
typedef :int, :SDL_LogCategory
|
49
|
+
typedef :int, :SDL_LogPriority
|
50
|
+
callback :SDL_LogOutputFunction, [:pointer, :int, :int, :pointer], :void
|
51
|
+
|
52
|
+
# Struct
|
53
|
+
|
54
|
+
|
55
|
+
# Function
|
56
|
+
|
57
|
+
def self.setup_log_symbols(output_error = false)
|
58
|
+
entries = [
|
59
|
+
[:SetLogPriorities, :SDL_SetLogPriorities, [:int], :void],
|
60
|
+
[:SetLogPriority, :SDL_SetLogPriority, [:int, :int], :void],
|
61
|
+
[:GetLogPriority, :SDL_GetLogPriority, [:int], :int],
|
62
|
+
[:ResetLogPriorities, :SDL_ResetLogPriorities, [], :void],
|
63
|
+
[:SetLogPriorityPrefix, :SDL_SetLogPriorityPrefix, [:int, :pointer], :bool],
|
64
|
+
[:Log, :SDL_Log, [:pointer], :void],
|
65
|
+
[:LogTrace, :SDL_LogTrace, [:int, :pointer], :void],
|
66
|
+
[:LogVerbose, :SDL_LogVerbose, [:int, :pointer], :void],
|
67
|
+
[:LogDebug, :SDL_LogDebug, [:int, :pointer], :void],
|
68
|
+
[:LogInfo, :SDL_LogInfo, [:int, :pointer], :void],
|
69
|
+
[:LogWarn, :SDL_LogWarn, [:int, :pointer], :void],
|
70
|
+
[:LogError, :SDL_LogError, [:int, :pointer], :void],
|
71
|
+
[:LogCritical, :SDL_LogCritical, [:int, :pointer], :void],
|
72
|
+
[:LogMessage, :SDL_LogMessage, [:int, :int, :pointer], :void],
|
73
|
+
[:GetDefaultLogOutputFunction, :SDL_GetDefaultLogOutputFunction, [], :pointer],
|
74
|
+
[:GetLogOutputFunction, :SDL_GetLogOutputFunction, [:pointer, :pointer], :void],
|
75
|
+
[:SetLogOutputFunction, :SDL_SetLogOutputFunction, [:SDL_LogOutputFunction, :pointer], :void],
|
76
|
+
]
|
77
|
+
entries.each do |entry|
|
78
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
79
|
+
rescue FFI::NotFoundError => e
|
80
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
@@ -0,0 +1,88 @@
|
|
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
|
+
MESSAGEBOX_ERROR = 0x00000010
|
14
|
+
MESSAGEBOX_WARNING = 0x00000020
|
15
|
+
MESSAGEBOX_INFORMATION = 0x00000040
|
16
|
+
MESSAGEBOX_BUTTONS_LEFT_TO_RIGHT = 0x00000080
|
17
|
+
MESSAGEBOX_BUTTONS_RIGHT_TO_LEFT = 0x00000100
|
18
|
+
MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT = 0x00000001
|
19
|
+
MESSAGEBOX_BUTTON_ESCAPEKEY_DEFAULT = 0x00000002
|
20
|
+
|
21
|
+
# Enum
|
22
|
+
|
23
|
+
MESSAGEBOX_COLOR_BACKGROUND = 0
|
24
|
+
MESSAGEBOX_COLOR_TEXT = 1
|
25
|
+
MESSAGEBOX_COLOR_BUTTON_BORDER = 2
|
26
|
+
MESSAGEBOX_COLOR_BUTTON_BACKGROUND = 3
|
27
|
+
MESSAGEBOX_COLOR_BUTTON_SELECTED = 4
|
28
|
+
MESSAGEBOX_COLOR_COUNT = 5
|
29
|
+
|
30
|
+
# Typedef
|
31
|
+
|
32
|
+
typedef :uint, :SDL_MessageBoxFlags
|
33
|
+
typedef :uint, :SDL_MessageBoxButtonFlags
|
34
|
+
typedef :int, :SDL_MessageBoxColorType
|
35
|
+
|
36
|
+
# Struct
|
37
|
+
|
38
|
+
class MessageBoxButtonData < FFI::Struct
|
39
|
+
layout(
|
40
|
+
:flags, :uint,
|
41
|
+
:buttonID, :int,
|
42
|
+
:text, :pointer,
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
class MessageBoxColor < FFI::Struct
|
47
|
+
layout(
|
48
|
+
:r, :uchar,
|
49
|
+
:g, :uchar,
|
50
|
+
:b, :uchar,
|
51
|
+
)
|
52
|
+
end
|
53
|
+
|
54
|
+
class MessageBoxColorScheme < FFI::Struct
|
55
|
+
layout(
|
56
|
+
:colors, [MessageBoxColor, 5],
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
class MessageBoxData < FFI::Struct
|
61
|
+
layout(
|
62
|
+
:flags, :uint,
|
63
|
+
:window, :pointer,
|
64
|
+
:title, :pointer,
|
65
|
+
:message, :pointer,
|
66
|
+
:numbuttons, :int,
|
67
|
+
:buttons, :pointer,
|
68
|
+
:colorScheme, :pointer,
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
# Function
|
74
|
+
|
75
|
+
def self.setup_messagebox_symbols(output_error = false)
|
76
|
+
entries = [
|
77
|
+
[:ShowMessageBox, :SDL_ShowMessageBox, [:pointer, :pointer], :bool],
|
78
|
+
[:ShowSimpleMessageBox, :SDL_ShowSimpleMessageBox, [:uint, :pointer, :pointer, :pointer], :bool],
|
79
|
+
]
|
80
|
+
entries.each do |entry|
|
81
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
82
|
+
rescue FFI::NotFoundError => e
|
83
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
|
data/lib/sdl3_misc.rb
ADDED
@@ -0,0 +1,37 @@
|
|
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
|
+
|
20
|
+
# Struct
|
21
|
+
|
22
|
+
|
23
|
+
# Function
|
24
|
+
|
25
|
+
def self.setup_misc_symbols(output_error = false)
|
26
|
+
entries = [
|
27
|
+
[:OpenURL, :SDL_OpenURL, [:pointer], :bool],
|
28
|
+
]
|
29
|
+
entries.each do |entry|
|
30
|
+
attach_function entry[0], entry[1], entry[2], entry[3]
|
31
|
+
rescue FFI::NotFoundError => e
|
32
|
+
warn "[Warning] Failed to import #{entry[0]} (#{e})." if output_error
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|