From 8cd28dd3bf1637a12fe3eee53a39862935427be6 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Tue, 12 Mar 2024 16:06:06 +0100 Subject: [PATCH] metal: fix application of transform matrix --- src/backends/metal/input.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backends/metal/input.rs b/src/backends/metal/input.rs index 6ca6f4e5..d9390ccb 100644 --- a/src/backends/metal/input.rs +++ b/src/backends/metal/input.rs @@ -192,10 +192,14 @@ impl MetalBackend { let mut dx_unaccelerated = event.dx_unaccelerated(); let mut dy_unaccelerated = event.dy_unaccelerated(); if let Some(matrix) = dev.transform_matrix.get() { - dx = matrix[0][0] * dx + matrix[0][1] * dy; - dy = matrix[1][0] * dx + matrix[1][1] * dy; - dx_unaccelerated = matrix[0][0] * dx_unaccelerated + matrix[0][1] * dy_unaccelerated; - dy_unaccelerated = matrix[1][0] * dx_unaccelerated + matrix[1][1] * dy_unaccelerated; + (dx, dy) = ( + matrix[0][0] * dx + matrix[0][1] * dy, + matrix[1][0] * dx + matrix[1][1] * dy, + ); + (dx_unaccelerated, dy_unaccelerated) = ( + matrix[0][0] * dx_unaccelerated + matrix[0][1] * dy_unaccelerated, + matrix[1][0] * dx_unaccelerated + matrix[1][1] * dy_unaccelerated, + ); } dev.event(InputEvent::Motion { time_usec: event.time_usec(),