7#include <unordered_map>
34 struct ScrollOffsetEntry
38 uint32_t lastSeenFrame = 0;
42 uint32_t m_frameIndex = 0;
43 std::unordered_map<ID, ScrollOffsetHandle> m_scrollOffsetHandlesByID;
44 std::vector<ScrollOffsetEntry> m_scrollOffsets;
45 std::vector<ScrollOffsetHandle> m_scrollOffsetFreeList;
The frame's element tree.
Definition gui_element_storage.h:100
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
ScrollOffsetHandle
A handle to a stored scroll offset.
Definition gui_element_storage.h:35
ScrollAxis
Axis mask for scroll-into-view, so e.g. a horizontal sizer doesn't scroll vertically.
Definition gui_scroll_management.h:22
@ None
Definition gui_element_flags.h:19
@ X
Definition gui_scroll_management.h:24
@ Both
Definition gui_scroll_management.h:26
@ Y
Definition gui_scroll_management.h:25
#define TACHYON_ENUM_OPERATORS(EnumType)
Definition gui_enum_operators.h:6
Definition gui_logging.h:24
An element's slot in ElementStorage: its depth and index within that depth.
Definition gui_element.h:127
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
Definition gui_base_types.h:407
Integer 2D vector.
Definition gui_base_types.h:19