diff options
-rw-r--r-- | core/src/transformation.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/src/transformation.rs b/core/src/transformation.rs index 74183147..735fd9c4 100644 --- a/core/src/transformation.rs +++ b/core/src/transformation.rs @@ -1,3 +1,4 @@ +use crate::mouse::Cursor; use crate::{Point, Rectangle, Size, Vector}; use glam::{Mat4, Vec3, Vec4}; @@ -106,6 +107,19 @@ impl Mul<Transformation> for Rectangle { } } +impl Mul<Transformation> for Cursor { + type Output = Self; + + fn mul(self, transformation: Transformation) -> Self { + match self { + Cursor::Unavailable => Cursor::Unavailable, + Cursor::Available(point) => { + Cursor::Available(point * transformation) + } + } + } +} + impl AsRef<[f32; 16]> for Transformation { fn as_ref(&self) -> &[f32; 16] { self.0.as_ref() |