raylib-bindings 0.5.8pre1-arm64-darwin

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,890 @@
1
+ # Yet another raylib wrapper for Ruby
2
+ #
3
+ # * https://github.com/vaiorabbit/raylib-bindings
4
+ #
5
+ # [NOTICE] Autogenerated. Do not edit.
6
+
7
+ require 'ffi'
8
+
9
+ module Raylib
10
+ extend FFI::Library
11
+
12
+ # Define/Macro
13
+
14
+ RAYGUI_VERSION_MAJOR = 4
15
+ RAYGUI_VERSION_MINOR = 0
16
+ RAYGUI_VERSION_PATCH = 0
17
+ RAYGUI_VERSION = "4.0"
18
+ SCROLLBAR_LEFT_SIDE = 0
19
+ SCROLLBAR_RIGHT_SIDE = 1
20
+
21
+ # Enum
22
+
23
+ # enum GuiState
24
+ # Gui control state
25
+ STATE_NORMAL = 0
26
+ STATE_FOCUSED = 1
27
+ STATE_PRESSED = 2
28
+ STATE_DISABLED = 3
29
+
30
+ # enum GuiTextAlignment
31
+ # Gui control text alignment
32
+ TEXT_ALIGN_LEFT = 0
33
+ TEXT_ALIGN_CENTER = 1
34
+ TEXT_ALIGN_RIGHT = 2
35
+
36
+ # enum GuiTextAlignmentVertical
37
+ # Gui control text alignment vertical
38
+ TEXT_ALIGN_TOP = 0
39
+ TEXT_ALIGN_MIDDLE = 1
40
+ TEXT_ALIGN_BOTTOM = 2
41
+
42
+ # enum GuiTextWrapMode
43
+ # Gui control text wrap mode
44
+ TEXT_WRAP_NONE = 0
45
+ TEXT_WRAP_CHAR = 1
46
+ TEXT_WRAP_WORD = 2
47
+
48
+ # enum GuiControl
49
+ # Gui controls
50
+ DEFAULT = 0
51
+ LABEL = 1 # Used also for: LABELBUTTON
52
+ BUTTON = 2
53
+ TOGGLE = 3 # Used also for: TOGGLEGROUP
54
+ SLIDER = 4 # Used also for: SLIDERBAR, TOGGLESLIDER
55
+ PROGRESSBAR = 5
56
+ CHECKBOX = 6
57
+ COMBOBOX = 7
58
+ DROPDOWNBOX = 8
59
+ TEXTBOX = 9 # Used also for: TEXTBOXMULTI
60
+ VALUEBOX = 10
61
+ SPINNER = 11 # Uses: BUTTON, VALUEBOX
62
+ LISTVIEW = 12
63
+ COLORPICKER = 13
64
+ SCROLLBAR = 14
65
+ STATUSBAR = 15
66
+
67
+ # enum GuiControlProperty
68
+ # Gui base properties for every control
69
+ BORDER_COLOR_NORMAL = 0 # Control border color in STATE_NORMAL
70
+ BASE_COLOR_NORMAL = 1 # Control base color in STATE_NORMAL
71
+ TEXT_COLOR_NORMAL = 2 # Control text color in STATE_NORMAL
72
+ BORDER_COLOR_FOCUSED = 3 # Control border color in STATE_FOCUSED
73
+ BASE_COLOR_FOCUSED = 4 # Control base color in STATE_FOCUSED
74
+ TEXT_COLOR_FOCUSED = 5 # Control text color in STATE_FOCUSED
75
+ BORDER_COLOR_PRESSED = 6 # Control border color in STATE_PRESSED
76
+ BASE_COLOR_PRESSED = 7 # Control base color in STATE_PRESSED
77
+ TEXT_COLOR_PRESSED = 8 # Control text color in STATE_PRESSED
78
+ BORDER_COLOR_DISABLED = 9 # Control border color in STATE_DISABLED
79
+ BASE_COLOR_DISABLED = 10 # Control base color in STATE_DISABLED
80
+ TEXT_COLOR_DISABLED = 11 # Control text color in STATE_DISABLED
81
+ BORDER_WIDTH = 12 # Control border size, 0 for no border
82
+ TEXT_PADDING = 13 # Control text padding, not considering border
83
+ TEXT_ALIGNMENT = 14 # Control text horizontal alignment inside control text bound (after border and padding)
84
+
85
+ # enum GuiDefaultProperty
86
+ # DEFAULT extended properties
87
+ TEXT_SIZE = 16 # Text size (glyphs max height)
88
+ TEXT_SPACING = 17 # Text spacing between glyphs
89
+ LINE_COLOR = 18 # Line control color
90
+ BACKGROUND_COLOR = 19 # Background color
91
+ TEXT_LINE_SPACING = 20 # Text spacing between lines
92
+ TEXT_ALIGNMENT_VERTICAL = 21 # Text vertical alignment inside text bounds (after border and padding)
93
+ TEXT_WRAP_MODE = 22 # Text wrap-mode inside text bounds
94
+
95
+ # enum GuiToggleProperty
96
+ # Toggle/ToggleGroup
97
+ GROUP_PADDING = 16 # ToggleGroup separation between toggles
98
+
99
+ # enum GuiSliderProperty
100
+ # Slider/SliderBar
101
+ SLIDER_WIDTH = 16 # Slider size of internal bar
102
+ SLIDER_PADDING = 17 # Slider/SliderBar internal bar padding
103
+
104
+ # enum GuiProgressBarProperty
105
+ # ProgressBar
106
+ PROGRESS_PADDING = 16 # ProgressBar internal padding
107
+
108
+ # enum GuiScrollBarProperty
109
+ # ScrollBar
110
+ ARROWS_SIZE = 16 # ScrollBar arrows size
111
+ ARROWS_VISIBLE = 17 # ScrollBar arrows visible
112
+ SCROLL_SLIDER_PADDING = 18 # ScrollBar slider internal padding
113
+ SCROLL_SLIDER_SIZE = 19 # ScrollBar slider size
114
+ SCROLL_PADDING = 20 # ScrollBar scroll padding from arrows
115
+ SCROLL_SPEED = 21 # ScrollBar scrolling speed
116
+
117
+ # enum GuiCheckBoxProperty
118
+ # CheckBox
119
+ CHECK_PADDING = 16 # CheckBox internal check padding
120
+
121
+ # enum GuiComboBoxProperty
122
+ # ComboBox
123
+ COMBO_BUTTON_WIDTH = 16 # ComboBox right button width
124
+ COMBO_BUTTON_SPACING = 17 # ComboBox button separation
125
+
126
+ # enum GuiDropdownBoxProperty
127
+ # DropdownBox
128
+ ARROW_PADDING = 16 # DropdownBox arrow separation from border and items
129
+ DROPDOWN_ITEMS_SPACING = 17 # DropdownBox items separation
130
+
131
+ # enum GuiTextBoxProperty
132
+ # TextBox/TextBoxMulti/ValueBox/Spinner
133
+ TEXT_READONLY = 16 # TextBox in read-only mode: 0-text editable, 1-text no-editable
134
+
135
+ # enum GuiSpinnerProperty
136
+ # Spinner
137
+ SPIN_BUTTON_WIDTH = 16 # Spinner left/right buttons width
138
+ SPIN_BUTTON_SPACING = 17 # Spinner buttons separation
139
+
140
+ # enum GuiListViewProperty
141
+ # ListView
142
+ LIST_ITEMS_HEIGHT = 16 # ListView items height
143
+ LIST_ITEMS_SPACING = 17 # ListView items separation
144
+ SCROLLBAR_WIDTH = 18 # ListView scrollbar size (usually width)
145
+ SCROLLBAR_SIDE = 19 # ListView scrollbar side (0-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE)
146
+
147
+ # enum GuiColorPickerProperty
148
+ # ColorPicker
149
+ COLOR_SELECTOR_SIZE = 16
150
+ HUEBAR_WIDTH = 17 # ColorPicker right hue bar width
151
+ HUEBAR_PADDING = 18 # ColorPicker right hue bar separation from panel
152
+ HUEBAR_SELECTOR_HEIGHT = 19 # ColorPicker right hue bar selector height
153
+ HUEBAR_SELECTOR_OVERFLOW = 20 # ColorPicker right hue bar selector overflow
154
+
155
+ # enum GuiIconName
156
+ #
157
+ ICON_NONE = 0
158
+ ICON_FOLDER_FILE_OPEN = 1
159
+ ICON_FILE_SAVE_CLASSIC = 2
160
+ ICON_FOLDER_OPEN = 3
161
+ ICON_FOLDER_SAVE = 4
162
+ ICON_FILE_OPEN = 5
163
+ ICON_FILE_SAVE = 6
164
+ ICON_FILE_EXPORT = 7
165
+ ICON_FILE_ADD = 8
166
+ ICON_FILE_DELETE = 9
167
+ ICON_FILETYPE_TEXT = 10
168
+ ICON_FILETYPE_AUDIO = 11
169
+ ICON_FILETYPE_IMAGE = 12
170
+ ICON_FILETYPE_PLAY = 13
171
+ ICON_FILETYPE_VIDEO = 14
172
+ ICON_FILETYPE_INFO = 15
173
+ ICON_FILE_COPY = 16
174
+ ICON_FILE_CUT = 17
175
+ ICON_FILE_PASTE = 18
176
+ ICON_CURSOR_HAND = 19
177
+ ICON_CURSOR_POINTER = 20
178
+ ICON_CURSOR_CLASSIC = 21
179
+ ICON_PENCIL = 22
180
+ ICON_PENCIL_BIG = 23
181
+ ICON_BRUSH_CLASSIC = 24
182
+ ICON_BRUSH_PAINTER = 25
183
+ ICON_WATER_DROP = 26
184
+ ICON_COLOR_PICKER = 27
185
+ ICON_RUBBER = 28
186
+ ICON_COLOR_BUCKET = 29
187
+ ICON_TEXT_T = 30
188
+ ICON_TEXT_A = 31
189
+ ICON_SCALE = 32
190
+ ICON_RESIZE = 33
191
+ ICON_FILTER_POINT = 34
192
+ ICON_FILTER_BILINEAR = 35
193
+ ICON_CROP = 36
194
+ ICON_CROP_ALPHA = 37
195
+ ICON_SQUARE_TOGGLE = 38
196
+ ICON_SYMMETRY = 39
197
+ ICON_SYMMETRY_HORIZONTAL = 40
198
+ ICON_SYMMETRY_VERTICAL = 41
199
+ ICON_LENS = 42
200
+ ICON_LENS_BIG = 43
201
+ ICON_EYE_ON = 44
202
+ ICON_EYE_OFF = 45
203
+ ICON_FILTER_TOP = 46
204
+ ICON_FILTER = 47
205
+ ICON_TARGET_POINT = 48
206
+ ICON_TARGET_SMALL = 49
207
+ ICON_TARGET_BIG = 50
208
+ ICON_TARGET_MOVE = 51
209
+ ICON_CURSOR_MOVE = 52
210
+ ICON_CURSOR_SCALE = 53
211
+ ICON_CURSOR_SCALE_RIGHT = 54
212
+ ICON_CURSOR_SCALE_LEFT = 55
213
+ ICON_UNDO = 56
214
+ ICON_REDO = 57
215
+ ICON_REREDO = 58
216
+ ICON_MUTATE = 59
217
+ ICON_ROTATE = 60
218
+ ICON_REPEAT = 61
219
+ ICON_SHUFFLE = 62
220
+ ICON_EMPTYBOX = 63
221
+ ICON_TARGET = 64
222
+ ICON_TARGET_SMALL_FILL = 65
223
+ ICON_TARGET_BIG_FILL = 66
224
+ ICON_TARGET_MOVE_FILL = 67
225
+ ICON_CURSOR_MOVE_FILL = 68
226
+ ICON_CURSOR_SCALE_FILL = 69
227
+ ICON_CURSOR_SCALE_RIGHT_FILL = 70
228
+ ICON_CURSOR_SCALE_LEFT_FILL = 71
229
+ ICON_UNDO_FILL = 72
230
+ ICON_REDO_FILL = 73
231
+ ICON_REREDO_FILL = 74
232
+ ICON_MUTATE_FILL = 75
233
+ ICON_ROTATE_FILL = 76
234
+ ICON_REPEAT_FILL = 77
235
+ ICON_SHUFFLE_FILL = 78
236
+ ICON_EMPTYBOX_SMALL = 79
237
+ ICON_BOX = 80
238
+ ICON_BOX_TOP = 81
239
+ ICON_BOX_TOP_RIGHT = 82
240
+ ICON_BOX_RIGHT = 83
241
+ ICON_BOX_BOTTOM_RIGHT = 84
242
+ ICON_BOX_BOTTOM = 85
243
+ ICON_BOX_BOTTOM_LEFT = 86
244
+ ICON_BOX_LEFT = 87
245
+ ICON_BOX_TOP_LEFT = 88
246
+ ICON_BOX_CENTER = 89
247
+ ICON_BOX_CIRCLE_MASK = 90
248
+ ICON_POT = 91
249
+ ICON_ALPHA_MULTIPLY = 92
250
+ ICON_ALPHA_CLEAR = 93
251
+ ICON_DITHERING = 94
252
+ ICON_MIPMAPS = 95
253
+ ICON_BOX_GRID = 96
254
+ ICON_GRID = 97
255
+ ICON_BOX_CORNERS_SMALL = 98
256
+ ICON_BOX_CORNERS_BIG = 99
257
+ ICON_FOUR_BOXES = 100
258
+ ICON_GRID_FILL = 101
259
+ ICON_BOX_MULTISIZE = 102
260
+ ICON_ZOOM_SMALL = 103
261
+ ICON_ZOOM_MEDIUM = 104
262
+ ICON_ZOOM_BIG = 105
263
+ ICON_ZOOM_ALL = 106
264
+ ICON_ZOOM_CENTER = 107
265
+ ICON_BOX_DOTS_SMALL = 108
266
+ ICON_BOX_DOTS_BIG = 109
267
+ ICON_BOX_CONCENTRIC = 110
268
+ ICON_BOX_GRID_BIG = 111
269
+ ICON_OK_TICK = 112
270
+ ICON_CROSS = 113
271
+ ICON_ARROW_LEFT = 114
272
+ ICON_ARROW_RIGHT = 115
273
+ ICON_ARROW_DOWN = 116
274
+ ICON_ARROW_UP = 117
275
+ ICON_ARROW_LEFT_FILL = 118
276
+ ICON_ARROW_RIGHT_FILL = 119
277
+ ICON_ARROW_DOWN_FILL = 120
278
+ ICON_ARROW_UP_FILL = 121
279
+ ICON_AUDIO = 122
280
+ ICON_FX = 123
281
+ ICON_WAVE = 124
282
+ ICON_WAVE_SINUS = 125
283
+ ICON_WAVE_SQUARE = 126
284
+ ICON_WAVE_TRIANGULAR = 127
285
+ ICON_CROSS_SMALL = 128
286
+ ICON_PLAYER_PREVIOUS = 129
287
+ ICON_PLAYER_PLAY_BACK = 130
288
+ ICON_PLAYER_PLAY = 131
289
+ ICON_PLAYER_PAUSE = 132
290
+ ICON_PLAYER_STOP = 133
291
+ ICON_PLAYER_NEXT = 134
292
+ ICON_PLAYER_RECORD = 135
293
+ ICON_MAGNET = 136
294
+ ICON_LOCK_CLOSE = 137
295
+ ICON_LOCK_OPEN = 138
296
+ ICON_CLOCK = 139
297
+ ICON_TOOLS = 140
298
+ ICON_GEAR = 141
299
+ ICON_GEAR_BIG = 142
300
+ ICON_BIN = 143
301
+ ICON_HAND_POINTER = 144
302
+ ICON_LASER = 145
303
+ ICON_COIN = 146
304
+ ICON_EXPLOSION = 147
305
+ ICON_1UP = 148
306
+ ICON_PLAYER = 149
307
+ ICON_PLAYER_JUMP = 150
308
+ ICON_KEY = 151
309
+ ICON_DEMON = 152
310
+ ICON_TEXT_POPUP = 153
311
+ ICON_GEAR_EX = 154
312
+ ICON_CRACK = 155
313
+ ICON_CRACK_POINTS = 156
314
+ ICON_STAR = 157
315
+ ICON_DOOR = 158
316
+ ICON_EXIT = 159
317
+ ICON_MODE_2D = 160
318
+ ICON_MODE_3D = 161
319
+ ICON_CUBE = 162
320
+ ICON_CUBE_FACE_TOP = 163
321
+ ICON_CUBE_FACE_LEFT = 164
322
+ ICON_CUBE_FACE_FRONT = 165
323
+ ICON_CUBE_FACE_BOTTOM = 166
324
+ ICON_CUBE_FACE_RIGHT = 167
325
+ ICON_CUBE_FACE_BACK = 168
326
+ ICON_CAMERA = 169
327
+ ICON_SPECIAL = 170
328
+ ICON_LINK_NET = 171
329
+ ICON_LINK_BOXES = 172
330
+ ICON_LINK_MULTI = 173
331
+ ICON_LINK = 174
332
+ ICON_LINK_BROKE = 175
333
+ ICON_TEXT_NOTES = 176
334
+ ICON_NOTEBOOK = 177
335
+ ICON_SUITCASE = 178
336
+ ICON_SUITCASE_ZIP = 179
337
+ ICON_MAILBOX = 180
338
+ ICON_MONITOR = 181
339
+ ICON_PRINTER = 182
340
+ ICON_PHOTO_CAMERA = 183
341
+ ICON_PHOTO_CAMERA_FLASH = 184
342
+ ICON_HOUSE = 185
343
+ ICON_HEART = 186
344
+ ICON_CORNER = 187
345
+ ICON_VERTICAL_BARS = 188
346
+ ICON_VERTICAL_BARS_FILL = 189
347
+ ICON_LIFE_BARS = 190
348
+ ICON_INFO = 191
349
+ ICON_CROSSLINE = 192
350
+ ICON_HELP = 193
351
+ ICON_FILETYPE_ALPHA = 194
352
+ ICON_FILETYPE_HOME = 195
353
+ ICON_LAYERS_VISIBLE = 196
354
+ ICON_LAYERS = 197
355
+ ICON_WINDOW = 198
356
+ ICON_HIDPI = 199
357
+ ICON_FILETYPE_BINARY = 200
358
+ ICON_HEX = 201
359
+ ICON_SHIELD = 202
360
+ ICON_FILE_NEW = 203
361
+ ICON_FOLDER_ADD = 204
362
+ ICON_ALARM = 205
363
+ ICON_CPU = 206
364
+ ICON_ROM = 207
365
+ ICON_STEP_OVER = 208
366
+ ICON_STEP_INTO = 209
367
+ ICON_STEP_OUT = 210
368
+ ICON_RESTART = 211
369
+ ICON_BREAKPOINT_ON = 212
370
+ ICON_BREAKPOINT_OFF = 213
371
+ ICON_BURGER_MENU = 214
372
+ ICON_CASE_SENSITIVE = 215
373
+ ICON_REG_EXP = 216
374
+ ICON_FOLDER = 217
375
+ ICON_FILE = 218
376
+ ICON_SAND_TIMER = 219
377
+ ICON_220 = 220
378
+ ICON_221 = 221
379
+ ICON_222 = 222
380
+ ICON_223 = 223
381
+ ICON_224 = 224
382
+ ICON_225 = 225
383
+ ICON_226 = 226
384
+ ICON_227 = 227
385
+ ICON_228 = 228
386
+ ICON_229 = 229
387
+ ICON_230 = 230
388
+ ICON_231 = 231
389
+ ICON_232 = 232
390
+ ICON_233 = 233
391
+ ICON_234 = 234
392
+ ICON_235 = 235
393
+ ICON_236 = 236
394
+ ICON_237 = 237
395
+ ICON_238 = 238
396
+ ICON_239 = 239
397
+ ICON_240 = 240
398
+ ICON_241 = 241
399
+ ICON_242 = 242
400
+ ICON_243 = 243
401
+ ICON_244 = 244
402
+ ICON_245 = 245
403
+ ICON_246 = 246
404
+ ICON_247 = 247
405
+ ICON_248 = 248
406
+ ICON_249 = 249
407
+ ICON_250 = 250
408
+ ICON_251 = 251
409
+ ICON_252 = 252
410
+ ICON_253 = 253
411
+ ICON_254 = 254
412
+ ICON_255 = 255
413
+
414
+
415
+ # Typedef
416
+
417
+ typedef :int, :GuiState
418
+ typedef :int, :GuiTextAlignment
419
+ typedef :int, :GuiTextAlignmentVertical
420
+ typedef :int, :GuiTextWrapMode
421
+ typedef :int, :GuiControl
422
+ typedef :int, :GuiControlProperty
423
+ typedef :int, :GuiDefaultProperty
424
+ typedef :int, :GuiToggleProperty
425
+ typedef :int, :GuiSliderProperty
426
+ typedef :int, :GuiProgressBarProperty
427
+ typedef :int, :GuiScrollBarProperty
428
+ typedef :int, :GuiCheckBoxProperty
429
+ typedef :int, :GuiComboBoxProperty
430
+ typedef :int, :GuiDropdownBoxProperty
431
+ typedef :int, :GuiTextBoxProperty
432
+ typedef :int, :GuiSpinnerProperty
433
+ typedef :int, :GuiListViewProperty
434
+ typedef :int, :GuiColorPickerProperty
435
+ typedef :int, :GuiIconName
436
+
437
+ # Struct
438
+
439
+ # NOTE: Used when exporting style as code for convenience
440
+ class GuiStyleProp < FFI::Struct
441
+ layout(
442
+ :controlId, :ushort, # Control identifier
443
+ :propertyId, :ushort, # Property identifier
444
+ :propertyValue, :int, # Property value
445
+ )
446
+ def controlId = self[:controlId]
447
+ def controlId=(v) self[:controlId] = v end
448
+ def propertyId = self[:propertyId]
449
+ def propertyId=(v) self[:propertyId] = v end
450
+ def propertyValue = self[:propertyValue]
451
+ def propertyValue=(v) self[:propertyValue] = v end
452
+ end
453
+
454
+
455
+ # Function
456
+
457
+ def self.setup_raygui_symbols
458
+ entries = [
459
+
460
+ # @!method GuiEnable()
461
+ # GuiEnable : Enable gui controls (global state)
462
+ # @return [void]
463
+ [:GuiEnable, :GuiEnable, [], :void],
464
+
465
+ # @!method GuiDisable()
466
+ # GuiDisable : Disable gui controls (global state)
467
+ # @return [void]
468
+ [:GuiDisable, :GuiDisable, [], :void],
469
+
470
+ # @!method GuiLock()
471
+ # GuiLock : Lock gui controls (global state)
472
+ # @return [void]
473
+ [:GuiLock, :GuiLock, [], :void],
474
+
475
+ # @!method GuiUnlock()
476
+ # GuiUnlock : Unlock gui controls (global state)
477
+ # @return [void]
478
+ [:GuiUnlock, :GuiUnlock, [], :void],
479
+
480
+ # @!method GuiIsLocked()
481
+ # GuiIsLocked : Check if gui is locked (global state)
482
+ # @return [bool]
483
+ [:GuiIsLocked, :GuiIsLocked, [], :bool],
484
+
485
+ # @!method GuiSetAlpha(alpha)
486
+ # GuiSetAlpha : Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
487
+ # @param alpha [float]
488
+ # @return [void]
489
+ [:GuiSetAlpha, :GuiSetAlpha, [:float], :void],
490
+
491
+ # @!method GuiSetState(state)
492
+ # GuiSetState : Set gui state (global state)
493
+ # @param state [int]
494
+ # @return [void]
495
+ [:GuiSetState, :GuiSetState, [:int], :void],
496
+
497
+ # @!method GuiGetState()
498
+ # GuiGetState : Get gui state (global state)
499
+ # @return [int]
500
+ [:GuiGetState, :GuiGetState, [], :int],
501
+
502
+ # @!method GuiSetFont(font)
503
+ # GuiSetFont : Set gui custom font (global state)
504
+ # @param font [Font]
505
+ # @return [void]
506
+ [:GuiSetFont, :GuiSetFont, [Font.by_value], :void],
507
+
508
+ # @!method GuiGetFont()
509
+ # GuiGetFont : Get gui custom font (global state)
510
+ # @return [Font]
511
+ [:GuiGetFont, :GuiGetFont, [], Font.by_value],
512
+
513
+ # @!method GuiSetStyle(control, property, value)
514
+ # GuiSetStyle : Set one style property
515
+ # @param control [int]
516
+ # @param property [int]
517
+ # @param value [int]
518
+ # @return [void]
519
+ [:GuiSetStyle, :GuiSetStyle, [:int, :int, :int], :void],
520
+
521
+ # @!method GuiGetStyle(control, property)
522
+ # GuiGetStyle : Get one style property
523
+ # @param control [int]
524
+ # @param property [int]
525
+ # @return [int]
526
+ [:GuiGetStyle, :GuiGetStyle, [:int, :int], :int],
527
+
528
+ # @!method GuiLoadStyle(fileName)
529
+ # GuiLoadStyle : Load style file over global style variable (.rgs)
530
+ # @param fileName [const char *]
531
+ # @return [void]
532
+ [:GuiLoadStyle, :GuiLoadStyle, [:pointer], :void],
533
+
534
+ # @!method GuiLoadStyleDefault()
535
+ # GuiLoadStyleDefault : Load style default over global style
536
+ # @return [void]
537
+ [:GuiLoadStyleDefault, :GuiLoadStyleDefault, [], :void],
538
+
539
+ # @!method GuiEnableTooltip()
540
+ # GuiEnableTooltip : Enable gui tooltips (global state)
541
+ # @return [void]
542
+ [:GuiEnableTooltip, :GuiEnableTooltip, [], :void],
543
+
544
+ # @!method GuiDisableTooltip()
545
+ # GuiDisableTooltip : Disable gui tooltips (global state)
546
+ # @return [void]
547
+ [:GuiDisableTooltip, :GuiDisableTooltip, [], :void],
548
+
549
+ # @!method GuiSetTooltip(tooltip)
550
+ # GuiSetTooltip : Set tooltip string
551
+ # @param tooltip [const char *]
552
+ # @return [void]
553
+ [:GuiSetTooltip, :GuiSetTooltip, [:pointer], :void],
554
+
555
+ # @!method GuiIconText(iconId, text)
556
+ # GuiIconText : Get text with icon id prepended (if supported)
557
+ # @param iconId [int]
558
+ # @param text [const char *]
559
+ # @return [const char *]
560
+ [:GuiIconText, :GuiIconText, [:int, :pointer], :pointer],
561
+
562
+ # @!method GuiSetIconScale(scale)
563
+ # GuiSetIconScale : Set default icon drawing size
564
+ # @param scale [int]
565
+ # @return [void]
566
+ [:GuiSetIconScale, :GuiSetIconScale, [:int], :void],
567
+
568
+ # @!method GuiGetIcons()
569
+ # GuiGetIcons : Get raygui icons data pointer
570
+ # @return [unsigned int *]
571
+ [:GuiGetIcons, :GuiGetIcons, [], :pointer],
572
+
573
+ # @!method GuiLoadIcons(fileName, loadIconsName)
574
+ # GuiLoadIcons : Load raygui icons file (.rgi) into internal icons data
575
+ # @param fileName [const char *]
576
+ # @param loadIconsName [bool]
577
+ # @return [char **]
578
+ [:GuiLoadIcons, :GuiLoadIcons, [:pointer, :bool], :pointer],
579
+
580
+ # @!method GuiDrawIcon(iconId, posX, posY, pixelSize, color)
581
+ # GuiDrawIcon : Draw icon using pixel size at specified position
582
+ # @param iconId [int]
583
+ # @param posX [int]
584
+ # @param posY [int]
585
+ # @param pixelSize [int]
586
+ # @param color [Color]
587
+ # @return [void]
588
+ [:GuiDrawIcon, :GuiDrawIcon, [:int, :int, :int, :int, Color.by_value], :void],
589
+
590
+ # @!method GuiWindowBox(bounds, title)
591
+ # GuiWindowBox : Window Box control, shows a window that can be closed
592
+ # @param bounds [Rectangle]
593
+ # @param title [const char *]
594
+ # @return [int]
595
+ [:GuiWindowBox, :GuiWindowBox, [Rectangle.by_value, :pointer], :int],
596
+
597
+ # @!method GuiGroupBox(bounds, text)
598
+ # GuiGroupBox : Group Box control with text name
599
+ # @param bounds [Rectangle]
600
+ # @param text [const char *]
601
+ # @return [int]
602
+ [:GuiGroupBox, :GuiGroupBox, [Rectangle.by_value, :pointer], :int],
603
+
604
+ # @!method GuiLine(bounds, text)
605
+ # GuiLine : Line separator control, could contain text
606
+ # @param bounds [Rectangle]
607
+ # @param text [const char *]
608
+ # @return [int]
609
+ [:GuiLine, :GuiLine, [Rectangle.by_value, :pointer], :int],
610
+
611
+ # @!method GuiPanel(bounds, text)
612
+ # GuiPanel : Panel control, useful to group controls
613
+ # @param bounds [Rectangle]
614
+ # @param text [const char *]
615
+ # @return [int]
616
+ [:GuiPanel, :GuiPanel, [Rectangle.by_value, :pointer], :int],
617
+
618
+ # @!method GuiTabBar(bounds, text, count, active)
619
+ # GuiTabBar : Tab Bar control, returns TAB to be closed or -1
620
+ # @param bounds [Rectangle]
621
+ # @param text [const char **]
622
+ # @param count [int]
623
+ # @param active [int *]
624
+ # @return [int]
625
+ [:GuiTabBar, :GuiTabBar, [Rectangle.by_value, :pointer, :int, :pointer], :int],
626
+
627
+ # @!method GuiScrollPanel(bounds, text, content, scroll, view)
628
+ # GuiScrollPanel : Scroll Panel control
629
+ # @param bounds [Rectangle]
630
+ # @param text [const char *]
631
+ # @param content [Rectangle]
632
+ # @param scroll [Vector2 *]
633
+ # @param view [Rectangle *]
634
+ # @return [int]
635
+ [:GuiScrollPanel, :GuiScrollPanel, [Rectangle.by_value, :pointer, Rectangle.by_value, :pointer, :pointer], :int],
636
+
637
+ # @!method GuiLabel(bounds, text)
638
+ # GuiLabel : Label control, shows text
639
+ # @param bounds [Rectangle]
640
+ # @param text [const char *]
641
+ # @return [int]
642
+ [:GuiLabel, :GuiLabel, [Rectangle.by_value, :pointer], :int],
643
+
644
+ # @!method GuiButton(bounds, text)
645
+ # GuiButton : Button control, returns true when clicked
646
+ # @param bounds [Rectangle]
647
+ # @param text [const char *]
648
+ # @return [int]
649
+ [:GuiButton, :GuiButton, [Rectangle.by_value, :pointer], :int],
650
+
651
+ # @!method GuiLabelButton(bounds, text)
652
+ # GuiLabelButton : Label button control, show true when clicked
653
+ # @param bounds [Rectangle]
654
+ # @param text [const char *]
655
+ # @return [int]
656
+ [:GuiLabelButton, :GuiLabelButton, [Rectangle.by_value, :pointer], :int],
657
+
658
+ # @!method GuiToggle(bounds, text, active)
659
+ # GuiToggle : Toggle Button control, returns true when active
660
+ # @param bounds [Rectangle]
661
+ # @param text [const char *]
662
+ # @param active [bool *]
663
+ # @return [int]
664
+ [:GuiToggle, :GuiToggle, [Rectangle.by_value, :pointer, :pointer], :int],
665
+
666
+ # @!method GuiToggleGroup(bounds, text, active)
667
+ # GuiToggleGroup : Toggle Group control, returns active toggle index
668
+ # @param bounds [Rectangle]
669
+ # @param text [const char *]
670
+ # @param active [int *]
671
+ # @return [int]
672
+ [:GuiToggleGroup, :GuiToggleGroup, [Rectangle.by_value, :pointer, :pointer], :int],
673
+
674
+ # @!method GuiToggleSlider(bounds, text, active)
675
+ # GuiToggleSlider : Toggle Slider control, returns true when clicked
676
+ # @param bounds [Rectangle]
677
+ # @param text [const char *]
678
+ # @param active [int *]
679
+ # @return [int]
680
+ [:GuiToggleSlider, :GuiToggleSlider, [Rectangle.by_value, :pointer, :pointer], :int],
681
+
682
+ # @!method GuiCheckBox(bounds, text, checked)
683
+ # GuiCheckBox : Check Box control, returns true when active
684
+ # @param bounds [Rectangle]
685
+ # @param text [const char *]
686
+ # @param checked [bool *]
687
+ # @return [int]
688
+ [:GuiCheckBox, :GuiCheckBox, [Rectangle.by_value, :pointer, :pointer], :int],
689
+
690
+ # @!method GuiComboBox(bounds, text, active)
691
+ # GuiComboBox : Combo Box control, returns selected item index
692
+ # @param bounds [Rectangle]
693
+ # @param text [const char *]
694
+ # @param active [int *]
695
+ # @return [int]
696
+ [:GuiComboBox, :GuiComboBox, [Rectangle.by_value, :pointer, :pointer], :int],
697
+
698
+ # @!method GuiDropdownBox(bounds, text, active, editMode)
699
+ # GuiDropdownBox : Dropdown Box control, returns selected item
700
+ # @param bounds [Rectangle]
701
+ # @param text [const char *]
702
+ # @param active [int *]
703
+ # @param editMode [bool]
704
+ # @return [int]
705
+ [:GuiDropdownBox, :GuiDropdownBox, [Rectangle.by_value, :pointer, :pointer, :bool], :int],
706
+
707
+ # @!method GuiSpinner(bounds, text, value, minValue, maxValue, editMode)
708
+ # GuiSpinner : Spinner control, returns selected value
709
+ # @param bounds [Rectangle]
710
+ # @param text [const char *]
711
+ # @param value [int *]
712
+ # @param minValue [int]
713
+ # @param maxValue [int]
714
+ # @param editMode [bool]
715
+ # @return [int]
716
+ [:GuiSpinner, :GuiSpinner, [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool], :int],
717
+
718
+ # @!method GuiValueBox(bounds, text, value, minValue, maxValue, editMode)
719
+ # GuiValueBox : Value Box control, updates input text with numbers
720
+ # @param bounds [Rectangle]
721
+ # @param text [const char *]
722
+ # @param value [int *]
723
+ # @param minValue [int]
724
+ # @param maxValue [int]
725
+ # @param editMode [bool]
726
+ # @return [int]
727
+ [:GuiValueBox, :GuiValueBox, [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool], :int],
728
+
729
+ # @!method GuiTextBox(bounds, text, textSize, editMode)
730
+ # GuiTextBox : Text Box control, updates input text
731
+ # @param bounds [Rectangle]
732
+ # @param text [char *]
733
+ # @param textSize [int]
734
+ # @param editMode [bool]
735
+ # @return [int]
736
+ [:GuiTextBox, :GuiTextBox, [Rectangle.by_value, :pointer, :int, :bool], :int],
737
+
738
+ # @!method GuiSlider(bounds, textLeft, textRight, value, minValue, maxValue)
739
+ # GuiSlider : Slider control, returns selected value
740
+ # @param bounds [Rectangle]
741
+ # @param textLeft [const char *]
742
+ # @param textRight [const char *]
743
+ # @param value [float *]
744
+ # @param minValue [float]
745
+ # @param maxValue [float]
746
+ # @return [int]
747
+ [:GuiSlider, :GuiSlider, [Rectangle.by_value, :pointer, :pointer, :pointer, :float, :float], :int],
748
+
749
+ # @!method GuiSliderBar(bounds, textLeft, textRight, value, minValue, maxValue)
750
+ # GuiSliderBar : Slider Bar control, returns selected value
751
+ # @param bounds [Rectangle]
752
+ # @param textLeft [const char *]
753
+ # @param textRight [const char *]
754
+ # @param value [float *]
755
+ # @param minValue [float]
756
+ # @param maxValue [float]
757
+ # @return [int]
758
+ [:GuiSliderBar, :GuiSliderBar, [Rectangle.by_value, :pointer, :pointer, :pointer, :float, :float], :int],
759
+
760
+ # @!method GuiProgressBar(bounds, textLeft, textRight, value, minValue, maxValue)
761
+ # GuiProgressBar : Progress Bar control, shows current progress value
762
+ # @param bounds [Rectangle]
763
+ # @param textLeft [const char *]
764
+ # @param textRight [const char *]
765
+ # @param value [float *]
766
+ # @param minValue [float]
767
+ # @param maxValue [float]
768
+ # @return [int]
769
+ [:GuiProgressBar, :GuiProgressBar, [Rectangle.by_value, :pointer, :pointer, :pointer, :float, :float], :int],
770
+
771
+ # @!method GuiStatusBar(bounds, text)
772
+ # GuiStatusBar : Status Bar control, shows info text
773
+ # @param bounds [Rectangle]
774
+ # @param text [const char *]
775
+ # @return [int]
776
+ [:GuiStatusBar, :GuiStatusBar, [Rectangle.by_value, :pointer], :int],
777
+
778
+ # @!method GuiDummyRec(bounds, text)
779
+ # GuiDummyRec : Dummy control for placeholders
780
+ # @param bounds [Rectangle]
781
+ # @param text [const char *]
782
+ # @return [int]
783
+ [:GuiDummyRec, :GuiDummyRec, [Rectangle.by_value, :pointer], :int],
784
+
785
+ # @!method GuiGrid(bounds, text, spacing, subdivs, mouseCell)
786
+ # GuiGrid : Grid control, returns mouse cell position
787
+ # @param bounds [Rectangle]
788
+ # @param text [const char *]
789
+ # @param spacing [float]
790
+ # @param subdivs [int]
791
+ # @param mouseCell [Vector2 *]
792
+ # @return [int]
793
+ [:GuiGrid, :GuiGrid, [Rectangle.by_value, :pointer, :float, :int, :pointer], :int],
794
+
795
+ # @!method GuiListView(bounds, text, scrollIndex, active)
796
+ # GuiListView : List View control, returns selected list item index
797
+ # @param bounds [Rectangle]
798
+ # @param text [const char *]
799
+ # @param scrollIndex [int *]
800
+ # @param active [int *]
801
+ # @return [int]
802
+ [:GuiListView, :GuiListView, [Rectangle.by_value, :pointer, :pointer, :pointer], :int],
803
+
804
+ # @!method GuiListViewEx(bounds, text, count, scrollIndex, active, focus)
805
+ # GuiListViewEx : List View with extended parameters
806
+ # @param bounds [Rectangle]
807
+ # @param text [const char **]
808
+ # @param count [int]
809
+ # @param scrollIndex [int *]
810
+ # @param active [int *]
811
+ # @param focus [int *]
812
+ # @return [int]
813
+ [:GuiListViewEx, :GuiListViewEx, [Rectangle.by_value, :pointer, :int, :pointer, :pointer, :pointer], :int],
814
+
815
+ # @!method GuiMessageBox(bounds, title, message, buttons)
816
+ # GuiMessageBox : Message Box control, displays a message
817
+ # @param bounds [Rectangle]
818
+ # @param title [const char *]
819
+ # @param message [const char *]
820
+ # @param buttons [const char *]
821
+ # @return [int]
822
+ [:GuiMessageBox, :GuiMessageBox, [Rectangle.by_value, :pointer, :pointer, :pointer], :int],
823
+
824
+ # @!method GuiTextInputBox(bounds, title, message, buttons, text, textMaxSize, secretViewActive)
825
+ # GuiTextInputBox : Text Input Box control, ask for text, supports secret
826
+ # @param bounds [Rectangle]
827
+ # @param title [const char *]
828
+ # @param message [const char *]
829
+ # @param buttons [const char *]
830
+ # @param text [char *]
831
+ # @param textMaxSize [int]
832
+ # @param secretViewActive [bool *]
833
+ # @return [int]
834
+ [:GuiTextInputBox, :GuiTextInputBox, [Rectangle.by_value, :pointer, :pointer, :pointer, :pointer, :int, :pointer], :int],
835
+
836
+ # @!method GuiColorPicker(bounds, text, color)
837
+ # GuiColorPicker : Color Picker control (multiple color controls)
838
+ # @param bounds [Rectangle]
839
+ # @param text [const char *]
840
+ # @param color [Color *]
841
+ # @return [int]
842
+ [:GuiColorPicker, :GuiColorPicker, [Rectangle.by_value, :pointer, :pointer], :int],
843
+
844
+ # @!method GuiColorPanel(bounds, text, color)
845
+ # GuiColorPanel : Color Panel control
846
+ # @param bounds [Rectangle]
847
+ # @param text [const char *]
848
+ # @param color [Color *]
849
+ # @return [int]
850
+ [:GuiColorPanel, :GuiColorPanel, [Rectangle.by_value, :pointer, :pointer], :int],
851
+
852
+ # @!method GuiColorBarAlpha(bounds, text, alpha)
853
+ # GuiColorBarAlpha : Color Bar Alpha control
854
+ # @param bounds [Rectangle]
855
+ # @param text [const char *]
856
+ # @param alpha [float *]
857
+ # @return [int]
858
+ [:GuiColorBarAlpha, :GuiColorBarAlpha, [Rectangle.by_value, :pointer, :pointer], :int],
859
+
860
+ # @!method GuiColorBarHue(bounds, text, value)
861
+ # GuiColorBarHue : Color Bar Hue control
862
+ # @param bounds [Rectangle]
863
+ # @param text [const char *]
864
+ # @param value [float *]
865
+ # @return [int]
866
+ [:GuiColorBarHue, :GuiColorBarHue, [Rectangle.by_value, :pointer, :pointer], :int],
867
+
868
+ # @!method GuiColorPickerHSV(bounds, text, colorHsv)
869
+ # GuiColorPickerHSV : Color Picker control that avoids conversion to RGB on each call (multiple color controls)
870
+ # @param bounds [Rectangle]
871
+ # @param text [const char *]
872
+ # @param colorHsv [Vector3 *]
873
+ # @return [int]
874
+ [:GuiColorPickerHSV, :GuiColorPickerHSV, [Rectangle.by_value, :pointer, :pointer], :int],
875
+
876
+ # @!method GuiColorPanelHSV(bounds, text, colorHsv)
877
+ # GuiColorPanelHSV : Color Panel control that returns HSV color value, used by GuiColorPickerHSV()
878
+ # @param bounds [Rectangle]
879
+ # @param text [const char *]
880
+ # @param colorHsv [Vector3 *]
881
+ # @return [int]
882
+ [:GuiColorPanelHSV, :GuiColorPanelHSV, [Rectangle.by_value, :pointer, :pointer], :int],
883
+ ]
884
+ entries.each do |entry|
885
+ attach_function entry[0], entry[1], entry[2], entry[3]
886
+ rescue FFI::NotFoundError => e
887
+ warn "[Warning] Failed to import #{entry[0]} (#{e})."
888
+ end
889
+ end
890
+ end