[][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 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 Index<usize> for Point[src]

type Output = i32

The returned type after indexing.

impl Neg for Point[src]

type Output = Point

The resulting type after applying the - operator.

impl PartialEq<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.

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> 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>,