lib/arrange/src/root.zig

daab053ee43316e1809a84551d573ddd1e5bf3d2

 1 //! Flexible box layout resolves nested size constraints into concrete bounding
 2 //! rectangles. Arrange computes geometry in two passes: bottom-up sizing
 3 //! followed by top-down positioning within caller-provided scratch buffers.
 4 //!
 5 //! Content sizing often depends on formatting context, such as text wrapping
 6 //! where height requires a known width. Callers provide measurement callbacks
 7 //! to resolve width-dependent extents before final placement.
 8 
 9 const compute = @import("compute.zig");
10 const flow = @import("flow.zig");
11 const types = @import("types.zig");
12 
13 pub const Size = types.Size;
14 pub const Rect = types.Rect;
15 pub const Dimensions = types.Dimensions;
16 pub const Insets = types.Insets;
17 pub const Constraints = types.Constraints;
18 pub const FlexDirection = types.FlexDirection;
19 pub const Wrap = types.Wrap;
20 pub const JustifyContent = types.JustifyContent;
21 pub const AlignItems = types.AlignItems;
22 pub const AlignSelf = types.AlignSelf;
23 pub const Position = types.Position;
24 pub const Style = types.Style;
25 pub const Node = types.Node;
26 pub const Available = types.Available;
27 pub const Measure = types.Measure;
28 pub const Measurer = types.Measurer;
29 pub const MeasureMemo = types.MeasureMemo;
30 pub const AvailableSpace = types.AvailableSpace;
31 pub const LayoutResult = types.LayoutResult;
32 pub const computeLayout = compute.computeLayout;
33 pub const computeLayoutMeasured = compute.computeLayoutMeasured;
34 pub const Scratch = compute.Scratch;
35 pub const IndexedInput = compute.IndexedInput;
36 pub const IndexedCacheSlot = compute.IndexedCacheSlot;
37 pub const computeLayoutIndexed = compute.computeLayoutIndexed;
38 pub const max_depth = compute.max_depth;
39 pub const ChildIndex = compute.ChildIndex;
40 pub const NodeState = compute.NodeState;
41 pub const Work = compute.Work;
42 pub const ChildMetrics = flow.ChildMetrics;
43 pub const Line = flow.Line;