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§
Required Methods§
Sourcefn render<D>(
&self,
legend: &Self::Legend,
viewport: Rectangle,
target: &mut D,
) -> ChartResult<()>where
D: DrawTarget<Color = C>,
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 renderviewport- The area to render the legend intarget- The display target to render to
Sourcefn calculate_layout(
&self,
legend: &Self::Legend,
viewport: Rectangle,
) -> ChartResult<Vec<Rectangle, 8>>
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 forviewport- The available area for the legend
Sourcefn render_entry<D>(
&self,
entry: &<Self::Legend as Legend<C>>::Entry,
bounds: Rectangle,
target: &mut D,
) -> ChartResult<()>where
D: DrawTarget<Color = C>,
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 renderbounds- The area to render the entry intarget- 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.