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§
source§impl 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 const fn with_center(
center: Point,
diameter: u32,
angle_start: Angle,
angle_sweep: Angle
) -> Self
pub const 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 const fn from_circle(
circle: Circle,
angle_start: Angle,
angle_sweep: Angle
) -> Self
pub const 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§
source§impl ContainsPoint for Sector
impl ContainsPoint for Sector
source§impl Dimensions for Sector
impl Dimensions for Sector
source§fn bounding_box(&self) -> Rectangle
fn bounding_box(&self) -> Rectangle
source§impl OffsetOutline for Sector
impl OffsetOutline for Sector
source§impl PartialEq<Sector> for Sector
impl PartialEq<Sector> for Sector
source§impl PartialOrd<Sector> for Sector
impl PartialOrd<Sector> for Sector
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl PointsIter for Sector
impl PointsIter for Sector
source§impl Primitive for Sector
impl Primitive for Sector
source§fn 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,
Styled
.source§impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Sector
impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Sector
source§fn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle
fn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle
source§impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Sector
impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Sector
source§fn 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>,
source§impl Transform for Sector
impl Transform for Sector
source§fn 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));
source§fn 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§
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
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>,
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>
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
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>,
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)
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>,
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
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.