Struct embedded_graphics::primitives::Styled
source · pub struct Styled<T, S> {
pub primitive: T,
pub style: S,
}
Expand description
Styled.
Fields§
§primitive: T
Primitive.
style: S
Style.
Implementations§
source§impl<T: OffsetOutline, C: PixelColor> Styled<T, PrimitiveStyle<C>>
impl<T: OffsetOutline, C: PixelColor> Styled<T, PrimitiveStyle<C>>
sourcepub fn fill_area(&self) -> T
pub fn fill_area(&self) -> T
Returns the fill area.
The returned primitive coincides with the area that would be filled by calling draw
on this styled primitive.
§Examples
use embedded_graphics::{
pixelcolor::Rgb888,
prelude::*,
primitives::{Circle, PrimitiveStyleBuilder},
};
let style = PrimitiveStyleBuilder::new()
.fill_color(Rgb888::RED)
.stroke_color(Rgb888::GREEN)
.stroke_width(6)
.build();
let center = Point::new(10, 20);
let diameter = 10;
let circle = Circle::with_center(center, diameter).into_styled(style);
assert_eq!(circle.fill_area(), Circle::with_center(center, diameter - style.stroke_width));
sourcepub fn stroke_area(&self) -> T
pub fn stroke_area(&self) -> T
Returns the stroke area.
The outer edge of the returned primitive coincides with the outer edge of the stroke that
would be drawn by calling draw
on this styled primitive.
§Examples
This example tests if a point lies on the stroke. Because the stoke area surrounds the stoke and fill an additional test is required to check that the point is not inside the fill area.
use embedded_graphics::{
pixelcolor::Rgb888,
prelude::*,
primitives::{Circle, PrimitiveStyle},
};
let style = PrimitiveStyle::with_stroke(Rgb888::RED, 6);
let center = Point::new(10, 20);
let diameter = 10;
let circle = Circle::with_center(center, diameter).into_styled(style);
// A point lies on the stroke if it is inside the stroke area but not in the fill area.
let is_on_stroke = |p| circle.stroke_area().contains(p) && !circle.fill_area().contains(p);
assert!(is_on_stroke(center + Size::new(0, diameter / 2)));
assert!(!is_on_stroke(center));
Trait Implementations§
source§impl<T: StyledDimensions<S>, S> Dimensions for Styled<T, S>
impl<T: StyledDimensions<S>, S> Dimensions for Styled<T, S>
source§fn bounding_box(&self) -> Rectangle
fn bounding_box(&self) -> Rectangle
Returns the bounding box.
source§impl<T: StyledDrawable<S>, S> Drawable for Styled<T, S>
impl<T: StyledDrawable<S>, S> Drawable for Styled<T, S>
§type Color = <T as StyledDrawable<S>>::Color
type Color = <T as StyledDrawable<S>>::Color
The pixel color type.
§type Output = <T as StyledDrawable<S>>::Output
type Output = <T as StyledDrawable<S>>::Output
The return type of the
draw
method. Read moresource§impl<T: Ord, S: Ord> Ord for Styled<T, S>
impl<T: Ord, S: Ord> Ord for Styled<T, S>
source§impl<T: PartialOrd, S: PartialOrd> PartialOrd for Styled<T, S>
impl<T: PartialOrd, S: PartialOrd> PartialOrd for Styled<T, S>
impl<T: Copy, S: Copy> Copy for Styled<T, S>
impl<T: Eq, S: Eq> Eq for Styled<T, S>
impl<T, S> StructuralPartialEq for Styled<T, S>
Auto Trait Implementations§
impl<T, S> Freeze for Styled<T, S>where
T: Freeze,
S: Freeze,
impl<T, S> RefUnwindSafe for Styled<T, S>where
T: RefUnwindSafe,
S: RefUnwindSafe,
impl<T, S> Send for Styled<T, S>where
T: Send,
S: Send,
impl<T, S> Sync for Styled<T, S>where
T: Sync,
S: Sync,
impl<T, S> Unpin for Styled<T, S>where
T: Unpin,
S: Unpin,
impl<T, S> UnwindSafe for Styled<T, S>where
T: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§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.
§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
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.
§impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
impl<T, U> TryFrom<U> for Twhere
U: Into<T>,
§impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,
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.