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: u32The width.
height: u32The height.
Implementations§
Source§impl Size
impl Size
Sourcepub const fn new_equal(value: u32) -> Size
pub const fn new_equal(value: u32) -> Size
Creates a size with width and height set to an equal value.
use embedded_graphics::geometry::Size;
let size = Size::new_equal(11);
assert_eq!(
size,
Size {
width: 11,
height: 11
}
);Sourcepub const fn saturating_add(self, other: Size) -> Size
pub const fn saturating_add(self, other: Size) -> Size
Saturating addition.
Returns u32::max_value() for width and/or height instead of overflowing.
Sourcepub const fn saturating_sub(self, other: Size) -> Size
pub const fn saturating_sub(self, other: Size) -> Size
Saturating subtraction.
Returns 0 for width and/or height instead of overflowing, if the
value in other is larger then in self.
Sourcepub fn component_min(self, other: Size) -> Size
pub fn component_min(self, other: Size) -> Size
Returns the componentwise minimum of two Sizes.
use embedded_graphics::geometry::Size;
let min = Size::new(20, 30).component_min(Size::new(15, 50));
assert_eq!(min, Size::new(15, 30));Sourcepub fn component_max(self, other: Size) -> Size
pub fn component_max(self, other: Size) -> Size
Returns the componentwise maximum of two Sizes.
use embedded_graphics::geometry::Size;
let min = Size::new(20, 30).component_max(Size::new(15, 50));
assert_eq!(min, Size::new(20, 50));Sourcepub const fn component_mul(self, other: Size) -> Size
pub const fn component_mul(self, other: Size) -> Size
Returns the componentwise multiplication of two Sizes.
use embedded_graphics::geometry::Size;
let result = Size::new(20, 30).component_mul(Size::new(2, 3));
assert_eq!(result, Size::new(40, 90));Sourcepub const fn component_div(self, other: Size) -> Size
pub const fn component_div(self, other: Size) -> Size
Returns the componentwise division of two Sizes.
§Panics
Panics if one of the components of other equals zero.
use embedded_graphics::geometry::Size;
let result = Size::new(20, 30).component_div(Size::new(5, 10));
assert_eq!(result, Size::new(4, 3));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 more