Struct embedded_canvas::CCanvas
source · pub struct CCanvas<C: PixelColor, const W: usize, const H: usize> {
pub size: Size,
pub pixels: [[Option<C>; H]; W],
}
Expand description
Canvas on which you can draw but it’s not drawable on the display yet. Implemented using const generics.
Draw on the CCanvas
using origin of Point::zero()
.
The width (W
) and height (H
) constants of the CCanvas
should less than u32::MAX
as Size
uses u32
.
Fields§
§size: Size
§pixels: [[Option<C>; H]; W]
Implementations§
source§impl<C, const W: usize, const H: usize> CCanvas<C, W, H>where
C: PixelColor,
impl<C, const W: usize, const H: usize> CCanvas<C, W, H>where
C: PixelColor,
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new blank CCanvas
.
§Panics
If either the width (W
) or heigh (H
) is larger than u32::MAX
due to the internal Size
used for implementing OriginDimensions
.
sourcepub fn with_default_color(default_color: C) -> Self
pub fn with_default_color(default_color: C) -> Self
Create a CCanvas
filled with a default color.
§Panics
If either the width (W
) or heigh (H
) is larger than u32::MAX
due to the internal Size
used for implementing OriginDimensions
.
sourcepub fn crop<const NW: usize, const NH: usize>(
&self,
area: &Rectangle
) -> Option<CCanvas<C, NW, NH>>
pub fn crop<const NW: usize, const NH: usize>( &self, area: &Rectangle ) -> Option<CCanvas<C, NW, NH>>
sourcepub fn place_at(&self, top_left: Point) -> CCanvasAt<C, W, H>
pub fn place_at(&self, top_left: Point) -> CCanvasAt<C, W, H>
Sets the place with top left offset where the canvas will be drawn to the display.
sourcepub fn place_center(&self, center: Point) -> CCanvasAt<C, W, H>
pub fn place_center(&self, center: Point) -> CCanvasAt<C, W, H>
Sets the center of the CCanvas
where it will be drawn to the display.
Trait Implementations§
source§impl<C: PixelColor, const W: usize, const H: usize> DrawTarget for CCanvas<C, W, H>
impl<C: PixelColor, const W: usize, const H: usize> DrawTarget for CCanvas<C, W, H>
§type Error = Infallible
type Error = Infallible
Error type to return when a drawing operation fails. Read more
source§fn draw_iter<I>(&mut self, pixels: I) -> Result<(), Self::Error>
fn draw_iter<I>(&mut self, pixels: I) -> Result<(), Self::Error>
Draw individual pixels to the display without a defined order. Read more
source§fn fill_contiguous<I>(
&mut self,
area: &Rectangle,
colors: I
) -> Result<(), Self::Error>where
I: IntoIterator<Item = Self::Color>,
fn fill_contiguous<I>(
&mut self,
area: &Rectangle,
colors: I
) -> Result<(), Self::Error>where
I: IntoIterator<Item = Self::Color>,
Fill a given area with an iterator providing a contiguous stream of pixel colors. Read more
Auto Trait Implementations§
impl<C, const W: usize, const H: usize> Freeze for CCanvas<C, W, H>where
C: Freeze,
impl<C, const W: usize, const H: usize> RefUnwindSafe for CCanvas<C, W, H>where
C: RefUnwindSafe,
impl<C, const W: usize, const H: usize> Send for CCanvas<C, W, H>where
C: Send,
impl<C, const W: usize, const H: usize> Sync for CCanvas<C, W, H>where
C: Sync,
impl<C, const W: usize, const H: usize> Unpin for CCanvas<C, W, H>where
C: Unpin,
impl<C, const W: usize, const H: usize> UnwindSafe for CCanvas<C, W, H>where
C: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
source§impl<T> Dimensions for Twhere
T: OriginDimensions,
impl<T> Dimensions for Twhere
T: OriginDimensions,
source§fn bounding_box(&self) -> Rectangle
fn bounding_box(&self) -> Rectangle
Returns the bounding box.
source§impl<T> DrawTargetExt for Twhere
T: DrawTarget,
impl<T> DrawTargetExt for Twhere
T: DrawTarget,
source§fn translated(&mut self, offset: Point) -> Translated<'_, T>
fn translated(&mut self, offset: Point) -> Translated<'_, T>
Creates a translated draw target based on this draw target. Read more
source§fn cropped(&mut self, area: &Rectangle) -> Cropped<'_, T>
fn cropped(&mut self, area: &Rectangle) -> Cropped<'_, T>
Creates a cropped draw target based on this draw target. Read more
source§fn clipped(&mut self, area: &Rectangle) -> Clipped<'_, T>
fn clipped(&mut self, area: &Rectangle) -> Clipped<'_, T>
Creates a clipped draw target based on this draw target. Read more
source§fn color_converted<C>(&mut self) -> ColorConverted<'_, T, C>
fn color_converted<C>(&mut self) -> ColorConverted<'_, T, C>
Creates a color conversion draw target. Read more
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.