18 class ElementDocument;
82 [[nodiscard]] auto
is_loaded() const ->
bool;
std::shared_ptr< frame_buffer > ptr
constexpr float UI_DEFAULT_PIXELS_PER_WORLD_UNIT
Default pixels per world unit (Unity-style). 100 px = 1 world unit.
ui_render_mode
Render mode for the UI document.
@ screen_space_overlay
Screen-space overlay (viewport-sized or positioned)
@ world_space
World-space (rendered on 3D quad, uses transform)
Thread-safe handle to an asset.
CRTP (Curiously Recurring Template Pattern) base structure for components.
Component that holds a reference to a UI document for RmlUi rendering.
asset_handle< ui_tree > asset
Path to the UI document file (HTML/RML)
void set_enabled(bool enabled)
Set the enabled state of the document.
auto get_world_space_scale() const -> math::vec2
Rml::ElementDocument * document
Loaded RmlUi document (owned by context)
auto is_enabled() const -> bool
Check if document is currently enabled.
gfx::frame_buffer::ptr framebuffer
Framebuffer for world-space render-to-texture (owned by component)
Rml::Context * context
Per-document RmlUi context (owned by this component)
std::shared_ptr< RmlUi_RenderLayerStack > render_layer_stack
Render layer stack for this document (owned by component, used during render pass)
float pixels_per_world_unit
Pixels per world unit for world-space rendering (default: 100, Unity-style)
auto get_bounds() const -> math::bbox
Gets the bounding box of the document.
auto is_loaded() const -> bool
Check if document is currently loaded.
ui_render_mode render_mode
Rendering mode: screen or world.
uint32_t last_render_frame
Last frame this world-space document was rendered (for render-once-per-frame)