Point in embedded_graphics::geometry - Rust (original) (raw)
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 Rectanglemay be defined that has its top left corner at (-1, -2)
. To specify the size of an objectSize should be used instead.
Nalgebra support can be enabled with the nalgebra_support
feature. This implementsFrom<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 nalgebrasupport
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 nalgebrasupport
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));
The x coordinate.
The y coordinate.
Creates a point from X and Y coordinates.
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 });
Creates a point with X and Y equal to zero.
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 Point
s
§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 Point
s
§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 Point
s.
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 Points
s.
§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));
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.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
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.
The resulting type after applying the /
operator.
Writes the defmt representation of self
to fmt
.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
The returned type after indexing.
Performs the indexing (container[index]
) operation. Read more
The resulting type after applying the *
operator.
Tests for self
and other
values to be equal, and is used by ==
.
Tests for !=
. The default implementation is almost always sufficient, and should not be overridden without very good reason.
This method returns an ordering between self
and other
values if one exists. Read more
Tests less than (for self
and other
) and is used by the <
operator. Read more
Tests less than or equal to (for self
and other
) and is used by the<=
operator. Read more
Tests greater than (for self
and other
) and is used by the >
operator. Read more
Tests greater than or equal to (for self
and other
) and is used by the >=
operator. 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.
The resulting type after applying the -
operator.
The resulting type after applying the -
operator.
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.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.