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/// How excess space is distributed among segments.
13pub mod flex;
14/// Layout configuration and splitting.
15pub mod layout;
16/// Margin around a rectangular area.
17pub mod margin;
18/// Relative offset in terminal coordinates.
19pub mod offset;
20/// Absolute position in terminal coordinates.
21pub mod position;
22/// Terminal rectangle primitives.
23pub mod rect;
24/// Width/height dimensions.
25pub mod size;
26/// Gap or overlap between layout segments.
27pub mod spacing;
28/// Cassowary constraint strengths.
29pub mod strengths;
30
31pub use border::{
32 Border,
33 draw_border,
34};
35pub use constraint::Constraint;
36pub use direction::Direction;
37pub use flex::Flex;
38pub use margin::Margin;
39pub use offset::Offset;
40pub use position::Position;
41pub use rect::{
42 Columns,
43 Positions,
44 Rect,
45 Rows,
46};
47pub use size::Size;
48pub use spacing::Spacing;