raylib-bindings 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/lib/raygui.rb CHANGED
@@ -2,12 +2,13 @@
2
2
  #
3
3
  # * https://github.com/vaiorabbit/raylib-bindings
4
4
  #
5
- # [NOTICE] This is an automatically generated file.
5
+ # [NOTICE] Autogenerated. Do not edit.
6
6
 
7
7
  require 'ffi'
8
8
 
9
9
  module Raylib
10
10
  extend FFI::Library
11
+
11
12
  # Define/Macro
12
13
 
13
14
  RAYGUI_VERSION = "3.2"
@@ -24,17 +25,17 @@ module Raylib
24
25
  TEXT_ALIGN_CENTER = 1
25
26
  TEXT_ALIGN_RIGHT = 2
26
27
  DEFAULT = 0
27
- LABEL = 1
28
+ LABEL = 1 # Used also for: LABELBUTTON
28
29
  BUTTON = 2
29
- TOGGLE = 3
30
- SLIDER = 4
30
+ TOGGLE = 3 # Used also for: TOGGLEGROUP
31
+ SLIDER = 4 # Used also for: SLIDERBAR
31
32
  PROGRESSBAR = 5
32
33
  CHECKBOX = 6
33
34
  COMBOBOX = 7
34
35
  DROPDOWNBOX = 8
35
- TEXTBOX = 9
36
+ TEXTBOX = 9 # Used also for: TEXTBOXMULTI
36
37
  VALUEBOX = 10
37
- SPINNER = 11
38
+ SPINNER = 11 # Uses: BUTTON, VALUEBOX
38
39
  LISTVIEW = 12
39
40
  COLORPICKER = 13
40
41
  SCROLLBAR = 14
@@ -55,38 +56,38 @@ module Raylib
55
56
  TEXT_PADDING = 13
56
57
  TEXT_ALIGNMENT = 14
57
58
  RESERVED = 15
58
- TEXT_SIZE = 16
59
- TEXT_SPACING = 17
60
- LINE_COLOR = 18
61
- BACKGROUND_COLOR = 19
62
- GROUP_PADDING = 16
63
- SLIDER_WIDTH = 16
64
- SLIDER_PADDING = 17
65
- PROGRESS_PADDING = 16
59
+ TEXT_SIZE = 16 # Text size (glyphs max height)
60
+ TEXT_SPACING = 17 # Text spacing between glyphs
61
+ LINE_COLOR = 18 # Line control color
62
+ BACKGROUND_COLOR = 19 # Background color
63
+ GROUP_PADDING = 16 # ToggleGroup separation between toggles
64
+ SLIDER_WIDTH = 16 # Slider size of internal bar
65
+ SLIDER_PADDING = 17 # Slider/SliderBar internal bar padding
66
+ PROGRESS_PADDING = 16 # ProgressBar internal padding
66
67
  ARROWS_SIZE = 16
67
68
  ARROWS_VISIBLE = 17
68
- SCROLL_SLIDER_PADDING = 18
69
+ SCROLL_SLIDER_PADDING = 18 # (SLIDERBAR, SLIDER_PADDING)
69
70
  SCROLL_SLIDER_SIZE = 19
70
71
  SCROLL_PADDING = 20
71
72
  SCROLL_SPEED = 21
72
- CHECK_PADDING = 16
73
- COMBO_BUTTON_WIDTH = 16
74
- COMBO_BUTTON_SPACING = 17
75
- ARROW_PADDING = 16
76
- DROPDOWN_ITEMS_SPACING = 17
77
- TEXT_INNER_PADDING = 16
78
- TEXT_LINES_SPACING = 17
79
- SPIN_BUTTON_WIDTH = 16
80
- SPIN_BUTTON_SPACING = 17
81
- LIST_ITEMS_HEIGHT = 16
82
- LIST_ITEMS_SPACING = 17
83
- SCROLLBAR_WIDTH = 18
84
- SCROLLBAR_SIDE = 19
73
+ CHECK_PADDING = 16 # CheckBox internal check padding
74
+ COMBO_BUTTON_WIDTH = 16 # ComboBox right button width
75
+ COMBO_BUTTON_SPACING = 17 # ComboBox button separation
76
+ ARROW_PADDING = 16 # DropdownBox arrow separation from border and items
77
+ DROPDOWN_ITEMS_SPACING = 17 # DropdownBox items separation
78
+ TEXT_INNER_PADDING = 16 # TextBox/TextBoxMulti/ValueBox/Spinner inner text padding
79
+ TEXT_LINES_SPACING = 17 # TextBoxMulti lines separation
80
+ SPIN_BUTTON_WIDTH = 16 # Spinner left/right buttons width
81
+ SPIN_BUTTON_SPACING = 17 # Spinner buttons separation
82
+ LIST_ITEMS_HEIGHT = 16 # ListView items height
83
+ LIST_ITEMS_SPACING = 17 # ListView items separation
84
+ SCROLLBAR_WIDTH = 18 # ListView scrollbar size (usually width)
85
+ SCROLLBAR_SIDE = 19 # ListView scrollbar side (0-left, 1-right)
85
86
  COLOR_SELECTOR_SIZE = 16
86
- HUEBAR_WIDTH = 17
87
- HUEBAR_PADDING = 18
88
- HUEBAR_SELECTOR_HEIGHT = 19
89
- HUEBAR_SELECTOR_OVERFLOW = 20
87
+ HUEBAR_WIDTH = 17 # ColorPicker right hue bar width
88
+ HUEBAR_PADDING = 18 # ColorPicker right hue bar separation from panel
89
+ HUEBAR_SELECTOR_HEIGHT = 19 # ColorPicker right hue bar selector height
90
+ HUEBAR_SELECTOR_OVERFLOW = 20 # ColorPicker right hue bar selector overflow
90
91
  ICON_NONE = 0
91
92
  ICON_FOLDER_FILE_OPEN = 1
92
93
  ICON_FILE_SAVE_CLASSIC = 2
@@ -366,6 +367,7 @@ module Raylib
366
367
 
367
368
  # Struct
368
369
 
370
+ # Style property
369
371
  class GuiStyleProp < FFI::Struct
370
372
  layout(
371
373
  :controlId, :ushort,
@@ -377,177 +379,362 @@ module Raylib
377
379
 
378
380
  # Function
379
381
 
380
- def self.setup_raygui_symbols()
381
- symbols = [
382
- :GuiEnable,
383
- :GuiDisable,
384
- :GuiLock,
385
- :GuiUnlock,
386
- :GuiIsLocked,
387
- :GuiFade,
388
- :GuiSetState,
389
- :GuiGetState,
390
- :GuiSetFont,
391
- :GuiGetFont,
392
- :GuiSetStyle,
393
- :GuiGetStyle,
394
- :GuiWindowBox,
395
- :GuiGroupBox,
396
- :GuiLine,
397
- :GuiPanel,
398
- :GuiTabBar,
399
- :GuiScrollPanel,
400
- :GuiLabel,
401
- :GuiButton,
402
- :GuiLabelButton,
403
- :GuiToggle,
404
- :GuiToggleGroup,
405
- :GuiCheckBox,
406
- :GuiComboBox,
407
- :GuiDropdownBox,
408
- :GuiSpinner,
409
- :GuiValueBox,
410
- :GuiTextBox,
411
- :GuiTextBoxMulti,
412
- :GuiSlider,
413
- :GuiSliderBar,
414
- :GuiProgressBar,
415
- :GuiStatusBar,
416
- :GuiDummyRec,
417
- :GuiGrid,
418
- :GuiListView,
419
- :GuiListViewEx,
420
- :GuiMessageBox,
421
- :GuiTextInputBox,
422
- :GuiColorPicker,
423
- :GuiColorPanel,
424
- :GuiColorBarAlpha,
425
- :GuiColorBarHue,
426
- :GuiLoadStyle,
427
- :GuiLoadStyleDefault,
428
- :GuiEnableTooltip,
429
- :GuiDisableTooltip,
430
- :GuiSetTooltip,
431
- :GuiIconText,
432
- :GuiGetIcons,
433
- :GuiLoadIcons,
434
- :GuiDrawIcon,
382
+ def self.setup_raygui_symbols(output_error = false)
383
+ entries = [
384
+
385
+ # GuiEnable : Enable gui controls (global state)
386
+ # @return [void]
387
+ [:GuiEnable, :GuiEnable, [], :void],
388
+
389
+ # GuiDisable : Disable gui controls (global state)
390
+ # @return [void]
391
+ [:GuiDisable, :GuiDisable, [], :void],
392
+
393
+ # GuiLock : Lock gui controls (global state)
394
+ # @return [void]
395
+ [:GuiLock, :GuiLock, [], :void],
396
+
397
+ # GuiUnlock : Unlock gui controls (global state)
398
+ # @return [void]
399
+ [:GuiUnlock, :GuiUnlock, [], :void],
400
+
401
+ # GuiIsLocked : Check if gui is locked (global state)
402
+ # @return [bool]
403
+ [:GuiIsLocked, :GuiIsLocked, [], :bool],
404
+
405
+ # GuiFade : Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
406
+ # @param alpha [float]
407
+ # @return [void]
408
+ [:GuiFade, :GuiFade, [:float], :void],
409
+
410
+ # GuiSetState : Set gui state (global state)
411
+ # @param state [int]
412
+ # @return [void]
413
+ [:GuiSetState, :GuiSetState, [:int], :void],
414
+
415
+ # GuiGetState : Get gui state (global state)
416
+ # @return [int]
417
+ [:GuiGetState, :GuiGetState, [], :int],
418
+
419
+ # GuiSetFont : Set gui custom font (global state)
420
+ # @param font [Font]
421
+ # @return [void]
422
+ [:GuiSetFont, :GuiSetFont, [Font.by_value], :void],
423
+
424
+ # GuiGetFont : Get gui custom font (global state)
425
+ # @return [Font]
426
+ [:GuiGetFont, :GuiGetFont, [], Font.by_value],
427
+
428
+ # GuiSetStyle : Set one style property
429
+ # @param control [int]
430
+ # @param property [int]
431
+ # @param value [int]
432
+ # @return [void]
433
+ [:GuiSetStyle, :GuiSetStyle, [:int, :int, :int], :void],
434
+
435
+ # GuiGetStyle : Get one style property
436
+ # @param control [int]
437
+ # @param property [int]
438
+ # @return [int]
439
+ [:GuiGetStyle, :GuiGetStyle, [:int, :int], :int],
440
+
441
+ # GuiWindowBox : Window Box control, shows a window that can be closed
442
+ # @param bounds [Rectangle]
443
+ # @param title [const char *]
444
+ # @return [bool]
445
+ [:GuiWindowBox, :GuiWindowBox, [Rectangle.by_value, :pointer], :bool],
446
+
447
+ # GuiGroupBox : Group Box control with text name
448
+ # @param bounds [Rectangle]
449
+ # @param text [const char *]
450
+ # @return [void]
451
+ [:GuiGroupBox, :GuiGroupBox, [Rectangle.by_value, :pointer], :void],
452
+
453
+ # GuiLine : Line separator control, could contain text
454
+ # @param bounds [Rectangle]
455
+ # @param text [const char *]
456
+ # @return [void]
457
+ [:GuiLine, :GuiLine, [Rectangle.by_value, :pointer], :void],
458
+
459
+ # GuiPanel : Panel control, useful to group controls
460
+ # @param bounds [Rectangle]
461
+ # @param text [const char *]
462
+ # @return [void]
463
+ [:GuiPanel, :GuiPanel, [Rectangle.by_value, :pointer], :void],
464
+
465
+ # GuiTabBar : Tab Bar control, returns TAB to be closed or -1
466
+ # @param bounds [Rectangle]
467
+ # @param text [const char **]
468
+ # @param count [int]
469
+ # @param active [int *]
470
+ # @return [int]
471
+ [:GuiTabBar, :GuiTabBar, [Rectangle.by_value, :pointer, :int, :pointer], :int],
472
+
473
+ # GuiScrollPanel : Scroll Panel control
474
+ # @param bounds [Rectangle]
475
+ # @param text [const char *]
476
+ # @param content [Rectangle]
477
+ # @param scroll [Vector2 *]
478
+ # @return [Rectangle]
479
+ [:GuiScrollPanel, :GuiScrollPanel, [Rectangle.by_value, :pointer, Rectangle.by_value, :pointer], Rectangle.by_value],
480
+
481
+ # GuiLabel : Label control, shows text
482
+ # @param bounds [Rectangle]
483
+ # @param text [const char *]
484
+ # @return [void]
485
+ [:GuiLabel, :GuiLabel, [Rectangle.by_value, :pointer], :void],
486
+
487
+ # GuiButton : Button control, returns true when clicked
488
+ # @param bounds [Rectangle]
489
+ # @param text [const char *]
490
+ # @return [bool]
491
+ [:GuiButton, :GuiButton, [Rectangle.by_value, :pointer], :bool],
492
+
493
+ # GuiLabelButton : Label button control, show true when clicked
494
+ # @param bounds [Rectangle]
495
+ # @param text [const char *]
496
+ # @return [bool]
497
+ [:GuiLabelButton, :GuiLabelButton, [Rectangle.by_value, :pointer], :bool],
498
+
499
+ # GuiToggle : Toggle Button control, returns true when active
500
+ # @param bounds [Rectangle]
501
+ # @param text [const char *]
502
+ # @param active [bool]
503
+ # @return [bool]
504
+ [:GuiToggle, :GuiToggle, [Rectangle.by_value, :pointer, :bool], :bool],
505
+
506
+ # GuiToggleGroup : Toggle Group control, returns active toggle index
507
+ # @param bounds [Rectangle]
508
+ # @param text [const char *]
509
+ # @param active [int]
510
+ # @return [int]
511
+ [:GuiToggleGroup, :GuiToggleGroup, [Rectangle.by_value, :pointer, :int], :int],
512
+
513
+ # GuiCheckBox : Check Box control, returns true when active
514
+ # @param bounds [Rectangle]
515
+ # @param text [const char *]
516
+ # @param checked [bool]
517
+ # @return [bool]
518
+ [:GuiCheckBox, :GuiCheckBox, [Rectangle.by_value, :pointer, :bool], :bool],
519
+
520
+ # GuiComboBox : Combo Box control, returns selected item index
521
+ # @param bounds [Rectangle]
522
+ # @param text [const char *]
523
+ # @param active [int]
524
+ # @return [int]
525
+ [:GuiComboBox, :GuiComboBox, [Rectangle.by_value, :pointer, :int], :int],
526
+
527
+ # GuiDropdownBox : Dropdown Box control, returns selected item
528
+ # @param bounds [Rectangle]
529
+ # @param text [const char *]
530
+ # @param active [int *]
531
+ # @param editMode [bool]
532
+ # @return [bool]
533
+ [:GuiDropdownBox, :GuiDropdownBox, [Rectangle.by_value, :pointer, :pointer, :bool], :bool],
534
+
535
+ # GuiSpinner : Spinner control, returns selected value
536
+ # @param bounds [Rectangle]
537
+ # @param text [const char *]
538
+ # @param value [int *]
539
+ # @param minValue [int]
540
+ # @param maxValue [int]
541
+ # @param editMode [bool]
542
+ # @return [bool]
543
+ [:GuiSpinner, :GuiSpinner, [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool], :bool],
544
+
545
+ # GuiValueBox : Value Box control, updates input text with numbers
546
+ # @param bounds [Rectangle]
547
+ # @param text [const char *]
548
+ # @param value [int *]
549
+ # @param minValue [int]
550
+ # @param maxValue [int]
551
+ # @param editMode [bool]
552
+ # @return [bool]
553
+ [:GuiValueBox, :GuiValueBox, [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool], :bool],
554
+
555
+ # GuiTextBox : Text Box control, updates input text
556
+ # @param bounds [Rectangle]
557
+ # @param text [char *]
558
+ # @param textSize [int]
559
+ # @param editMode [bool]
560
+ # @return [bool]
561
+ [:GuiTextBox, :GuiTextBox, [Rectangle.by_value, :pointer, :int, :bool], :bool],
562
+
563
+ # GuiTextBoxMulti : Text Box control with multiple lines
564
+ # @param bounds [Rectangle]
565
+ # @param text [char *]
566
+ # @param textSize [int]
567
+ # @param editMode [bool]
568
+ # @return [bool]
569
+ [:GuiTextBoxMulti, :GuiTextBoxMulti, [Rectangle.by_value, :pointer, :int, :bool], :bool],
570
+
571
+ # GuiSlider : Slider control, returns selected value
572
+ # @param bounds [Rectangle]
573
+ # @param textLeft [const char *]
574
+ # @param textRight [const char *]
575
+ # @param value [float]
576
+ # @param minValue [float]
577
+ # @param maxValue [float]
578
+ # @return [float]
579
+ [:GuiSlider, :GuiSlider, [Rectangle.by_value, :pointer, :pointer, :float, :float, :float], :float],
580
+
581
+ # GuiSliderBar : Slider Bar control, returns selected value
582
+ # @param bounds [Rectangle]
583
+ # @param textLeft [const char *]
584
+ # @param textRight [const char *]
585
+ # @param value [float]
586
+ # @param minValue [float]
587
+ # @param maxValue [float]
588
+ # @return [float]
589
+ [:GuiSliderBar, :GuiSliderBar, [Rectangle.by_value, :pointer, :pointer, :float, :float, :float], :float],
590
+
591
+ # GuiProgressBar : Progress Bar control, shows current progress value
592
+ # @param bounds [Rectangle]
593
+ # @param textLeft [const char *]
594
+ # @param textRight [const char *]
595
+ # @param value [float]
596
+ # @param minValue [float]
597
+ # @param maxValue [float]
598
+ # @return [float]
599
+ [:GuiProgressBar, :GuiProgressBar, [Rectangle.by_value, :pointer, :pointer, :float, :float, :float], :float],
600
+
601
+ # GuiStatusBar : Status Bar control, shows info text
602
+ # @param bounds [Rectangle]
603
+ # @param text [const char *]
604
+ # @return [void]
605
+ [:GuiStatusBar, :GuiStatusBar, [Rectangle.by_value, :pointer], :void],
606
+
607
+ # GuiDummyRec : Dummy control for placeholders
608
+ # @param bounds [Rectangle]
609
+ # @param text [const char *]
610
+ # @return [void]
611
+ [:GuiDummyRec, :GuiDummyRec, [Rectangle.by_value, :pointer], :void],
612
+
613
+ # GuiGrid : Grid control, returns mouse cell position
614
+ # @param bounds [Rectangle]
615
+ # @param text [const char *]
616
+ # @param spacing [float]
617
+ # @param subdivs [int]
618
+ # @return [Vector2]
619
+ [:GuiGrid, :GuiGrid, [Rectangle.by_value, :pointer, :float, :int], Vector2.by_value],
620
+
621
+ # GuiListView : List View control, returns selected list item index
622
+ # @param bounds [Rectangle]
623
+ # @param text [const char *]
624
+ # @param scrollIndex [int *]
625
+ # @param active [int]
626
+ # @return [int]
627
+ [:GuiListView, :GuiListView, [Rectangle.by_value, :pointer, :pointer, :int], :int],
628
+
629
+ # GuiListViewEx : List View with extended parameters
630
+ # @param bounds [Rectangle]
631
+ # @param text [const char **]
632
+ # @param count [int]
633
+ # @param focus [int *]
634
+ # @param scrollIndex [int *]
635
+ # @param active [int]
636
+ # @return [int]
637
+ [:GuiListViewEx, :GuiListViewEx, [Rectangle.by_value, :pointer, :int, :pointer, :pointer, :int], :int],
638
+
639
+ # GuiMessageBox : Message Box control, displays a message
640
+ # @param bounds [Rectangle]
641
+ # @param title [const char *]
642
+ # @param message [const char *]
643
+ # @param buttons [const char *]
644
+ # @return [int]
645
+ [:GuiMessageBox, :GuiMessageBox, [Rectangle.by_value, :pointer, :pointer, :pointer], :int],
646
+
647
+ # GuiTextInputBox : Text Input Box control, ask for text, supports secret
648
+ # @param bounds [Rectangle]
649
+ # @param title [const char *]
650
+ # @param message [const char *]
651
+ # @param buttons [const char *]
652
+ # @param text [char *]
653
+ # @param textMaxSize [int]
654
+ # @param secretViewActive [int *]
655
+ # @return [int]
656
+ [:GuiTextInputBox, :GuiTextInputBox, [Rectangle.by_value, :pointer, :pointer, :pointer, :pointer, :int, :pointer], :int],
657
+
658
+ # GuiColorPicker : Color Picker control (multiple color controls)
659
+ # @param bounds [Rectangle]
660
+ # @param text [const char *]
661
+ # @param color [Color]
662
+ # @return [Color]
663
+ [:GuiColorPicker, :GuiColorPicker, [Rectangle.by_value, :pointer, Color.by_value], Color.by_value],
664
+
665
+ # GuiColorPanel : Color Panel control
666
+ # @param bounds [Rectangle]
667
+ # @param text [const char *]
668
+ # @param color [Color]
669
+ # @return [Color]
670
+ [:GuiColorPanel, :GuiColorPanel, [Rectangle.by_value, :pointer, Color.by_value], Color.by_value],
671
+
672
+ # GuiColorBarAlpha : Color Bar Alpha control
673
+ # @param bounds [Rectangle]
674
+ # @param text [const char *]
675
+ # @param alpha [float]
676
+ # @return [float]
677
+ [:GuiColorBarAlpha, :GuiColorBarAlpha, [Rectangle.by_value, :pointer, :float], :float],
678
+
679
+ # GuiColorBarHue : Color Bar Hue control
680
+ # @param bounds [Rectangle]
681
+ # @param text [const char *]
682
+ # @param value [float]
683
+ # @return [float]
684
+ [:GuiColorBarHue, :GuiColorBarHue, [Rectangle.by_value, :pointer, :float], :float],
685
+
686
+ # GuiLoadStyle : Load style file over global style variable (.rgs)
687
+ # @param fileName [const char *]
688
+ # @return [void]
689
+ [:GuiLoadStyle, :GuiLoadStyle, [:pointer], :void],
690
+
691
+ # GuiLoadStyleDefault : Load style default over global style
692
+ # @return [void]
693
+ [:GuiLoadStyleDefault, :GuiLoadStyleDefault, [], :void],
694
+
695
+ # GuiEnableTooltip : Enable gui tooltips (global state)
696
+ # @return [void]
697
+ [:GuiEnableTooltip, :GuiEnableTooltip, [], :void],
698
+
699
+ # GuiDisableTooltip : Disable gui tooltips (global state)
700
+ # @return [void]
701
+ [:GuiDisableTooltip, :GuiDisableTooltip, [], :void],
702
+
703
+ # GuiSetTooltip : Set tooltip string
704
+ # @param tooltip [const char *]
705
+ # @return [void]
706
+ [:GuiSetTooltip, :GuiSetTooltip, [:pointer], :void],
707
+
708
+ # GuiIconText : Get text with icon id prepended (if supported)
709
+ # @param iconId [int]
710
+ # @param text [const char *]
711
+ # @return [const char *]
712
+ [:GuiIconText, :GuiIconText, [:int, :pointer], :pointer],
713
+
714
+ # GuiGetIcons : Get raygui icons data pointer
715
+ # @return [unsigned int *]
716
+ [:GuiGetIcons, :GuiGetIcons, [], :pointer],
717
+
718
+ # GuiLoadIcons : Load raygui icons file (.rgi) into internal icons data
719
+ # @param fileName [const char *]
720
+ # @param loadIconsName [bool]
721
+ # @return [char **]
722
+ [:GuiLoadIcons, :GuiLoadIcons, [:pointer, :bool], :pointer],
723
+
724
+ # GuiDrawIcon :
725
+ # @param iconId [int]
726
+ # @param posX [int]
727
+ # @param posY [int]
728
+ # @param pixelSize [int]
729
+ # @param color [Color]
730
+ # @return [void]
731
+ [:GuiDrawIcon, :GuiDrawIcon, [:int, :int, :int, :int, Color.by_value], :void],
435
732
  ]
436
- args = {
437
- :GuiEnable => [],
438
- :GuiDisable => [],
439
- :GuiLock => [],
440
- :GuiUnlock => [],
441
- :GuiIsLocked => [],
442
- :GuiFade => [:float],
443
- :GuiSetState => [:int],
444
- :GuiGetState => [],
445
- :GuiSetFont => [Font.by_value],
446
- :GuiGetFont => [],
447
- :GuiSetStyle => [:int, :int, :int],
448
- :GuiGetStyle => [:int, :int],
449
- :GuiWindowBox => [Rectangle.by_value, :pointer],
450
- :GuiGroupBox => [Rectangle.by_value, :pointer],
451
- :GuiLine => [Rectangle.by_value, :pointer],
452
- :GuiPanel => [Rectangle.by_value, :pointer],
453
- :GuiTabBar => [Rectangle.by_value, :pointer, :int, :pointer],
454
- :GuiScrollPanel => [Rectangle.by_value, :pointer, Rectangle.by_value, :pointer],
455
- :GuiLabel => [Rectangle.by_value, :pointer],
456
- :GuiButton => [Rectangle.by_value, :pointer],
457
- :GuiLabelButton => [Rectangle.by_value, :pointer],
458
- :GuiToggle => [Rectangle.by_value, :pointer, :bool],
459
- :GuiToggleGroup => [Rectangle.by_value, :pointer, :int],
460
- :GuiCheckBox => [Rectangle.by_value, :pointer, :bool],
461
- :GuiComboBox => [Rectangle.by_value, :pointer, :int],
462
- :GuiDropdownBox => [Rectangle.by_value, :pointer, :pointer, :bool],
463
- :GuiSpinner => [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool],
464
- :GuiValueBox => [Rectangle.by_value, :pointer, :pointer, :int, :int, :bool],
465
- :GuiTextBox => [Rectangle.by_value, :pointer, :int, :bool],
466
- :GuiTextBoxMulti => [Rectangle.by_value, :pointer, :int, :bool],
467
- :GuiSlider => [Rectangle.by_value, :pointer, :pointer, :float, :float, :float],
468
- :GuiSliderBar => [Rectangle.by_value, :pointer, :pointer, :float, :float, :float],
469
- :GuiProgressBar => [Rectangle.by_value, :pointer, :pointer, :float, :float, :float],
470
- :GuiStatusBar => [Rectangle.by_value, :pointer],
471
- :GuiDummyRec => [Rectangle.by_value, :pointer],
472
- :GuiGrid => [Rectangle.by_value, :pointer, :float, :int],
473
- :GuiListView => [Rectangle.by_value, :pointer, :pointer, :int],
474
- :GuiListViewEx => [Rectangle.by_value, :pointer, :int, :pointer, :pointer, :int],
475
- :GuiMessageBox => [Rectangle.by_value, :pointer, :pointer, :pointer],
476
- :GuiTextInputBox => [Rectangle.by_value, :pointer, :pointer, :pointer, :pointer, :int, :pointer],
477
- :GuiColorPicker => [Rectangle.by_value, :pointer, Color.by_value],
478
- :GuiColorPanel => [Rectangle.by_value, :pointer, Color.by_value],
479
- :GuiColorBarAlpha => [Rectangle.by_value, :pointer, :float],
480
- :GuiColorBarHue => [Rectangle.by_value, :pointer, :float],
481
- :GuiLoadStyle => [:pointer],
482
- :GuiLoadStyleDefault => [],
483
- :GuiEnableTooltip => [],
484
- :GuiDisableTooltip => [],
485
- :GuiSetTooltip => [:pointer],
486
- :GuiIconText => [:int, :pointer],
487
- :GuiGetIcons => [],
488
- :GuiLoadIcons => [:pointer, :bool],
489
- :GuiDrawIcon => [:int, :int, :int, :int, Color.by_value],
490
- }
491
- retvals = {
492
- :GuiEnable => :void,
493
- :GuiDisable => :void,
494
- :GuiLock => :void,
495
- :GuiUnlock => :void,
496
- :GuiIsLocked => :bool,
497
- :GuiFade => :void,
498
- :GuiSetState => :void,
499
- :GuiGetState => :int,
500
- :GuiSetFont => :void,
501
- :GuiGetFont => Font.by_value,
502
- :GuiSetStyle => :void,
503
- :GuiGetStyle => :int,
504
- :GuiWindowBox => :bool,
505
- :GuiGroupBox => :void,
506
- :GuiLine => :void,
507
- :GuiPanel => :void,
508
- :GuiTabBar => :int,
509
- :GuiScrollPanel => Rectangle.by_value,
510
- :GuiLabel => :void,
511
- :GuiButton => :bool,
512
- :GuiLabelButton => :bool,
513
- :GuiToggle => :bool,
514
- :GuiToggleGroup => :int,
515
- :GuiCheckBox => :bool,
516
- :GuiComboBox => :int,
517
- :GuiDropdownBox => :bool,
518
- :GuiSpinner => :bool,
519
- :GuiValueBox => :bool,
520
- :GuiTextBox => :bool,
521
- :GuiTextBoxMulti => :bool,
522
- :GuiSlider => :float,
523
- :GuiSliderBar => :float,
524
- :GuiProgressBar => :float,
525
- :GuiStatusBar => :void,
526
- :GuiDummyRec => :void,
527
- :GuiGrid => Vector2.by_value,
528
- :GuiListView => :int,
529
- :GuiListViewEx => :int,
530
- :GuiMessageBox => :int,
531
- :GuiTextInputBox => :int,
532
- :GuiColorPicker => Color.by_value,
533
- :GuiColorPanel => Color.by_value,
534
- :GuiColorBarAlpha => :float,
535
- :GuiColorBarHue => :float,
536
- :GuiLoadStyle => :void,
537
- :GuiLoadStyleDefault => :void,
538
- :GuiEnableTooltip => :void,
539
- :GuiDisableTooltip => :void,
540
- :GuiSetTooltip => :void,
541
- :GuiIconText => :pointer,
542
- :GuiGetIcons => :pointer,
543
- :GuiLoadIcons => :pointer,
544
- :GuiDrawIcon => :void,
545
- }
546
- symbols.each do |sym|
733
+ entries.each do |entry|
547
734
  begin
548
- attach_function sym, args[sym], retvals[sym]
735
+ attach_function entry[0], entry[1], entry[2], entry[3]
549
736
  rescue FFI::NotFoundError => error
550
- $stderr.puts("[Warning] Failed to import #{sym} (#{error}).")
737
+ $stderr.puts("[Warning] Failed to import #{entry[0]} (#{error}).") if output_error
551
738
  end
552
739
  end
553
740
  end
data/lib/raylib.rb CHANGED
@@ -15,7 +15,7 @@ module Raylib
15
15
  extend FFI::Library
16
16
 
17
17
  @@raylib_import_done = false
18
- def self.load_lib(libpath, raygui_libpath: nil, physac_libpath: nil)
18
+ def self.load_lib(libpath, output_error = false, raygui_libpath: nil, physac_libpath: nil)
19
19
 
20
20
  unless @@raylib_import_done
21
21
  begin
@@ -23,10 +23,10 @@ module Raylib
23
23
 
24
24
  ffi_lib_flags :now, :global
25
25
  ffi_lib *lib_paths
26
- setup_symbols()
26
+ setup_symbols(output_error)
27
27
 
28
- setup_raygui_symbols() if raygui_libpath != nil
29
- setup_physac_symbols() if physac_libpath != nil
28
+ setup_raygui_symbols(output_error) if raygui_libpath != nil
29
+ setup_physac_symbols(output_error) if physac_libpath != nil
30
30
  rescue => error
31
31
  puts error
32
32
  end
@@ -34,10 +34,10 @@ module Raylib
34
34
 
35
35
  end
36
36
 
37
- def self.setup_symbols()
38
- setup_raylib_symbols()
39
- setup_raymath_symbols()
40
- setup_rlgl_symbols()
37
+ def self.setup_symbols(output_error)
38
+ setup_raylib_symbols(output_error)
39
+ setup_raymath_symbols(output_error)
40
+ setup_rlgl_symbols(output_error)
41
41
  end
42
42
 
43
43
  #