summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-17 17:57:24 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-03-17 17:57:24 +0100
commit784fa80c0d92a7d1fda8a7ff77185d50423e228a (patch)
treef965e9ffa7a57311cb8fa00113490cdb249b3a25 /core
parent80b544e5486d058c439b7d499b18fef2a75317b2 (diff)
downloadiced-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.rs29
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 {