Skip to main content

Crate sequoia_layout

Crate sequoia_layout 

Source
Expand description

Layout engine for the Sequoia GUI framework.

Resolves sizes and positions for the view tree: flex distribution, grid tracks, docked panels, wrapping, and text measurement through LayoutCtx.

  • box_model — padding, margin, insets, and aspect-ratio helpers.
  • container — axes, alignment, justification, and container styles.
  • ctx — text measurement used during layout.
  • dock — docking sides, thickness, and preview rectangles.
  • flex — flex grow/shrink distribution and justification.
  • grid — grid tracks, placement, and auto flow.
  • masonry — waterfall columns with variable item heights.
  • overflow — overflow and scrolling modes.
  • resolve — length resolution and main-axis distribution.
  • style — per-view layout styles and sanitizers.
  • wrap — wrapping lines for flow containers.

Re-exports§

pub use box_model::ShrinkAxis;
pub use box_model::apply_aspect_ratio;
pub use box_model::inset_rect;
pub use box_model::shrink_by_margin;
pub use box_model::shrink_by_padding;
pub use container::Align;
pub use container::Axis;
pub use container::ContainerStyle;
pub use container::Justify;
pub use ctx::LayoutCtx;
pub use dock::Dock;
pub use dock::DockStyle;
pub use dock::dock_layout_order;
pub use dock::dock_preview_rect;
pub use dock::dock_thickness;
pub use dock::effective_dock;
pub use dock::resolve_dock;
pub use dock::sanitize_frac;
pub use dock::sanitize_gap;
pub use dock::sanitize_preview_frac;
pub use dock::split_axis_for_dock;
pub use flex::FlexItem;
pub use flex::distribute_flex;
pub use flex::justify_layout;
pub use grid::GridFlow;
pub use grid::GridPlacement;
pub use grid::GridStyle;
pub use grid::Track;
pub use grid::auto_cells;
pub use grid::resolve_tracks;
pub use grid::resolve_tracks_clamped;
pub use grid::track_offsets;
pub use masonry::MasonryPlacement;
pub use masonry::MasonryStyle;
pub use masonry::masonry_assign;
pub use masonry::masonry_column_width;
pub use overflow::Overflow;
pub use resolve::clamp_to;
pub use resolve::distribute_main;
pub use resolve::distribute_main_clamped;
pub use resolve::resolve_cross;
pub use resolve::resolve_flex_basis;
pub use resolve::resolve_main;
pub use style::Indents;
pub use style::Inset;
pub use style::LayoutStyle;
pub use style::Position;
pub use style::sanitize_flex;
pub use style::sanitize_indent;
pub use style::sanitize_ratio;
pub use style::sanitize_shrink;
pub use wrap::WrapStyle;
pub use wrap::wrap_lines;

Modules§

box_model
Box-model helpers for padding, margins, insets, and aspect ratios.
container
Container axes, alignment, justification, and style builders.
ctx
Text measurement context used during layout.
dock
Docking sides, thickness resolution, and preview rectangles.
flex
Flex grow, shrink, and justification along a container’s main axis.
grid
Grid tracks, placements, and automatic flow.
masonry
Masonry (waterfall) column layout.
overflow
Overflow handling modes for content that exceeds its container.
resolve
Length resolution and main-axis space distribution.
style
Per-view layout styles and value sanitizers.
wrap
Line wrapping for flow containers.