tidy_tree/layout.rs
1use crate::{geometry::Coord, node::Node};
2use std::ptr::NonNull;
3mod basic_layout;
4mod linked_y_list;
5mod tidy_layout;
6pub use basic_layout::{BasicLayout, BoundingBox};
7pub use tidy_layout::TidyLayout;
8
9pub trait Layout {
10 fn layout(&mut self, root: &mut Node);
11 fn partial_layout(&mut self, root: &mut Node, changed: &[NonNull<Node>]);
12 fn parent_child_margin(&self) -> Coord;
13 fn peer_margin(&self) -> Coord;
14}