Struct embedded_graphics_core::geometry::Point [−][src]
pub struct Point {
pub x: i32,
pub y: i32,
}Expand description
2D point.
A point can be used to define the position of a graphics object. For example, a Rectangle
may be defined that has its top left corner at (-1, -2). To specify the size of an object
Size should be used instead.
Nalgebra support can be enabled with the nalgebra_support feature. This implements
From<Vector2<N>> and From<&Vector2<N>> where N is Scalar + Into<i32>. This allows use
of Nalgebra’s Vector2 with embedded-graphics where i8, i16, i32, u16 or u8 is used
for value storage.
Examples
Create a Point from two integers
use embedded_graphics::geometry::Point; // Create a coord using the `new` constructor method let p = Point::new(10, 20);
Create a Point from a Nalgebra Vector2
Be sure to enable the nalgebra_support feature to get Nalgebra integration.
use embedded_graphics::geometry::Point; use nalgebra::Vector2; let n_coord = Vector2::new(10i32, 20); assert_eq!(Point::from(n_coord), Point::new(10, 20));
Convert a Vector2<u8> into a Point
Be sure to enable the nalgebra_support feature to get Nalgebra integration.
Smaller unsigned types that can be converted to i32 are also supported in conversions.
use embedded_graphics::geometry::Point; use nalgebra::Vector2; let n_coord = Vector2::new(10u8, 20); assert_eq!(Point::from(n_coord), Point::new(10, 20));
Fields
x: i32The x coordinate.
y: i32The y coordinate.
Implementations
Creates a point with X and Y values set to an equal value.
Examples
use embedded_graphics::geometry::Point; let point = Point::new_equal(11); assert_eq!(point, Point { x: 11, y: 11 });
Returns a point with equal x value and y set to 0.
Examples
Move a Point along the X axis.
use embedded_graphics::geometry::Point; let translate = Point::new(20, 30); let point = Point::new(10, 15); let moved_x = point + translate.x_axis(); assert_eq!(moved_x, Point::new(30, 15));
Returns a point with equal y value and x set to 0.
Examples
Move a Point along the Y axis.
use embedded_graphics::geometry::Point; let translate = Point::new(20, 30); let point = Point::new(10, 15); let moved_y = point + translate.y_axis(); assert_eq!(moved_y, Point::new(10, 45));
Remove the sign from a coordinate
Examples
let point = Point::new(-5, -10); assert_eq!(point.abs(), Point::new(5, 10));
Returns the componentwise minimum of two Points
Examples
use embedded_graphics::geometry::Point; let min = Point::new(20, 30).component_min(Point::new(15, 50)); assert_eq!(min, Point::new(15, 30));
Returns the componentwise maximum of two Points
Examples
use embedded_graphics::geometry::Point; let min = Point::new(20, 30).component_max(Point::new(15, 50)); assert_eq!(min, Point::new(20, 50));
Returns the componentwise multiplication of two Points.
use embedded_graphics::geometry::Point; let result = Point::new(20, 30).component_mul(Point::new(-2, 3)); assert_eq!(result, Point::new(-40, 90));
Returns the componentwise division of two Pointss.
Panics
Panics if one of the components of other equals zero.
use embedded_graphics::geometry::Point; let result = Point::new(20, 30).component_div(Point::new(10, -3)); assert_eq!(result, Point::new(2, -10));
Trait Implementations
Performs the += operation. Read more
Offsets a point by adding a size.
Panics
This function will panic if width or height are too large to be represented as an i32
and debug assertions are enabled.
Performs the /= operation. Read more
Performs the *= operation. Read more
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
Performs the -= operation. Read more
Offsets a point by subtracting a size.
Panics
This function will panic if width or height are too large to be represented as an i32
and debug assertions are enabled.
Auto Trait Implementations
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
type Output = T
type Output = TShould always be Self
Casts the value.
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.
Casts the value.
pub fn vzip(self) -> VCasts the value.
impl<T> ClosedNeg for T where
T: Neg<Output = T>,