[][src]Struct embedded_layout::prelude::Size

pub struct Size {
    pub width: u32,
    pub height: u32,
}

2D size.

Size is used to define the width and height of an object.

Nalgebra support can be enabled with the nalgebra_support feature. This implements From<Vector2<N>> and From<&Vector2<N>> where N is Scalar + Into<u32>. This allows use of Nalgebra's Vector2 with embedded-graphics where u32, u16 or u8 is used for value storage.

Examples

Create a Size from two integers

use embedded_graphics::geometry::Size;

// Create a size using the `new` constructor method
let s = Size::new(10, 20);

Create a Size from a Nalgebra Vector2

Be sure to enable the nalgebra_support feature to get Nalgebra integration.

Any Vector2<N> can be used where N: Into<u32> + nalgebra::Scalar. This includes the primitive types u32, u16 and u8.

use embedded_graphics::geometry::Size;
use nalgebra::Vector2;

assert_eq!(Size::from(Vector2::new(10u32, 20)), Size::new(10u32, 20));
assert_eq!(Size::from(Vector2::new(10u16, 20)), Size::new(10u32, 20));
assert_eq!(Size::from(Vector2::new(10u8, 20)), Size::new(10u32, 20));

.into() can also be used, but may require more type annotations:

use embedded_graphics::geometry::Size;
use nalgebra::Vector2;

let c: Size = Vector2::new(10u32, 20).into();

assert_eq!(c, Size::new(10u32, 20));

Fields

width: u32

The width.

height: u32

The height.

Implementations

impl Size[src]

pub const fn new(width: u32, height: u32) -> Size[src]

Creates a size from a width and a height.

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

Creates a size with width and height equal to zero.

Trait Implementations

impl Add<Size> for Size[src]

type Output = Size

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<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 AddAssign<Size> for Size[src]

impl Clone for Size[src]

impl Copy for Size[src]

impl Debug for Size[src]

impl Default for Size[src]

impl Div<u32> for Size[src]

type Output = Size

The resulting type after applying the / operator.

impl DivAssign<u32> for Size[src]

impl Eq for Size[src]

impl<'_> From<&'_ [u32; 2]> for Size[src]

impl From<[u32; 2]> for Size[src]

impl From<(u32, u32)> for Size[src]

impl Hash for Size[src]

impl Index<usize> for Size[src]

type Output = u32

The returned type after indexing.

impl Mul<u32> for Size[src]

type Output = Size

The resulting type after applying the * operator.

impl MulAssign<u32> for Size[src]

impl Ord for Size[src]

impl PartialEq<Size> for Size[src]

impl PartialOrd<Size> for Size[src]

impl StructuralEq for Size[src]

impl StructuralPartialEq for Size[src]

impl Sub<Size> for Size[src]

type Output = Size

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<Size> for Size[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 RefUnwindSafe for Size

impl Send for Size

impl Sync for Size

impl Unpin for Size

impl UnwindSafe for Size

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.