sdl2-bindings 0.0.3 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/sdl2_stdinc.rb CHANGED
@@ -18,6 +18,14 @@ module SDL2
18
18
 
19
19
  # Typedef
20
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
21
29
  typedef :int, :SDL_bool
22
30
  typedef :char, :Sint8
23
31
  typedef :uchar, :Uint8
@@ -51,12 +59,21 @@ module SDL2
51
59
  :SDL_setenv,
52
60
  :SDL_qsort,
53
61
  :SDL_abs,
62
+ :SDL_isalpha,
63
+ :SDL_isalnum,
64
+ :SDL_isblank,
65
+ :SDL_iscntrl,
54
66
  :SDL_isdigit,
67
+ :SDL_isxdigit,
68
+ :SDL_ispunct,
55
69
  :SDL_isspace,
56
70
  :SDL_isupper,
57
71
  :SDL_islower,
72
+ :SDL_isprint,
73
+ :SDL_isgraph,
58
74
  :SDL_toupper,
59
75
  :SDL_tolower,
76
+ :SDL_crc32,
60
77
  :SDL_memset,
61
78
  :SDL_memset4,
62
79
  :SDL_memcpy,
@@ -69,6 +86,8 @@ module SDL2
69
86
  :SDL_wcsstr,
70
87
  :SDL_wcscmp,
71
88
  :SDL_wcsncmp,
89
+ :SDL_wcscasecmp,
90
+ :SDL_wcsncasecmp,
72
91
  :SDL_strlen,
73
92
  :SDL_strlcpy,
74
93
  :SDL_utf8strlcpy,
@@ -123,6 +142,8 @@ module SDL2
123
142
  :SDL_fabsf,
124
143
  :SDL_floor,
125
144
  :SDL_floorf,
145
+ :SDL_trunc,
146
+ :SDL_truncf,
126
147
  :SDL_fmod,
127
148
  :SDL_fmodf,
128
149
  :SDL_log,
@@ -131,6 +152,10 @@ module SDL2
131
152
  :SDL_log10f,
132
153
  :SDL_pow,
133
154
  :SDL_powf,
155
+ :SDL_round,
156
+ :SDL_roundf,
157
+ :SDL_lround,
158
+ :SDL_lroundf,
134
159
  :SDL_scalbn,
135
160
  :SDL_scalbnf,
136
161
  :SDL_sin,
@@ -151,18 +176,27 @@ module SDL2
151
176
  :SDL_realloc => [:pointer, :ulong],
152
177
  :SDL_free => [:pointer],
153
178
  :SDL_GetMemoryFunctions => [:pointer, :pointer, :pointer, :pointer],
154
- :SDL_SetMemoryFunctions => [:pointer, :pointer, :pointer, :pointer],
179
+ :SDL_SetMemoryFunctions => [:SDL_malloc_func, :SDL_calloc_func, :SDL_realloc_func, :SDL_free_func],
155
180
  :SDL_GetNumAllocations => [],
156
181
  :SDL_getenv => [:pointer],
157
182
  :SDL_setenv => [:pointer, :pointer, :int],
158
183
  :SDL_qsort => [:pointer, :ulong, :ulong, :pointer],
159
184
  :SDL_abs => [:int],
185
+ :SDL_isalpha => [:int],
186
+ :SDL_isalnum => [:int],
187
+ :SDL_isblank => [:int],
188
+ :SDL_iscntrl => [:int],
160
189
  :SDL_isdigit => [:int],
190
+ :SDL_isxdigit => [:int],
191
+ :SDL_ispunct => [:int],
161
192
  :SDL_isspace => [:int],
162
193
  :SDL_isupper => [:int],
163
194
  :SDL_islower => [:int],
195
+ :SDL_isprint => [:int],
196
+ :SDL_isgraph => [:int],
164
197
  :SDL_toupper => [:int],
165
198
  :SDL_tolower => [:int],
199
+ :SDL_crc32 => [:uint, :pointer, :ulong],
166
200
  :SDL_memset => [:pointer, :int, :ulong],
167
201
  :SDL_memset4 => [:pointer, :uint, :ulong],
168
202
  :SDL_memcpy => [:pointer, :pointer, :ulong],
@@ -175,6 +209,8 @@ module SDL2
175
209
  :SDL_wcsstr => [:pointer, :pointer],
176
210
  :SDL_wcscmp => [:pointer, :pointer],
177
211
  :SDL_wcsncmp => [:pointer, :pointer, :ulong],
212
+ :SDL_wcscasecmp => [:pointer, :pointer],
213
+ :SDL_wcsncasecmp => [:pointer, :pointer, :ulong],
178
214
  :SDL_strlen => [:pointer],
179
215
  :SDL_strlcpy => [:pointer, :pointer, :ulong],
180
216
  :SDL_utf8strlcpy => [:pointer, :pointer, :ulong],
@@ -229,6 +265,8 @@ module SDL2
229
265
  :SDL_fabsf => [:float],
230
266
  :SDL_floor => [:double],
231
267
  :SDL_floorf => [:float],
268
+ :SDL_trunc => [:double],
269
+ :SDL_truncf => [:float],
232
270
  :SDL_fmod => [:double, :double],
233
271
  :SDL_fmodf => [:float, :float],
234
272
  :SDL_log => [:double],
@@ -237,6 +275,10 @@ module SDL2
237
275
  :SDL_log10f => [:float],
238
276
  :SDL_pow => [:double, :double],
239
277
  :SDL_powf => [:float, :float],
278
+ :SDL_round => [:double],
279
+ :SDL_roundf => [:float],
280
+ :SDL_lround => [:double],
281
+ :SDL_lroundf => [:float],
240
282
  :SDL_scalbn => [:double, :int],
241
283
  :SDL_scalbnf => [:float, :int],
242
284
  :SDL_sin => [:double],
@@ -263,12 +305,21 @@ module SDL2
263
305
  :SDL_setenv => :int,
264
306
  :SDL_qsort => :void,
265
307
  :SDL_abs => :int,
308
+ :SDL_isalpha => :int,
309
+ :SDL_isalnum => :int,
310
+ :SDL_isblank => :int,
311
+ :SDL_iscntrl => :int,
266
312
  :SDL_isdigit => :int,
313
+ :SDL_isxdigit => :int,
314
+ :SDL_ispunct => :int,
267
315
  :SDL_isspace => :int,
268
316
  :SDL_isupper => :int,
269
317
  :SDL_islower => :int,
318
+ :SDL_isprint => :int,
319
+ :SDL_isgraph => :int,
270
320
  :SDL_toupper => :int,
271
321
  :SDL_tolower => :int,
322
+ :SDL_crc32 => :uint,
272
323
  :SDL_memset => :pointer,
273
324
  :SDL_memset4 => :void,
274
325
  :SDL_memcpy => :pointer,
@@ -281,6 +332,8 @@ module SDL2
281
332
  :SDL_wcsstr => :pointer,
282
333
  :SDL_wcscmp => :int,
283
334
  :SDL_wcsncmp => :int,
335
+ :SDL_wcscasecmp => :int,
336
+ :SDL_wcsncasecmp => :int,
284
337
  :SDL_strlen => :size_t,
285
338
  :SDL_strlcpy => :size_t,
286
339
  :SDL_utf8strlcpy => :size_t,
@@ -335,6 +388,8 @@ module SDL2
335
388
  :SDL_fabsf => :float,
336
389
  :SDL_floor => :double,
337
390
  :SDL_floorf => :float,
391
+ :SDL_trunc => :double,
392
+ :SDL_truncf => :float,
338
393
  :SDL_fmod => :double,
339
394
  :SDL_fmodf => :float,
340
395
  :SDL_log => :double,
@@ -343,6 +398,10 @@ module SDL2
343
398
  :SDL_log10f => :float,
344
399
  :SDL_pow => :double,
345
400
  :SDL_powf => :float,
401
+ :SDL_round => :double,
402
+ :SDL_roundf => :float,
403
+ :SDL_lround => :long,
404
+ :SDL_lroundf => :long,
346
405
  :SDL_scalbn => :double,
347
406
  :SDL_scalbnf => :float,
348
407
  :SDL_sin => :double,
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,
@@ -84,6 +85,7 @@ module SDL2
84
85
  :SDL_UpperBlit,
85
86
  :SDL_LowerBlit,
86
87
  :SDL_SoftStretch,
88
+ :SDL_SoftStretchLinear,
87
89
  :SDL_UpperBlitScaled,
88
90
  :SDL_LowerBlitScaled,
89
91
  :SDL_SetYUVConversionMode,
@@ -102,6 +104,7 @@ module SDL2
102
104
  :SDL_LoadBMP_RW => [:pointer, :int],
103
105
  :SDL_SaveBMP_RW => [:pointer, :pointer, :int],
104
106
  :SDL_SetSurfaceRLE => [:pointer, :int],
107
+ :SDL_HasSurfaceRLE => [:pointer],
105
108
  :SDL_SetColorKey => [:pointer, :int, :uint],
106
109
  :SDL_HasColorKey => [:pointer],
107
110
  :SDL_GetColorKey => [:pointer, :pointer],
@@ -122,6 +125,7 @@ module SDL2
122
125
  :SDL_UpperBlit => [:pointer, :pointer, :pointer, :pointer],
123
126
  :SDL_LowerBlit => [:pointer, :pointer, :pointer, :pointer],
124
127
  :SDL_SoftStretch => [:pointer, :pointer, :pointer, :pointer],
128
+ :SDL_SoftStretchLinear => [:pointer, :pointer, :pointer, :pointer],
125
129
  :SDL_UpperBlitScaled => [:pointer, :pointer, :pointer, :pointer],
126
130
  :SDL_LowerBlitScaled => [:pointer, :pointer, :pointer, :pointer],
127
131
  :SDL_SetYUVConversionMode => [:int],
@@ -140,6 +144,7 @@ module SDL2
140
144
  :SDL_LoadBMP_RW => :pointer,
141
145
  :SDL_SaveBMP_RW => :int,
142
146
  :SDL_SetSurfaceRLE => :int,
147
+ :SDL_HasSurfaceRLE => :int,
143
148
  :SDL_SetColorKey => :int,
144
149
  :SDL_HasColorKey => :int,
145
150
  :SDL_GetColorKey => :int,
@@ -160,6 +165,7 @@ module SDL2
160
165
  :SDL_UpperBlit => :int,
161
166
  :SDL_LowerBlit => :int,
162
167
  :SDL_SoftStretch => :int,
168
+ :SDL_SoftStretchLinear => :int,
163
169
  :SDL_UpperBlitScaled => :int,
164
170
  :SDL_LowerBlitScaled => :int,
165
171
  :SDL_SetYUVConversionMode => :void,
data/lib/sdl2_syswm.rb ADDED
@@ -0,0 +1,155 @@
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
+ SDL_SYSWM_KMSDRM = 13
31
+
32
+ # Typedef
33
+
34
+ typedef :int, :SDL_SYSWM_TYPE
35
+
36
+ class SDL_SysWMmsg_def_win < FFI::Struct
37
+ layout(
38
+ :hwnd, :pointer,
39
+ :msg, :uint32,
40
+ :wParam, :uint64,
41
+ :lParam, :int64
42
+ )
43
+ end
44
+
45
+ class SDL_SysWMmsg_value_win < FFI::Union
46
+ layout(
47
+ :win, SDL_SysWMmsg_def_win.by_value,
48
+ :dummy, :int
49
+ )
50
+ end
51
+
52
+ class SDL_SysWMmsg_win < FFI::Struct
53
+ layout(
54
+ :version, SDL_version.by_value,
55
+ :subsystem, :int,
56
+ :msg, SDL_SysWMmsg_value_win.by_value
57
+ )
58
+ end
59
+
60
+
61
+ class SDL_SysWMmsg_def_cocoa < FFI::Struct
62
+ layout(
63
+ :dummy, :int
64
+ )
65
+ end
66
+
67
+ class SDL_SysWMmsg_value_cocoa < FFI::Union
68
+ layout(
69
+ :cocoa, SDL_SysWMmsg_def_cocoa.by_value,
70
+ :dummy, :int
71
+ )
72
+ end
73
+
74
+ class SDL_SysWMmsg_cocoa < FFI::Struct
75
+ layout(
76
+ :version, SDL_version.by_value,
77
+ :subsystem, :int,
78
+ :msg, SDL_SysWMmsg_value_cocoa.by_value
79
+ )
80
+ end
81
+
82
+ ################################################################################
83
+
84
+ class SDL_SysWMinfo_def_win < FFI::Struct
85
+ layout(
86
+ :window, :pointer,
87
+ :hdc, :pointer,
88
+ :hinstance, :pointer
89
+ )
90
+ end
91
+
92
+ class SDL_SysWMinfo_value_win < FFI::Union
93
+ layout(
94
+ :win, SDL_SysWMinfo_def_win.by_value,
95
+ :dummy, [:uint8, 64]
96
+ )
97
+ end
98
+
99
+ class SDL_SysWMinfo_win < FFI::Struct
100
+ layout(
101
+ :version, SDL_version.by_value,
102
+ :subsystem, :int,
103
+ :info, SDL_SysWMinfo_value_win.by_value
104
+ )
105
+ end
106
+
107
+
108
+ class SDL_SysWMinfo_def_cocoa < FFI::Struct
109
+ layout(
110
+ :window, :pointer
111
+ )
112
+ end
113
+
114
+ class SDL_SysWMinfo_value_cocoa < FFI::Union
115
+ layout(
116
+ :cocoa, SDL_SysWMinfo_def_cocoa.by_value,
117
+ :dummy, [:uint8, 64]
118
+ )
119
+ end
120
+
121
+ class SDL_SysWMinfo_cocoa < FFI::Struct
122
+ layout(
123
+ :version, SDL_version.by_value,
124
+ :subsystem, :int,
125
+ :info, SDL_SysWMinfo_value_cocoa.by_value
126
+ )
127
+ end
128
+
129
+
130
+ # Struct
131
+
132
+
133
+ # Function
134
+
135
+ def self.setup_syswm_symbols()
136
+ symbols = [
137
+ :SDL_GetWindowWMInfo,
138
+ ]
139
+ args = {
140
+ :SDL_GetWindowWMInfo => [:pointer, :pointer],
141
+ }
142
+ retvals = {
143
+ :SDL_GetWindowWMInfo => :int,
144
+ }
145
+ symbols.each do |sym|
146
+ begin
147
+ attach_function sym, args[sym], retvals[sym]
148
+ rescue FFI::NotFoundError => error
149
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
150
+ end
151
+ end
152
+ end
153
+
154
+ end
155
+
data/lib/sdl2_timer.rb CHANGED
@@ -38,7 +38,7 @@ module SDL2
38
38
  :SDL_GetPerformanceCounter => [],
39
39
  :SDL_GetPerformanceFrequency => [],
40
40
  :SDL_Delay => [:uint],
41
- :SDL_AddTimer => [:uint, :pointer, :pointer],
41
+ :SDL_AddTimer => [:uint, :SDL_TimerCallback, :pointer],
42
42
  :SDL_RemoveTimer => [:int],
43
43
  }
44
44
  retvals = {
data/lib/sdl2_ttf.rb CHANGED
@@ -14,6 +14,18 @@ module SDL2
14
14
  SDL_TTF_MAJOR_VERSION = 2
15
15
  SDL_TTF_MINOR_VERSION = 0
16
16
  SDL_TTF_PATCHLEVEL = 15
17
+ TTF_MAJOR_VERSION = SDL_TTF_MAJOR_VERSION
18
+ TTF_MINOR_VERSION = SDL_TTF_MINOR_VERSION
19
+ TTF_PATCHLEVEL = SDL_TTF_PATCHLEVEL
20
+ TTF_STYLE_NORMAL = 0x00
21
+ TTF_STYLE_BOLD = 0x01
22
+ TTF_STYLE_ITALIC = 0x02
23
+ TTF_STYLE_UNDERLINE = 0x04
24
+ TTF_STYLE_STRIKETHROUGH = 0x08
25
+ TTF_HINTING_NORMAL = 0
26
+ TTF_HINTING_LIGHT = 1
27
+ TTF_HINTING_MONO = 2
28
+ TTF_HINTING_NONE = 3
17
29
 
18
30
  # Enum
19
31
 
data/lib/sdl2_version.rb CHANGED
@@ -12,7 +12,7 @@ module SDL2
12
12
 
13
13
  SDL_MAJOR_VERSION = 2
14
14
  SDL_MINOR_VERSION = 0
15
- SDL_PATCHLEVEL = 12
15
+ SDL_PATCHLEVEL = 16
16
16
 
17
17
  # Enum
18
18
 
data/lib/sdl2_video.rb CHANGED
@@ -10,6 +10,7 @@ module SDL2
10
10
  extend FFI::Library
11
11
  # Define/Macro
12
12
 
13
+ SDL_WINDOWPOS_UNDEFINED_MASK = 0x1FFF0000
13
14
  SDL_WINDOWPOS_CENTERED_MASK = 0x2FFF0000
14
15
 
15
16
  # Enum
@@ -22,7 +23,7 @@ module SDL2
22
23
  SDL_WINDOW_RESIZABLE = 32
23
24
  SDL_WINDOW_MINIMIZED = 64
24
25
  SDL_WINDOW_MAXIMIZED = 128
25
- SDL_WINDOW_INPUT_GRABBED = 256
26
+ SDL_WINDOW_MOUSE_GRABBED = 256
26
27
  SDL_WINDOW_INPUT_FOCUS = 512
27
28
  SDL_WINDOW_MOUSE_FOCUS = 1024
28
29
  SDL_WINDOW_FULLSCREEN_DESKTOP = 4097
@@ -34,7 +35,10 @@ module SDL2
34
35
  SDL_WINDOW_UTILITY = 131072
35
36
  SDL_WINDOW_TOOLTIP = 262144
36
37
  SDL_WINDOW_POPUP_MENU = 524288
38
+ SDL_WINDOW_KEYBOARD_GRABBED = 1048576
37
39
  SDL_WINDOW_VULKAN = 268435456
40
+ SDL_WINDOW_METAL = 536870912
41
+ SDL_WINDOW_INPUT_GRABBED = 256
38
42
  SDL_WINDOWEVENT_NONE = 0
39
43
  SDL_WINDOWEVENT_SHOWN = 1
40
44
  SDL_WINDOWEVENT_HIDDEN = 2
@@ -54,11 +58,16 @@ module SDL2
54
58
  SDL_WINDOWEVENT_HIT_TEST = 16
55
59
  SDL_DISPLAYEVENT_NONE = 0
56
60
  SDL_DISPLAYEVENT_ORIENTATION = 1
61
+ SDL_DISPLAYEVENT_CONNECTED = 2
62
+ SDL_DISPLAYEVENT_DISCONNECTED = 3
57
63
  SDL_ORIENTATION_UNKNOWN = 0
58
64
  SDL_ORIENTATION_LANDSCAPE = 1
59
65
  SDL_ORIENTATION_LANDSCAPE_FLIPPED = 2
60
66
  SDL_ORIENTATION_PORTRAIT = 3
61
67
  SDL_ORIENTATION_PORTRAIT_FLIPPED = 4
68
+ SDL_FLASH_CANCEL = 0
69
+ SDL_FLASH_BRIEFLY = 1
70
+ SDL_FLASH_UNTIL_FOCUSED = 2
62
71
  SDL_GL_RED_SIZE = 0
63
72
  SDL_GL_GREEN_SIZE = 1
64
73
  SDL_GL_BLUE_SIZE = 2
@@ -114,6 +123,7 @@ module SDL2
114
123
  typedef :int, :SDL_WindowEventID
115
124
  typedef :int, :SDL_DisplayEventID
116
125
  typedef :int, :SDL_DisplayOrientation
126
+ typedef :int, :SDL_FlashOperation
117
127
  typedef :pointer, :SDL_GLContext
118
128
  typedef :int, :SDL_GLattr
119
129
  typedef :int, :SDL_GLprofile
@@ -181,6 +191,7 @@ module SDL2
181
191
  :SDL_GetWindowMaximumSize,
182
192
  :SDL_SetWindowBordered,
183
193
  :SDL_SetWindowResizable,
194
+ :SDL_SetWindowAlwaysOnTop,
184
195
  :SDL_ShowWindow,
185
196
  :SDL_HideWindow,
186
197
  :SDL_RaiseWindow,
@@ -192,7 +203,11 @@ module SDL2
192
203
  :SDL_UpdateWindowSurface,
193
204
  :SDL_UpdateWindowSurfaceRects,
194
205
  :SDL_SetWindowGrab,
206
+ :SDL_SetWindowKeyboardGrab,
207
+ :SDL_SetWindowMouseGrab,
195
208
  :SDL_GetWindowGrab,
209
+ :SDL_GetWindowKeyboardGrab,
210
+ :SDL_GetWindowMouseGrab,
196
211
  :SDL_GetGrabbedWindow,
197
212
  :SDL_SetWindowBrightness,
198
213
  :SDL_GetWindowBrightness,
@@ -203,6 +218,7 @@ module SDL2
203
218
  :SDL_SetWindowGammaRamp,
204
219
  :SDL_GetWindowGammaRamp,
205
220
  :SDL_SetWindowHitTest,
221
+ :SDL_FlashWindow,
206
222
  :SDL_DestroyWindow,
207
223
  :SDL_IsScreenSaverEnabled,
208
224
  :SDL_EnableScreenSaver,
@@ -266,6 +282,7 @@ module SDL2
266
282
  :SDL_GetWindowMaximumSize => [:pointer, :pointer, :pointer],
267
283
  :SDL_SetWindowBordered => [:pointer, :int],
268
284
  :SDL_SetWindowResizable => [:pointer, :int],
285
+ :SDL_SetWindowAlwaysOnTop => [:pointer, :int],
269
286
  :SDL_ShowWindow => [:pointer],
270
287
  :SDL_HideWindow => [:pointer],
271
288
  :SDL_RaiseWindow => [:pointer],
@@ -277,7 +294,11 @@ module SDL2
277
294
  :SDL_UpdateWindowSurface => [:pointer],
278
295
  :SDL_UpdateWindowSurfaceRects => [:pointer, :pointer, :int],
279
296
  :SDL_SetWindowGrab => [:pointer, :int],
297
+ :SDL_SetWindowKeyboardGrab => [:pointer, :int],
298
+ :SDL_SetWindowMouseGrab => [:pointer, :int],
280
299
  :SDL_GetWindowGrab => [:pointer],
300
+ :SDL_GetWindowKeyboardGrab => [:pointer],
301
+ :SDL_GetWindowMouseGrab => [:pointer],
281
302
  :SDL_GetGrabbedWindow => [],
282
303
  :SDL_SetWindowBrightness => [:pointer, :float],
283
304
  :SDL_GetWindowBrightness => [:pointer],
@@ -287,7 +308,8 @@ module SDL2
287
308
  :SDL_SetWindowInputFocus => [:pointer],
288
309
  :SDL_SetWindowGammaRamp => [:pointer, :pointer, :pointer, :pointer],
289
310
  :SDL_GetWindowGammaRamp => [:pointer, :pointer, :pointer, :pointer],
290
- :SDL_SetWindowHitTest => [:pointer, :pointer, :pointer],
311
+ :SDL_SetWindowHitTest => [:pointer, :SDL_HitTest, :pointer],
312
+ :SDL_FlashWindow => [:pointer, :int],
291
313
  :SDL_DestroyWindow => [:pointer],
292
314
  :SDL_IsScreenSaverEnabled => [],
293
315
  :SDL_EnableScreenSaver => [],
@@ -351,6 +373,7 @@ module SDL2
351
373
  :SDL_GetWindowMaximumSize => :void,
352
374
  :SDL_SetWindowBordered => :void,
353
375
  :SDL_SetWindowResizable => :void,
376
+ :SDL_SetWindowAlwaysOnTop => :void,
354
377
  :SDL_ShowWindow => :void,
355
378
  :SDL_HideWindow => :void,
356
379
  :SDL_RaiseWindow => :void,
@@ -362,7 +385,11 @@ module SDL2
362
385
  :SDL_UpdateWindowSurface => :int,
363
386
  :SDL_UpdateWindowSurfaceRects => :int,
364
387
  :SDL_SetWindowGrab => :void,
388
+ :SDL_SetWindowKeyboardGrab => :void,
389
+ :SDL_SetWindowMouseGrab => :void,
365
390
  :SDL_GetWindowGrab => :int,
391
+ :SDL_GetWindowKeyboardGrab => :int,
392
+ :SDL_GetWindowMouseGrab => :int,
366
393
  :SDL_GetGrabbedWindow => :pointer,
367
394
  :SDL_SetWindowBrightness => :int,
368
395
  :SDL_GetWindowBrightness => :float,
@@ -373,6 +400,7 @@ module SDL2
373
400
  :SDL_SetWindowGammaRamp => :int,
374
401
  :SDL_GetWindowGammaRamp => :int,
375
402
  :SDL_SetWindowHitTest => :int,
403
+ :SDL_FlashWindow => :int,
376
404
  :SDL_DestroyWindow => :void,
377
405
  :SDL_IsScreenSaverEnabled => :int,
378
406
  :SDL_EnableScreenSaver => :void,