Overview of RmlUi features and architecture
masterRmlUi is a lightweight C++ user interface library based on XHTML1 and CSS2 standards, with support for many HTML5 and CSS3 features. It is designed for real-time applications like games.
Key Characteristics:
- Renderer-Agnostic: RmlUi generates vertices, indices, and draw commands; the user is responsible for implementing the rendering logic via a
RenderInterface. - User-Controlled Loop: The library does not run in the background; it only executes when the user explicitly calls its API.
- Extensible: Supports custom decorators, a generic event system, and a Lua scripting plugin.
- Standard Support: Supports Flexbox layout, animations, transitions, transforms, media queries, and various CSS3 features like border radius and gradients.
Dependencies:
- FreeType: Used for font rendering (can be replaced with a custom font engine).
- C++17: Requires a C++17 compatible compiler.