sdl2-bindings 0.0.1 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+