|
@@ -14,17 +14,17 @@ RmlUi is the C++ user interface package based on the HTML and CSS standards, des
|
|
|
|
|
|
|
|
RmlUi aims at being a light-weight and performant library with its own layouting engine and few dependencies. In essence, RmlUi takes your HTML/CSS-like source files and turns them into vertices, indices and draw commands, and then you bring your own renderer to draw them. And of course there is full access to the element hierarchy/DOM, event handling, and all the interactivity and customizability you would expect. All of this directly from C++, or optionally from scripting languages using plugins. The core library compiles down to fractions of the size it takes to integrate a fully fledged web browser.
|
|
RmlUi aims at being a light-weight and performant library with its own layouting engine and few dependencies. In essence, RmlUi takes your HTML/CSS-like source files and turns them into vertices, indices and draw commands, and then you bring your own renderer to draw them. And of course there is full access to the element hierarchy/DOM, event handling, and all the interactivity and customizability you would expect. All of this directly from C++, or optionally from scripting languages using plugins. The core library compiles down to fractions of the size it takes to integrate a fully fledged web browser.
|
|
|
|
|
|
|
|
-RmlUi is based around the XHTML1 and CSS2 standards while borrowing features from HTML5 and CSS3, and extends them with features suited towards real-time applications. Take a look at the [conformance](#conformance) and [enhancements](#enhancements) sections below for details.
|
|
|
|
|
|
|
+RmlUi is based around the XHTML1 and CSS2 standards while integrating features from HTML5 and CSS3, and extends them with features suited towards real-time applications. Take a look at the [conformance](#conformance) and [enhancements](#enhancements) sections below for details.
|
|
|
|
|
|
|
|
Documentation is located at https://mikke89.github.io/RmlUiDoc/
|
|
Documentation is located at https://mikke89.github.io/RmlUiDoc/
|
|
|
|
|
|
|
|
## Features
|
|
## Features
|
|
|
|
|
|
|
|
-- Cross-platform architecture: Windows, macOS, Linux, iOS, etc.
|
|
|
|
|
|
|
+- Cross-platform architecture: Windows, Linux, macOS, Android, iOS, Switch, and more.
|
|
|
- Dynamic layout system.
|
|
- Dynamic layout system.
|
|
|
- Full animation and transform support.
|
|
- Full animation and transform support.
|
|
|
- Efficient application-wide styling, with a custom-built templating engine.
|
|
- Efficient application-wide styling, with a custom-built templating engine.
|
|
|
-- Fully featured control set: buttons, sliders, drop-downs, etc.
|
|
|
|
|
|
|
+- Fully featured control set: buttons, sliders, drop-downs, and more.
|
|
|
- Runtime visual debugging suite.
|
|
- Runtime visual debugging suite.
|
|
|
|
|
|
|
|
## Extensible
|
|
## Extensible
|
|
@@ -42,7 +42,6 @@ Documentation is located at https://mikke89.github.io/RmlUiDoc/
|
|
|
- The library generates vertices, indices, and textures for the user to render how they like.
|
|
- The library generates vertices, indices, and textures for the user to render how they like.
|
|
|
- File handling and the font engine can optionally be fully replaced by the user.
|
|
- File handling and the font engine can optionally be fully replaced by the user.
|
|
|
|
|
|
|
|
-
|
|
|
|
|
## Conformance
|
|
## Conformance
|
|
|
|
|
|
|
|
RmlUi aims to support the most common and familiar features from HTML and CSS, while keeping the library light and performant. We do not aim to be fully compliant with CSS or HTML, in particular when it conflicts with lightness and performance. Users are generally expected to author documents specifically for RmlUi, but any experience and skills from web design should be transferable.
|
|
RmlUi aims to support the most common and familiar features from HTML and CSS, while keeping the library light and performant. We do not aim to be fully compliant with CSS or HTML, in particular when it conflicts with lightness and performance. Users are generally expected to author documents specifically for RmlUi, but any experience and skills from web design should be transferable.
|
|
@@ -73,7 +72,7 @@ RmlUi adds features and enhancements over CSS and HTML where it makes sense, mos
|
|
|
- [Sprite sheets](https://mikke89.github.io/RmlUiDoc/pages/rcss/sprite_sheets.html). Define and use sprites with easy high DPI support.
|
|
- [Sprite sheets](https://mikke89.github.io/RmlUiDoc/pages/rcss/sprite_sheets.html). Define and use sprites with easy high DPI support.
|
|
|
- [Templates](https://mikke89.github.io/RmlUiDoc/pages/rml/templates.html). Making windows look consistent.
|
|
- [Templates](https://mikke89.github.io/RmlUiDoc/pages/rml/templates.html). Making windows look consistent.
|
|
|
- [Localization](https://mikke89.github.io/RmlUiDoc/pages/localisation.html). Translate any text in the document.
|
|
- [Localization](https://mikke89.github.io/RmlUiDoc/pages/localisation.html). Translate any text in the document.
|
|
|
-
|
|
|
|
|
|
|
+- [Spatial navigation](https://mikke89.github.io/RmlUiDoc/pages/rcss/user_interface.html#nav). Suitable for controllers.
|
|
|
|
|
|
|
|
## Dependencies
|
|
## Dependencies
|
|
|
|
|
|
|
@@ -373,7 +372,7 @@ Users can now edit the text field to change the animal. The data bindings ensure
|
|
|
|
|
|
|
|
[Effects sample video](https://github.com/mikke89/RmlUi/assets/5490330/bdc0422d-867d-4090-9d48-e7159e3adc18)
|
|
[Effects sample video](https://github.com/mikke89/RmlUi/assets/5490330/bdc0422d-867d-4090-9d48-e7159e3adc18)
|
|
|
|
|
|
|
|
-**[Killing Time: Resurrected](https://www.nightdivestudios.com/) by [Nightdive Studios](https://www.nightdivestudios.com/) and [Ziggurat Interactive](https://www.ziggurat.games/game/killing-time-resurrected) - remastered version of the classic shooter game - user interface made with RmlUi**\
|
|
|
|
|
|
|
+**[Killing Time: Resurrected](https://nightdivestudios.com/killing-time-resurrected/) by [Nightdive Studios](https://www.nightdivestudios.com/) and [Ziggurat Interactive](https://www.ziggurat.games/game/killing-time-resurrected) - remastered version of the classic shooter game - user interface made with RmlUi**\
|
|
|

|
|

|
|
|
|
|
|
|
|
**[alt:V](https://altv.mp/) installer - a multiplayer client for GTA:V**\
|
|
**[alt:V](https://altv.mp/) installer - a multiplayer client for GTA:V**\
|
|
@@ -395,6 +394,9 @@ Users can now edit the text field to change the animal. The data bindings ensure
|
|
|
**Sandbox from the 'demo' sample, try it yourself!**\
|
|
**Sandbox from the 'demo' sample, try it yourself!**\
|
|
|

|
|

|
|
|
|
|
|
|
|
|
|
+**Collage of advanced effects:**\
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
**Visual testing framework - for built-in automated layout tests**\
|
|
**Visual testing framework - for built-in automated layout tests**\
|
|
|

|
|

|
|
|
|
|
|