raygui is a simple and easy-to-use immediate-mode-gui single-file header-only 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 on tools like rFXGen, rGuiStyler and rGuiLayout.
raygui styles
raygui comes with two predefined styles, selectable at compile time just defining RAYGUI_STYLE_DEFAULT_LIGHT
or RAYGUI_STYLE_DEFAULT_DARK
but additional custom styles can be created using rGuiStyler and loaded at runtime using GuiLoadStyle()
, GuiLoadStyleImage()
or GuiLoadStylePalette()
functions.
raygui history
raygui development started on December 2014 by two intenship students (Kevin and Daniel) guided by me, the objective was creating a simple and easy-to-use immediate-mode-gui module for raylib, intended for tools development. On June 2015, library was mostly functional (including all basic planned controls) and we started working in the styling options for the library, focusing on an easy way to style some controls properties. Consequently, development of rGuiStyler also started at that point but resources were quite limited and project didn't move much during the following year, most of the time was invested in raylib development.
On June 2016, project was picked up again and raygui 1.0 was released at the end of that month. During August 2016, raygui was used to develop rFXGen and also an early protoype of rGuiLayout, mainly as an usage prove test. After that, raygui project was stopped again for the coming months.
On June 2017, a complete redesign of the library started, almost from scratch, all functions were reviewed and mostly rewritten and a brand new styling system was developed. The objective was using raygui professionally in several tools.
On January 2018, two students (Adria and Jordi) started working on raygui and related tools. Consequently, library and tools evolved A LOT in the following months. rGuiStyler was completely redesigned and rewritten from scratch. rGuiLayout turned from a protoype into a professional software and raygui reached version 2.0 with plenty of new controls and features.
raygui 2.0 provided controls
Container/separator controls, useful for controls organization
- WindowBox
- GroupBox
- Line
- Panel
Basic controls
- Label
- Button
- LabelButton
- ImageButton
- ToggleButton
- ToggleGroup
- CheckBox
- ComboBox
- DropdownBox
- Spinner
- ValueBox
- TextBox
- Slider
- SliderBar
- ProgressBar
- StatusBar
- ScrollBar (WIP)
- DummyRec
Advance controls
- ListView
- ColorPicker
- GuiMessageBox
- Grid
Acknowledgements
The following people has invested their time and effort into raygui project. Big thanks to them!
- Adria Arranz and Jordi Jorba for improving raygui, adding new controls and working hard on rGuiStyler and rGuiLayout tools redesign and rewrite.
- Sergio Martinez for improving raygui and working on original rGuiStyler tool.
- Daniel Nicolas and Kevin Gato for working on initial development.