Trait Renderer

Source
pub trait Renderer<N> {
    type Output;

    // Required methods
    fn width(
        &self,
        new_node: Option<&N>,
        new_parents: Option<&Vec<Ancestor<N>>>,
    ) -> u64;
    fn reserve(&mut self, node: N);
    fn next_row(
        &mut self,
        node: N,
        parents: Vec<Ancestor<N>>,
        glyph: String,
        message: String,
    ) -> Self::Output;
}

Required Associated Types§

Required Methods§

Source

fn width( &self, new_node: Option<&N>, new_parents: Option<&Vec<Ancestor<N>>>, ) -> u64

Source

fn reserve(&mut self, node: N)

Source

fn next_row( &mut self, node: N, parents: Vec<Ancestor<N>>, glyph: String, message: String, ) -> Self::Output

Implementors§

Source§

impl<N> Renderer<N> for GraphRowRenderer<N>
where N: Clone + Eq,

Source§

impl<N, R> Renderer<N> for AsciiLargeRenderer<N, R>
where N: Clone + Eq, R: Renderer<N, Output = GraphRow<N>> + Sized,

Source§

impl<N, R> Renderer<N> for AsciiRenderer<N, R>
where N: Clone + Eq, R: Renderer<N, Output = GraphRow<N>> + Sized,

Source§

impl<N, R> Renderer<N> for BoxDrawingRenderer<N, R>
where N: Clone + Eq, R: Renderer<N, Output = GraphRow<N>> + Sized,