Skip to main content

cxx2flow_lib/display/
mod.rs

1use enum_dispatch::enum_dispatch;
2
3use crate::{error::Result, graph::Graph};
4
5use self::d2::D2;
6use self::dot::Dot;
7use self::tikz::Tikz;
8
9pub mod d2;
10pub mod dot;
11pub mod tikz;
12#[enum_dispatch]
13pub enum GraphDisplayBackend {
14    Dot,
15    Tikz,
16    D2,
17}
18#[enum_dispatch(GraphDisplayBackend)]
19pub trait GraphDisplay {
20    fn generate_from_graph(&self, graph: &Graph) -> Result<String>;
21}