77 bool m_modified =
false;
Construction-time Push/Pop nesting read by GUIStateManager::GetCurrentState.
Definition gui_state_atomic_values.h:50
The mouse cursor requested this frame.
Definition gui_state_atomic_values.h:20
Drag-and-drop state, owned by GUIStateManager.
Definition gui_drag_drop_state.h:39
Per-element typed state keyed by ID, kept across frames (drag start, double-click timing).
Definition gui_element_data_store.h:23
Owns the per-frame state objects and runs their BeginFrame / EndFrame in order.
Definition gui_state_manager.h:65
const CursorState & Cursor() const
Definition gui_state_manager.h:103
ElementDataStore & GetElementDataStore()
Definition gui_state_manager.h:108
bool IsModified() const
Whether transient state changed this frame.
Definition gui_state_manager.h:117
FrameHover EndFrame(const FrameInput &input, IDManager &idManager)
Resolves the active window, the window and element under the pointer and the hovered element from inp...
bool BeginFrame()
Resets the per-frame state; call before construction. Always true.
const LabelBinding & Labels() const
Definition gui_state_manager.h:100
void ClearModifiedFlag()
Whether transient state changed this frame.
Definition gui_state_manager.h:116
const TextEditorFocusState & TextEditorFocus() const
Definition gui_state_manager.h:97
InteractionState & Interaction()
Definition gui_state_manager.h:87
DragDropState & Drag()
Definition gui_state_manager.h:90
ElementState GetCurrentState(ID id) const
The state of id (hovered, focused, disabled, ...) from Interaction, Construction and Labels.
void SetModified(bool v)
Whether transient state changed this frame.
Definition gui_state_manager.h:118
const ConstructionScopes & Construction() const
Definition gui_state_manager.h:94
const ScrollManagement & GetScrollManagement() const
Definition gui_state_manager.h:106
TextEditorFocusState & TextEditorFocus()
Definition gui_state_manager.h:96
ScrollManagement & GetScrollManagement()
Definition gui_state_manager.h:105
ConstructionScopes & Construction()
Definition gui_state_manager.h:93
CursorState & Cursor()
Definition gui_state_manager.h:102
const InteractionState & Interaction() const
Definition gui_state_manager.h:88
LabelBinding & Labels()
Definition gui_state_manager.h:99
const DragDropState & Drag() const
Definition gui_state_manager.h:91
const ElementDataStore & GetElementDataStore() const
Definition gui_state_manager.h:109
Makes element IDs: per-frame dynamic / ranged IDs (hashed from the call site or a hint and the parent...
Definition gui_id_manager.h:27
The hovered, active, focused and captured elements, the active window, the one-shot click,...
Definition gui_interaction_state.h:17
Links labels to the controls they describe during construction; owned by GUIStateManager.
Definition gui_label_binding.h:25
The focused text editor, plus the one as of the last Commit, to detect changes.
Definition gui_state_atomic_values.h:32
ElementState
Interaction state bits of an element; they pick the Style::states variant it draws with.
Definition gui_style.h:42
Definition gui_logging.h:24
Where the frame's input goes, from GUIStateManager::EndFrame.
Definition gui_state_manager.h:46
ID hoverID
what counts as hovered: capture, active element, drop target
Definition gui_state_manager.h:48
ID disabledID
a disabled element under the cursor: tooltips only
Definition gui_state_manager.h:50
ID overID
the element under the cursor
Definition gui_state_manager.h:47
ID hoverWindowID
the window the pointer input belongs to
Definition gui_state_manager.h:49
A 64-bit element ID whose bit layout depends on its IDMode.
Definition gui_id.h:23
static constexpr ID Invalid()
The "no element" ID (all bits zero); also the default for optional ID parameters.
Definition gui_id.h:66
Integer 2D vector.
Definition gui_base_types.h:19