summaryrefslogtreecommitdiffstats
path: root/core/src/pixels.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2023-02-17 16:53:02 +0100
committerLibravatar GitHub <noreply@github.com>2023-02-17 16:53:02 +0100
commit7dc1fb488ddbd12519571b51d75ae0c28875911d (patch)
tree92590830b23bb714ec8024766fef7273b041bbf3 /core/src/pixels.rs
parentf75e0202575ca6e3ebf7d817eecbf51e198506fd (diff)
parentfd1408693322f5bfdaee7f27bd098808658d7310 (diff)
downloadiced-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.rs22
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))
+ }
+}