Struct embedded_graphics::primitives::arc::Arc
source · pub struct Arc {
pub top_left: Point,
pub diameter: u32,
pub angle_start: Angle,
pub angle_sweep: Angle,
}
Expand description
Arc primitive
Examples
Create some arcs with different styles
use embedded_graphics::{
pixelcolor::Rgb565,
prelude::*,
primitives::{Arc, PrimitiveStyle, PrimitiveStyleBuilder},
};
// Arc with 1 pixel wide white stroke with top-left point at (10, 20) with a diameter of 30
Arc::new(Point::new(10, 20), 30, 0.0.deg(), 90.0.deg())
.into_styled(PrimitiveStyle::with_stroke(Rgb565::WHITE, 1))
.draw(&mut display)?;
// Arc with styled stroke with top-left point at (15, 25) with a diameter of 20
let style = PrimitiveStyleBuilder::new()
.stroke_color(Rgb565::RED)
.stroke_width(3)
.build();
Arc::new(Point::new(15, 25), 20, 180.0.deg(), -90.0.deg())
.into_styled(style)
.draw(&mut display)?;
Fields§
§top_left: Point
Top-left point of the bounding-box of the circle supporting the arc
diameter: u32
Diameter of the circle supporting the arc
angle_start: Angle
Angle at which the arc starts
angle_sweep: Angle
Angle defining the arc sweep starting at angle_start
Implementations§
source§impl Arc
impl Arc
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 arc 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 arc 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 arc will match the top_left
and diameter
of the base circle.
Trait Implementations§
source§impl Dimensions for Arc
impl Dimensions for Arc
source§fn bounding_box(&self) -> Rectangle
fn bounding_box(&self) -> Rectangle
Returns the bounding box.
source§impl PartialOrd<Arc> for Arc
impl PartialOrd<Arc> for Arc
1.0.0 · source§fn 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 moresource§impl PointsIter for Arc
impl PointsIter for Arc
source§impl Primitive for Arc
impl Primitive for Arc
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,
Converts this primitive into a
Styled
.source§impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Arc
impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Arc
source§fn 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.
source§impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Arc
impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Arc
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>,
Draws the primitive using the given style.
source§impl Transform for Arc
impl Transform for Arc
source§fn translate(&self, by: Point) -> Self
fn translate(&self, by: Point) -> Self
Translate the arc from its current position to a new position by (x, y) pixels,
returning a new Arc
. For a mutating transform, see translate_mut
.
let arc = Arc::new(Point::new(5, 10), 10, 0.0.deg(), 90.0.deg());
let moved = arc.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 arc from its current position to a new position by (x, y) pixels.
let mut arc = Arc::new(Point::new(5, 10), 10, 0.0.deg(), 90.0.deg());
arc.translate_mut(Point::new(10, 10));
assert_eq!(arc.top_left, Point::new(15, 20));
impl Copy for Arc
impl StructuralPartialEq for Arc
Auto Trait Implementations§
impl RefUnwindSafe for Arc
impl Send for Arc
impl Sync for Arc
impl Unpin for Arc
impl UnwindSafe for Arc
Blanket Implementations§
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> 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.