photon_ui/layout/mod.rs
1//! Constraint-based layout engine.
2//!
3//! Uses the Cassowary constraint solver (`kasuari`) to split a `Rect`
4//! into sub-rects according to a set of `Constraint` values.
5
6/// Border drawing primitives.
7pub mod border;
8/// Size constraints for layout segments.
9pub mod constraint;
10/// Horizontal or vertical layout direction.
11pub mod direction;
12/// Layout configuration and splitting.
13pub mod engine;
14/// How excess space is distributed among segments.
15pub mod flex;
16pub use engine::Layout;
17/// Margin around a rectangular area.
18pub mod margin;
19/// Relative offset in terminal coordinates.
20pub mod offset;
21/// Absolute position in terminal coordinates.
22pub mod position;
23/// Terminal rectangle primitives.
24pub mod rect;
25/// Width/height dimensions.
26pub mod size;
27/// Gap or overlap between layout segments.
28pub mod spacing;
29/// Cassowary constraint strengths.
30pub mod strengths;
31
32pub use border::{
33 Border,
34 draw_border,
35};
36pub use constraint::Constraint;
37pub use direction::Direction;
38pub use flex::Flex;
39pub use margin::Margin;
40pub use offset::Offset;
41pub use position::Position;
42pub use rect::{
43 Columns,
44 Positions,
45 Rect,
46 Rows,
47};
48pub use size::Size;
49pub use spacing::Spacing;