LegendRenderer

Trait LegendRenderer 

Source
pub trait LegendRenderer<C: PixelColor> {
    type Legend: Legend<C>;

    // Required methods
    fn render<D>(
        &self,
        legend: &Self::Legend,
        viewport: Rectangle,
        target: &mut D,
    ) -> ChartResult<()>
       where D: DrawTarget<Color = C>;
    fn calculate_layout(
        &self,
        legend: &Self::Legend,
        viewport: Rectangle,
    ) -> ChartResult<Vec<Rectangle, 8>>;
    fn render_entry<D>(
        &self,
        entry: &<Self::Legend as Legend<C>>::Entry,
        bounds: Rectangle,
        target: &mut D,
    ) -> ChartResult<()>
       where D: DrawTarget<Color = C>;
}
Expand description

Trait for rendering legends to a display target

Required Associated Types§

Source

type Legend: Legend<C>

The legend type this renderer can handle

Required Methods§

Source

fn render<D>( &self, legend: &Self::Legend, viewport: Rectangle, target: &mut D, ) -> ChartResult<()>
where D: DrawTarget<Color = C>,

Render the legend to the target display

§Arguments
  • legend - The legend to render
  • viewport - The area to render the legend in
  • target - The display target to render to
Source

fn calculate_layout( &self, legend: &Self::Legend, viewport: Rectangle, ) -> ChartResult<Vec<Rectangle, 8>>

Calculate the layout for legend entries within the viewport

§Arguments
  • legend - The legend to calculate layout for
  • viewport - The available area for the legend
Source

fn render_entry<D>( &self, entry: &<Self::Legend as Legend<C>>::Entry, bounds: Rectangle, target: &mut D, ) -> ChartResult<()>
where D: DrawTarget<Color = C>,

Render a single legend entry

§Arguments
  • entry - The legend entry to render
  • bounds - The area to render the entry in
  • target - The display target to render to

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§