Trait id_tree_layout::drawer::Drawer[][src]

pub trait Drawer {
    fn draw(&self, file_name: &Path, embedding: &[PlacedTreeItem]) -> Result;
}

By implementing this trait anyone can provide his own drawer, for instance one that draws onto a bitmap, if he don’t want to use the SvgDrawer used by the crate by default.

Required methods

fn draw(&self, file_name: &Path, embedding: &[PlacedTreeItem]) -> Result[src]

Loading content...

Implementors

impl Drawer for SvgDrawer[src]

The concrete implementation of the Drawer trait for SvgDrawer.

fn draw(&self, file_name: &Path, embedding: &[PlacedTreeItem]) -> Result[src]

The concrete implementation of the Drawer::draw trait method. The realization is as it is - with no way to configure for instance the font used. This decision was mode for the sake of simplicity.

Anyway it should be easy to provide ones own Drawer implementation that fits the concrete use case better. When using the Layouter API you can set the Drawer instance by calling the with_drawer method.

Panics

The method should not panic. If you encounter a panic this should be originated from bugs in coding. Please report such panics.

Complexity

The algorithm is of time complexity class O(n).

Loading content...