raygui is a simple and easy-to-use immediate-mode-gui library.
raygui was originally inspired by Unity IMGUI (immediate mode GUI API).
raygui was designed as an auxiliary module for raylib to create simple GUI interfaces using raylib graphic style (simple colors, plain rectangular shapes, wide borders...) but it can be adapted to other engines/frameworks.
raygui is intended for tools development; it has already been used to develop multiple published tools.
WARNING: Latest raygui from master branch is always aligned with latest raylib from master branch. Make sure to use the appropriate versions.
WARNING: Latest raygui 4.0 is an API-BREAKING redesign from previous versions (3.x), now all functions are more consistent and coherent, you can read the details about this breaking change in issue 283
NOTE: raygui is a single-file header-only library (despite its internal dependency on raylib), so, functions definition AND implementation reside in the same file raygui.h, when including raygui.h in a module, RAYGUI_IMPLEMENTATION must be previously defined to include the implementation part of raygui.h BUT only in one compilation unit, other modules could also include raygui.h but RAYGUI_IMPLEMENTATION must not be defined again.
features
- Immediate-mode gui, no retained data
- +25 controls provided (basic and advanced)
- Powerful styling system for colors, font and metrics
- Standalone usage mode supported (for other graphic libs)
- Icons support, embedding a complete 1-bit icons pack
- Multiple tools provided for raygui development
code sample
#include "raylib.h"