GGUI::BoxProps struct

Properties of a container: ui.Row, ui.Column, ui.Stack.

Appearance isn't here: name a style class.

Public variables

GGSize Width
Fit (unset): its content.
GGSize Height
Fit (unset): its content.
float Gap
bool bWrap
Rows only: wrap children onto further lines. Gap also applies between lines.
GGEdges Padding
inside its edge
GGUI::GGAlign Align
cross-axis
GGUI::GGAlign Justify
main-axis
GGUI::Overflow Overflow
what happens to content bigger than it
std::string_view Class
uint8_t Priority
Build order for stored content (ui.Row({ .Priority = 1 }, [=](UI& ui) { ... })).
uint8_t Wait
Build the content no sooner than this many updates after the box, regardless of budget.
int8_t ZOrder
Z-order among siblings: higher is drawn in front and hit first. Does not affect layout or focus order.
GGTransform Transform
Drawn scaled and turned, with its content (ui.Rotation and ui.Scale bind them).

Variable documentation

float GGUI::BoxProps::Gap

between children

std::string_view GGUI::BoxProps::Class

its style classes, space-separated

uint8_t GGUI::BoxProps::Priority

Build order for stored content (ui.Row({ .Priority = 1 }, [=](UI& ui) { ... })).

0: built with the box. Otherwise built afterwards, lowest number first, for as long as the update has budget (UIContext::SetBuildBudget); the rest is built in later updates. With budget to spare everything is built at once: Priority orders work, it doesn't force a delay.