diff options
author | 2023-02-17 16:53:02 +0100 | |
---|---|---|
committer | 2023-02-17 16:53:02 +0100 | |
commit | 7dc1fb488ddbd12519571b51d75ae0c28875911d (patch) | |
tree | 92590830b23bb714ec8024766fef7273b041bbf3 /core/src/pixels.rs | |
parent | f75e0202575ca6e3ebf7d817eecbf51e198506fd (diff) | |
parent | fd1408693322f5bfdaee7f27bd098808658d7310 (diff) | |
download | iced-7dc1fb488ddbd12519571b51d75ae0c28875911d.tar.gz iced-7dc1fb488ddbd12519571b51d75ae0c28875911d.tar.bz2 iced-7dc1fb488ddbd12519571b51d75ae0c28875911d.zip |
Merge pull request #1711 from iced-rs/feature/generic-pixel-units
Generic pixel units
Diffstat (limited to 'core/src/pixels.rs')
-rw-r--r-- | core/src/pixels.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/core/src/pixels.rs b/core/src/pixels.rs new file mode 100644 index 00000000..e42cd9f9 --- /dev/null +++ b/core/src/pixels.rs @@ -0,0 +1,22 @@ +/// An amount of logical pixels. +/// +/// Normally used to represent an amount of space, or the size of something. +/// +/// This type is normally asked as an argument in a generic way +/// (e.g. `impl Into<Pixels>`) and, since `Pixels` implements `From` both for +/// `f32` and `u16`, you should be able to provide both integers and float +/// literals as needed. +#[derive(Debug, Clone, Copy, PartialEq, PartialOrd)] +pub struct Pixels(pub f32); + +impl From<f32> for Pixels { + fn from(amount: f32) -> Self { + Self(amount) + } +} + +impl From<u16> for Pixels { + fn from(amount: u16) -> Self { + Self(f32::from(amount)) + } +} |