sdl2-bindings 0.0.0.pre

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,268 @@
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_HAPTIC_CONSTANT = ( 1 << 0 )
14
+ SDL_HAPTIC_SINE = ( 1 << 1 )
15
+ SDL_HAPTIC_LEFTRIGHT = ( 1 << 2 )
16
+ SDL_HAPTIC_TRIANGLE = ( 1 << 3 )
17
+ SDL_HAPTIC_SAWTOOTHUP = ( 1 << 4 )
18
+ SDL_HAPTIC_SAWTOOTHDOWN = ( 1 << 5 )
19
+ SDL_HAPTIC_RAMP = ( 1 << 6 )
20
+ SDL_HAPTIC_SPRING = ( 1 << 7 )
21
+ SDL_HAPTIC_DAMPER = ( 1 << 8 )
22
+ SDL_HAPTIC_INERTIA = ( 1 << 9 )
23
+ SDL_HAPTIC_FRICTION = ( 1 << 10 )
24
+ SDL_HAPTIC_CUSTOM = ( 1 << 11 )
25
+ SDL_HAPTIC_GAIN = ( 1 << 12 )
26
+ SDL_HAPTIC_AUTOCENTER = ( 1 << 13 )
27
+ SDL_HAPTIC_STATUS = ( 1 << 14 )
28
+ SDL_HAPTIC_PAUSE = ( 1 << 15 )
29
+ SDL_HAPTIC_POLAR = 0
30
+ SDL_HAPTIC_CARTESIAN = 1
31
+ SDL_HAPTIC_SPHERICAL = 2
32
+ SDL_HAPTIC_INFINITY = 4294967295
33
+
34
+ # Enum
35
+
36
+
37
+ # Typedef
38
+
39
+
40
+ # Struct
41
+
42
+ class SDL_HapticDirection < FFI::Struct
43
+ layout(
44
+ :type, :uchar,
45
+ :dir, [:int, 3],
46
+ )
47
+ end
48
+
49
+ class SDL_HapticConstant < FFI::Struct
50
+ layout(
51
+ :type, :ushort,
52
+ :direction, SDL_HapticDirection,
53
+ :length, :uint,
54
+ :delay, :ushort,
55
+ :button, :ushort,
56
+ :interval, :ushort,
57
+ :level, :short,
58
+ :attack_length, :ushort,
59
+ :attack_level, :ushort,
60
+ :fade_length, :ushort,
61
+ :fade_level, :ushort,
62
+ )
63
+ end
64
+
65
+ class SDL_HapticPeriodic < FFI::Struct
66
+ layout(
67
+ :type, :ushort,
68
+ :direction, SDL_HapticDirection,
69
+ :length, :uint,
70
+ :delay, :ushort,
71
+ :button, :ushort,
72
+ :interval, :ushort,
73
+ :period, :ushort,
74
+ :magnitude, :short,
75
+ :offset, :short,
76
+ :phase, :ushort,
77
+ :attack_length, :ushort,
78
+ :attack_level, :ushort,
79
+ :fade_length, :ushort,
80
+ :fade_level, :ushort,
81
+ )
82
+ end
83
+
84
+ class SDL_HapticCondition < FFI::Struct
85
+ layout(
86
+ :type, :ushort,
87
+ :direction, SDL_HapticDirection,
88
+ :length, :uint,
89
+ :delay, :ushort,
90
+ :button, :ushort,
91
+ :interval, :ushort,
92
+ :right_sat, [:ushort, 3],
93
+ :left_sat, [:ushort, 3],
94
+ :right_coeff, [:short, 3],
95
+ :left_coeff, [:short, 3],
96
+ :deadband, [:ushort, 3],
97
+ :center, [:short, 3],
98
+ )
99
+ end
100
+
101
+ class SDL_HapticRamp < FFI::Struct
102
+ layout(
103
+ :type, :ushort,
104
+ :direction, SDL_HapticDirection,
105
+ :length, :uint,
106
+ :delay, :ushort,
107
+ :button, :ushort,
108
+ :interval, :ushort,
109
+ :start, :short,
110
+ :end, :short,
111
+ :attack_length, :ushort,
112
+ :attack_level, :ushort,
113
+ :fade_length, :ushort,
114
+ :fade_level, :ushort,
115
+ )
116
+ end
117
+
118
+ class SDL_HapticLeftRight < FFI::Struct
119
+ layout(
120
+ :type, :ushort,
121
+ :length, :uint,
122
+ :large_magnitude, :ushort,
123
+ :small_magnitude, :ushort,
124
+ )
125
+ end
126
+
127
+ class SDL_HapticCustom < FFI::Struct
128
+ layout(
129
+ :type, :ushort,
130
+ :direction, SDL_HapticDirection,
131
+ :length, :uint,
132
+ :delay, :ushort,
133
+ :button, :ushort,
134
+ :interval, :ushort,
135
+ :channels, :uchar,
136
+ :period, :ushort,
137
+ :samples, :ushort,
138
+ :data, :pointer,
139
+ :attack_length, :ushort,
140
+ :attack_level, :ushort,
141
+ :fade_length, :ushort,
142
+ :fade_level, :ushort,
143
+ )
144
+ end
145
+
146
+ class SDL_HapticEffect < FFI::Union
147
+ layout(
148
+ :type, :ushort,
149
+ :constant, SDL_HapticConstant,
150
+ :periodic, SDL_HapticPeriodic,
151
+ :condition, SDL_HapticCondition,
152
+ :ramp, SDL_HapticRamp,
153
+ :leftright, SDL_HapticLeftRight,
154
+ :custom, SDL_HapticCustom,
155
+ )
156
+ end
157
+
158
+
159
+ # Function
160
+
161
+ def self.setup_haptic_symbols()
162
+ symbols = [
163
+ :SDL_NumHaptics,
164
+ :SDL_HapticName,
165
+ :SDL_HapticOpen,
166
+ :SDL_HapticOpened,
167
+ :SDL_HapticIndex,
168
+ :SDL_MouseIsHaptic,
169
+ :SDL_HapticOpenFromMouse,
170
+ :SDL_JoystickIsHaptic,
171
+ :SDL_HapticOpenFromJoystick,
172
+ :SDL_HapticClose,
173
+ :SDL_HapticNumEffects,
174
+ :SDL_HapticNumEffectsPlaying,
175
+ :SDL_HapticQuery,
176
+ :SDL_HapticNumAxes,
177
+ :SDL_HapticEffectSupported,
178
+ :SDL_HapticNewEffect,
179
+ :SDL_HapticUpdateEffect,
180
+ :SDL_HapticRunEffect,
181
+ :SDL_HapticStopEffect,
182
+ :SDL_HapticDestroyEffect,
183
+ :SDL_HapticGetEffectStatus,
184
+ :SDL_HapticSetGain,
185
+ :SDL_HapticSetAutocenter,
186
+ :SDL_HapticPause,
187
+ :SDL_HapticUnpause,
188
+ :SDL_HapticStopAll,
189
+ :SDL_HapticRumbleSupported,
190
+ :SDL_HapticRumbleInit,
191
+ :SDL_HapticRumblePlay,
192
+ :SDL_HapticRumbleStop,
193
+ ]
194
+ args = {
195
+ :SDL_NumHaptics => [],
196
+ :SDL_HapticName => [:int],
197
+ :SDL_HapticOpen => [:int],
198
+ :SDL_HapticOpened => [:int],
199
+ :SDL_HapticIndex => [:pointer],
200
+ :SDL_MouseIsHaptic => [],
201
+ :SDL_HapticOpenFromMouse => [],
202
+ :SDL_JoystickIsHaptic => [:pointer],
203
+ :SDL_HapticOpenFromJoystick => [:pointer],
204
+ :SDL_HapticClose => [:pointer],
205
+ :SDL_HapticNumEffects => [:pointer],
206
+ :SDL_HapticNumEffectsPlaying => [:pointer],
207
+ :SDL_HapticQuery => [:pointer],
208
+ :SDL_HapticNumAxes => [:pointer],
209
+ :SDL_HapticEffectSupported => [:pointer, :pointer],
210
+ :SDL_HapticNewEffect => [:pointer, :pointer],
211
+ :SDL_HapticUpdateEffect => [:pointer, :int, :pointer],
212
+ :SDL_HapticRunEffect => [:pointer, :int, :uint],
213
+ :SDL_HapticStopEffect => [:pointer, :int],
214
+ :SDL_HapticDestroyEffect => [:pointer, :int],
215
+ :SDL_HapticGetEffectStatus => [:pointer, :int],
216
+ :SDL_HapticSetGain => [:pointer, :int],
217
+ :SDL_HapticSetAutocenter => [:pointer, :int],
218
+ :SDL_HapticPause => [:pointer],
219
+ :SDL_HapticUnpause => [:pointer],
220
+ :SDL_HapticStopAll => [:pointer],
221
+ :SDL_HapticRumbleSupported => [:pointer],
222
+ :SDL_HapticRumbleInit => [:pointer],
223
+ :SDL_HapticRumblePlay => [:pointer, :float, :uint],
224
+ :SDL_HapticRumbleStop => [:pointer],
225
+ }
226
+ retvals = {
227
+ :SDL_NumHaptics => :int,
228
+ :SDL_HapticName => :pointer,
229
+ :SDL_HapticOpen => :pointer,
230
+ :SDL_HapticOpened => :int,
231
+ :SDL_HapticIndex => :int,
232
+ :SDL_MouseIsHaptic => :int,
233
+ :SDL_HapticOpenFromMouse => :pointer,
234
+ :SDL_JoystickIsHaptic => :int,
235
+ :SDL_HapticOpenFromJoystick => :pointer,
236
+ :SDL_HapticClose => :void,
237
+ :SDL_HapticNumEffects => :int,
238
+ :SDL_HapticNumEffectsPlaying => :int,
239
+ :SDL_HapticQuery => :uint,
240
+ :SDL_HapticNumAxes => :int,
241
+ :SDL_HapticEffectSupported => :int,
242
+ :SDL_HapticNewEffect => :int,
243
+ :SDL_HapticUpdateEffect => :int,
244
+ :SDL_HapticRunEffect => :int,
245
+ :SDL_HapticStopEffect => :int,
246
+ :SDL_HapticDestroyEffect => :void,
247
+ :SDL_HapticGetEffectStatus => :int,
248
+ :SDL_HapticSetGain => :int,
249
+ :SDL_HapticSetAutocenter => :int,
250
+ :SDL_HapticPause => :int,
251
+ :SDL_HapticUnpause => :int,
252
+ :SDL_HapticStopAll => :int,
253
+ :SDL_HapticRumbleSupported => :int,
254
+ :SDL_HapticRumbleInit => :int,
255
+ :SDL_HapticRumblePlay => :int,
256
+ :SDL_HapticRumbleStop => :int,
257
+ }
258
+ symbols.each do |sym|
259
+ begin
260
+ attach_function sym, args[sym], retvals[sym]
261
+ rescue FFI::NotFoundError => error
262
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
263
+ end
264
+ end
265
+ end
266
+
267
+ end
268
+
@@ -0,0 +1,68 @@
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_HINT_DEFAULT = 0
17
+ SDL_HINT_NORMAL = 1
18
+ SDL_HINT_OVERRIDE = 2
19
+
20
+ # Typedef
21
+
22
+ typedef :int, :SDL_HintPriority
23
+ callback :SDL_HintCallback, [:pointer, :pointer, :pointer, :pointer], :void
24
+
25
+ # Struct
26
+
27
+
28
+ # Function
29
+
30
+ def self.setup_hints_symbols()
31
+ symbols = [
32
+ :SDL_SetHintWithPriority,
33
+ :SDL_SetHint,
34
+ :SDL_GetHint,
35
+ :SDL_GetHintBoolean,
36
+ :SDL_AddHintCallback,
37
+ :SDL_DelHintCallback,
38
+ :SDL_ClearHints,
39
+ ]
40
+ args = {
41
+ :SDL_SetHintWithPriority => [:pointer, :pointer, :int],
42
+ :SDL_SetHint => [:pointer, :pointer],
43
+ :SDL_GetHint => [:pointer],
44
+ :SDL_GetHintBoolean => [:pointer, :int],
45
+ :SDL_AddHintCallback => [:pointer, :pointer, :pointer],
46
+ :SDL_DelHintCallback => [:pointer, :pointer, :pointer],
47
+ :SDL_ClearHints => [],
48
+ }
49
+ retvals = {
50
+ :SDL_SetHintWithPriority => :int,
51
+ :SDL_SetHint => :int,
52
+ :SDL_GetHint => :pointer,
53
+ :SDL_GetHintBoolean => :int,
54
+ :SDL_AddHintCallback => :void,
55
+ :SDL_DelHintCallback => :void,
56
+ :SDL_ClearHints => :void,
57
+ }
58
+ symbols.each do |sym|
59
+ begin
60
+ attach_function sym, args[sym], retvals[sym]
61
+ rescue FFI::NotFoundError => error
62
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
63
+ end
64
+ end
65
+ end
66
+
67
+ end
68
+
@@ -0,0 +1,185 @@
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_IMAGE_MAJOR_VERSION = 2
14
+ SDL_IMAGE_MINOR_VERSION = 0
15
+ SDL_IMAGE_PATCHLEVEL = 5
16
+
17
+ # Enum
18
+
19
+ IMG_INIT_JPG = 1
20
+ IMG_INIT_PNG = 2
21
+ IMG_INIT_TIF = 4
22
+ IMG_INIT_WEBP = 8
23
+
24
+ # Typedef
25
+
26
+ typedef :int, :IMG_InitFlags
27
+
28
+ # Struct
29
+
30
+
31
+ # Function
32
+
33
+ def self.setup_image_symbols()
34
+ symbols = [
35
+ :IMG_Linked_Version,
36
+ :IMG_Init,
37
+ :IMG_Quit,
38
+ :IMG_LoadTyped_RW,
39
+ :IMG_Load,
40
+ :IMG_Load_RW,
41
+ :IMG_LoadTexture,
42
+ :IMG_LoadTexture_RW,
43
+ :IMG_LoadTextureTyped_RW,
44
+ :IMG_isICO,
45
+ :IMG_isCUR,
46
+ :IMG_isBMP,
47
+ :IMG_isGIF,
48
+ :IMG_isJPG,
49
+ :IMG_isLBM,
50
+ :IMG_isPCX,
51
+ :IMG_isPNG,
52
+ :IMG_isPNM,
53
+ :IMG_isSVG,
54
+ :IMG_isTIF,
55
+ :IMG_isXCF,
56
+ :IMG_isXPM,
57
+ :IMG_isXV,
58
+ :IMG_isWEBP,
59
+ :IMG_LoadICO_RW,
60
+ :IMG_LoadCUR_RW,
61
+ :IMG_LoadBMP_RW,
62
+ :IMG_LoadGIF_RW,
63
+ :IMG_LoadJPG_RW,
64
+ :IMG_LoadLBM_RW,
65
+ :IMG_LoadPCX_RW,
66
+ :IMG_LoadPNG_RW,
67
+ :IMG_LoadPNM_RW,
68
+ :IMG_LoadSVG_RW,
69
+ :IMG_LoadTGA_RW,
70
+ :IMG_LoadTIF_RW,
71
+ :IMG_LoadXCF_RW,
72
+ :IMG_LoadXPM_RW,
73
+ :IMG_LoadXV_RW,
74
+ :IMG_LoadWEBP_RW,
75
+ :IMG_ReadXPMFromArray,
76
+ :IMG_SavePNG,
77
+ :IMG_SavePNG_RW,
78
+ :IMG_SaveJPG,
79
+ :IMG_SaveJPG_RW,
80
+ ]
81
+ args = {
82
+ :IMG_Linked_Version => [],
83
+ :IMG_Init => [:int],
84
+ :IMG_Quit => [],
85
+ :IMG_LoadTyped_RW => [:pointer, :int, :pointer],
86
+ :IMG_Load => [:pointer],
87
+ :IMG_Load_RW => [:pointer, :int],
88
+ :IMG_LoadTexture => [:pointer, :pointer],
89
+ :IMG_LoadTexture_RW => [:pointer, :pointer, :int],
90
+ :IMG_LoadTextureTyped_RW => [:pointer, :pointer, :int, :pointer],
91
+ :IMG_isICO => [:pointer],
92
+ :IMG_isCUR => [:pointer],
93
+ :IMG_isBMP => [:pointer],
94
+ :IMG_isGIF => [:pointer],
95
+ :IMG_isJPG => [:pointer],
96
+ :IMG_isLBM => [:pointer],
97
+ :IMG_isPCX => [:pointer],
98
+ :IMG_isPNG => [:pointer],
99
+ :IMG_isPNM => [:pointer],
100
+ :IMG_isSVG => [:pointer],
101
+ :IMG_isTIF => [:pointer],
102
+ :IMG_isXCF => [:pointer],
103
+ :IMG_isXPM => [:pointer],
104
+ :IMG_isXV => [:pointer],
105
+ :IMG_isWEBP => [:pointer],
106
+ :IMG_LoadICO_RW => [:pointer],
107
+ :IMG_LoadCUR_RW => [:pointer],
108
+ :IMG_LoadBMP_RW => [:pointer],
109
+ :IMG_LoadGIF_RW => [:pointer],
110
+ :IMG_LoadJPG_RW => [:pointer],
111
+ :IMG_LoadLBM_RW => [:pointer],
112
+ :IMG_LoadPCX_RW => [:pointer],
113
+ :IMG_LoadPNG_RW => [:pointer],
114
+ :IMG_LoadPNM_RW => [:pointer],
115
+ :IMG_LoadSVG_RW => [:pointer],
116
+ :IMG_LoadTGA_RW => [:pointer],
117
+ :IMG_LoadTIF_RW => [:pointer],
118
+ :IMG_LoadXCF_RW => [:pointer],
119
+ :IMG_LoadXPM_RW => [:pointer],
120
+ :IMG_LoadXV_RW => [:pointer],
121
+ :IMG_LoadWEBP_RW => [:pointer],
122
+ :IMG_ReadXPMFromArray => [:pointer],
123
+ :IMG_SavePNG => [:pointer, :pointer],
124
+ :IMG_SavePNG_RW => [:pointer, :pointer, :int],
125
+ :IMG_SaveJPG => [:pointer, :pointer, :int],
126
+ :IMG_SaveJPG_RW => [:pointer, :pointer, :int, :int],
127
+ }
128
+ retvals = {
129
+ :IMG_Linked_Version => :pointer,
130
+ :IMG_Init => :int,
131
+ :IMG_Quit => :void,
132
+ :IMG_LoadTyped_RW => :pointer,
133
+ :IMG_Load => :pointer,
134
+ :IMG_Load_RW => :pointer,
135
+ :IMG_LoadTexture => :pointer,
136
+ :IMG_LoadTexture_RW => :pointer,
137
+ :IMG_LoadTextureTyped_RW => :pointer,
138
+ :IMG_isICO => :int,
139
+ :IMG_isCUR => :int,
140
+ :IMG_isBMP => :int,
141
+ :IMG_isGIF => :int,
142
+ :IMG_isJPG => :int,
143
+ :IMG_isLBM => :int,
144
+ :IMG_isPCX => :int,
145
+ :IMG_isPNG => :int,
146
+ :IMG_isPNM => :int,
147
+ :IMG_isSVG => :int,
148
+ :IMG_isTIF => :int,
149
+ :IMG_isXCF => :int,
150
+ :IMG_isXPM => :int,
151
+ :IMG_isXV => :int,
152
+ :IMG_isWEBP => :int,
153
+ :IMG_LoadICO_RW => :pointer,
154
+ :IMG_LoadCUR_RW => :pointer,
155
+ :IMG_LoadBMP_RW => :pointer,
156
+ :IMG_LoadGIF_RW => :pointer,
157
+ :IMG_LoadJPG_RW => :pointer,
158
+ :IMG_LoadLBM_RW => :pointer,
159
+ :IMG_LoadPCX_RW => :pointer,
160
+ :IMG_LoadPNG_RW => :pointer,
161
+ :IMG_LoadPNM_RW => :pointer,
162
+ :IMG_LoadSVG_RW => :pointer,
163
+ :IMG_LoadTGA_RW => :pointer,
164
+ :IMG_LoadTIF_RW => :pointer,
165
+ :IMG_LoadXCF_RW => :pointer,
166
+ :IMG_LoadXPM_RW => :pointer,
167
+ :IMG_LoadXV_RW => :pointer,
168
+ :IMG_LoadWEBP_RW => :pointer,
169
+ :IMG_ReadXPMFromArray => :pointer,
170
+ :IMG_SavePNG => :int,
171
+ :IMG_SavePNG_RW => :int,
172
+ :IMG_SaveJPG => :int,
173
+ :IMG_SaveJPG_RW => :int,
174
+ }
175
+ symbols.each do |sym|
176
+ begin
177
+ attach_function sym, args[sym], retvals[sym]
178
+ rescue FFI::NotFoundError => error
179
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
180
+ end
181
+ end
182
+ end
183
+
184
+ end
185
+