pub struct Size {
pub width: u32,
pub height: u32,
}
Expand description
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§
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 Size
impl AddAssign for Size
Source§fn add_assign(&mut self, other: Size)
fn add_assign(&mut self, other: Size)
+=
operation. Read moreSource§impl DivAssign<u32> for Size
impl DivAssign<u32> for Size
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/=
operation. Read moreSource§impl MulAssign<u32> for Size
impl MulAssign<u32> for Size
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*=
operation. Read moreSource§impl Ord for Size
impl Ord for Size
Source§impl PartialOrd for Size
impl PartialOrd for Size
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 Size
impl SubAssign for Size
Source§fn sub_assign(&mut self, other: Size)
fn sub_assign(&mut self, other: Size)
-=
operation. Read moreimpl Copy for Size
impl Eq for Size
impl StructuralPartialEq for Size
Auto Trait Implementations§
impl Freeze for Size
impl RefUnwindSafe for Size
impl Send for Size
impl Sync for Size
impl Unpin for Size
impl UnwindSafe for Size
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,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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