[−][src]Trait embedded_graphics::drawable::Drawable
Marks an object as "drawable". Must be implemented for all graphics objects
The Drawable
trait describes how a particular graphical object is drawn. A Drawable
object
can define its draw
method as a collection of graphical primitives or as an iterator
over pixels being rendered with DrawTarget
's draw_iter
method.
use embedded_graphics::{ egrectangle, egtext, fonts::Font6x8, geometry::Point, pixelcolor::{BinaryColor, PixelColor, Rgb888}, prelude::*, primitive_style, text_style, }; struct Button<'a, C: PixelColor> { top_left: Point, bottom_right: Point, bg_color: C, fg_color: C, text: &'a str, } impl<'a, C: 'a> Drawable<C> for &Button<'a, C> where C: PixelColor + From<BinaryColor>, { fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error> { egrectangle!( top_left = self.top_left, bottom_right = self.bottom_right, style = primitive_style!(fill_color = self.bg_color) ) .draw(display); egtext!( text = self.text, top_left = (20, 20), style = text_style!(font = Font6x8, text_color = self.fg_color) ) .draw(display) } } let mut button = Button { top_left: Point::zero(), bottom_right: Point::new(100, 50), bg_color: Rgb888::RED, fg_color: Rgb888::BLUE, text: "Click me!", }; button.draw(&mut display)?;
Required methods
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
Draw the graphics object using the supplied DrawTarget.
Implementors
impl<'_, '_, C, F> Drawable<C> for &'_ Styled<Text<'_>, TextStyle<C, F>> where
C: PixelColor,
F: Font + Copy,
[src]
C: PixelColor,
F: Font + Copy,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'_, C> Drawable<C> for &'_ Styled<Rectangle, PrimitiveStyle<C>> where
C: PixelColor,
[src]
C: PixelColor,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'_, C, T> Drawable<C> for &'_ mut T where
C: PixelColor,
T: Iterator<Item = Pixel<C>>,
[src]
C: PixelColor,
T: Iterator<Item = Pixel<C>>,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'a, '_, C: 'a> Drawable<C> for &'_ Styled<Circle, PrimitiveStyle<C>> where
C: PixelColor,
[src]
C: PixelColor,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'a, '_, C: 'a> Drawable<C> for &'_ Styled<Line, PrimitiveStyle<C>> where
C: PixelColor,
[src]
C: PixelColor,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'a, '_, C: 'a> Drawable<C> for &'_ Styled<Triangle, PrimitiveStyle<C>> where
C: PixelColor,
[src]
C: PixelColor,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<'a, 'b, I, C> Drawable<C> for &'a Image<'b, I, C> where
&'b I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
[src]
&'b I: IntoPixelIter<C>,
I: ImageDimensions,
C: PixelColor + From<<C as PixelColor>::Raw>,
fn draw<D: DrawTarget<C>>(self, display: &mut D) -> Result<(), D::Error>
[src]
impl<C> Drawable<C> for Pixel<C> where
C: PixelColor,
[src]
C: PixelColor,