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 for Rectangle { } } +impl Mul 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()