sdl2-bindings 0.0.1 → 0.0.6

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.
@@ -0,0 +1,393 @@
1
+ # Ruby-SDL2 : Yet another SDL2 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl2-bindings
4
+ #
5
+ # [NOTICE] This is an automatically generated file.
6
+
7
+ require 'ffi'
8
+
9
+ module SDL2
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+
14
+ # Enum
15
+
16
+ SDL_FALSE = 0
17
+ SDL_TRUE = 1
18
+
19
+ # Typedef
20
+
21
+ typedef :char, :int8_t
22
+ typedef :short, :int16_t
23
+ typedef :int, :int32_t
24
+ typedef :long_long, :int64_t
25
+ typedef :uchar, :uint8_t
26
+ typedef :ushort, :uint16_t
27
+ typedef :uint, :uint32_t
28
+ typedef :ulong_long, :uint64_t
29
+ typedef :int, :SDL_bool
30
+ typedef :char, :Sint8
31
+ typedef :uchar, :Uint8
32
+ typedef :short, :Sint16
33
+ typedef :ushort, :Uint16
34
+ typedef :int, :Sint32
35
+ typedef :uint, :Uint32
36
+ typedef :long_long, :Sint64
37
+ typedef :ulong_long, :Uint64
38
+ callback :SDL_malloc_func, [:ulong], :pointer
39
+ callback :SDL_calloc_func, [:ulong, :ulong], :pointer
40
+ callback :SDL_realloc_func, [:pointer, :ulong], :pointer
41
+ callback :SDL_free_func, [:pointer], :void
42
+ typedef :pointer, :SDL_iconv_t
43
+
44
+ # Struct
45
+
46
+
47
+ # Function
48
+
49
+ def self.setup_stdinc_symbols()
50
+ symbols = [
51
+ :SDL_malloc,
52
+ :SDL_calloc,
53
+ :SDL_realloc,
54
+ :SDL_free,
55
+ :SDL_GetMemoryFunctions,
56
+ :SDL_SetMemoryFunctions,
57
+ :SDL_GetNumAllocations,
58
+ :SDL_getenv,
59
+ :SDL_setenv,
60
+ :SDL_qsort,
61
+ :SDL_abs,
62
+ :SDL_isdigit,
63
+ :SDL_isspace,
64
+ :SDL_isupper,
65
+ :SDL_islower,
66
+ :SDL_toupper,
67
+ :SDL_tolower,
68
+ :SDL_crc32,
69
+ :SDL_memset,
70
+ :SDL_memset4,
71
+ :SDL_memcpy,
72
+ :SDL_memmove,
73
+ :SDL_memcmp,
74
+ :SDL_wcslen,
75
+ :SDL_wcslcpy,
76
+ :SDL_wcslcat,
77
+ :SDL_wcsdup,
78
+ :SDL_wcsstr,
79
+ :SDL_wcscmp,
80
+ :SDL_wcsncmp,
81
+ :SDL_wcscasecmp,
82
+ :SDL_wcsncasecmp,
83
+ :SDL_strlen,
84
+ :SDL_strlcpy,
85
+ :SDL_utf8strlcpy,
86
+ :SDL_strlcat,
87
+ :SDL_strdup,
88
+ :SDL_strrev,
89
+ :SDL_strupr,
90
+ :SDL_strlwr,
91
+ :SDL_strchr,
92
+ :SDL_strrchr,
93
+ :SDL_strstr,
94
+ :SDL_strtokr,
95
+ :SDL_utf8strlen,
96
+ :SDL_itoa,
97
+ :SDL_uitoa,
98
+ :SDL_ltoa,
99
+ :SDL_ultoa,
100
+ :SDL_lltoa,
101
+ :SDL_ulltoa,
102
+ :SDL_atoi,
103
+ :SDL_atof,
104
+ :SDL_strtol,
105
+ :SDL_strtoul,
106
+ :SDL_strtoll,
107
+ :SDL_strtoull,
108
+ :SDL_strtod,
109
+ :SDL_strcmp,
110
+ :SDL_strncmp,
111
+ :SDL_strcasecmp,
112
+ :SDL_strncasecmp,
113
+ :SDL_sscanf,
114
+ :SDL_vsscanf,
115
+ :SDL_snprintf,
116
+ :SDL_vsnprintf,
117
+ :SDL_acos,
118
+ :SDL_acosf,
119
+ :SDL_asin,
120
+ :SDL_asinf,
121
+ :SDL_atan,
122
+ :SDL_atanf,
123
+ :SDL_atan2,
124
+ :SDL_atan2f,
125
+ :SDL_ceil,
126
+ :SDL_ceilf,
127
+ :SDL_copysign,
128
+ :SDL_copysignf,
129
+ :SDL_cos,
130
+ :SDL_cosf,
131
+ :SDL_exp,
132
+ :SDL_expf,
133
+ :SDL_fabs,
134
+ :SDL_fabsf,
135
+ :SDL_floor,
136
+ :SDL_floorf,
137
+ :SDL_trunc,
138
+ :SDL_truncf,
139
+ :SDL_fmod,
140
+ :SDL_fmodf,
141
+ :SDL_log,
142
+ :SDL_logf,
143
+ :SDL_log10,
144
+ :SDL_log10f,
145
+ :SDL_pow,
146
+ :SDL_powf,
147
+ :SDL_scalbn,
148
+ :SDL_scalbnf,
149
+ :SDL_sin,
150
+ :SDL_sinf,
151
+ :SDL_sqrt,
152
+ :SDL_sqrtf,
153
+ :SDL_tan,
154
+ :SDL_tanf,
155
+ :SDL_iconv_open,
156
+ :SDL_iconv_close,
157
+ :SDL_iconv,
158
+ :SDL_iconv_string,
159
+ :SDL_memcpy4,
160
+ ]
161
+ args = {
162
+ :SDL_malloc => [:ulong],
163
+ :SDL_calloc => [:ulong, :ulong],
164
+ :SDL_realloc => [:pointer, :ulong],
165
+ :SDL_free => [:pointer],
166
+ :SDL_GetMemoryFunctions => [:pointer, :pointer, :pointer, :pointer],
167
+ :SDL_SetMemoryFunctions => [:SDL_malloc_func, :SDL_calloc_func, :SDL_realloc_func, :SDL_free_func],
168
+ :SDL_GetNumAllocations => [],
169
+ :SDL_getenv => [:pointer],
170
+ :SDL_setenv => [:pointer, :pointer, :int],
171
+ :SDL_qsort => [:pointer, :ulong, :ulong, :pointer],
172
+ :SDL_abs => [:int],
173
+ :SDL_isdigit => [:int],
174
+ :SDL_isspace => [:int],
175
+ :SDL_isupper => [:int],
176
+ :SDL_islower => [:int],
177
+ :SDL_toupper => [:int],
178
+ :SDL_tolower => [:int],
179
+ :SDL_crc32 => [:uint, :pointer, :ulong],
180
+ :SDL_memset => [:pointer, :int, :ulong],
181
+ :SDL_memset4 => [:pointer, :uint, :ulong],
182
+ :SDL_memcpy => [:pointer, :pointer, :ulong],
183
+ :SDL_memmove => [:pointer, :pointer, :ulong],
184
+ :SDL_memcmp => [:pointer, :pointer, :ulong],
185
+ :SDL_wcslen => [:pointer],
186
+ :SDL_wcslcpy => [:pointer, :pointer, :ulong],
187
+ :SDL_wcslcat => [:pointer, :pointer, :ulong],
188
+ :SDL_wcsdup => [:pointer],
189
+ :SDL_wcsstr => [:pointer, :pointer],
190
+ :SDL_wcscmp => [:pointer, :pointer],
191
+ :SDL_wcsncmp => [:pointer, :pointer, :ulong],
192
+ :SDL_wcscasecmp => [:pointer, :pointer],
193
+ :SDL_wcsncasecmp => [:pointer, :pointer, :ulong],
194
+ :SDL_strlen => [:pointer],
195
+ :SDL_strlcpy => [:pointer, :pointer, :ulong],
196
+ :SDL_utf8strlcpy => [:pointer, :pointer, :ulong],
197
+ :SDL_strlcat => [:pointer, :pointer, :ulong],
198
+ :SDL_strdup => [:pointer],
199
+ :SDL_strrev => [:pointer],
200
+ :SDL_strupr => [:pointer],
201
+ :SDL_strlwr => [:pointer],
202
+ :SDL_strchr => [:pointer, :int],
203
+ :SDL_strrchr => [:pointer, :int],
204
+ :SDL_strstr => [:pointer, :pointer],
205
+ :SDL_strtokr => [:pointer, :pointer, :pointer],
206
+ :SDL_utf8strlen => [:pointer],
207
+ :SDL_itoa => [:int, :pointer, :int],
208
+ :SDL_uitoa => [:uint, :pointer, :int],
209
+ :SDL_ltoa => [:long, :pointer, :int],
210
+ :SDL_ultoa => [:ulong, :pointer, :int],
211
+ :SDL_lltoa => [:long_long, :pointer, :int],
212
+ :SDL_ulltoa => [:ulong_long, :pointer, :int],
213
+ :SDL_atoi => [:pointer],
214
+ :SDL_atof => [:pointer],
215
+ :SDL_strtol => [:pointer, :pointer, :int],
216
+ :SDL_strtoul => [:pointer, :pointer, :int],
217
+ :SDL_strtoll => [:pointer, :pointer, :int],
218
+ :SDL_strtoull => [:pointer, :pointer, :int],
219
+ :SDL_strtod => [:pointer, :pointer],
220
+ :SDL_strcmp => [:pointer, :pointer],
221
+ :SDL_strncmp => [:pointer, :pointer, :ulong],
222
+ :SDL_strcasecmp => [:pointer, :pointer],
223
+ :SDL_strncasecmp => [:pointer, :pointer, :ulong],
224
+ :SDL_sscanf => [:pointer, :pointer],
225
+ :SDL_vsscanf => [:pointer, :pointer, :pointer],
226
+ :SDL_snprintf => [:pointer, :ulong, :pointer],
227
+ :SDL_vsnprintf => [:pointer, :ulong, :pointer, :pointer],
228
+ :SDL_acos => [:double],
229
+ :SDL_acosf => [:float],
230
+ :SDL_asin => [:double],
231
+ :SDL_asinf => [:float],
232
+ :SDL_atan => [:double],
233
+ :SDL_atanf => [:float],
234
+ :SDL_atan2 => [:double, :double],
235
+ :SDL_atan2f => [:float, :float],
236
+ :SDL_ceil => [:double],
237
+ :SDL_ceilf => [:float],
238
+ :SDL_copysign => [:double, :double],
239
+ :SDL_copysignf => [:float, :float],
240
+ :SDL_cos => [:double],
241
+ :SDL_cosf => [:float],
242
+ :SDL_exp => [:double],
243
+ :SDL_expf => [:float],
244
+ :SDL_fabs => [:double],
245
+ :SDL_fabsf => [:float],
246
+ :SDL_floor => [:double],
247
+ :SDL_floorf => [:float],
248
+ :SDL_trunc => [:double],
249
+ :SDL_truncf => [:float],
250
+ :SDL_fmod => [:double, :double],
251
+ :SDL_fmodf => [:float, :float],
252
+ :SDL_log => [:double],
253
+ :SDL_logf => [:float],
254
+ :SDL_log10 => [:double],
255
+ :SDL_log10f => [:float],
256
+ :SDL_pow => [:double, :double],
257
+ :SDL_powf => [:float, :float],
258
+ :SDL_scalbn => [:double, :int],
259
+ :SDL_scalbnf => [:float, :int],
260
+ :SDL_sin => [:double],
261
+ :SDL_sinf => [:float],
262
+ :SDL_sqrt => [:double],
263
+ :SDL_sqrtf => [:float],
264
+ :SDL_tan => [:double],
265
+ :SDL_tanf => [:float],
266
+ :SDL_iconv_open => [:pointer, :pointer],
267
+ :SDL_iconv_close => [:pointer],
268
+ :SDL_iconv => [:pointer, :pointer, :pointer, :pointer, :pointer],
269
+ :SDL_iconv_string => [:pointer, :pointer, :pointer, :ulong],
270
+ :SDL_memcpy4 => [:pointer, :pointer, :ulong],
271
+ }
272
+ retvals = {
273
+ :SDL_malloc => :pointer,
274
+ :SDL_calloc => :pointer,
275
+ :SDL_realloc => :pointer,
276
+ :SDL_free => :void,
277
+ :SDL_GetMemoryFunctions => :void,
278
+ :SDL_SetMemoryFunctions => :int,
279
+ :SDL_GetNumAllocations => :int,
280
+ :SDL_getenv => :pointer,
281
+ :SDL_setenv => :int,
282
+ :SDL_qsort => :void,
283
+ :SDL_abs => :int,
284
+ :SDL_isdigit => :int,
285
+ :SDL_isspace => :int,
286
+ :SDL_isupper => :int,
287
+ :SDL_islower => :int,
288
+ :SDL_toupper => :int,
289
+ :SDL_tolower => :int,
290
+ :SDL_crc32 => :uint,
291
+ :SDL_memset => :pointer,
292
+ :SDL_memset4 => :void,
293
+ :SDL_memcpy => :pointer,
294
+ :SDL_memmove => :pointer,
295
+ :SDL_memcmp => :int,
296
+ :SDL_wcslen => :size_t,
297
+ :SDL_wcslcpy => :size_t,
298
+ :SDL_wcslcat => :size_t,
299
+ :SDL_wcsdup => :pointer,
300
+ :SDL_wcsstr => :pointer,
301
+ :SDL_wcscmp => :int,
302
+ :SDL_wcsncmp => :int,
303
+ :SDL_wcscasecmp => :int,
304
+ :SDL_wcsncasecmp => :int,
305
+ :SDL_strlen => :size_t,
306
+ :SDL_strlcpy => :size_t,
307
+ :SDL_utf8strlcpy => :size_t,
308
+ :SDL_strlcat => :size_t,
309
+ :SDL_strdup => :pointer,
310
+ :SDL_strrev => :pointer,
311
+ :SDL_strupr => :pointer,
312
+ :SDL_strlwr => :pointer,
313
+ :SDL_strchr => :pointer,
314
+ :SDL_strrchr => :pointer,
315
+ :SDL_strstr => :pointer,
316
+ :SDL_strtokr => :pointer,
317
+ :SDL_utf8strlen => :size_t,
318
+ :SDL_itoa => :pointer,
319
+ :SDL_uitoa => :pointer,
320
+ :SDL_ltoa => :pointer,
321
+ :SDL_ultoa => :pointer,
322
+ :SDL_lltoa => :pointer,
323
+ :SDL_ulltoa => :pointer,
324
+ :SDL_atoi => :int,
325
+ :SDL_atof => :double,
326
+ :SDL_strtol => :long,
327
+ :SDL_strtoul => :ulong,
328
+ :SDL_strtoll => :long_long,
329
+ :SDL_strtoull => :ulong_long,
330
+ :SDL_strtod => :double,
331
+ :SDL_strcmp => :int,
332
+ :SDL_strncmp => :int,
333
+ :SDL_strcasecmp => :int,
334
+ :SDL_strncasecmp => :int,
335
+ :SDL_sscanf => :int,
336
+ :SDL_vsscanf => :int,
337
+ :SDL_snprintf => :int,
338
+ :SDL_vsnprintf => :int,
339
+ :SDL_acos => :double,
340
+ :SDL_acosf => :float,
341
+ :SDL_asin => :double,
342
+ :SDL_asinf => :float,
343
+ :SDL_atan => :double,
344
+ :SDL_atanf => :float,
345
+ :SDL_atan2 => :double,
346
+ :SDL_atan2f => :float,
347
+ :SDL_ceil => :double,
348
+ :SDL_ceilf => :float,
349
+ :SDL_copysign => :double,
350
+ :SDL_copysignf => :float,
351
+ :SDL_cos => :double,
352
+ :SDL_cosf => :float,
353
+ :SDL_exp => :double,
354
+ :SDL_expf => :float,
355
+ :SDL_fabs => :double,
356
+ :SDL_fabsf => :float,
357
+ :SDL_floor => :double,
358
+ :SDL_floorf => :float,
359
+ :SDL_trunc => :double,
360
+ :SDL_truncf => :float,
361
+ :SDL_fmod => :double,
362
+ :SDL_fmodf => :float,
363
+ :SDL_log => :double,
364
+ :SDL_logf => :float,
365
+ :SDL_log10 => :double,
366
+ :SDL_log10f => :float,
367
+ :SDL_pow => :double,
368
+ :SDL_powf => :float,
369
+ :SDL_scalbn => :double,
370
+ :SDL_scalbnf => :float,
371
+ :SDL_sin => :double,
372
+ :SDL_sinf => :float,
373
+ :SDL_sqrt => :double,
374
+ :SDL_sqrtf => :float,
375
+ :SDL_tan => :double,
376
+ :SDL_tanf => :float,
377
+ :SDL_iconv_open => :pointer,
378
+ :SDL_iconv_close => :int,
379
+ :SDL_iconv => :size_t,
380
+ :SDL_iconv_string => :pointer,
381
+ :SDL_memcpy4 => :pointer,
382
+ }
383
+ symbols.each do |sym|
384
+ begin
385
+ attach_function sym, args[sym], retvals[sym]
386
+ rescue FFI::NotFoundError => error
387
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
388
+ end
389
+ end
390
+ end
391
+
392
+ end
393
+
data/lib/sdl2_surface.rb CHANGED
@@ -41,7 +41,7 @@ module SDL2
41
41
  :pixels, :pointer,
42
42
  :userdata, :pointer,
43
43
  :locked, :int,
44
- :lock_data, :pointer,
44
+ :list_blitmap, :pointer,
45
45
  :clip_rect, SDL_Rect,
46
46
  :map, :pointer,
47
47
  :refcount, :int,
@@ -64,6 +64,7 @@ module SDL2
64
64
  :SDL_LoadBMP_RW,
65
65
  :SDL_SaveBMP_RW,
66
66
  :SDL_SetSurfaceRLE,
67
+ :SDL_HasSurfaceRLE,
67
68
  :SDL_SetColorKey,
68
69
  :SDL_HasColorKey,
69
70
  :SDL_GetColorKey,
@@ -102,6 +103,7 @@ module SDL2
102
103
  :SDL_LoadBMP_RW => [:pointer, :int],
103
104
  :SDL_SaveBMP_RW => [:pointer, :pointer, :int],
104
105
  :SDL_SetSurfaceRLE => [:pointer, :int],
106
+ :SDL_HasSurfaceRLE => [:pointer],
105
107
  :SDL_SetColorKey => [:pointer, :int, :uint],
106
108
  :SDL_HasColorKey => [:pointer],
107
109
  :SDL_GetColorKey => [:pointer, :pointer],
@@ -140,6 +142,7 @@ module SDL2
140
142
  :SDL_LoadBMP_RW => :pointer,
141
143
  :SDL_SaveBMP_RW => :int,
142
144
  :SDL_SetSurfaceRLE => :int,
145
+ :SDL_HasSurfaceRLE => :int,
143
146
  :SDL_SetColorKey => :int,
144
147
  :SDL_HasColorKey => :int,
145
148
  :SDL_GetColorKey => :int,
data/lib/sdl2_syswm.rb ADDED
@@ -0,0 +1,154 @@
1
+ # Ruby-SDL2 : Yet another SDL2 wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/sdl2-bindings
4
+ #
5
+ # [NOTICE] This is an automatically generated file.
6
+
7
+ require 'ffi'
8
+ require_relative 'sdl2_version'
9
+
10
+ module SDL2
11
+ extend FFI::Library
12
+ # Define/Macro
13
+
14
+
15
+ # Enum
16
+
17
+ SDL_SYSWM_UNKNOWN = 0
18
+ SDL_SYSWM_WINDOWS = 1
19
+ SDL_SYSWM_X11 = 2
20
+ SDL_SYSWM_DIRECTFB = 3
21
+ SDL_SYSWM_COCOA = 4
22
+ SDL_SYSWM_UIKIT = 5
23
+ SDL_SYSWM_WAYLAND = 6
24
+ SDL_SYSWM_MIR = 7
25
+ SDL_SYSWM_WINRT = 8
26
+ SDL_SYSWM_ANDROID = 9
27
+ SDL_SYSWM_VIVANTE = 10
28
+ SDL_SYSWM_OS2 = 11
29
+ SDL_SYSWM_HAIKU = 12
30
+
31
+ # Typedef
32
+
33
+ typedef :int, :SDL_SYSWM_TYPE
34
+
35
+ class SDL_SysWMmsg_def_win < FFI::Struct
36
+ layout(
37
+ :hwnd, :pointer,
38
+ :msg, :uint32,
39
+ :wParam, :uint64,
40
+ :lParam, :int64
41
+ )
42
+ end
43
+
44
+ class SDL_SysWMmsg_value_win < FFI::Union
45
+ layout(
46
+ :win, SDL_SysWMmsg_def_win.by_value,
47
+ :dummy, :int
48
+ )
49
+ end
50
+
51
+ class SDL_SysWMmsg_win < FFI::Struct
52
+ layout(
53
+ :version, SDL_version.by_value,
54
+ :subsystem, :int,
55
+ :msg, SDL_SysWMmsg_value_win.by_value
56
+ )
57
+ end
58
+
59
+
60
+ class SDL_SysWMmsg_def_cocoa < FFI::Struct
61
+ layout(
62
+ :dummy, :int
63
+ )
64
+ end
65
+
66
+ class SDL_SysWMmsg_value_cocoa < FFI::Union
67
+ layout(
68
+ :cocoa, SDL_SysWMmsg_def_cocoa.by_value,
69
+ :dummy, :int
70
+ )
71
+ end
72
+
73
+ class SDL_SysWMmsg_cocoa < FFI::Struct
74
+ layout(
75
+ :version, SDL_version.by_value,
76
+ :subsystem, :int,
77
+ :msg, SDL_SysWMmsg_value_cocoa.by_value
78
+ )
79
+ end
80
+
81
+ ################################################################################
82
+
83
+ class SDL_SysWMinfo_def_win < FFI::Struct
84
+ layout(
85
+ :window, :pointer,
86
+ :hdc, :pointer,
87
+ :hinstance, :pointer
88
+ )
89
+ end
90
+
91
+ class SDL_SysWMinfo_value_win < FFI::Union
92
+ layout(
93
+ :win, SDL_SysWMinfo_def_win.by_value,
94
+ :dummy, [:uint8, 64]
95
+ )
96
+ end
97
+
98
+ class SDL_SysWMinfo_win < FFI::Struct
99
+ layout(
100
+ :version, SDL_version.by_value,
101
+ :subsystem, :int,
102
+ :info, SDL_SysWMinfo_value_win.by_value
103
+ )
104
+ end
105
+
106
+
107
+ class SDL_SysWMinfo_def_cocoa < FFI::Struct
108
+ layout(
109
+ :window, :pointer
110
+ )
111
+ end
112
+
113
+ class SDL_SysWMinfo_value_cocoa < FFI::Union
114
+ layout(
115
+ :cocoa, SDL_SysWMinfo_def_cocoa.by_value,
116
+ :dummy, [:uint8, 64]
117
+ )
118
+ end
119
+
120
+ class SDL_SysWMinfo_cocoa < FFI::Struct
121
+ layout(
122
+ :version, SDL_version.by_value,
123
+ :subsystem, :int,
124
+ :info, SDL_SysWMinfo_value_cocoa.by_value
125
+ )
126
+ end
127
+
128
+
129
+ # Struct
130
+
131
+
132
+ # Function
133
+
134
+ def self.setup_syswm_symbols()
135
+ symbols = [
136
+ :SDL_GetWindowWMInfo,
137
+ ]
138
+ args = {
139
+ :SDL_GetWindowWMInfo => [:pointer, :pointer],
140
+ }
141
+ retvals = {
142
+ :SDL_GetWindowWMInfo => :int,
143
+ }
144
+ symbols.each do |sym|
145
+ begin
146
+ attach_function sym, args[sym], retvals[sym]
147
+ rescue FFI::NotFoundError => error
148
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
149
+ end
150
+ end
151
+ end
152
+
153
+ end
154
+