Struct embedded_graphics::primitives::sector::Sector
source · [−]pub struct Sector {
pub top_left: Point,
pub diameter: u32,
pub angle_start: Angle,
pub angle_sweep: Angle,
}
Expand description
Sector primitive
Examples
Create some sectors with different styles
use embedded_graphics::{
pixelcolor::Rgb565,
prelude::*,
primitives::{Sector, PrimitiveStyle, PrimitiveStyleBuilder},
};
// Sector with 1 pixel wide white stroke with top-left point at (10, 20) with a diameter of 30
Sector::new(Point::new(10, 20), 30, 0.0.deg(), 90.0.deg())
.into_styled(PrimitiveStyle::with_stroke(Rgb565::WHITE, 1))
.draw(&mut display)?;
// Sector with styled stroke and fill with top-left point at (10, 20) with a diameter of 30
let style = PrimitiveStyleBuilder::new()
.stroke_color(Rgb565::RED)
.stroke_width(3)
.fill_color(Rgb565::GREEN)
.build();
Sector::new(Point::new(10, 20), 30, 180.0.deg(), -90.0.deg())
.into_styled(style)
.draw(&mut display)?;
// Sector with blue fill and no stroke with a translation applied
Sector::new(Point::new(10, 20), 30, 0.0.deg(), 90.0.deg())
.translate(Point::new(15, 5))
.into_styled(PrimitiveStyle::with_fill(Rgb565::BLUE))
.draw(&mut display)?;
Fields
top_left: Point
Top-left point of the bounding-box of the circle supporting the sector
diameter: u32
Diameter of the circle supporting the sector
angle_start: Angle
Angle at which the sector starts
angle_sweep: Angle
Angle defining the sector sweep starting at angle_start
Implementations
sourceimpl Sector
impl Sector
sourcepub const fn new(
top_left: Point,
diameter: u32,
angle_start: Angle,
angle_sweep: Angle
) -> Self
pub const fn new(
top_left: Point,
diameter: u32,
angle_start: Angle,
angle_sweep: Angle
) -> Self
Create a new sector delimited with a top-left point with a specific diameter and start and sweep angles
sourcepub fn with_center(
center: Point,
diameter: u32,
angle_start: Angle,
angle_sweep: Angle
) -> Self
pub fn with_center(
center: Point,
diameter: u32,
angle_start: Angle,
angle_sweep: Angle
) -> Self
Create a new sector centered around a given point with a specific diameter and start and sweep angles
sourcepub fn from_circle(
circle: Circle,
angle_start: Angle,
angle_sweep: Angle
) -> Self
pub fn from_circle(
circle: Circle,
angle_start: Angle,
angle_sweep: Angle
) -> Self
Creates an arc based on a circle.
The resulting sector will match the top_left
and diameter
of the base circle.
Trait Implementations
sourceimpl ContainsPoint for Sector
impl ContainsPoint for Sector
sourceimpl Dimensions for Sector
impl Dimensions for Sector
sourcefn bounding_box(&self) -> Rectangle
fn bounding_box(&self) -> Rectangle
Returns the bounding box.
sourceimpl OffsetOutline for Sector
impl OffsetOutline for Sector
sourceimpl PartialOrd<Sector> for Sector
impl PartialOrd<Sector> for Sector
sourcefn partial_cmp(&self, other: &Sector) -> Option<Ordering>
fn partial_cmp(&self, other: &Sector) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl PointsIter for Sector
impl PointsIter for Sector
sourceimpl Primitive for Sector
impl Primitive for Sector
sourcefn into_styled<S>(self, style: S) -> Styled<Self, S> where
Self: Sized,
fn into_styled<S>(self, style: S) -> Styled<Self, S> where
Self: Sized,
Converts this primitive into a Styled
.
sourceimpl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Sector
impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Sector
sourcefn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle
fn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle
Returns the bounding box using the given style.
sourceimpl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Sector
impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Sector
type Color = C
type Color = C
Color type.
sourcefn draw_styled<D>(
&self,
style: &PrimitiveStyle<C>,
target: &mut D
) -> Result<Self::Output, D::Error> where
D: DrawTarget<Color = C>,
fn draw_styled<D>(
&self,
style: &PrimitiveStyle<C>,
target: &mut D
) -> Result<Self::Output, D::Error> where
D: DrawTarget<Color = C>,
Draws the primitive using the given style.
sourceimpl Transform for Sector
impl Transform for Sector
sourcefn translate(&self, by: Point) -> Self
fn translate(&self, by: Point) -> Self
Translate the sector from its current position to a new position by (x, y) pixels,
returning a new Sector
. For a mutating transform, see translate_mut
.
let sector = Sector::new(Point::new(5, 10), 10, 0.0.deg(), 90.0.deg());
let moved = sector.translate(Point::new(10, 10));
assert_eq!(moved.top_left, Point::new(15, 20));
sourcefn translate_mut(&mut self, by: Point) -> &mut Self
fn translate_mut(&mut self, by: Point) -> &mut Self
Translate the sector from its current position to a new position by (x, y) pixels.
let mut sector = Sector::new(Point::new(5, 10), 10, 0.0.deg(), 90.0.deg());
sector.translate_mut(Point::new(10, 10));
assert_eq!(sector.top_left, Point::new(15, 20));
impl Copy for Sector
impl StructuralPartialEq for Sector
Auto Trait Implementations
impl RefUnwindSafe for Sector
impl Send for Sector
impl Sync for Sector
impl Unpin for Sector
impl UnwindSafe for Sector
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedAs for T
impl<T> CheckedAs for T
sourcepub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
sourcepub fn checked_cast_from(src: Src) -> Option<Dst>
pub fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
sourceimpl<T> OverflowingAs for T
impl<T> OverflowingAs for T
sourcepub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
sourcepub fn overflowing_cast_from(src: Src) -> (Dst, bool)
pub fn overflowing_cast_from(src: Src) -> (Dst, bool)
OverflowingCasts the value.
sourceimpl<T> SaturatingAs for T
impl<T> SaturatingAs for T
sourcepub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
sourcepub fn saturating_cast_from(src: Src) -> Dst
pub fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
sourcepub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
sourcepub fn unwrapped_cast_from(src: Src) -> Dst
pub fn unwrapped_cast_from(src: Src) -> Dst
UnwrappedCasts the value.
sourceimpl<T> WrappingAs for T
impl<T> WrappingAs for T
sourcepub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
sourcepub fn wrapping_cast_from(src: Src) -> Dst
pub fn wrapping_cast_from(src: Src) -> Dst
WrappingCasts the value.