Struct embedded_graphics::primitives::triangle::Triangle
source · [−]Expand description
Triangle primitive
Examples
The macro examples make for more concise code.
Create some triangles with different styles
use embedded_graphics::{
pixelcolor::Rgb565, prelude::*, primitives::Triangle, style::PrimitiveStyle,
};
// Triangle with red 1 px wide stroke
Triangle::new(Point::new(50, 20), Point::new(60, 35), Point::new(70, 80))
.into_styled(PrimitiveStyle::with_stroke(Rgb565::RED, 1))
.draw(&mut display)?;
// Triangle with translation applied
Triangle::new(Point::new(50, 20), Point::new(60, 35), Point::new(70, 80))
.translate(Point::new(65, 35))
.into_styled(PrimitiveStyle::with_stroke(Rgb565::GREEN, 1))
.draw(&mut display)?;
Create a triangle from an array of points
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);
// Owned
let tri = Triangle::from_points([p1, p2, p3]);
// Or borrowed
let tri_ref = Triangle::from_points(&[p1, p2, p3]);
Fields
p1: Point
First point of the triangle
p2: Point
Second point of the triangle
p3: Point
Third point of the triangle
Implementations
sourceimpl Triangle
impl Triangle
Trait Implementations
sourceimpl Dimensions for Triangle
impl Dimensions for Triangle
sourceimpl Ord for Triangle
impl Ord for Triangle
sourceimpl PartialOrd<Triangle> for Triangle
impl PartialOrd<Triangle> for Triangle
sourcefn partial_cmp(&self, other: &Triangle) -> Option<Ordering>
fn partial_cmp(&self, other: &Triangle) -> 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 Primitive for Triangle
impl Primitive for Triangle
sourcefn into_styled<C>(
self,
style: PrimitiveStyle<C>
) -> Styled<Self, PrimitiveStyle<C>> where
C: PixelColor,
Self: Sized,
fn into_styled<C>(
self,
style: PrimitiveStyle<C>
) -> Styled<Self, PrimitiveStyle<C>> where
C: PixelColor,
Self: Sized,
Converts this primitive into a Styled
.
sourceimpl Transform for Triangle
impl Transform for Triangle
sourcefn translate(&self, by: Point) -> Self
fn translate(&self, by: Point) -> Self
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.p1, Point::new(15, 20));
assert_eq!(moved.p2, Point::new(25, 30));
assert_eq!(moved.p3, Point::new(18, 25));
sourcefn translate_mut(&mut self, by: Point) -> &mut Self
fn translate_mut(&mut self, by: Point) -> &mut Self
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.p1, Point::new(15, 20));
assert_eq!(tri.p2, Point::new(25, 30));
assert_eq!(tri.p3, Point::new(20, 25));
impl Copy for Triangle
impl Eq for Triangle
impl StructuralEq for Triangle
impl StructuralPartialEq for Triangle
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
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