| //! Contains both a high-level interface to Taffy using a ready-made node tree, and a set of traits for defining custom node trees. |
| //! |
| //! - For documentation on the high-level API, see the [`TaffyTree`] struct. |
| //! - For documentation on the low-level trait-based API, see the [`traits`] module. |
| |
| // Submodules |
| mod cache; |
| mod layout; |
| mod node; |
| pub mod traits; |
| |
| pub use cache::Cache; |
| pub use layout::{CollapsibleMarginSet, Layout, LayoutInput, LayoutOutput, RequestedAxis, RunMode, SizingMode}; |
| pub use node::NodeId; |
| pub(crate) use traits::LayoutPartialTreeExt; |
| pub use traits::{LayoutPartialTree, PrintTree, RoundTree, TraversePartialTree, TraverseTree}; |
| |
| #[cfg(feature = "flexbox")] |
| pub use traits::LayoutFlexboxContainer; |
| |
| #[cfg(feature = "grid")] |
| pub use traits::LayoutGridContainer; |
| |
| #[cfg(feature = "block_layout")] |
| pub use traits::LayoutBlockContainer; |
| |
| #[cfg(feature = "taffy_tree")] |
| mod taffy_tree; |
| #[cfg(feature = "taffy_tree")] |
| pub use taffy_tree::{TaffyError, TaffyResult, TaffyTree}; |
| |
| #[cfg(feature = "detailed_layout_info")] |
| pub use layout::DetailedLayoutInfo; |