[][src]Struct embedded_layout::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.

Implementations

impl Point[src]

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

Creates a point from X and Y coordinates.

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

Creates a point with X and Y equal to zero.

pub fn abs(self) -> Point[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 From<[i32; 2]> for Point[src]

impl From<(i32, i32)> for Point[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.

Auto Trait Implementations

impl RefUnwindSafe for Point

impl Send for Point

impl Sync for Point

impl Unpin for Point

impl UnwindSafe 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> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.