public struct LayoutStyleEverything a node's layout depends on, as one unmanaged value.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
All nine edges are stored, including the Horizontal, Vertical and All shorthands, because CSS resolves them by precedence at read time rather than by expansion at write time: setting All and then Left is not the same document as setting Left and then All, and a store that expanded on write could not tell them apart.
This is around 400 bytes — doc 09's estimate of 120 was made before the edge shorthands and the writing-mode-relative pair were counted. A hundred thousand nodes is therefore about 40 MB in four allocations, against the reference port's several hundred thousand heap objects for the same tree, which is the comparison ADR-006 was actually making.
Fields and properties (25)
public static readonly LayoutStyle DefaultA style with every CSS initial value, which is not the same as all zeroes.
public Direction DirectionWhich way the inline axis runs.
public FlexDirection FlexDirectionThe main axis.
public Justify JustifyContentMain-axis distribution.
public Align AlignContentCross-axis distribution of the lines.
public Align AlignItemsCross-axis placement of the items.
public Align AlignSelfThis node's own cross-axis placement, overriding its parent's.
public PositionType PositionTypeHow this node is positioned.
public Wrap FlexWrapWhether the line wraps.
public Overflow OverflowWhat happens to content that does not fit.
public Display DisplayWhether the node is laid out at all.
public BoxSizing BoxSizingWhat the dimensions measure.
public float FlexThe flex shorthand, if it was the thing that was set.
public float FlexGrowHow much of the leftover space this node takes.
public float FlexShrinkHow much of an overflow this node absorbs.
public StyleLength FlexBasisThe main size before growing and shrinking.
public float AspectRatioThe width-to-height ratio the node is forced into.
public EdgeLengths MarginOutside the border box.
public EdgeLengths PositionThe offset applied by Relative and Absolute.
public EdgeLengths PaddingInside the border, outside the content.
public EdgeLengths BorderBetween padding and margin.
public GutterLengths GapBetween items and between lines.
public DimensionLengths DimensionsThe requested size.
public DimensionLengths MinDimensionsThe floor.
public DimensionLengths MaxDimensionsThe ceiling.
Used by (7)
- BridgeFixtureVixen.Ui.Tests
- ConformanceMeasureVixen.Ui.Layout.Tests
- LayoutStyleBridgeTestsVixen.Ui.Tests
- LayoutStyleBuilderVixen.Ui
- LayoutTreeVixen.Ui.Layout
- LayoutTreeTestsVixen.Ui.Layout.Tests
- StyleResolutionVixen.Ui.Layout