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: i32
The x coordinate.
y: i32
The y coordinate.
Implementations§
Trait Implementations§
Source§impl AddAssign<Size> for Point
impl AddAssign<Size> for Point
Source§fn add_assign(&mut self, other: Size)
fn add_assign(&mut self, other: Size)
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.
Source§impl AddAssign for Point
impl AddAssign for Point
Source§fn add_assign(&mut self, other: Point)
fn add_assign(&mut self, other: Point)
+=
operation. Read moreSource§impl DivAssign<i32> for Point
impl DivAssign<i32> for Point
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moreSource§impl MulAssign<i32> for Point
impl MulAssign<i32> for Point
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moreSource§impl Ord for Point
impl Ord for Point
Source§impl PartialOrd for Point
impl PartialOrd for Point
Source§impl SubAssign<Size> for Point
impl SubAssign<Size> for Point
Source§fn sub_assign(&mut self, other: Size)
fn sub_assign(&mut self, other: Size)
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.
Source§impl SubAssign for Point
impl SubAssign for Point
Source§fn sub_assign(&mut self, other: Point)
fn sub_assign(&mut self, other: Point)
-=
operation. Read moreimpl Copy for Point
impl Eq for Point
impl StructuralPartialEq for Point
Auto Trait Implementations§
impl Freeze for Point
impl RefUnwindSafe for Point
impl Send for Point
impl Sync for Point
impl Unpin for Point
impl UnwindSafe for Point
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes