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}