1
0
Fork 0
forked from wry/wry

metal: fix application of transform matrix

This commit is contained in:
Julian Orth 2024-03-12 16:06:06 +01:00
parent 3d4af09f99
commit 8cd28dd3bf

View file

@ -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(),