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,48 @@
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
+
20
+ # Struct
21
+
22
+
23
+ # Function
24
+
25
+ def self.setup_filesystem_symbols()
26
+ symbols = [
27
+ :SDL_GetBasePath,
28
+ :SDL_GetPrefPath,
29
+ ]
30
+ args = {
31
+ :SDL_GetBasePath => [],
32
+ :SDL_GetPrefPath => [:pointer, :pointer],
33
+ }
34
+ retvals = {
35
+ :SDL_GetBasePath => :pointer,
36
+ :SDL_GetPrefPath => :pointer,
37
+ }
38
+ symbols.each do |sym|
39
+ begin
40
+ attach_function sym, args[sym], retvals[sym]
41
+ rescue FFI::NotFoundError => error
42
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
43
+ end
44
+ end
45
+ end
46
+
47
+ end
48
+
@@ -0,0 +1,67 @@
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
+
20
+ # Struct
21
+
22
+ class FPSmanager < FFI::Struct
23
+ layout(
24
+ :framecount, :uint,
25
+ :rateticks, :float,
26
+ :baseticks, :uint,
27
+ :lastticks, :uint,
28
+ :rate, :uint,
29
+ )
30
+ end
31
+
32
+
33
+ # Function
34
+
35
+ def self.setup_gfx_framerate_symbols()
36
+ symbols = [
37
+ :SDL_initFramerate,
38
+ :SDL_setFramerate,
39
+ :SDL_getFramerate,
40
+ :SDL_getFramecount,
41
+ :SDL_framerateDelay,
42
+ ]
43
+ args = {
44
+ :SDL_initFramerate => [:pointer],
45
+ :SDL_setFramerate => [:pointer, :uint],
46
+ :SDL_getFramerate => [:pointer],
47
+ :SDL_getFramecount => [:pointer],
48
+ :SDL_framerateDelay => [:pointer],
49
+ }
50
+ retvals = {
51
+ :SDL_initFramerate => :void,
52
+ :SDL_setFramerate => :int,
53
+ :SDL_getFramerate => :int,
54
+ :SDL_getFramecount => :int,
55
+ :SDL_framerateDelay => :uint,
56
+ }
57
+ symbols.each do |sym|
58
+ begin
59
+ attach_function sym, args[sym], retvals[sym]
60
+ rescue FFI::NotFoundError => error
61
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
62
+ end
63
+ end
64
+ end
65
+
66
+ end
67
+
@@ -0,0 +1,188 @@
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_joystick'
9
+
10
+ module SDL2
11
+ extend FFI::Library
12
+ # Define/Macro
13
+
14
+
15
+ # Enum
16
+
17
+ SDL_CONTROLLER_BINDTYPE_NONE = 0
18
+ SDL_CONTROLLER_BINDTYPE_BUTTON = 1
19
+ SDL_CONTROLLER_BINDTYPE_AXIS = 2
20
+ SDL_CONTROLLER_BINDTYPE_HAT = 3
21
+ SDL_CONTROLLER_AXIS_INVALID = -1
22
+ SDL_CONTROLLER_AXIS_LEFTX = 0
23
+ SDL_CONTROLLER_AXIS_LEFTY = 1
24
+ SDL_CONTROLLER_AXIS_RIGHTX = 2
25
+ SDL_CONTROLLER_AXIS_RIGHTY = 3
26
+ SDL_CONTROLLER_AXIS_TRIGGERLEFT = 4
27
+ SDL_CONTROLLER_AXIS_TRIGGERRIGHT = 5
28
+ SDL_CONTROLLER_AXIS_MAX = 6
29
+ SDL_CONTROLLER_BUTTON_INVALID = -1
30
+ SDL_CONTROLLER_BUTTON_A = 0
31
+ SDL_CONTROLLER_BUTTON_B = 1
32
+ SDL_CONTROLLER_BUTTON_X = 2
33
+ SDL_CONTROLLER_BUTTON_Y = 3
34
+ SDL_CONTROLLER_BUTTON_BACK = 4
35
+ SDL_CONTROLLER_BUTTON_GUIDE = 5
36
+ SDL_CONTROLLER_BUTTON_START = 6
37
+ SDL_CONTROLLER_BUTTON_LEFTSTICK = 7
38
+ SDL_CONTROLLER_BUTTON_RIGHTSTICK = 8
39
+ SDL_CONTROLLER_BUTTON_LEFTSHOULDER = 9
40
+ SDL_CONTROLLER_BUTTON_RIGHTSHOULDER = 10
41
+ SDL_CONTROLLER_BUTTON_DPAD_UP = 11
42
+ SDL_CONTROLLER_BUTTON_DPAD_DOWN = 12
43
+ SDL_CONTROLLER_BUTTON_DPAD_LEFT = 13
44
+ SDL_CONTROLLER_BUTTON_DPAD_RIGHT = 14
45
+ SDL_CONTROLLER_BUTTON_MAX = 15
46
+
47
+ # Typedef
48
+
49
+
50
+ class SDL_GameControllerButtonBind_value_hat < FFI::Struct
51
+ layout(
52
+ :hat, :int,
53
+ :hat_mask, :int,
54
+ )
55
+ end
56
+
57
+ class SDL_GameControllerButtonBind_value < FFI::Struct
58
+ layout(
59
+ :button, :int,
60
+ :axis, :int,
61
+ :hat, SDL_GameControllerButtonBind_value_hat.by_value,
62
+ )
63
+ end
64
+
65
+ class SDL_GameControllerButtonBind < FFI::Struct
66
+ layout(
67
+ :bindType, :int,
68
+ :value, SDL_GameControllerButtonBind_value.by_value,
69
+ )
70
+ end
71
+
72
+ typedef :int, :SDL_GameControllerBindType
73
+ typedef :int, :SDL_GameControllerAxis
74
+ typedef :int, :SDL_GameControllerButton
75
+
76
+ # Struct
77
+
78
+
79
+ # Function
80
+
81
+ def self.setup_gamecontroller_symbols()
82
+ symbols = [
83
+ :SDL_GameControllerAddMappingsFromRW,
84
+ :SDL_GameControllerAddMapping,
85
+ :SDL_GameControllerNumMappings,
86
+ :SDL_GameControllerMappingForIndex,
87
+ :SDL_GameControllerMappingForGUID,
88
+ :SDL_GameControllerMapping,
89
+ :SDL_IsGameController,
90
+ :SDL_GameControllerNameForIndex,
91
+ :SDL_GameControllerMappingForDeviceIndex,
92
+ :SDL_GameControllerOpen,
93
+ :SDL_GameControllerFromInstanceID,
94
+ :SDL_GameControllerName,
95
+ :SDL_GameControllerGetPlayerIndex,
96
+ :SDL_GameControllerGetVendor,
97
+ :SDL_GameControllerGetProduct,
98
+ :SDL_GameControllerGetProductVersion,
99
+ :SDL_GameControllerGetAttached,
100
+ :SDL_GameControllerGetJoystick,
101
+ :SDL_GameControllerEventState,
102
+ :SDL_GameControllerUpdate,
103
+ :SDL_GameControllerGetAxisFromString,
104
+ :SDL_GameControllerGetStringForAxis,
105
+ :SDL_GameControllerGetBindForAxis,
106
+ :SDL_GameControllerGetAxis,
107
+ :SDL_GameControllerGetButtonFromString,
108
+ :SDL_GameControllerGetStringForButton,
109
+ :SDL_GameControllerGetBindForButton,
110
+ :SDL_GameControllerGetButton,
111
+ :SDL_GameControllerRumble,
112
+ :SDL_GameControllerClose,
113
+ ]
114
+ args = {
115
+ :SDL_GameControllerAddMappingsFromRW => [:pointer, :int],
116
+ :SDL_GameControllerAddMapping => [:pointer],
117
+ :SDL_GameControllerNumMappings => [],
118
+ :SDL_GameControllerMappingForIndex => [:int],
119
+ :SDL_GameControllerMappingForGUID => [SDL_JoystickGUID],
120
+ :SDL_GameControllerMapping => [:pointer],
121
+ :SDL_IsGameController => [:int],
122
+ :SDL_GameControllerNameForIndex => [:int],
123
+ :SDL_GameControllerMappingForDeviceIndex => [:int],
124
+ :SDL_GameControllerOpen => [:int],
125
+ :SDL_GameControllerFromInstanceID => [:int],
126
+ :SDL_GameControllerName => [:pointer],
127
+ :SDL_GameControllerGetPlayerIndex => [:pointer],
128
+ :SDL_GameControllerGetVendor => [:pointer],
129
+ :SDL_GameControllerGetProduct => [:pointer],
130
+ :SDL_GameControllerGetProductVersion => [:pointer],
131
+ :SDL_GameControllerGetAttached => [:pointer],
132
+ :SDL_GameControllerGetJoystick => [:pointer],
133
+ :SDL_GameControllerEventState => [:int],
134
+ :SDL_GameControllerUpdate => [],
135
+ :SDL_GameControllerGetAxisFromString => [:pointer],
136
+ :SDL_GameControllerGetStringForAxis => [:int],
137
+ :SDL_GameControllerGetBindForAxis => [:pointer, :int],
138
+ :SDL_GameControllerGetAxis => [:pointer, :int],
139
+ :SDL_GameControllerGetButtonFromString => [:pointer],
140
+ :SDL_GameControllerGetStringForButton => [:int],
141
+ :SDL_GameControllerGetBindForButton => [:pointer, :int],
142
+ :SDL_GameControllerGetButton => [:pointer, :int],
143
+ :SDL_GameControllerRumble => [:pointer, :ushort, :ushort, :uint],
144
+ :SDL_GameControllerClose => [:pointer],
145
+ }
146
+ retvals = {
147
+ :SDL_GameControllerAddMappingsFromRW => :int,
148
+ :SDL_GameControllerAddMapping => :int,
149
+ :SDL_GameControllerNumMappings => :int,
150
+ :SDL_GameControllerMappingForIndex => :pointer,
151
+ :SDL_GameControllerMappingForGUID => :pointer,
152
+ :SDL_GameControllerMapping => :pointer,
153
+ :SDL_IsGameController => :int,
154
+ :SDL_GameControllerNameForIndex => :pointer,
155
+ :SDL_GameControllerMappingForDeviceIndex => :pointer,
156
+ :SDL_GameControllerOpen => :pointer,
157
+ :SDL_GameControllerFromInstanceID => :pointer,
158
+ :SDL_GameControllerName => :pointer,
159
+ :SDL_GameControllerGetPlayerIndex => :int,
160
+ :SDL_GameControllerGetVendor => :ushort,
161
+ :SDL_GameControllerGetProduct => :ushort,
162
+ :SDL_GameControllerGetProductVersion => :ushort,
163
+ :SDL_GameControllerGetAttached => :int,
164
+ :SDL_GameControllerGetJoystick => :pointer,
165
+ :SDL_GameControllerEventState => :int,
166
+ :SDL_GameControllerUpdate => :void,
167
+ :SDL_GameControllerGetAxisFromString => :int,
168
+ :SDL_GameControllerGetStringForAxis => :pointer,
169
+ :SDL_GameControllerGetBindForAxis => SDL_GameControllerButtonBind,
170
+ :SDL_GameControllerGetAxis => :short,
171
+ :SDL_GameControllerGetButtonFromString => :int,
172
+ :SDL_GameControllerGetStringForButton => :pointer,
173
+ :SDL_GameControllerGetBindForButton => SDL_GameControllerButtonBind,
174
+ :SDL_GameControllerGetButton => :uchar,
175
+ :SDL_GameControllerRumble => :int,
176
+ :SDL_GameControllerClose => :void,
177
+ }
178
+ symbols.each do |sym|
179
+ begin
180
+ attach_function sym, args[sym], retvals[sym]
181
+ rescue FFI::NotFoundError => error
182
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
183
+ end
184
+ end
185
+ end
186
+
187
+ end
188
+
@@ -0,0 +1,55 @@
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
+ typedef :long_long, :SDL_GestureID
20
+
21
+ # Struct
22
+
23
+
24
+ # Function
25
+
26
+ def self.setup_gesture_symbols()
27
+ symbols = [
28
+ :SDL_RecordGesture,
29
+ :SDL_SaveAllDollarTemplates,
30
+ :SDL_SaveDollarTemplate,
31
+ :SDL_LoadDollarTemplates,
32
+ ]
33
+ args = {
34
+ :SDL_RecordGesture => [:long_long],
35
+ :SDL_SaveAllDollarTemplates => [:pointer],
36
+ :SDL_SaveDollarTemplate => [:long_long, :pointer],
37
+ :SDL_LoadDollarTemplates => [:long_long, :pointer],
38
+ }
39
+ retvals = {
40
+ :SDL_RecordGesture => :int,
41
+ :SDL_SaveAllDollarTemplates => :int,
42
+ :SDL_SaveDollarTemplate => :int,
43
+ :SDL_LoadDollarTemplates => :int,
44
+ }
45
+ symbols.each do |sym|
46
+ begin
47
+ attach_function sym, args[sym], retvals[sym]
48
+ rescue FFI::NotFoundError => error
49
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
50
+ end
51
+ end
52
+ end
53
+
54
+ end
55
+
@@ -0,0 +1,222 @@
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
+ SDL2_GFXPRIMITIVES_MAJOR = 1
14
+ SDL2_GFXPRIMITIVES_MINOR = 0
15
+ SDL2_GFXPRIMITIVES_MICRO = 4
16
+
17
+ # Enum
18
+
19
+
20
+ # Typedef
21
+
22
+
23
+ # Struct
24
+
25
+
26
+ # Function
27
+
28
+ def self.setup_gfx_primitives_symbols()
29
+ symbols = [
30
+ :pixelColor,
31
+ :pixelRGBA,
32
+ :hlineColor,
33
+ :hlineRGBA,
34
+ :vlineColor,
35
+ :vlineRGBA,
36
+ :rectangleColor,
37
+ :rectangleRGBA,
38
+ :roundedRectangleColor,
39
+ :roundedRectangleRGBA,
40
+ :boxColor,
41
+ :boxRGBA,
42
+ :roundedBoxColor,
43
+ :roundedBoxRGBA,
44
+ :lineColor,
45
+ :lineRGBA,
46
+ :aalineColor,
47
+ :aalineRGBA,
48
+ :thickLineColor,
49
+ :thickLineRGBA,
50
+ :circleColor,
51
+ :circleRGBA,
52
+ :arcColor,
53
+ :arcRGBA,
54
+ :aacircleColor,
55
+ :aacircleRGBA,
56
+ :filledCircleColor,
57
+ :filledCircleRGBA,
58
+ :ellipseColor,
59
+ :ellipseRGBA,
60
+ :aaellipseColor,
61
+ :aaellipseRGBA,
62
+ :filledEllipseColor,
63
+ :filledEllipseRGBA,
64
+ :pieColor,
65
+ :pieRGBA,
66
+ :filledPieColor,
67
+ :filledPieRGBA,
68
+ :trigonColor,
69
+ :trigonRGBA,
70
+ :aatrigonColor,
71
+ :aatrigonRGBA,
72
+ :filledTrigonColor,
73
+ :filledTrigonRGBA,
74
+ :polygonColor,
75
+ :polygonRGBA,
76
+ :aapolygonColor,
77
+ :aapolygonRGBA,
78
+ :filledPolygonColor,
79
+ :filledPolygonRGBA,
80
+ :texturedPolygon,
81
+ :bezierColor,
82
+ :bezierRGBA,
83
+ :gfxPrimitivesSetFont,
84
+ :gfxPrimitivesSetFontRotation,
85
+ :characterColor,
86
+ :characterRGBA,
87
+ :stringColor,
88
+ :stringRGBA,
89
+ ]
90
+ args = {
91
+ :pixelColor => [:pointer, :short, :short, :uint],
92
+ :pixelRGBA => [:pointer, :short, :short, :uchar, :uchar, :uchar, :uchar],
93
+ :hlineColor => [:pointer, :short, :short, :short, :uint],
94
+ :hlineRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
95
+ :vlineColor => [:pointer, :short, :short, :short, :uint],
96
+ :vlineRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
97
+ :rectangleColor => [:pointer, :short, :short, :short, :short, :uint],
98
+ :rectangleRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
99
+ :roundedRectangleColor => [:pointer, :short, :short, :short, :short, :short, :uint],
100
+ :roundedRectangleRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
101
+ :boxColor => [:pointer, :short, :short, :short, :short, :uint],
102
+ :boxRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
103
+ :roundedBoxColor => [:pointer, :short, :short, :short, :short, :short, :uint],
104
+ :roundedBoxRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
105
+ :lineColor => [:pointer, :short, :short, :short, :short, :uint],
106
+ :lineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
107
+ :aalineColor => [:pointer, :short, :short, :short, :short, :uint],
108
+ :aalineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
109
+ :thickLineColor => [:pointer, :short, :short, :short, :short, :uchar, :uint],
110
+ :thickLineRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar, :uchar],
111
+ :circleColor => [:pointer, :short, :short, :short, :uint],
112
+ :circleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
113
+ :arcColor => [:pointer, :short, :short, :short, :short, :short, :uint],
114
+ :arcRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
115
+ :aacircleColor => [:pointer, :short, :short, :short, :uint],
116
+ :aacircleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
117
+ :filledCircleColor => [:pointer, :short, :short, :short, :uint],
118
+ :filledCircleRGBA => [:pointer, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
119
+ :ellipseColor => [:pointer, :short, :short, :short, :short, :uint],
120
+ :ellipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
121
+ :aaellipseColor => [:pointer, :short, :short, :short, :short, :uint],
122
+ :aaellipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
123
+ :filledEllipseColor => [:pointer, :short, :short, :short, :short, :uint],
124
+ :filledEllipseRGBA => [:pointer, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
125
+ :pieColor => [:pointer, :short, :short, :short, :short, :short, :uint],
126
+ :pieRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
127
+ :filledPieColor => [:pointer, :short, :short, :short, :short, :short, :uint],
128
+ :filledPieRGBA => [:pointer, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
129
+ :trigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
130
+ :trigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
131
+ :aatrigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
132
+ :aatrigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
133
+ :filledTrigonColor => [:pointer, :short, :short, :short, :short, :short, :short, :uint],
134
+ :filledTrigonRGBA => [:pointer, :short, :short, :short, :short, :short, :short, :uchar, :uchar, :uchar, :uchar],
135
+ :polygonColor => [:pointer, :pointer, :pointer, :int, :uint],
136
+ :polygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
137
+ :aapolygonColor => [:pointer, :pointer, :pointer, :int, :uint],
138
+ :aapolygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
139
+ :filledPolygonColor => [:pointer, :pointer, :pointer, :int, :uint],
140
+ :filledPolygonRGBA => [:pointer, :pointer, :pointer, :int, :uchar, :uchar, :uchar, :uchar],
141
+ :texturedPolygon => [:pointer, :pointer, :pointer, :int, :pointer, :int, :int],
142
+ :bezierColor => [:pointer, :pointer, :pointer, :int, :int, :uint],
143
+ :bezierRGBA => [:pointer, :pointer, :pointer, :int, :int, :uchar, :uchar, :uchar, :uchar],
144
+ :gfxPrimitivesSetFont => [:pointer, :uint, :uint],
145
+ :gfxPrimitivesSetFontRotation => [:uint],
146
+ :characterColor => [:pointer, :short, :short, :char, :uint],
147
+ :characterRGBA => [:pointer, :short, :short, :char, :uchar, :uchar, :uchar, :uchar],
148
+ :stringColor => [:pointer, :short, :short, :pointer, :uint],
149
+ :stringRGBA => [:pointer, :short, :short, :pointer, :uchar, :uchar, :uchar, :uchar],
150
+ }
151
+ retvals = {
152
+ :pixelColor => :int,
153
+ :pixelRGBA => :int,
154
+ :hlineColor => :int,
155
+ :hlineRGBA => :int,
156
+ :vlineColor => :int,
157
+ :vlineRGBA => :int,
158
+ :rectangleColor => :int,
159
+ :rectangleRGBA => :int,
160
+ :roundedRectangleColor => :int,
161
+ :roundedRectangleRGBA => :int,
162
+ :boxColor => :int,
163
+ :boxRGBA => :int,
164
+ :roundedBoxColor => :int,
165
+ :roundedBoxRGBA => :int,
166
+ :lineColor => :int,
167
+ :lineRGBA => :int,
168
+ :aalineColor => :int,
169
+ :aalineRGBA => :int,
170
+ :thickLineColor => :int,
171
+ :thickLineRGBA => :int,
172
+ :circleColor => :int,
173
+ :circleRGBA => :int,
174
+ :arcColor => :int,
175
+ :arcRGBA => :int,
176
+ :aacircleColor => :int,
177
+ :aacircleRGBA => :int,
178
+ :filledCircleColor => :int,
179
+ :filledCircleRGBA => :int,
180
+ :ellipseColor => :int,
181
+ :ellipseRGBA => :int,
182
+ :aaellipseColor => :int,
183
+ :aaellipseRGBA => :int,
184
+ :filledEllipseColor => :int,
185
+ :filledEllipseRGBA => :int,
186
+ :pieColor => :int,
187
+ :pieRGBA => :int,
188
+ :filledPieColor => :int,
189
+ :filledPieRGBA => :int,
190
+ :trigonColor => :int,
191
+ :trigonRGBA => :int,
192
+ :aatrigonColor => :int,
193
+ :aatrigonRGBA => :int,
194
+ :filledTrigonColor => :int,
195
+ :filledTrigonRGBA => :int,
196
+ :polygonColor => :int,
197
+ :polygonRGBA => :int,
198
+ :aapolygonColor => :int,
199
+ :aapolygonRGBA => :int,
200
+ :filledPolygonColor => :int,
201
+ :filledPolygonRGBA => :int,
202
+ :texturedPolygon => :int,
203
+ :bezierColor => :int,
204
+ :bezierRGBA => :int,
205
+ :gfxPrimitivesSetFont => :void,
206
+ :gfxPrimitivesSetFontRotation => :void,
207
+ :characterColor => :int,
208
+ :characterRGBA => :int,
209
+ :stringColor => :int,
210
+ :stringRGBA => :int,
211
+ }
212
+ symbols.each do |sym|
213
+ begin
214
+ attach_function sym, args[sym], retvals[sym]
215
+ rescue FFI::NotFoundError => error
216
+ $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
217
+ end
218
+ end
219
+ end
220
+
221
+ end
222
+