GGUI::SnapshotNode struct

One node as a snapshot holds it.

Public variables

GGRect Bounds
GGRect Clip
Unscrolled clip rect accumulated from the boxes between it and its scroll space (Space). The scroll space's own edge is not included.
GGRect Reach
Unscrolled bounds of everything visible in its subtree (SnapShown), ignoring scroll clips. A point outside it cannot hit this node or anything under it.
NodeHandle Node
the node it is
uint32_t Parent
parent slot (GGSnapshot::At); none for the root
uint32_t FirstChild
first child slot; none if it has no children
uint32_t NextSibling
next sibling slot; none for the last
uint32_t Space
slot of the nearest scrolling ancestor (SnapSpace); none if there isn't one
uint64_t ClassID
its style class's key (ClassKey)
uint64_t TextRun
shaped text to draw (TextMetrics::Run); 0 = none
float Opacity
multiplied down from the root
float Fill
a progress bar's fill fraction, 0..1
GGColor TextColor
its style's text colour, or the nearest ancestor's
uint32_t NameOffset
accessible name, then description: see GGSnapshot::NameOf
uint16_t NameLength
bytes of the accessible name
uint16_t DescriptionLength
bytes of the description, after the name
AccessInfo Access
accessibility role and state
uint16_t Depth
0 for the root
WidgetTypeID Type
what kind of element
uint8_t Flags
SnapshotFlags.
uint8_t State
NodeState.
uint8_t More
SnapshotMore.
float TextWidth
text size, single line or wrapped; 0 = no text
float TextHeight
text size; 0 = no text
uint32_t ImageEntry
image or viewport: see GGSnapshot::ImageOf. A canvas: its drawing (DrawingOf). Rich text: its spans (SpansOf)
uint32_t Look
mid-transition: index + 1 into GGSnapshot::Looks; 0 = use its class and state

Variable documentation

GGRect GGUI::SnapshotNode::Bounds

unscrolled, pixel-snapped, with paint offsets applied. On screen: GGSnapshot::Placed