raygui
| Kind | ffi-c |
|---|---|
| Capabilities | ffi |
| Categories | gui graphics ffi |
| Keywords | raygui raylib gui ui imgui immediate-mode |
Raygui immediate-mode GUI library bindings for Kit
Files
| File | Description |
|---|---|
.editorconfig | Editor formatting configuration |
.gitignore | Git ignore rules for build artifacts and dependencies |
.tool-versions | asdf tool versions (Zig, Kit) |
LICENSE | MIT license file |
README.md | This file |
c/kit_raygui.c | C FFI wrapper implementation |
c/kit_raygui.h | C FFI wrapper header |
examples/basic-controls.kit | Basic controls example |
examples/controls-test-suite.kit | Comprehensive controls demo |
examples/scroll-panel.kit | Scroll panel example |
examples/style-selector.kit | Style selector example |
kit.toml | Package manifest with metadata and dependencies |
src/raygui.kit | Main raygui module |
src/controls.kit | Control functions (buttons, checkboxes, etc.) |
src/containers.kit | Container controls (panels, groups) |
src/advanced.kit | Advanced controls (list view, color picker) |
src/style.kit | Style and theming functions |
src/icons.kit | Icon definitions and helpers |
src/state.kit | GUI state management |
src/tooltips.kit | Tooltip functions |
src/logging.kit | Logging configuration |
src/constants.kit | Constants and enums |
tests/constants.test.kit | Tests for constants |
Dependencies
No Kit package dependencies.
System Dependencies:
- raylib - Required for windowing and rendering
Install raylib via your package manager:
- macOS:
brew install raylib - Ubuntu:
sudo apt install libraylib-dev - Fedora:
sudo dnf install raylib-devel
Installation
kit add gitlab.com/kit-lang/packages/kit-raygui.gitUsage
import Kit.RayGUI as RayGUI
import Kit.Raylib as Raylib
main = fn =>
# Initialize raylib window
Raylib.init-window 800 450 "raygui - basic controls"
Raylib.set-target-fps 60
# Run game loop with initial state
game-loop false 50.0 0
Raylib.close-window
# state: checked? slider-val toggle-active
game-loop = fn(is-checked?, slider-val, toggle-active) =>
if Raylib.window-should-close? then
no-op
else
Raylib.begin-drawing
Raylib.clear-background Raylib.raywhite
# Button
if RayGUI.button? 25.0 70.0 150.0 30.0 "Click Me!" then
println "Button clicked!"
# Checkbox
cb = RayGUI.check-box 25.0 120.0 20.0 20.0 "Show Progress" is-checked?
new-checked? = cb.checked?
# Slider
sl = RayGUI.slider 25.0 170.0 200.0 20.0 "0" "100" slider-val 0.0 100.0
new-slider-val = sl.value
# Toggle group
tg = RayGUI.toggle-group 25.0 220.0 100.0 30.0 "Low;Medium;High" toggle-active
new-toggle = tg.active
# Progress bar
if new-checked? then
RayGUI.progress-bar 25.0 280.0 200.0 20.0 "" "" (new-slider-val / 100.0) 0.0 1.0
# Status bar
RayGUI.status-bar 0.0 420.0 800.0 30.0 "raygui basic controls example"
Raylib.end-drawing
game-loop new-checked? new-slider-val new-toggle
mainDevelopment
Running Examples
Run examples with the interpreter:
kit run examples/basic-controls.kit --allow=ffiCompile examples to a native binary:
kit build examples/basic-controls.kit -o basic-controls --allow=ffi && ./basic-controlsRunning Tests
Run the test suite:
kit test --allow=ffiRun the test suite with coverage:
kit test --allow=ffi --coverageRunning kit dev
Run the standard development workflow (format, check, test):
kit devThis will:
- Format and check source files in
src/ - Run tests in
tests/with coverage
Generating Documentation
Generate API documentation from doc comments:
kit docNote: Kit sources with doc comments (##) will generate HTML documents in docs/*.html
Cleaning Build Artifacts
Remove generated files, caches, and build artifacts:
kit task cleanNote: Defined in kit.toml.
Local Installation
To install this package locally for development:
kit install .This installs the package to ~/.kit/packages/@kit/raygui/, making it available for import as Kit.RayGUI in other projects.
API Overview
The kit-raygui package provides immediate-mode GUI controls built on raylib:
Basic Controls
- Button:
button? x y width height text- Returns true if clicked - Label:
label x y width height text- Static text display - Toggle:
toggle x y width height text active- On/off switch - Toggle Group:
toggle-group x y width height text active- Multiple toggle options - Toggle Slider:
toggle-slider x y width height text active- Binary slider - Check Box:
check-box x y width height text checked?- Boolean checkbox - Combo Box:
combo-box x y width height text active- Dropdown selection - Dropdown Box:
dropdown-box x y width height text active edit?- Dropdown with edit mode - Spinner:
spinner x y width height text value min max edit?- Numeric input with arrows - Value Box:
value-box x y width height text value min max edit?- Numeric input - Text Box:
text-box x y width height text max-chars edit?- Single-line text input - Slider:
slider x y width height text-left text-right value min max- Horizontal slider - Slider Bar:
slider-bar x y width height text-left text-right value min max- Progress-style slider - Progress Bar:
progress-bar x y width height text-left text-right value min max- Read-only progress
Containers
- Panel:
panel x y width height text- Bordered container - Group Box:
group-box x y width height text- Titled container - Scroll Panel:
scroll-panel x y width height text content-x content-y content-width content-height scroll-x scroll-y- Scrollable area - Tab Bar:
tab-bar x y width height text active- Tabbed interface - Grid:
grid x y width height text spacing subdivisions- Grid for layout
Advanced Controls
- List View:
list-view x y width height text scroll-index active- Scrollable list - Color Picker:
color-picker x y width height text color- RGB color selector - Color Bar Alpha:
color-bar-alpha x y width height text alpha- Alpha slider - Color Bar Hue:
color-bar-hue x y width height text hue- Hue selector - Message Box:
message-box x y width height title message buttons- Modal dialog - Text Input Box:
text-input-box x y width height title message buttons text max-chars secret?- Input dialog
Styling
- Load Style:
load-style file-path- Load style from file - Load Style By Index:
load-style-by-index index- Load built-in style - Get Style:
get-style control property- Get style property - Set Style:
set-style control property value- Set style property - Set State:
set-state state- Set control state (normal, focused, pressed, disabled)
Icons
- Icon Text:
icon-text icon-id text- Combine icon with text - Get Icon Data:
get-icon-data icon-id- Get icon pixel data - Draw Icon:
draw-icon icon-id x y size color- Draw icon directly
Over 400 icons available via RayGUI.icon-* constants.
License
This package is released under the MIT License - see LICENSE for details.
raygui is developed by Ramon Santamaria and also released under the MIT License.
Exported Functions & Types
enable-tooltip
Enable tooltips for GUI controls.
-> Unit
disable-tooltip
Disable tooltips for GUI controls.
-> Unit
set-tooltip
Set tooltip text for the next control drawn. Call this before drawing the control you want to show a tooltip for.
String -> Unit
icon-text
Get text with icon id prepended (if available). Useful for buttons and labels with icons.
NonNegativeInt -> String -> String
set-icon-scale
Set default icon drawing size (1 = 16x16, 2 = 32x32, etc.).
PositiveInt -> Unit
draw-icon
Draw an icon at the specified position with given size and color. Color is a packed RGBA integer.
NonNegativeInt -> Int -> Int -> PositiveInt -> Int -> Unit
get-text-width
Get the width of the given text in pixels using the current GUI font.
String -> Int
icon-none
Int
icon-folder-file-open
Int
icon-file-save-classic
Int
icon-folder-open
Int
icon-folder-save
Int
icon-file-open
Int
icon-file-save
Int
icon-file-export
Int
icon-file-add
Int
icon-file-delete
Int
icon-filetype-text
Int
icon-filetype-audio
Int
icon-filetype-image
Int
icon-filetype-play
Int
icon-filetype-video
Int
icon-filetype-info
Int
icon-file-copy
Int
icon-file-cut
Int
icon-file-paste
Int
icon-cursor-hand
Int
icon-cursor-pointer
Int
icon-cursor-classic
Int
icon-pencil
Int
icon-pencil-big
Int
icon-brush-classic
Int
icon-brush-painter
Int
icon-water-drop
Int
icon-color-picker
Int
icon-rubber
Int
icon-color-bucket
Int
icon-text-t
Int
icon-text-a
Int
icon-scale
Int
icon-resize
Int
icon-filter-point
Int
icon-filter-bilinear
Int
icon-crop
Int
icon-crop-alpha
Int
icon-square-toggle
Int
icon-symmetry
Int
icon-symmetry-horizontal
Int
icon-symmetry-vertical
Int
icon-lens
Int
icon-lens-big
Int
icon-eye-on
Int
icon-eye-off
Int
icon-filter-top
Int
icon-filter
Int
icon-target-point
Int
icon-target-small
Int
icon-target-big
Int
icon-target-move
Int
icon-cursor-move
Int
icon-cursor-scale
Int
icon-cursor-scale-fill
Int
icon-cursor-scale-right
Int
icon-cursor-scale-left
Int
icon-undo
Int
icon-redo
Int
icon-reredo
Int
icon-mutate
Int
icon-rotate
Int
icon-repeat
Int
icon-shuffle
Int
icon-emptybox
Int
icon-target
Int
icon-target-small-fill
Int
icon-target-big-fill
Int
icon-target-move-fill
Int
icon-cursor-move-fill
Int
icon-cursor-scale-fill2
Int
icon-cursor-scale-right-fill
Int
icon-cursor-scale-left-fill
Int
icon-undo-fill
Int
icon-redo-fill
Int
icon-reredo-fill
Int
icon-mutate-fill
Int
icon-rotate-fill
Int
icon-repeat-fill
Int
icon-shuffle-fill
Int
icon-emptybox-small
Int
icon-box
Int
icon-box-top
Int
icon-box-top-right
Int
icon-box-right
Int
icon-box-bottom-right
Int
icon-box-bottom
Int
icon-box-bottom-left
Int
icon-box-left
Int
icon-box-top-left
Int
icon-box-center
Int
icon-box-circle-mask
Int
icon-pot
Int
icon-alpha-multiply
Int
icon-alpha-clear
Int
icon-dithering
Int
icon-mipmaps
Int
icon-box-grid
Int
icon-grid
Int
icon-box-corners-small
Int
icon-box-corners-big
Int
icon-four-boxes
Int
icon-grid-fill
Int
icon-box-multisize
Int
icon-zoom-small
Int
icon-zoom-medium
Int
icon-zoom-big
Int
icon-zoom-all
Int
icon-zoom-center
Int
icon-box-dots-small
Int
icon-box-dots-big
Int
icon-box-concentric
Int
icon-box-grid-big
Int
icon-ok-tick
Int
icon-cross
Int
icon-arrow-left
Int
icon-arrow-right
Int
icon-arrow-down
Int
icon-arrow-up
Int
icon-arrow-left-fill
Int
icon-arrow-right-fill
Int
icon-arrow-down-fill
Int
icon-arrow-up-fill
Int
icon-audio
Int
icon-fx
Int
icon-wave
Int
icon-wave-sinus
Int
icon-wave-square
Int
icon-wave-triangular
Int
icon-cross-small
Int
icon-player-previous
Int
icon-player-play-back
Int
icon-player-play
Int
icon-player-pause
Int
icon-player-stop
Int
icon-player-next
Int
icon-player-record
Int
icon-magnet
Int
icon-lock-close
Int
icon-lock-open
Int
icon-clock
Int
icon-tools
Int
icon-gear
Int
icon-gear-big
Int
icon-bin
Int
icon-hand-pointer
Int
icon-laser
Int
icon-coin
Int
icon-explosion
Int
icon-1up
Int
icon-player
Int
icon-player-jump
Int
icon-key
Int
icon-demon
Int
icon-text-popup
Int
icon-gear-ex
Int
icon-crack
Int
icon-crack-points
Int
icon-star
Int
icon-door
Int
icon-exit
Int
icon-mode-2d
Int
icon-mode-3d
Int
icon-cube
Int
icon-cube-face-top
Int
icon-cube-face-left
Int
icon-cube-face-front
Int
icon-cube-face-bottom
Int
icon-cube-face-right
Int
icon-cube-face-back
Int
icon-camera
Int
icon-special
Int
icon-link-net
Int
icon-link-boxes
Int
icon-link-multi
Int
icon-link
Int
icon-link-broke
Int
icon-text-notes
Int
icon-notebook
Int
icon-suitcase
Int
icon-suitcase-zip
Int
icon-mailbox
Int
icon-monitor
Int
icon-printer
Int
icon-photo-camera
Int
icon-photo-camera-flash
Int
icon-house
Int
icon-heart
Int
icon-corner
Int
icon-vertical-bars
Int
icon-vertical-bars-fill
Int
icon-life-bars
Int
icon-info
Int
icon-crossline
Int
icon-help
Int
icon-filetype-alpha
Int
icon-filetype-home
Int
icon-layers-visible
Int
icon-layers
Int
icon-window
Int
icon-hidpi
Int
icon-filetype-binary
Int
icon-hex
Int
icon-shield
Int
icon-file-new
Int
icon-folder-add
Int
icon-alarm
Int
icon-cpu
Int
icon-rom
Int
icon-step-over
Int
icon-step-into
Int
icon-step-out
Int
icon-restart
Int
icon-breakpoint-on
Int
icon-breakpoint-off
Int
icon-burger-menu
Int
icon-case-sensitive
Int
icon-reg-exp
Int
icon-folder
Int
icon-file
Int
icon-sand-timer
Int
icon-warning
Int
icon-help-box
Int
icon-info-box
Int
window-box?
Draw a window box control with a title bar and close button. Returns true if the close button was clicked.
Float -> Float -> Float -> Float -> String -> Bool
group-box
Draw a group box control with a title. Used to visually group controls.
Float -> Float -> Float -> Float -> String -> Int
line
Draw a line separator with optional text.
Float -> Float -> Float -> Float -> String -> Int
panel
Draw a panel control. Used as a container background.
Float -> Float -> Float -> Float -> String -> Int
tab-bar
Draw a tab bar control. Returns {result: Int, active: Int}. Tabs text separated by semicolons: "Tab1;Tab2;Tab3". count is the number of tabs.
Float -> Float -> Float -> Float -> String -> PositiveInt -> NonNegativeInt -> {result: Int, active: Int}
scroll-panel
Draw a scroll panel control. Returns a record with scroll position, view rectangle, and interaction result. content-x/y/w/h define the scrollable content area. scroll-x/y are the current scroll offsets.
Float -> Float -> Float -> Float -> String -> Float -> Float -> Float -> Float -> Float -> Float -> {result: Int, scroll-x: Float, scroll-y: Float, view-x: Float, view-y: Float, view-w: Float, view-h: Float}
enable
Enable all GUI controls (global state).
-> Unit
disable
Disable all GUI controls (global state).
-> Unit
lock
Lock all GUI controls (global state).
-> Unit
unlock
Unlock all GUI controls (global state).
-> Unit
is-locked?
Check if GUI controls are locked.
-> Bool
set-alpha
Set GUI controls alpha (global state), useful for fade-in/fade-out.
Float -> Unit
set-state
Set GUI state (global state): normal, focused, pressed, disabled. Use constants from RayGUI.state-normal, state-focused, etc.
Int -> Unit
get-state
Get current GUI state.
-> Int
state-normal
Normal state - control is interactive
state-focused
Focused state - control has focus (mouse hover)
state-pressed
Pressed state - control is being pressed
state-disabled
Disabled state - control is not interactive
text-align-left
Text aligned to the left
text-align-center
Text aligned to the center
text-align-right
Text aligned to the right
text-align-top
Text aligned to the top
text-align-middle
Text aligned to the middle
text-align-bottom
Text aligned to the bottom
text-wrap-none
No text wrapping
text-wrap-char
Wrap text by character
text-wrap-word
Wrap text by word
control-default
Default control (global properties)
control-label
Label control
control-button
Button control
control-toggle
Toggle control (also toggle group)
control-slider
Slider control (also slider bar, toggle slider)
control-progressbar
Progress bar control
control-checkbox
Check box control
control-combobox
Combo box control
control-dropdownbox
Dropdown box control
control-textbox
Text box control (also text box multi)
control-valuebox
Value box control
control-reserved
Reserved control slot
control-listview
List view control
control-colorpicker
Color picker control
control-scrollbar
Scroll bar control
control-statusbar
Status bar control
border-color-normal
Control border color in normal state
base-color-normal
Control base color in normal state
text-color-normal
Control text color in normal state
border-color-focused
Control border color in focused state
base-color-focused
Control base color in focused state
text-color-focused
Control text color in focused state
border-color-pressed
Control border color in pressed state
base-color-pressed
Control base color in pressed state
text-color-pressed
Control text color in pressed state
border-color-disabled
Control border color in disabled state
base-color-disabled
Control base color in disabled state
text-color-disabled
Control text color in disabled state
border-width
Control border width
text-padding
Control text padding
text-alignment
Control text horizontal alignment
text-size
Text size (glyph max height)
text-spacing
Text spacing between glyphs
line-color
Line control color
background-color
Background color
text-line-spacing
Text spacing between lines
text-alignment-vertical
Text vertical alignment
text-wrap-mode
Text wrap mode
group-padding
Toggle group separation between toggles
slider-width
Slider size of internal bar
slider-padding
Slider/SliderBar internal bar padding
progress-padding
ProgressBar internal padding
check-padding
CheckBox internal check padding
combo-button-width
ComboBox right button width
combo-button-spacing
ComboBox button separation
arrow-padding
DropdownBox arrow padding from border
dropdown-items-spacing
DropdownBox items separation
dropdown-arrow-hidden
DropdownBox arrow hidden flag
dropdown-roll-up
DropdownBox roll up flag
text-readonly
TextBox read-only mode
spinner-button-width
Spinner left/right buttons width
spinner-button-spacing
Spinner buttons separation
list-items-height
ListView items height
list-items-spacing
ListView items separation
scrollbar-width
ListView scrollbar size
scrollbar-side
ListView scrollbar side (0=left, 1=right)
list-items-border-normal
ListView items border in normal state
list-items-border-width
ListView items border width
arrows-size
ScrollBar arrows size
arrows-visible
ScrollBar arrows visible
scroll-slider-padding
ScrollBar slider internal padding
scroll-slider-size
ScrollBar slider size
scroll-padding
ScrollBar scroll padding from arrows
scroll-speed
ScrollBar scrolling speed
color-selector-size
ColorPicker selector size
huebar-width
ColorPicker hue bar width
huebar-padding
ColorPicker hue bar padding from panel
huebar-selector-height
ColorPicker hue bar selector height
huebar-selector-overflow
ColorPicker hue bar selector overflow
scrollbar-left-side
Scrollbar left side constant
scrollbar-right-side
Scrollbar right side constant
list-view
Draw a list view control. Returns {result: Int, scroll-index: Int, active: Int}. Items text separated by semicolons: "Item1;Item2;Item3".
Float -> Float -> Float -> Float -> String -> NonNegativeInt -> NonNegativeInt -> {result: Int, scroll-index: Int, active: Int}
message-box
Draw a message box control. Returns clicked button index (0 = none, 1+ = button). Buttons text separated by semicolons: "Ok;Cancel".
Float -> Float -> Float -> Float -> String -> String -> NonEmptyString -> Int
color-picker
Draw a color picker control. Returns {result: Int, color: Int}. Color is a packed RGBA integer.
Float -> Float -> Float -> Float -> String -> Int -> {result: Int, color: Int}
color-panel
Draw a color panel control. Returns {result: Int, color: Int}. Color is a packed RGBA integer.
Float -> Float -> Float -> Float -> String -> Int -> {result: Int, color: Int}
color-bar-alpha
Draw a color bar for alpha control. Returns {result: Int, value: Float}.
Float -> Float -> Float -> Float -> String -> Float -> {result: Int, value: Float}
color-bar-hue
Draw a color bar for hue control. Returns {result: Int, value: Float}.
Float -> Float -> Float -> Float -> String -> Float -> {result: Int, value: Float}
color-picker-hsv
Draw a color picker with HSV values. Returns {result: Int, hue: Float, saturation: Float, value: Float}.
Float -> Float -> Float -> Float -> String -> Float -> Float -> Float -> {result: Int, hue: Float, saturation: Float, value: Float}
color-panel-hsv
Draw a color panel with HSV values. Returns {result: Int, hue: Float, saturation: Float, value: Float}.
Float -> Float -> Float -> Float -> String -> Float -> Float -> Float -> {result: Int, hue: Float, saturation: Float, value: Float}
grid
Draw a grid control. Returns {result: Int, mouse-cell-x: Float, mouse-cell-y: Float}.
Float -> Float -> Float -> Float -> String -> Float -> PositiveInt -> {result: Int, mouse-cell-x: Float, mouse-cell-y: Float}
text-input-box
Draw a text input box dialog. Returns {result: Int, text: String, secret-view-active?: Bool}. Buttons text separated by semicolons: "Ok;Cancel".
Float -> Float -> Float -> Float -> String -> String -> NonEmptyString -> String -> PositiveInt -> Bool -> {result: Int, text: String, secret-view-active?: Bool}
label
Draw a label control.
Float -> Float -> Float -> Float -> String -> Int
button?
Draw a button control. Returns true if clicked.
Float -> Float -> Float -> Float -> String -> Bool
label-button?
Draw a label that acts as a button. Returns true if clicked.
Float -> Float -> Float -> Float -> String -> Bool
status-bar
Draw a status bar control.
Float -> Float -> Float -> Float -> String -> Int
dummy-rec
Draw a dummy rectangle control (for layout testing).
Float -> Float -> Float -> Float -> String -> Int
toggle
Draw a toggle button. Returns {result: Int, active?: Bool}. Pass current active state; returns updated active state.
Float -> Float -> Float -> Float -> String -> Bool -> {result: Int, active?: Bool}
check-box
Draw a check box. Returns {result: Int, checked?: Bool}. Pass current checked state; returns updated checked state.
Float -> Float -> Float -> Float -> String -> Bool -> {result: Int, checked?: Bool}
toggle-group
Draw a toggle group. Returns {result: Int, active: Int}. Text items separated by semicolons: "Item1;Item2;Item3".
Float -> Float -> Float -> Float -> String -> NonNegativeInt -> {result: Int, active: Int}
toggle-slider
Draw a toggle slider. Returns {result: Int, active: Int}. Text items separated by semicolons: "Left;Right".
Float -> Float -> Float -> Float -> String -> NonNegativeInt -> {result: Int, active: Int}
combo-box
Draw a combo box. Returns {result: Int, active: Int}. Text items separated by semicolons: "Item1;Item2;Item3".
Float -> Float -> Float -> Float -> String -> NonNegativeInt -> {result: Int, active: Int}
dropdown-box
Draw a dropdown box. Returns {result: Int, active: Int}. Text items separated by semicolons. edit-mode? controls if dropdown is open.
Float -> Float -> Float -> Float -> String -> NonNegativeInt -> Bool -> {result: Int, active: Int}
spinner
Draw a spinner control. Returns {result: Int, value: Int}.
Float -> Float -> Float -> Float -> String -> Int -> Int -> Int -> Bool -> {result: Int, value: Int}
value-box
Draw a value box control. Returns {result: Int, value: Int}.
Float -> Float -> Float -> Float -> String -> Int -> Int -> Int -> Bool -> {result: Int, value: Int}
text-box
Draw a text box control. Returns {result: Int, text: String}. text-size is the maximum number of characters.
Float -> Float -> Float -> Float -> String -> PositiveInt -> Bool -> {result: Int, text: String}
slider
Draw a slider control. Returns {result: Int, value: Float}. text-left and text-right are labels on each side of the slider.
Float -> Float -> Float -> Float -> String -> String -> Float -> Float -> Float -> {result: Int, value: Float}
slider-bar
Draw a slider bar control. Returns {result: Int, value: Float}.
Float -> Float -> Float -> Float -> String -> String -> Float -> Float -> Float -> {result: Int, value: Float}
progress-bar
Draw a progress bar control. Returns {result: Int, value: Float}.
Float -> Float -> Float -> Float -> String -> String -> Float -> Float -> Float -> {result: Int, value: Float}
set-style
Set one style property value. Use control constants (control-default, control-button, etc.) and property constants (border-color-normal, text-size, etc.).
Int -> Int -> Int -> Unit
get-style
Get one style property value.
Int -> Int -> Int
load-style
Load style from file (.rgs).
NonEmptyString -> Unit
load-style-default
Load default style (resets all properties to defaults).
-> Unit
load-style-by-index
Load an embedded style by combo-box index. Index mapping: 0=default, 1=Jungle, 2=Lavanda, 3=Dark, 4=Bluish, 5=Cyber, 6=Terminal, 7=Candy, 8=Cherry, 9=Ashes, 10=Enefete, 11=Sunny, 12=Amber.
NonNegativeInt -> Unit
log-all
Display all logs
Int
log-trace
Trace logging, intended for internal use only
Int
log-debug
Debug logging, used for internal debugging
Int
log-info
Info logging, used for program execution info
Int
log-warning
Warning logging, used on recoverable failures
Int
log-error
Error logging, used on unrecoverable failures
Int
log-fatal
Fatal logging, used to abort program
Int
log-none
Disable logging
Int
set-trace-log-level
Set the minimum log level to display.
NonNegativeInt -> Unit
set-trace-log-json
Set JSON format for trace log output. Outputs structured JSON lines with timestamp, level, message, and source.
-> Unit
set-trace-log-pretty
Set pretty format for trace log output. Outputs human-readable lines with ANSI colors and [raygui] tag.
-> Unit
set-trace-log-file
Set file output for trace log (JSON format, append mode). Call reset-trace-log to close the file when done.
NonEmptyString -> Unit
set-trace-log-no-op
Disable all trace log output (no-op callback).
-> Unit
reset-trace-log
Reset trace log to default raylib output. Closes any open log file.
-> Unit