#![forbid(unsafe_code)]
pub mod algo;
pub mod error;
pub mod graph;
pub use algo::{
Algorithm, AlignmentConstraint, CoseBilkentOptions, FcoseOptions, RelativePlacementConstraint,
};
pub use error::{Error, Result};
pub use graph::{Anchor, BoundsExtras, Compound, Edge, Graph, LayoutResult, Node, Point};
pub fn layout(graph: &Graph, algorithm: Algorithm) -> Result<LayoutResult> {
match algorithm {
Algorithm::CoseBilkent(opts) => algo::cose_bilkent::layout(graph, &opts),
Algorithm::Fcose(opts) => algo::fcose::layout(graph, &opts),
}
}