diff options
author | 2024-03-17 17:57:24 +0100 | |
---|---|---|
committer | 2024-03-17 17:57:24 +0100 | |
commit | 784fa80c0d92a7d1fda8a7ff77185d50423e228a (patch) | |
tree | f965e9ffa7a57311cb8fa00113490cdb249b3a25 /core | |
parent | 80b544e5486d058c439b7d499b18fef2a75317b2 (diff) | |
download | iced-784fa80c0d92a7d1fda8a7ff77185d50423e228a.tar.gz iced-784fa80c0d92a7d1fda8a7ff77185d50423e228a.tar.bz2 iced-784fa80c0d92a7d1fda8a7ff77185d50423e228a.zip |
Use `Program` API in `todos` example
Diffstat (limited to 'core')
-rw-r--r-- | core/src/size.rs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/core/src/size.rs b/core/src/size.rs index 90e50d13..267fc90e 100644 --- a/core/src/size.rs +++ b/core/src/size.rs @@ -53,20 +53,20 @@ impl Size { } } -impl From<[f32; 2]> for Size { - fn from([width, height]: [f32; 2]) -> Self { +impl<T> From<[T; 2]> for Size<T> { + fn from([width, height]: [T; 2]) -> Self { Size { width, height } } } -impl From<[u16; 2]> for Size { - fn from([width, height]: [u16; 2]) -> Self { - Size::new(width.into(), height.into()) +impl<T> From<(T, T)> for Size<T> { + fn from((width, height): (T, T)) -> Self { + Self { width, height } } } -impl From<Vector<f32>> for Size { - fn from(vector: Vector<f32>) -> Self { +impl<T> From<Vector<T>> for Size<T> { + fn from(vector: Vector<T>) -> Self { Size { width: vector.x, height: vector.y, @@ -74,20 +74,23 @@ impl From<Vector<f32>> for Size { } } -impl From<Size> for [f32; 2] { - fn from(size: Size) -> [f32; 2] { +impl<T> From<Size<T>> for [T; 2] { + fn from(size: Size<T>) -> Self { [size.width, size.height] } } -impl From<Size> for Vector<f32> { - fn from(size: Size) -> Self { +impl<T> From<Size<T>> for Vector<T> { + fn from(size: Size<T>) -> Self { Vector::new(size.width, size.height) } } -impl std::ops::Sub for Size { - type Output = Size; +impl<T> std::ops::Sub for Size<T> +where + T: std::ops::Sub<Output = T>, +{ + type Output = Size<T>; fn sub(self, rhs: Self) -> Self::Output { Size { |