GGUI/Public/UIContext.h file

UIContext: one UI document. The tree plus everything stored per node.

Owns the node storage and the rows beside it (layout inputs, text, style class, handlers, dirty flags, computed layout). A tree is built by running a function against a UI builder (UI.h). Running it again reconciles against the existing tree, so only real differences are created, moved, changed, or destroyed.

Single writer: the UI update.

Namespaces

namespace GGUI

Classes

struct GGUI::BuildStats
What a build changed. A no-op build leaves everything but Reused at zero.
struct GGUI::BindingStats
What one UpdateBindings call did.
struct GGUI::ViewportSize
A viewport's size after layout, in physical pixels. The renderer sizes its target to match.
struct GGUI::TemplateError
A call a template can't support.
class GGUI::UIContext
One UI document: the tree and everything stored per node. See the file description.
struct GGUI::UIContext::Clipboard
System clipboard access. Set on the root document; called on the UI update. Fetched text arrives later as InputKind::Paste.
struct GGUI::UIContext::PopupWindows
Host support for popups in their own OS window. Set on the root document; called on the UI update.
struct GGUI::UIContext::SourceSite
Source location an element was built at.
struct GGUI::UIContext::DebugTotals
Lifetime counters. An idle document's don't move.
struct GGUI::UIContext::MemoryUse
Memory held by one part of the document.
template<typename T>
class GGUI::GGState
GGState<T>: a value that lives with an element and survives re-runs.