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,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
+