raygui is a simple and easy-to-use immediate-mode-gui library.
raygui was initially inspired by Unity IMGUI (immediate mode GUI API).
raygui was originated as an auxiliar module for raylib to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders, raylib default font...).
raygui is intended for tools development; it has already been used to develop the following tools: rFXGen, rTexViewer, rGuiStyler and rGuiLayout.
raygui provided controls
Container/separator controls
- WindowBox
- GroupBox
- Line
- Panel
Basic controls
- Label
- Button
- LabelButton
- ImageButton
- Toggle
- ToggleGroup
- CheckBox
- ComboBox
- DropdownBox
- TextBox
- TextBoxMulti
- ValueBox
- Spinner
- Slider
- SliderBar
- ProgressBar
- StatusBar
- ScrollBar
- ScrollPanel
- DummyRec
- Grid
Advance controls
- ListView
- ColorPicker
- MessageBox
- TextInputBox
raygui styles
raygui comes with a default style automatically loaded at runtime:
Some additional styles are also provided for convenience, just check styles directory for details:
Custom styles can also be created very easily using rGuiStyler tool.
Styles can be loaded at runtime using raygui GuiLoadStyle()
function. Simple and easy-to-use.
raygui icons: ricons
raygui
includes a separate module with a set of custom handcrafter icons, ready to be used and integrated in a easy way with raygui
. This module is called ricons.h
and can be automatically included just defining RAYGUI_SUPPORT_RICONS
before including raygui
.
#define RAYGUI_IMPLEMENTATION
#define RAYGUI_SUPPORT_RICONS
#include "raygui.h"
To use any of those icons in your gui, just preprend iconId to any text written within raygui
controls:
if (GuiButton(rec, "#05#Open Image") { /* ACTION */ }
or use the provided GuiIconText()
function to prepend it automatically, using a clearer identifier.
if (GuiButton(rec, GuiIconText(RICON_FILE_OPEN, "Open Image"))) { /* ACTION */ }
license
raygui is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check LICENSE for further details.