From 784fa80c0d92a7d1fda8a7ff77185d50423e228a Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sun, 17 Mar 2024 17:57:24 +0100 Subject: Use `Program` API in `todos` example --- core/src/size.rs | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'core/src') 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 From<[T; 2]> for Size { + 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 From<(T, T)> for Size { + fn from((width, height): (T, T)) -> Self { + Self { width, height } } } -impl From> for Size { - fn from(vector: Vector) -> Self { +impl From> for Size { + fn from(vector: Vector) -> Self { Size { width: vector.x, height: vector.y, @@ -74,20 +74,23 @@ impl From> for Size { } } -impl From for [f32; 2] { - fn from(size: Size) -> [f32; 2] { +impl From> for [T; 2] { + fn from(size: Size) -> Self { [size.width, size.height] } } -impl From for Vector { - fn from(size: Size) -> Self { +impl From> for Vector { + fn from(size: Size) -> Self { Vector::new(size.width, size.height) } } -impl std::ops::Sub for Size { - type Output = Size; +impl std::ops::Sub for Size +where + T: std::ops::Sub, +{ + type Output = Size; fn sub(self, rhs: Self) -> Self::Output { Size { -- cgit