sdl2-bindings 0.0.8 → 0.1.1

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 +124 -92
  3. data/LICENSE.txt +1 -1
  4. data/README.md +77 -53
  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 -197
  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 +238 -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 -156
  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 +19 -4
data/lib/sdl2_syswm.rb CHANGED
@@ -1,156 +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
-
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
- SDL_SYSWM_RISCOS = 14
32
-
33
- # Typedef
34
-
35
- typedef :int, :SDL_SYSWM_TYPE
36
-
37
- class SDL_SysWMmsg_def_win < FFI::Struct
38
- layout(
39
- :hwnd, :pointer,
40
- :msg, :uint32,
41
- :wParam, :uint64,
42
- :lParam, :int64
43
- )
44
- end
45
-
46
- class SDL_SysWMmsg_value_win < FFI::Union
47
- layout(
48
- :win, SDL_SysWMmsg_def_win.by_value,
49
- :dummy, :int
50
- )
51
- end
52
-
53
- class SDL_SysWMmsg_win < FFI::Struct
54
- layout(
55
- :version, SDL_version.by_value,
56
- :subsystem, :int,
57
- :msg, SDL_SysWMmsg_value_win.by_value
58
- )
59
- end
60
-
61
-
62
- class SDL_SysWMmsg_def_cocoa < FFI::Struct
63
- layout(
64
- :dummy, :int
65
- )
66
- end
67
-
68
- class SDL_SysWMmsg_value_cocoa < FFI::Union
69
- layout(
70
- :cocoa, SDL_SysWMmsg_def_cocoa.by_value,
71
- :dummy, :int
72
- )
73
- end
74
-
75
- class SDL_SysWMmsg_cocoa < FFI::Struct
76
- layout(
77
- :version, SDL_version.by_value,
78
- :subsystem, :int,
79
- :msg, SDL_SysWMmsg_value_cocoa.by_value
80
- )
81
- end
82
-
83
- ################################################################################
84
-
85
- class SDL_SysWMinfo_def_win < FFI::Struct
86
- layout(
87
- :window, :pointer,
88
- :hdc, :pointer,
89
- :hinstance, :pointer
90
- )
91
- end
92
-
93
- class SDL_SysWMinfo_value_win < FFI::Union
94
- layout(
95
- :win, SDL_SysWMinfo_def_win.by_value,
96
- :dummy, [:uint8, 64]
97
- )
98
- end
99
-
100
- class SDL_SysWMinfo_win < FFI::Struct
101
- layout(
102
- :version, SDL_version.by_value,
103
- :subsystem, :int,
104
- :info, SDL_SysWMinfo_value_win.by_value
105
- )
106
- end
107
-
108
-
109
- class SDL_SysWMinfo_def_cocoa < FFI::Struct
110
- layout(
111
- :window, :pointer
112
- )
113
- end
114
-
115
- class SDL_SysWMinfo_value_cocoa < FFI::Union
116
- layout(
117
- :cocoa, SDL_SysWMinfo_def_cocoa.by_value,
118
- :dummy, [:uint8, 64]
119
- )
120
- end
121
-
122
- class SDL_SysWMinfo_cocoa < FFI::Struct
123
- layout(
124
- :version, SDL_version.by_value,
125
- :subsystem, :int,
126
- :info, SDL_SysWMinfo_value_cocoa.by_value
127
- )
128
- end
129
-
130
-
131
- # Struct
132
-
133
-
134
- # Function
135
-
136
- def self.setup_syswm_symbols()
137
- symbols = [
138
- :SDL_GetWindowWMInfo,
139
- ]
140
- args = {
141
- :SDL_GetWindowWMInfo => [:pointer, :pointer],
142
- }
143
- retvals = {
144
- :SDL_GetWindowWMInfo => :int,
145
- }
146
- symbols.each do |sym|
147
- begin
148
- attach_function sym, args[sym], retvals[sym]
149
- rescue FFI::NotFoundError => error
150
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
151
- end
152
- end
153
- end
154
-
155
- end
156
-
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
+