RatUI is a Retained-Mode Graphical User Interface library built for C++20. It's designed for games and aims to integrate into your codebase rather than the other way around.
- Retained-mode UI architecture
- Math and Container (String, etc) types are user overridable, defaults to STL implementations
Hopefully some soon.
RatUI
├───Examples # Example apps using RatUI
├───Include/RatUI # Public API (*Note: This is all you need to use this library)
├───Scripts # Build and utility scripts
└───Tests # Unit and integration testsFor examples and tests:
- C++20‑compatible compiler (GCC, Clang, MSVC)
- CMake 3.16+
-
Clone the repository:
git clone https://github.com/AsherFarag/RatUI.git cd RatUI -
Configure the project with CMake:
cmake -B build -S . \ -DRATUI_BUILD_TESTS=ON \ -DRATUI_BUILD_EXAMPLES=ONCreates the build system inside build/.
-
Build the project:
cmake --build build
Or, optionally specify the config:
cmake --build build --config Debug
-
Run Tests (optional):
ctest --test-dir build --output-on-failure
-
Run Examples:
After building, example executables will be located inside the 'build/' directory.
Contributions are welcome.
For now:
- Open an issue to discuss changes or ideas
- Keep code consistent with the existing style
- Add and ensure tests (if applicable) pass
More detailed guidelines coming soon.
RatUI is licensed under the MIT License - see the LICENSE file for details.