[][src]Struct embedded_graphics::prelude::Point

pub struct Point {
    pub x: i32,
    pub y: i32,
}

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.

Methods

impl Point[src]

pub const fn new(x: i32, y: i32) -> Self[src]

Creates a point from X and Y coordinates.

pub const fn zero() -> Self[src]

Creates a point with X and Y equal to zero.

pub fn abs(self) -> Self[src]

Remove the sign from a coordinate

let point = Point::new(-5, -10);

assert_eq!(point.abs(), Point::new(5, 10));

Trait Implementations

impl Add<Point> for Point[src]

type Output = Point

The resulting type after applying the + operator.

impl Add<Size> for Point[src]

type Output = Point

The resulting type after applying the + operator.

fn add(self, other: Size) -> Point[src]

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.

impl AddAssign<Point> for Point[src]

impl AddAssign<Size> for Point[src]

fn add_assign(&mut self, other: Size)[src]

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.

impl Clone for Point[src]

impl Copy for Point[src]

impl Debug for Point[src]

impl Default for Point[src]

impl Div<i32> for Point[src]

type Output = Point

The resulting type after applying the / operator.

impl DivAssign<i32> for Point[src]

impl Eq for Point[src]

impl<'_> From<&'_ [i32; 2]> for Point[src]

impl<'_, N> From<&'_ Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>> for Point where
    N: Into<i32> + Scalar
[src]

impl<'_> From<&'_ Point> for (i32, i32)[src]

impl From<[i32; 2]> for Point[src]

impl From<(i32, i32)> for Point[src]

impl<N> From<Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>> for Point where
    N: Into<i32> + Scalar
[src]

impl From<Point> for (i32, i32)[src]

impl From<Point> for [i32; 2][src]

impl Hash for Point[src]

impl Index<usize> for Point[src]

type Output = i32

The returned type after indexing.

impl Mul<i32> for Point[src]

type Output = Point

The resulting type after applying the * operator.

impl MulAssign<i32> for Point[src]

impl Neg for Point[src]

type Output = Point

The resulting type after applying the - operator.

impl Ord for Point[src]

impl PartialEq<Point> for Point[src]

impl PartialOrd<Point> for Point[src]

impl StructuralEq for Point[src]

impl StructuralPartialEq for Point[src]

impl Sub<Point> for Point[src]

type Output = Point

The resulting type after applying the - operator.

impl Sub<Size> for Point[src]

type Output = Point

The resulting type after applying the - operator.

fn sub(self, other: Size) -> Point[src]

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.

impl SubAssign<Point> for Point[src]

impl SubAssign<Size> for Point[src]

fn sub_assign(&mut self, other: Size)[src]

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.

impl<'_> TryFrom<&'_ [u32; 2]> for Point[src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

impl TryFrom<[u32; 2]> for Point[src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

impl TryFrom<(u32, u32)> for Point[src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

impl TryFrom<Point> for (u32, u32)[src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

impl TryFrom<Point> for [u32; 2][src]

type Error = TryFromIntError

The type returned in the event of a conversion error.

Auto Trait Implementations

impl Send for Point

impl Sync for Point

impl Unpin for Point

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, Right> ClosedAdd<Right> for T where
    T: Add<Right, Output = T> + AddAssign<Right>, 

impl<T, Right> ClosedDiv<Right> for T where
    T: Div<Right, Output = T> + DivAssign<Right>, 

impl<T, Right> ClosedMul<Right> for T where
    T: Mul<Right, Output = T> + MulAssign<Right>, 

impl<T> ClosedNeg for T where
    T: Neg<Output = T>, 

impl<T, Right> ClosedSub<Right> for T where
    T: Sub<Right, Output = T> + SubAssign<Right>, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,