sdl2-bindings 0.0.0.pre

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