Move Size to iced_core
This commit is contained in:
parent
ad3a0a184f
commit
945dfabd71
3 changed files with 3 additions and 3 deletions
|
|
@ -22,6 +22,7 @@ mod font;
|
|||
mod length;
|
||||
mod point;
|
||||
mod rectangle;
|
||||
mod size;
|
||||
mod vector;
|
||||
|
||||
pub use align::{Align, HorizontalAlignment, VerticalAlignment};
|
||||
|
|
@ -31,4 +32,5 @@ pub use font::Font;
|
|||
pub use length::Length;
|
||||
pub use point::Point;
|
||||
pub use rectangle::Rectangle;
|
||||
pub use size::Size;
|
||||
pub use vector::Vector;
|
||||
|
|
|
|||
51
core/src/size.rs
Normal file
51
core/src/size.rs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
use std::f32;
|
||||
|
||||
/// An amount of space in 2 dimensions.
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub struct Size {
|
||||
/// The width.
|
||||
pub width: f32,
|
||||
/// The height.
|
||||
pub height: f32,
|
||||
}
|
||||
|
||||
impl Size {
|
||||
/// A [`Size`] with zero width and height.
|
||||
///
|
||||
/// [`Size`]: struct.Size.html
|
||||
pub const ZERO: Size = Size::new(0., 0.);
|
||||
|
||||
/// A [`Size`] with infinite width and height.
|
||||
///
|
||||
/// [`Size`]: struct.Size.html
|
||||
pub const INFINITY: Size = Size::new(f32::INFINITY, f32::INFINITY);
|
||||
|
||||
/// A [`Size`] of infinite width and height.
|
||||
///
|
||||
/// [`Size`]: struct.Size.html
|
||||
pub const fn new(width: f32, height: f32) -> Self {
|
||||
Size { width, height }
|
||||
}
|
||||
|
||||
/// Increments the [`Size`] to account for the given padding.
|
||||
///
|
||||
/// [`Size`]: struct.Size.html
|
||||
pub fn pad(&self, padding: f32) -> Self {
|
||||
Size {
|
||||
width: self.width + padding * 2.0,
|
||||
height: self.height + padding * 2.0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<[f32; 2]> for Size {
|
||||
fn from([width, height]: [f32; 2]) -> Self {
|
||||
Size { width, height }
|
||||
}
|
||||
}
|
||||
|
||||
impl From<[u16; 2]> for Size {
|
||||
fn from([width, height]: [u16; 2]) -> Self {
|
||||
Size::new(width.into(), height.into())
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue