Flint Engine
Modular C++20 2D game engine powered by SDL3
Loading...
Searching...
No Matches
Flint::UISystem Class Reference

Central gateway subsystem managing UI multi-context lifetimes, resolution scaling, and input filtering. More...

#include <flint/ui/ui-system.h>

+ Collaboration diagram for Flint::UISystem:

Public Member Functions

 UISystem (const UISystem &)=delete
 
UISystem & operator= (const UISystem &)=delete
 
 UISystem (UISystem &&)=delete
 
UISystem & operator= (UISystem &&)=delete
 
UIContext * createContext (std::string name)
 Spawns and registers a uniquely named UI canvas sandbox workspace.
 
void destroyContext (std::string name)
 Completely unloads the targeted context container and immediately releases its bound VRAM elements.
 
UIContext * getContext (const std::string &name) const
 Queries the context map registry to extract a specific UI canvas reference block.
 
UIContext * getActiveContext () const
 Fetches the current user interface workspace layer targeted for frame inputs and draw pipelines.
 
float getDisplayScale () const
 Returns the current resolution scalar factor applied across the layout metric generation loop.
 
void setActiveContext (const std::string &name)
 Switches frame event processing focus directly over to a specific pre-registered context layout tree.
 
void setDisplayScale (float scale)
 Sets the global layout transformation multiplier factor to support clean high-DPI/resolution rendering.
 
void clearActiveContext ()
 De-allocates focus assignments, forcing the active layout view track to return to null.
 
void update (float deltaTime) const
 Advances frame animation trackers and ticking metrics within the currently active UI context tree.
 
void handleEvent (const AppEvent &event)
 Translates raw platform engine input messages into structured, semantic UIEvent actions.
 
void render (UICanvas &canvas) const
 Dispatches the active context layout node tree to push text structures and primitives down to the rendering queue.
 

Detailed Description

Central gateway subsystem managing UI multi-context lifetimes, resolution scaling, and input filtering.

Owned by the main Application layer, Acts as a central router that hosts named user interface trees, scales layout constraints for DPI adjustments, and applies high-speed axis hysteresis to normalize analog hardware inputs into structured UI navigation tokens.

Definition at line 24 of file ui-system.h.


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