TachyonUI 0.1.0
High-performance UI for building tools.
Loading...
Searching...
No Matches
tachyon::GUIStateManager Class Reference

Owns the per-frame state objects and runs their BeginFrame / EndFrame in order. More...

#include <gui_core/state/gui_state_manager.h>

Public Member Functions

InteractionState & Interaction ()
const InteractionState & Interaction () const
DragDropState & Drag ()
const DragDropState & Drag () const
ConstructionScopes & Construction ()
const ConstructionScopes & Construction () const
TextEditorFocusState & TextEditorFocus ()
const TextEditorFocusState & TextEditorFocus () const
LabelBinding & Labels ()
const LabelBinding & Labels () const
CursorState & Cursor ()
const CursorState & Cursor () const
ScrollManagement & GetScrollManagement ()
const ScrollManagement & GetScrollManagement () const
ElementDataStore & GetElementDataStore ()
const ElementDataStore & GetElementDataStore () const
ElementState GetCurrentState (ID id) const
 The state of id (hovered, focused, disabled, ...) from Interaction, Construction and Labels.
bool BeginFrame ()
 Resets the per-frame state; call before construction. Always true.
FrameHover EndFrame (const FrameInput &input, IDManager &idManager)
 Resolves the active window, the window and element under the pointer and the hovered element from Input, then ends the frame's state.
void ClearModifiedFlag ()
 Whether transient state changed this frame.
bool IsModified () const
 Whether transient state changed this frame.
void SetModified (bool v)
 Whether transient state changed this frame.

Detailed Description

Owns the per-frame state objects and runs their BeginFrame / EndFrame in order.

Callers use the narrow accessors (Interaction(), Drag(), ...) to depend only on what they use:

Member Function Documentation

◆ Interaction() [1/2]

InteractionState & tachyon::GUIStateManager::Interaction ( )
inline

◆ Interaction() [2/2]

const InteractionState & tachyon::GUIStateManager::Interaction ( ) const
inline

◆ Drag() [1/2]

DragDropState & tachyon::GUIStateManager::Drag ( )
inline

◆ Drag() [2/2]

const DragDropState & tachyon::GUIStateManager::Drag ( ) const
inline

◆ Construction() [1/2]

ConstructionScopes & tachyon::GUIStateManager::Construction ( )
inline

◆ Construction() [2/2]

const ConstructionScopes & tachyon::GUIStateManager::Construction ( ) const
inline

◆ TextEditorFocus() [1/2]

TextEditorFocusState & tachyon::GUIStateManager::TextEditorFocus ( )
inline

◆ TextEditorFocus() [2/2]

const TextEditorFocusState & tachyon::GUIStateManager::TextEditorFocus ( ) const
inline

◆ Labels() [1/2]

LabelBinding & tachyon::GUIStateManager::Labels ( )
inline

◆ Labels() [2/2]

const LabelBinding & tachyon::GUIStateManager::Labels ( ) const
inline

◆ Cursor() [1/2]

CursorState & tachyon::GUIStateManager::Cursor ( )
inline

◆ Cursor() [2/2]

const CursorState & tachyon::GUIStateManager::Cursor ( ) const
inline

◆ GetScrollManagement() [1/2]

ScrollManagement & tachyon::GUIStateManager::GetScrollManagement ( )
inline

◆ GetScrollManagement() [2/2]

const ScrollManagement & tachyon::GUIStateManager::GetScrollManagement ( ) const
inline

◆ GetElementDataStore() [1/2]

ElementDataStore & tachyon::GUIStateManager::GetElementDataStore ( )
inline

◆ GetElementDataStore() [2/2]

const ElementDataStore & tachyon::GUIStateManager::GetElementDataStore ( ) const
inline

◆ ClearModifiedFlag()

void tachyon::GUIStateManager::ClearModifiedFlag ( )
inline

Whether transient state changed this frame.

◆ IsModified()

bool tachyon::GUIStateManager::IsModified ( ) const
inline

Whether transient state changed this frame.

◆ SetModified()

void tachyon::GUIStateManager::SetModified ( bool v)
inline

Whether transient state changed this frame.

◆ GetCurrentState()

ElementState tachyon::GUIStateManager::GetCurrentState ( ID id) const

The state of id (hovered, focused, disabled, ...) from Interaction, Construction and Labels.

◆ BeginFrame()

bool tachyon::GUIStateManager::BeginFrame ( )

Resets the per-frame state; call before construction. Always true.

◆ EndFrame()

FrameHover tachyon::GUIStateManager::EndFrame ( const FrameInput & input,
IDManager & idManager )

Resolves the active window, the window and element under the pointer and the hovered element from Input, then ends the frame's state.


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