diff --git a/Userland/Libraries/LibGfx/Matrix4x4.h b/Userland/Libraries/LibGfx/Matrix4x4.h index 7ff3ecad99..d90992a604 100644 --- a/Userland/Libraries/LibGfx/Matrix4x4.h +++ b/Userland/Libraries/LibGfx/Matrix4x4.h @@ -7,6 +7,7 @@ #pragma once #include +#include #include #include #include @@ -76,6 +77,13 @@ constexpr static Matrix4x4 rotation_matrix(Vector3 const& axis, T angle) 0, 0, 0, 1); } +template +Gfx::AffineTransform extract_2d_affine_transform(Matrix4x4 const& matrix) +{ + auto* m = matrix.elements(); + return Gfx::AffineTransform(m[0][0], m[1][0], m[0][1], m[1][1], m[0][3], m[1][3]); +} + typedef Matrix4x4 FloatMatrix4x4; typedef Matrix4x4 DoubleMatrix4x4; }