sdl2-bindings 0.0.9 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +129 -96
  3. data/LICENSE.txt +0 -0
  4. data/README.md +78 -55
  5. data/lib/sdl2.rb +131 -172
  6. data/lib/sdl2_audio.rb +261 -222
  7. data/lib/sdl2_blendmode.rb +72 -69
  8. data/lib/sdl2_clipboard.rb +56 -51
  9. data/lib/sdl2_cpuinfo.rb +129 -106
  10. data/lib/sdl2_error.rb +71 -64
  11. data/lib/sdl2_events.rb +564 -533
  12. data/lib/sdl2_filesystem.rb +52 -48
  13. data/lib/sdl2_framerate.rb +74 -67
  14. data/lib/sdl2_gamecontroller.rb +329 -274
  15. data/lib/sdl2_gesture.rb +61 -55
  16. data/lib/sdl2_gfxPrimitives.rb +283 -222
  17. data/lib/sdl2_haptic.rb +301 -269
  18. data/lib/sdl2_hidapi.rb +139 -118
  19. data/lib/sdl2_hints.rb +221 -198
  20. data/lib/sdl2_image.rb +232 -185
  21. data/lib/sdl2_imageFilter.rb +164 -132
  22. data/lib/sdl2_joystick.rb +294 -239
  23. data/lib/sdl2_keyboard.rb +125 -99
  24. data/lib/sdl2_keycode.rb +307 -305
  25. data/lib/sdl2_log.rb +131 -115
  26. data/lib/sdl2_main.rb +74 -67
  27. data/lib/sdl2_messagebox.rb +102 -98
  28. data/lib/sdl2_misc.rb +48 -45
  29. data/lib/sdl2_mixer.rb +392 -317
  30. data/lib/sdl2_mouse.rb +136 -117
  31. data/lib/sdl2_pixels.rb +240 -224
  32. data/lib/sdl2_platform.rb +48 -45
  33. data/lib/sdl2_power.rb +54 -51
  34. data/lib/sdl2_rect.rb +145 -102
  35. data/lib/sdl2_render.rb +408 -322
  36. data/lib/sdl2_rotozoom.rb +76 -66
  37. data/lib/sdl2_rwops.rb +242 -208
  38. data/lib/sdl2_scancode.rb +289 -287
  39. data/lib/sdl2_sensor.rb +115 -97
  40. data/lib/sdl2_shape.rb +83 -77
  41. data/lib/sdl2_sound.rb +154 -0
  42. data/lib/sdl2_stdinc.rb +556 -439
  43. data/lib/sdl2_surface.rb +229 -188
  44. data/lib/sdl2_syswm.rb +160 -157
  45. data/lib/sdl2_timer.rb +74 -65
  46. data/lib/sdl2_touch.rb +86 -75
  47. data/lib/sdl2_ttf.rb +358 -202
  48. data/lib/sdl2_version.rb +67 -62
  49. data/lib/sdl2_video.rb +540 -446
  50. data/lib/sdl2_vulkan.rb +72 -64
  51. metadata +18 -3
data/lib/sdl2_syswm.rb CHANGED
@@ -1,157 +1,160 @@
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
- SDL_METALVIEW_TAG = 255
15
-
16
- # Enum
17
-
18
- SDL_SYSWM_UNKNOWN = 0
19
- SDL_SYSWM_WINDOWS = 1
20
- SDL_SYSWM_X11 = 2
21
- SDL_SYSWM_DIRECTFB = 3
22
- SDL_SYSWM_COCOA = 4
23
- SDL_SYSWM_UIKIT = 5
24
- SDL_SYSWM_WAYLAND = 6
25
- SDL_SYSWM_MIR = 7
26
- SDL_SYSWM_WINRT = 8
27
- SDL_SYSWM_ANDROID = 9
28
- SDL_SYSWM_VIVANTE = 10
29
- SDL_SYSWM_OS2 = 11
30
- SDL_SYSWM_HAIKU = 12
31
- SDL_SYSWM_KMSDRM = 13
32
- SDL_SYSWM_RISCOS = 14
33
-
34
- # Typedef
35
-
36
- typedef :int, :SDL_SYSWM_TYPE
37
-
38
- class SDL_SysWMmsg_def_win < FFI::Struct
39
- layout(
40
- :hwnd, :pointer,
41
- :msg, :uint32,
42
- :wParam, :uint64,
43
- :lParam, :int64
44
- )
45
- end
46
-
47
- class SDL_SysWMmsg_value_win < FFI::Union
48
- layout(
49
- :win, SDL_SysWMmsg_def_win.by_value,
50
- :dummy, :int
51
- )
52
- end
53
-
54
- class SDL_SysWMmsg_win < FFI::Struct
55
- layout(
56
- :version, SDL_version.by_value,
57
- :subsystem, :int,
58
- :msg, SDL_SysWMmsg_value_win.by_value
59
- )
60
- end
61
-
62
-
63
- class SDL_SysWMmsg_def_cocoa < FFI::Struct
64
- layout(
65
- :dummy, :int
66
- )
67
- end
68
-
69
- class SDL_SysWMmsg_value_cocoa < FFI::Union
70
- layout(
71
- :cocoa, SDL_SysWMmsg_def_cocoa.by_value,
72
- :dummy, :int
73
- )
74
- end
75
-
76
- class SDL_SysWMmsg_cocoa < FFI::Struct
77
- layout(
78
- :version, SDL_version.by_value,
79
- :subsystem, :int,
80
- :msg, SDL_SysWMmsg_value_cocoa.by_value
81
- )
82
- end
83
-
84
- ################################################################################
85
-
86
- class SDL_SysWMinfo_def_win < FFI::Struct
87
- layout(
88
- :window, :pointer,
89
- :hdc, :pointer,
90
- :hinstance, :pointer
91
- )
92
- end
93
-
94
- class SDL_SysWMinfo_value_win < FFI::Union
95
- layout(
96
- :win, SDL_SysWMinfo_def_win.by_value,
97
- :dummy, [:uint8, 64]
98
- )
99
- end
100
-
101
- class SDL_SysWMinfo_win < FFI::Struct
102
- layout(
103
- :version, SDL_version.by_value,
104
- :subsystem, :int,
105
- :info, SDL_SysWMinfo_value_win.by_value
106
- )
107
- end
108
-
109
-
110
- class SDL_SysWMinfo_def_cocoa < FFI::Struct
111
- layout(
112
- :window, :pointer
113
- )
114
- end
115
-
116
- class SDL_SysWMinfo_value_cocoa < FFI::Union
117
- layout(
118
- :cocoa, SDL_SysWMinfo_def_cocoa.by_value,
119
- :dummy, [:uint8, 64]
120
- )
121
- end
122
-
123
- class SDL_SysWMinfo_cocoa < FFI::Struct
124
- layout(
125
- :version, SDL_version.by_value,
126
- :subsystem, :int,
127
- :info, SDL_SysWMinfo_value_cocoa.by_value
128
- )
129
- end
130
-
131
-
132
- # Struct
133
-
134
-
135
- # Function
136
-
137
- def self.setup_syswm_symbols()
138
- symbols = [
139
- :SDL_GetWindowWMInfo,
140
- ]
141
- args = {
142
- :SDL_GetWindowWMInfo => [:pointer, :pointer],
143
- }
144
- retvals = {
145
- :SDL_GetWindowWMInfo => :int,
146
- }
147
- symbols.each do |sym|
148
- begin
149
- attach_function sym, args[sym], retvals[sym]
150
- rescue FFI::NotFoundError => error
151
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
152
- end
153
- end
154
- end
155
-
156
- end
157
-
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 SDL
11
+ extend FFI::Library
12
+ # Define/Macro
13
+
14
+ METALVIEW_TAG = 255
15
+
16
+ # Enum
17
+
18
+ SYSWM_UNKNOWN = 0
19
+ SYSWM_WINDOWS = 1
20
+ SYSWM_X11 = 2
21
+ SYSWM_DIRECTFB = 3
22
+ SYSWM_COCOA = 4
23
+ SYSWM_UIKIT = 5
24
+ SYSWM_WAYLAND = 6
25
+ SYSWM_MIR = 7
26
+ SYSWM_WINRT = 8
27
+ SYSWM_ANDROID = 9
28
+ SYSWM_VIVANTE = 10
29
+ SYSWM_OS2 = 11
30
+ SYSWM_HAIKU = 12
31
+ SYSWM_KMSDRM = 13
32
+ SYSWM_RISCOS = 14
33
+
34
+ # Typedef
35
+
36
+ typedef :int, :SDL_SYSWM_TYPE
37
+
38
+ class SysWMmsg_def_win < FFI::Struct
39
+ layout(
40
+ :hwnd, :pointer,
41
+ :msg, :uint32,
42
+ :wParam, :uint64,
43
+ :lParam, :int64
44
+ )
45
+ end
46
+
47
+ class SysWMmsg_value_win < FFI::Union
48
+ layout(
49
+ :win, SysWMmsg_def_win.by_value,
50
+ :dummy, :int
51
+ )
52
+ end
53
+
54
+ class SysWMmsg_win < FFI::Struct
55
+ layout(
56
+ :version, Version.by_value,
57
+ :subsystem, :int,
58
+ :msg, SysWMmsg_value_win.by_value
59
+ )
60
+ end
61
+
62
+
63
+ class SysWMmsg_def_cocoa < FFI::Struct
64
+ layout(
65
+ :dummy, :int
66
+ )
67
+ end
68
+
69
+ class SysWMmsg_value_cocoa < FFI::Union
70
+ layout(
71
+ :cocoa, SysWMmsg_def_cocoa.by_value,
72
+ :dummy, :int
73
+ )
74
+ end
75
+
76
+ class SysWMmsg_cocoa < FFI::Struct
77
+ layout(
78
+ :version, Version.by_value,
79
+ :subsystem, :int,
80
+ :msg, SysWMmsg_value_cocoa.by_value
81
+ )
82
+ end
83
+
84
+ ################################################################################
85
+
86
+ class SysWMinfo_def_win < FFI::Struct
87
+ layout(
88
+ :window, :pointer,
89
+ :hdc, :pointer,
90
+ :hinstance, :pointer
91
+ )
92
+ end
93
+
94
+ class SysWMinfo_value_win < FFI::Union
95
+ layout(
96
+ :win, SysWMinfo_def_win.by_value,
97
+ :dummy, [:uint8, 64]
98
+ )
99
+ end
100
+
101
+ class SysWMinfo_win < FFI::Struct
102
+ layout(
103
+ :version, Version.by_value,
104
+ :subsystem, :int,
105
+ :info, SysWMinfo_value_win.by_value
106
+ )
107
+ end
108
+
109
+
110
+ class SysWMinfo_def_cocoa < FFI::Struct
111
+ layout(
112
+ :window, :pointer
113
+ )
114
+ end
115
+
116
+ class SysWMinfo_value_cocoa < FFI::Union
117
+ layout(
118
+ :cocoa, SysWMinfo_def_cocoa.by_value,
119
+ :dummy, [:uint8, 64]
120
+ )
121
+ end
122
+
123
+ class SysWMinfo_cocoa < FFI::Struct
124
+ layout(
125
+ :version, Version.by_value,
126
+ :subsystem, :int,
127
+ :info, SysWMinfo_value_cocoa.by_value
128
+ )
129
+ end
130
+
131
+
132
+ # Struct
133
+
134
+
135
+ # Function
136
+
137
+ def self.setup_syswm_symbols(output_error = false)
138
+ symbols = [
139
+ :SDL_GetWindowWMInfo,
140
+ ]
141
+ apis = {
142
+ :SDL_GetWindowWMInfo => :GetWindowWMInfo,
143
+ }
144
+ args = {
145
+ :SDL_GetWindowWMInfo => [:pointer, :pointer],
146
+ }
147
+ retvals = {
148
+ :SDL_GetWindowWMInfo => :int,
149
+ }
150
+ symbols.each do |sym|
151
+ begin
152
+ attach_function apis[sym], sym, args[sym], retvals[sym]
153
+ rescue FFI::NotFoundError => error
154
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
155
+ end
156
+ end
157
+ end
158
+
159
+ end
160
+
data/lib/sdl2_timer.rb CHANGED
@@ -1,65 +1,74 @@
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
-
17
- # Typedef
18
-
19
- callback :SDL_TimerCallback, [:uint, :pointer], :uint
20
- typedef :int, :SDL_TimerID
21
-
22
- # Struct
23
-
24
-
25
- # Function
26
-
27
- def self.setup_timer_symbols()
28
- symbols = [
29
- :SDL_GetTicks,
30
- :SDL_GetTicks64,
31
- :SDL_GetPerformanceCounter,
32
- :SDL_GetPerformanceFrequency,
33
- :SDL_Delay,
34
- :SDL_AddTimer,
35
- :SDL_RemoveTimer,
36
- ]
37
- args = {
38
- :SDL_GetTicks => [],
39
- :SDL_GetTicks64 => [],
40
- :SDL_GetPerformanceCounter => [],
41
- :SDL_GetPerformanceFrequency => [],
42
- :SDL_Delay => [:uint],
43
- :SDL_AddTimer => [:uint, :SDL_TimerCallback, :pointer],
44
- :SDL_RemoveTimer => [:int],
45
- }
46
- retvals = {
47
- :SDL_GetTicks => :uint,
48
- :SDL_GetTicks64 => :ulong_long,
49
- :SDL_GetPerformanceCounter => :ulong_long,
50
- :SDL_GetPerformanceFrequency => :ulong_long,
51
- :SDL_Delay => :void,
52
- :SDL_AddTimer => :int,
53
- :SDL_RemoveTimer => :int,
54
- }
55
- symbols.each do |sym|
56
- begin
57
- attach_function sym, args[sym], retvals[sym]
58
- rescue FFI::NotFoundError => error
59
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
60
- end
61
- end
62
- end
63
-
64
- end
65
-
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 SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+
14
+ # Enum
15
+
16
+
17
+ # Typedef
18
+
19
+ callback :SDL_TimerCallback, [:uint, :pointer], :uint
20
+ typedef :int, :SDL_TimerID
21
+
22
+ # Struct
23
+
24
+
25
+ # Function
26
+
27
+ def self.setup_timer_symbols(output_error = false)
28
+ symbols = [
29
+ :SDL_GetTicks,
30
+ :SDL_GetTicks64,
31
+ :SDL_GetPerformanceCounter,
32
+ :SDL_GetPerformanceFrequency,
33
+ :SDL_Delay,
34
+ :SDL_AddTimer,
35
+ :SDL_RemoveTimer,
36
+ ]
37
+ apis = {
38
+ :SDL_GetTicks => :GetTicks,
39
+ :SDL_GetTicks64 => :GetTicks64,
40
+ :SDL_GetPerformanceCounter => :GetPerformanceCounter,
41
+ :SDL_GetPerformanceFrequency => :GetPerformanceFrequency,
42
+ :SDL_Delay => :Delay,
43
+ :SDL_AddTimer => :AddTimer,
44
+ :SDL_RemoveTimer => :RemoveTimer,
45
+ }
46
+ args = {
47
+ :SDL_GetTicks => [],
48
+ :SDL_GetTicks64 => [],
49
+ :SDL_GetPerformanceCounter => [],
50
+ :SDL_GetPerformanceFrequency => [],
51
+ :SDL_Delay => [:uint],
52
+ :SDL_AddTimer => [:uint, :SDL_TimerCallback, :pointer],
53
+ :SDL_RemoveTimer => [:int],
54
+ }
55
+ retvals = {
56
+ :SDL_GetTicks => :uint,
57
+ :SDL_GetTicks64 => :ulong_long,
58
+ :SDL_GetPerformanceCounter => :ulong_long,
59
+ :SDL_GetPerformanceFrequency => :ulong_long,
60
+ :SDL_Delay => :void,
61
+ :SDL_AddTimer => :int,
62
+ :SDL_RemoveTimer => :int,
63
+ }
64
+ symbols.each do |sym|
65
+ begin
66
+ attach_function apis[sym], sym, args[sym], retvals[sym]
67
+ rescue FFI::NotFoundError => error
68
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
69
+ end
70
+ end
71
+ end
72
+
73
+ end
74
+
data/lib/sdl2_touch.rb CHANGED
@@ -1,75 +1,86 @@
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
- SDL_TOUCH_MOUSEID = -1
14
- SDL_MOUSE_TOUCHID = -1
15
-
16
- # Enum
17
-
18
- SDL_TOUCH_DEVICE_INVALID = -1
19
- SDL_TOUCH_DEVICE_DIRECT = 0
20
- SDL_TOUCH_DEVICE_INDIRECT_ABSOLUTE = 1
21
- SDL_TOUCH_DEVICE_INDIRECT_RELATIVE = 2
22
-
23
- # Typedef
24
-
25
- typedef :long_long, :SDL_TouchID
26
- typedef :long_long, :SDL_FingerID
27
- typedef :int, :SDL_TouchDeviceType
28
-
29
- # Struct
30
-
31
- class SDL_Finger < FFI::Struct
32
- layout(
33
- :id, :long_long,
34
- :x, :float,
35
- :y, :float,
36
- :pressure, :float,
37
- )
38
- end
39
-
40
-
41
- # Function
42
-
43
- def self.setup_touch_symbols()
44
- symbols = [
45
- :SDL_GetNumTouchDevices,
46
- :SDL_GetTouchDevice,
47
- :SDL_GetTouchDeviceType,
48
- :SDL_GetNumTouchFingers,
49
- :SDL_GetTouchFinger,
50
- ]
51
- args = {
52
- :SDL_GetNumTouchDevices => [],
53
- :SDL_GetTouchDevice => [:int],
54
- :SDL_GetTouchDeviceType => [:long_long],
55
- :SDL_GetNumTouchFingers => [:long_long],
56
- :SDL_GetTouchFinger => [:long_long, :int],
57
- }
58
- retvals = {
59
- :SDL_GetNumTouchDevices => :int,
60
- :SDL_GetTouchDevice => :long_long,
61
- :SDL_GetTouchDeviceType => :int,
62
- :SDL_GetNumTouchFingers => :int,
63
- :SDL_GetTouchFinger => :pointer,
64
- }
65
- symbols.each do |sym|
66
- begin
67
- attach_function sym, args[sym], retvals[sym]
68
- rescue FFI::NotFoundError => error
69
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
70
- end
71
- end
72
- end
73
-
74
- end
75
-
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 SDL
10
+ extend FFI::Library
11
+ # Define/Macro
12
+
13
+ TOUCH_MOUSEID = -1
14
+ MOUSE_TOUCHID = -1
15
+
16
+ # Enum
17
+
18
+ TOUCH_DEVICE_INVALID = -1
19
+ TOUCH_DEVICE_DIRECT = 0
20
+ TOUCH_DEVICE_INDIRECT_ABSOLUTE = 1
21
+ TOUCH_DEVICE_INDIRECT_RELATIVE = 2
22
+
23
+ # Typedef
24
+
25
+ typedef :long_long, :SDL_TouchID
26
+ typedef :long_long, :SDL_FingerID
27
+ typedef :int, :SDL_TouchDeviceType
28
+
29
+ # Struct
30
+
31
+ class Finger < FFI::Struct
32
+ layout(
33
+ :id, :long_long,
34
+ :x, :float,
35
+ :y, :float,
36
+ :pressure, :float,
37
+ )
38
+ end
39
+
40
+
41
+ # Function
42
+
43
+ def self.setup_touch_symbols(output_error = false)
44
+ symbols = [
45
+ :SDL_GetNumTouchDevices,
46
+ :SDL_GetTouchDevice,
47
+ :SDL_GetTouchName,
48
+ :SDL_GetTouchDeviceType,
49
+ :SDL_GetNumTouchFingers,
50
+ :SDL_GetTouchFinger,
51
+ ]
52
+ apis = {
53
+ :SDL_GetNumTouchDevices => :GetNumTouchDevices,
54
+ :SDL_GetTouchDevice => :GetTouchDevice,
55
+ :SDL_GetTouchName => :GetTouchName,
56
+ :SDL_GetTouchDeviceType => :GetTouchDeviceType,
57
+ :SDL_GetNumTouchFingers => :GetNumTouchFingers,
58
+ :SDL_GetTouchFinger => :GetTouchFinger,
59
+ }
60
+ args = {
61
+ :SDL_GetNumTouchDevices => [],
62
+ :SDL_GetTouchDevice => [:int],
63
+ :SDL_GetTouchName => [:int],
64
+ :SDL_GetTouchDeviceType => [:long_long],
65
+ :SDL_GetNumTouchFingers => [:long_long],
66
+ :SDL_GetTouchFinger => [:long_long, :int],
67
+ }
68
+ retvals = {
69
+ :SDL_GetNumTouchDevices => :int,
70
+ :SDL_GetTouchDevice => :long_long,
71
+ :SDL_GetTouchName => :pointer,
72
+ :SDL_GetTouchDeviceType => :int,
73
+ :SDL_GetNumTouchFingers => :int,
74
+ :SDL_GetTouchFinger => :pointer,
75
+ }
76
+ symbols.each do |sym|
77
+ begin
78
+ attach_function apis[sym], sym, args[sym], retvals[sym]
79
+ rescue FFI::NotFoundError => error
80
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).") if output_error
81
+ end
82
+ end
83
+ end
84
+
85
+ end
86
+