Struct embedded_graphics::primitives::triangle::Triangle [−][src]
Expand description
Triangle primitive
Examples
Create some triangles with different styles
use embedded_graphics::{ pixelcolor::Rgb565, prelude::*, primitives::{Triangle, PrimitiveStyle}, }; // Triangle with red 1 px wide stroke Triangle::new(Point::new(40, 20), Point::new(50, 25), Point::new(60, 60)) .into_styled(PrimitiveStyle::with_stroke(Rgb565::RED, 1)) .draw(&mut display)?; // Triangle with translation applied Triangle::new(Point::new(40, 20), Point::new(50, 25), Point::new(60, 60)) .translate(Point::new(-10, -20)) .into_styled(PrimitiveStyle::with_stroke(Rgb565::GREEN, 1)) .draw(&mut display)?;
Create a triangle from a slice
A triangle can be created from a &[Point] slice. If the slice is not exactly 3 elements long,
the from_slice method will panic.
use embedded_graphics::{geometry::Point, primitives::Triangle}; let p1 = Point::new(5, 10); let p2 = Point::new(15, 25); let p3 = Point::new(5, 25); let tri = Triangle::from_slice(&[p1, p2, p3]);
Fields
vertices: [Point; 3]The vertices of the triangle.
Implementations
Trait Implementations
impl ContainsPoint for Triangle[src]
impl ContainsPoint for Triangle[src]impl Dimensions for Triangle[src]
impl Dimensions for Triangle[src]fn bounding_box(&self) -> Rectangle[src]
fn bounding_box(&self) -> Rectangle[src]Returns the bounding box.
impl Ord for Triangle[src]
impl Ord for Triangle[src]impl PartialOrd<Triangle> for Triangle[src]
impl PartialOrd<Triangle> for Triangle[src]fn partial_cmp(&self, other: &Triangle) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &Triangle) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl PointsIter for Triangle[src]
impl PointsIter for Triangle[src]impl Primitive for Triangle[src]
impl Primitive for Triangle[src]fn into_styled<S>(self, style: S) -> Styled<Self, S> where
Self: Sized, [src]
fn into_styled<S>(self, style: S) -> Styled<Self, S> where
Self: Sized, [src]Converts this primitive into a Styled.
impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Triangle[src]
impl<C: PixelColor> StyledDimensions<PrimitiveStyle<C>> for Triangle[src]fn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle[src]
fn styled_bounding_box(&self, style: &PrimitiveStyle<C>) -> Rectangle[src]Returns the bounding box using the given style.
impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Triangle[src]
impl<C: PixelColor> StyledDrawable<PrimitiveStyle<C>> for Triangle[src]type Color = C
type Color = CColor type.
fn draw_styled<D>(
&self,
style: &PrimitiveStyle<C>,
target: &mut D
) -> Result<Self::Output, D::Error> where
D: DrawTarget<Color = C>, [src]
fn draw_styled<D>(
&self,
style: &PrimitiveStyle<C>,
target: &mut D
) -> Result<Self::Output, D::Error> where
D: DrawTarget<Color = C>, [src]Draws the primitive using the given style.
impl Transform for Triangle[src]
impl Transform for Triangle[src]fn translate(&self, by: Point) -> Self[src]
fn translate(&self, by: Point) -> Self[src]Translate the triangle from its current position to a new position by (x, y) pixels,
returning a new Triangle. For a mutating transform, see translate_mut.
let tri = Triangle::new(Point::new(5, 10), Point::new(15, 20), Point::new(8, 15)); let moved = tri.translate(Point::new(10, 10)); assert_eq!( moved, Triangle::new(Point::new(15, 20), Point::new(25, 30), Point::new(18, 25)) );
fn translate_mut(&mut self, by: Point) -> &mut Self[src]
fn translate_mut(&mut self, by: Point) -> &mut Self[src]Translate the triangle from its current position to a new position by (x, y) pixels.
let mut tri = Triangle::new(Point::new(5, 10), Point::new(15, 20), Point::new(10, 15)); tri.translate_mut(Point::new(10, 10)); assert_eq!( tri, Triangle::new(Point::new(15, 20), Point::new(25, 30), Point::new(20, 25)) )
impl Copy for Triangle[src]
impl Eq for Triangle[src]
impl StructuralEq for Triangle[src]
impl StructuralPartialEq for Triangle[src]
Auto Trait Implementations
impl RefUnwindSafe for Triangle
impl Send for Triangle
impl Sync for Triangle
impl Unpin for Triangle
impl UnwindSafe for Triangle
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>, [src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>, [src]pub fn lossless_try_into(self) -> Option<Dst>[src]
pub fn lossless_try_into(self) -> Option<Dst>[src]Performs the conversion.
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>, [src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>, [src]pub fn lossy_into(self) -> Dst[src]
pub fn lossy_into(self) -> Dst[src]Performs the conversion.
impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>, pub fn to_subset(&self) -> Option<SS>
pub fn to_subset(&self) -> Option<SS>The inverse inclusion map: attempts to construct self from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> boolChecks if self is actually part of its subset T (and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SSUse with care! Same as self.to_subset but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SPThe inclusion map: converts self to the equivalent element of its superset.
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,