lxgui
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
lxgui::gui::root Class Reference

Root of the UI object hierarchy. More...

#include <gui_root.hpp>

Inheritance diagram for lxgui::gui::root:
lxgui::gui::frame_renderer lxgui::gui::frame_container

Public Types

using root_frame_list = std::list< utils::owner_ptr< frame > >
 Type of the root frame list. More...
 
using root_frame_list_view = utils::view::adaptor< root_frame_list, utils::view::smart_ptr_dereferencer, utils::view::non_null_filter >
 
using const_root_frame_list_view = utils::view::adaptor< const root_frame_list, utils::view::smart_ptr_dereferencer, utils::view::non_null_filter >
 

Public Member Functions

 root (utils::control_block &block, manager &mgr)
 Constructor. More...
 
 ~root () override
 Destructor. More...
 
 root (const root &)=delete
 
 root (root &&)=delete
 
rootoperator= (const root &)=delete
 
rootoperator= (root &&)=delete
 
vector2f get_target_dimensions () const override
 Returns the width and height of this renderer's main render target (e.g., screen). More...
 
void render () const
 Renders the UI into the current render target. More...
 
void enable_caching (bool enable)
 Enables or disables interface caching. More...
 
void toggle_caching ()
 Toggles interface caching. More...
 
bool is_caching_enabled () const
 Checks if interface caching is enabled. More...
 
void update (float delta)
 updates this root and its regions. More...
 
void notify_scaling_factor_updated ()
 Tells this object that the global interface scaling factor has changed. More...
 
void notify_hovered_frame_dirty ()
 Notifies the root that it should update the hovered frame. More...
 
const utils::observer_ptr< frame > & get_hovered_frame ()
 Returns the currently hovered frame, if any. More...
 
utils::observer_ptr< const frameget_hovered_frame () const
 Returns the currently hovered frame, if any. More...
 
bool is_hovered (const frame &obj) const
 Check if a given frame is being hovered. More...
 
const utils::observer_ptr< frame > & get_dragged_frame ()
 Returns the currently dragged frame, if any. More...
 
utils::observer_ptr< const frameget_dragged_frame () const
 Returns the currently dragged frame, if any. More...
 
bool is_dragged (const frame &obj) const
 Check if a given frame is being dragged. More...
 
void start_moving (utils::observer_ptr< region > obj, anchor *a=nullptr, constraint constraint=constraint::none, std::function< void()> apply_constraint_func=nullptr)
 Start manually moving a region with the mouse. More...
 
void stop_moving ()
 Stops movement for the current object. More...
 
bool is_moving (const region &obj) const
 Checks if the given object is allowed to move. More...
 
void start_sizing (utils::observer_ptr< region > obj, point p)
 Starts manually resizing a region with the mouse. More...
 
void stop_sizing ()
 Stops sizing for the current object. More...
 
bool is_sizing (const region &obj) const
 Checks if the given object is allowed to be resized. More...
 
void request_focus (utils::observer_ptr< frame > receiver)
 Sets whether keyboard input should be focused. More...
 
void release_focus (const frame &receiver)
 Give up focus of keyboard input. More...
 
void clear_focus ()
 Release all requested focus. More...
 
bool is_focused () const
 Checks whether keyboard input is focused somewhere, to prevent multiple inputs. More...
 
utils::observer_ptr< const frameget_focused_frame () const
 Returns the currently focused frame (nullptr if none). More...
 
utils::observer_ptr< frameget_focused_frame ()
 Returns the currently focused frame (nullptr if none). More...
 
managerget_manager ()
 Returns the manager instance associated with this root. More...
 
const managerget_manager () const
 Returns the manager instance associated with this root. More...
 
registryget_registry ()
 Returns the UI object registry, which keeps track of all objects in the UI. More...
 
const registryget_registry () const
 Returns the UI object registry, which keeps track of all objects in the UI. More...
 
key_binderget_key_binder ()
 Returns the key_binder object, which enables binding global actions to key presses. More...
 
const key_binderget_key_binder () const
 Returns the key_binder object, which enables binding global actions to key presses. More...
 
virtual void notify_strata_needs_redraw (strata strata_id)
 Tells this renderer that one of its region requires redraw. More...
 
virtual void notify_rendered_frame (const utils::observer_ptr< frame > &obj, bool rendered)
 Tells this renderer that it should (or not) render another frame. More...
 
virtual void notify_strata_changed (const utils::observer_ptr< frame > &obj, strata old_strata_id, strata new_strata_id)
 Tells this renderer that a frame has changed strata. More...
 
virtual void notify_level_changed (const utils::observer_ptr< frame > &obj, int old_level, int new_level)
 Tells this renderer that a frame has changed level. More...
 
utils::observer_ptr< const framefind_topmost_frame (const std::function< bool(const frame &)> &predicate) const
 Find the top-most frame matching the provided predicate. More...
 
utils::observer_ptr< framefind_topmost_frame (const std::function< bool(const frame &)> &predicate)
 Find the top-most frame matching the provided predicate. More...
 
int get_highest_level (strata strata_id) const
 Returns the highest level on the provided strata. More...
 
utils::observer_ptr< framecreate_root_frame (frame_core_attributes attr)
 Creates a new frame, ready for use, and owned by this frame_container. More...
 
template<typename FrameType , typename Enable = typename std::enable_if<std::is_base_of<gui::frame, FrameType>::value>::type>
utils::observer_ptr< framecreate_root_frame (frame_core_attributes attr)
 Creates a new frame, ready for use, and owned by this frame_container. More...
 
template<typename FrameType , typename Enable = typename std::enable_if<std::is_base_of<gui::frame, FrameType>::value>::type>
utils::observer_ptr< framecreate_root_frame (const std::string &name)
 Creates a new frame, ready for use, and owned by this frame_container. More...
 
utils::observer_ptr< frameadd_root_frame (utils::owner_ptr< frame > obj)
 Make a frame owned by this frame_container. More...
 
utils::owner_ptr< frameremove_root_frame (const utils::observer_ptr< frame > &obj)
 Remove a frame from the list of frames owned by this frame_container. More...
 
root_frame_list_view get_root_frames ()
 Returns the root frame list. More...
 
const_root_frame_list_view get_root_frames () const
 Returns the root frame list. More...
 
void garbage_collect ()
 Clean deleted entries from the frame list. More...
 
factoryget_factory ()
 Returns the GUI object factory. More...
 
const factoryget_factory () const
 Returns the GUI object factory. More...
 

Protected Types

using frame_list_type = utils::sorted_vector< frame *, frame_comparator >
 
using frame_list_iterator = frame_list_type::iterator
 

Protected Member Functions

void clear_strata_list_ ()
 
bool has_strata_list_changed_ () const
 
void reset_strata_list_changed_flag_ ()
 
void render_strata_ (const strata_data &strata_obj) const
 
std::pair< std::size_t, std::size_t > get_strata_range_ (strata strata_id) const
 
virtual utils::observer_ptr< framecreate_root_frame_ (frame_core_attributes attr)
 
void clear_frames_ ()
 

Protected Attributes

std::array< strata_data, num_stratastrata_list_
 
frame_list_type sorted_frame_list_
 
bool frame_list_updated_ = false
 

Static Protected Attributes

static constexpr std::size_t num_strata = magic_enum::enum_count<strata>()
 

Detailed Description

Root of the UI object hierarchy.

This class contains and owns all "root" frames (frames with no parents) and is responsible for their lifetime, update, and rendering.

Definition at line 36 of file gui_root.hpp.

Member Typedef Documentation

◆ const_root_frame_list_view

Definition at line 42 of file gui_frame_container.hpp.

◆ frame_list_iterator

Definition at line 106 of file gui_frame_renderer.hpp.

◆ frame_list_type

Definition at line 105 of file gui_frame_renderer.hpp.

◆ root_frame_list

Type of the root frame list.

Note
Constraints on the choice container type:
  • must not invalidate iterators on back insertion
  • must allow forward iteration
  • iterators can be invalidated on removal
  • most common use is iteration, not addition or removal
  • ordering of elements is irrelevant

Definition at line 37 of file gui_frame_container.hpp.

◆ root_frame_list_view

Definition at line 39 of file gui_frame_container.hpp.

Constructor & Destructor Documentation

◆ root() [1/3]

lxgui::gui::root::root ( utils::control_block &  block,
manager mgr 
)
explicit

Constructor.

Parameters
blockThe owner pointer control block
mgrThe GUI manager

Definition at line 19 of file gui_root.cpp.

◆ ~root()

lxgui::gui::root::~root ( )
override

Destructor.

Definition at line 112 of file gui_root.cpp.

◆ root() [2/3]

lxgui::gui::root::root ( const root )
delete

◆ root() [3/3]

lxgui::gui::root::root ( root &&  )
delete

Member Function Documentation

◆ add_root_frame()

utils::observer_ptr< frame > lxgui::gui::frame_container::add_root_frame ( utils::owner_ptr< frame obj)
inherited

Make a frame owned by this frame_container.

Parameters
objThe frame to add to the root frame list
Returns
Raw pointer to the frame

Definition at line 27 of file gui_frame_container.cpp.

◆ clear_focus()

void lxgui::gui::root::clear_focus ( )

Release all requested focus.

Definition at line 475 of file gui_root.cpp.

◆ clear_frames_()

void lxgui::gui::frame_container::clear_frames_ ( )
protectedinherited

Definition at line 63 of file gui_frame_container.cpp.

◆ clear_strata_list_()

void lxgui::gui::frame_renderer::clear_strata_list_ ( )
protectedinherited

Definition at line 183 of file gui_frame_renderer.cpp.

◆ create_root_frame() [1/3]

template<typename FrameType , typename Enable = typename std::enable_if<std::is_base_of<gui::frame, FrameType>::value>::type>
utils::observer_ptr<frame> lxgui::gui::frame_container::create_root_frame ( const std::string &  name)
inlineinherited

Creates a new frame, ready for use, and owned by this frame_container.

Parameters
nameThe name of this frame
Returns
The new frame
Note
This function takes care of the basic initializing: the frame is directly usable. However, you still need to call notify_loaded() when you are done with any extra initialization you require on this frame. If you do not, the frame's OnLoad callback will not fire.

Definition at line 112 of file gui_frame_container.hpp.

◆ create_root_frame() [2/3]

utils::observer_ptr<frame> lxgui::gui::frame_container::create_root_frame ( frame_core_attributes  attr)
inlineinherited

Creates a new frame, ready for use, and owned by this frame_container.

Parameters
attrThe core attributes of the frame (parent will be ignored)
Returns
The new frame
Note
This function takes care of the basic initializing: the frame is directly usable. However, you still need to call notify_loaded() when you are done with any extra initialization you require on this frame. If you do not, the frame's OnLoad callback will not fire.

Definition at line 71 of file gui_frame_container.hpp.

◆ create_root_frame() [3/3]

template<typename FrameType , typename Enable = typename std::enable_if<std::is_base_of<gui::frame, FrameType>::value>::type>
utils::observer_ptr<frame> lxgui::gui::frame_container::create_root_frame ( frame_core_attributes  attr)
inlineinherited

Creates a new frame, ready for use, and owned by this frame_container.

Parameters
attrThe core attributes of the frame (object_type and parent will be ignored)
Returns
The new frame
Note
This function takes care of the basic initializing: the frame is directly usable. However, you still need to call notify_loaded() when you are done with any extra initialization you require on this frame. If you do not, the frame's OnLoad callback will not fire.

Definition at line 91 of file gui_frame_container.hpp.

◆ create_root_frame_()

utils::observer_ptr< frame > lxgui::gui::frame_container::create_root_frame_ ( frame_core_attributes  attr)
protectedvirtualinherited

Definition at line 17 of file gui_frame_container.cpp.

◆ enable_caching()

void lxgui::gui::root::enable_caching ( bool  enable)

Enables or disables interface caching.

Parameters
enable'true' to enable, 'false' to disable
See also
toggle_caching()

Definition at line 266 of file gui_root.cpp.

◆ find_topmost_frame() [1/2]

utils::observer_ptr<frame> lxgui::gui::frame_renderer::find_topmost_frame ( const std::function< bool(const frame &)> &  predicate)
inlineinherited

Find the top-most frame matching the provided predicate.

Parameters
predicateA function returning 'true' if the frame can be selected
Returns
The topmost frame, or nullptr if none

Definition at line 82 of file gui_frame_renderer.hpp.

◆ find_topmost_frame() [2/2]

utils::observer_ptr< const frame > lxgui::gui::frame_renderer::find_topmost_frame ( const std::function< bool(const frame &)> &  predicate) const
inherited

Find the top-most frame matching the provided predicate.

Parameters
predicateA function returning 'true' if the frame can be selected
Returns
The topmost frame, or nullptr if none

Definition at line 149 of file gui_frame_renderer.cpp.

◆ garbage_collect()

void lxgui::gui::frame_container::garbage_collect ( )
inherited

Clean deleted entries from the frame list.

Note
This must not be called while the root frames are being iterated on. All this does is free up "nullptr" entries from the list, to speed up future iteration.

Definition at line 56 of file gui_frame_container.cpp.

◆ get_dragged_frame() [1/2]

const utils::observer_ptr<frame>& lxgui::gui::root::get_dragged_frame ( )
inline

Returns the currently dragged frame, if any.

Returns
The currently dragged frame, if any.

Definition at line 129 of file gui_root.hpp.

◆ get_dragged_frame() [2/2]

utils::observer_ptr<const frame> lxgui::gui::root::get_dragged_frame ( ) const
inline

Returns the currently dragged frame, if any.

Returns
The currently dragged frame, if any.

Definition at line 137 of file gui_root.hpp.

◆ get_factory() [1/2]

factory& lxgui::gui::frame_container::get_factory ( )
inlineinherited

Returns the GUI object factory.

Returns
The GUI object factory

Definition at line 158 of file gui_frame_container.hpp.

◆ get_factory() [2/2]

const factory& lxgui::gui::frame_container::get_factory ( ) const
inlineinherited

Returns the GUI object factory.

Returns
The GUI object factory

Definition at line 166 of file gui_frame_container.hpp.

◆ get_focused_frame() [1/2]

utils::observer_ptr<frame> lxgui::gui::root::get_focused_frame ( )
inline

Returns the currently focused frame (nullptr if none).

Returns
The currently focused frame (nullptr if none)

Definition at line 237 of file gui_root.hpp.

◆ get_focused_frame() [2/2]

utils::observer_ptr< const frame > lxgui::gui::root::get_focused_frame ( ) const

Returns the currently focused frame (nullptr if none).

Returns
The currently focused frame (nullptr if none)

Definition at line 487 of file gui_root.cpp.

◆ get_highest_level()

int lxgui::gui::frame_renderer::get_highest_level ( strata  strata_id) const
inherited

Returns the highest level on the provided strata.

Parameters
strata_idThe strata to inspect
Returns
The highest level on the provided strata

Definition at line 161 of file gui_frame_renderer.cpp.

◆ get_hovered_frame() [1/2]

const utils::observer_ptr<frame>& lxgui::gui::root::get_hovered_frame ( )
inline

Returns the currently hovered frame, if any.

Returns
The currently hovered frame, if any.

Definition at line 105 of file gui_root.hpp.

◆ get_hovered_frame() [2/2]

utils::observer_ptr<const frame> lxgui::gui::root::get_hovered_frame ( ) const
inline

Returns the currently hovered frame, if any.

Returns
The currently hovered frame, if any.

Definition at line 113 of file gui_root.hpp.

◆ get_key_binder() [1/2]

key_binder& lxgui::gui::root::get_key_binder ( )
inline

Returns the key_binder object, which enables binding global actions to key presses.

Returns
The key_binder object

Definition at line 277 of file gui_root.hpp.

◆ get_key_binder() [2/2]

const key_binder& lxgui::gui::root::get_key_binder ( ) const
inline

Returns the key_binder object, which enables binding global actions to key presses.

Returns
The key_binder object

Definition at line 285 of file gui_root.hpp.

◆ get_manager() [1/2]

manager& lxgui::gui::root::get_manager ( )
inline

Returns the manager instance associated with this root.

Returns
The manager instance associated with this root

Definition at line 245 of file gui_root.hpp.

◆ get_manager() [2/2]

const manager& lxgui::gui::root::get_manager ( ) const
inline

Returns the manager instance associated with this root.

Returns
The manager instance associated with this root

Definition at line 253 of file gui_root.hpp.

◆ get_registry() [1/2]

registry& lxgui::gui::root::get_registry ( )
inline

Returns the UI object registry, which keeps track of all objects in the UI.

Returns
The registry object

Definition at line 261 of file gui_root.hpp.

◆ get_registry() [2/2]

const registry& lxgui::gui::root::get_registry ( ) const
inline

Returns the UI object registry, which keeps track of all objects in the UI.

Returns
The registry object

Definition at line 269 of file gui_root.hpp.

◆ get_root_frames() [1/2]

frame_container::root_frame_list_view lxgui::gui::frame_container::get_root_frames ( )
inherited

Returns the root frame list.

Returns
The root frame list

Definition at line 48 of file gui_frame_container.cpp.

◆ get_root_frames() [2/2]

frame_container::const_root_frame_list_view lxgui::gui::frame_container::get_root_frames ( ) const
inherited

Returns the root frame list.

Returns
The root frame list

Definition at line 52 of file gui_frame_container.cpp.

◆ get_strata_range_()

std::pair< std::size_t, std::size_t > lxgui::gui::frame_renderer::get_strata_range_ ( strata  strata_id) const
protectedinherited

Definition at line 125 of file gui_frame_renderer.cpp.

◆ get_target_dimensions()

vector2f lxgui::gui::root::get_target_dimensions ( ) const
overridevirtual

Returns the width and height of this renderer's main render target (e.g., screen).

Returns
The render target dimensions

Implements lxgui::gui::frame_renderer.

Definition at line 117 of file gui_root.cpp.

◆ has_strata_list_changed_()

bool lxgui::gui::frame_renderer::has_strata_list_changed_ ( ) const
protectedinherited

Definition at line 188 of file gui_frame_renderer.cpp.

◆ is_caching_enabled()

bool lxgui::gui::root::is_caching_enabled ( ) const

Checks if interface caching is enabled.

Returns
'true' if interface caching is enabled
See also
toggle_caching()

Definition at line 271 of file gui_root.cpp.

◆ is_dragged()

bool lxgui::gui::root::is_dragged ( const frame obj) const
inline

Check if a given frame is being dragged.

Returns
'true' if dragged, 'false' otherwise

Definition at line 145 of file gui_root.hpp.

◆ is_focused()

bool lxgui::gui::root::is_focused ( ) const

Checks whether keyboard input is focused somewhere, to prevent multiple inputs.

Returns
'true' if input is focused
Note
See set_focus() for more information.

Definition at line 483 of file gui_root.cpp.

◆ is_hovered()

bool lxgui::gui::root::is_hovered ( const frame obj) const
inline

Check if a given frame is being hovered.

Returns
'true' if hovered, 'false' otherwise

Definition at line 121 of file gui_root.hpp.

◆ is_moving()

bool lxgui::gui::root::is_moving ( const region obj) const

Checks if the given object is allowed to move.

Parameters
objThe object to check
Returns
'true' if the given object is allowed to move

Definition at line 336 of file gui_root.cpp.

◆ is_sizing()

bool lxgui::gui::root::is_sizing ( const region obj) const

Checks if the given object is allowed to be resized.

Parameters
objThe object to check
Returns
'true' if the given object is allowed to be resized

Definition at line 410 of file gui_root.cpp.

◆ notify_hovered_frame_dirty()

void lxgui::gui::root::notify_hovered_frame_dirty ( )

Notifies the root that it should update the hovered frame.

Definition at line 299 of file gui_root.cpp.

◆ notify_level_changed()

void lxgui::gui::frame_renderer::notify_level_changed ( const utils::observer_ptr< frame > &  obj,
int  old_level,
int  new_level 
)
virtualinherited

Tells this renderer that a frame has changed level.

Parameters
objThe frame which has changed
old_levelThe old frame level
new_levelThe new frame level

Definition at line 132 of file gui_frame_renderer.cpp.

◆ notify_rendered_frame()

void lxgui::gui::frame_renderer::notify_rendered_frame ( const utils::observer_ptr< frame > &  obj,
bool  rendered 
)
virtualinherited

Tells this renderer that it should (or not) render another frame.

Parameters
objThe frame to render
rendered'true' if this renderer needs to render that new object

Definition at line 82 of file gui_frame_renderer.cpp.

◆ notify_scaling_factor_updated()

void lxgui::gui::root::notify_scaling_factor_updated ( )

Tells this object that the global interface scaling factor has changed.

Definition at line 275 of file gui_root.cpp.

◆ notify_strata_changed()

void lxgui::gui::frame_renderer::notify_strata_changed ( const utils::observer_ptr< frame > &  obj,
strata  old_strata_id,
strata  new_strata_id 
)
virtualinherited

Tells this renderer that a frame has changed strata.

Parameters
objThe frame which has changed
old_strata_idThe old frame strata
new_strata_idThe new frame strata

Definition at line 110 of file gui_frame_renderer.cpp.

◆ notify_strata_needs_redraw()

void lxgui::gui::frame_renderer::notify_strata_needs_redraw ( strata  strata_id)
virtualinherited

Tells this renderer that one of its region requires redraw.

Reimplemented in lxgui::gui::scroll_frame.

Definition at line 78 of file gui_frame_renderer.cpp.

◆ operator=() [1/2]

root& lxgui::gui::root::operator= ( const root )
delete

◆ operator=() [2/2]

root& lxgui::gui::root::operator= ( root &&  )
delete

◆ release_focus()

void lxgui::gui::root::release_focus ( const frame receiver)

Give up focus of keyboard input.

Parameters
receiverThe event receiver that releases focus

Definition at line 461 of file gui_root.cpp.

◆ remove_root_frame()

utils::owner_ptr< frame > lxgui::gui::frame_container::remove_root_frame ( const utils::observer_ptr< frame > &  obj)
inherited

Remove a frame from the list of frames owned by this frame_container.

Parameters
objThe frame to be released
Returns
A unique_ptr to the previously owned frame, ignore it to destroy it.

Definition at line 33 of file gui_frame_container.cpp.

◆ render()

void lxgui::gui::root::render ( ) const

Renders the UI into the current render target.

Definition at line 121 of file gui_root.cpp.

◆ render_strata_()

void lxgui::gui::frame_renderer::render_strata_ ( const strata_data strata_obj) const
protectedinherited

Definition at line 174 of file gui_frame_renderer.cpp.

◆ request_focus()

void lxgui::gui::root::request_focus ( utils::observer_ptr< frame receiver)

Sets whether keyboard input should be focused.

Parameters
receiverThe frame that requires focus
Note
This function will forward all keyboard events to the new receiver. This is useful to implement an edit box: the user can type letters using keys that can be bound to special actions in the game, and these should be prevented from happening. This can be achieved by calling this function and using the edit box as second argument, which will ensure that input events are only sent to the edit box exclusively.

Definition at line 447 of file gui_root.cpp.

◆ reset_strata_list_changed_flag_()

void lxgui::gui::frame_renderer::reset_strata_list_changed_flag_ ( )
protectedinherited

Definition at line 192 of file gui_frame_renderer.cpp.

◆ start_moving()

void lxgui::gui::root::start_moving ( utils::observer_ptr< region obj,
anchor a = nullptr,
constraint  constraint = constraint::none,
std::function< void()>  apply_constraint_func = nullptr 
)

Start manually moving a region with the mouse.

Parameters
objThe object to move
aThe reference anchor
constraintThe constraint axis if any
apply_constraint_funcOptional function to implement further constraints
Note
Movement is handled by the root, you don't need to do anything except calling stop_moving() when you are done.

Definition at line 303 of file gui_root.cpp.

◆ start_sizing()

void lxgui::gui::root::start_sizing ( utils::observer_ptr< region obj,
point  p 
)

Starts manually resizing a region with the mouse.

Parameters
objThe object to resize
pThe sizing point
Note
Resizing is handled by the root, you don't need to do anything except calling stop_sizing() when you are done.

Definition at line 340 of file gui_root.cpp.

◆ stop_moving()

void lxgui::gui::root::stop_moving ( )

Stops movement for the current object.

Note
Does nothing if no object is being moved

Definition at line 331 of file gui_root.cpp.

◆ stop_sizing()

void lxgui::gui::root::stop_sizing ( )

Stops sizing for the current object.

Note
Does nothing if no object is being resized

Definition at line 406 of file gui_root.cpp.

◆ toggle_caching()

void lxgui::gui::root::toggle_caching ( )

Toggles interface caching.

Note
Disabled by default. Enabling this will most likely improve performances, at the expense of higher GPU memory usage. The UI will be cached into large render targets, which are only redrawn when the UI changes, rather than redrawn on each frame.

Definition at line 257 of file gui_root.cpp.

◆ update()

void lxgui::gui::root::update ( float  delta)

updates this root and its regions.

Parameters
deltaThe time elapsed since the last call

Definition at line 184 of file gui_root.cpp.

Member Data Documentation

◆ frame_list_updated_

bool lxgui::gui::frame_renderer::frame_list_updated_ = false
protectedinherited

Definition at line 114 of file gui_frame_renderer.hpp.

◆ num_strata

constexpr std::size_t lxgui::gui::frame_renderer::num_strata = magic_enum::enum_count<strata>()
staticconstexprprotectedinherited

Definition at line 110 of file gui_frame_renderer.hpp.

◆ sorted_frame_list_

frame_list_type lxgui::gui::frame_renderer::sorted_frame_list_
protectedinherited

Definition at line 113 of file gui_frame_renderer.hpp.

◆ strata_list_

std::array<strata_data, num_strata> lxgui::gui::frame_renderer::strata_list_
protectedinherited

Definition at line 112 of file gui_frame_renderer.hpp.


The documentation for this class was generated from the following files: