diff --git a/Userland/Libraries/LibGfx/AffineTransform.cpp b/Userland/Libraries/LibGfx/AffineTransform.cpp index 7347df38a5..3e33b4f718 100644 --- a/Userland/Libraries/LibGfx/AffineTransform.cpp +++ b/Userland/Libraries/LibGfx/AffineTransform.cpp @@ -16,6 +16,11 @@ bool AffineTransform::is_identity() const return m_values[0] == 1 && m_values[1] == 0 && m_values[2] == 0 && m_values[3] == 1 && m_values[4] == 0 && m_values[5] == 0; } +bool AffineTransform::is_identity_or_translation() const +{ + return a() == 1 && b() == 0 && c() == 0 && d() == 1; +} + static float hypotenuse(float x, float y) { // FIXME: This won't handle overflow :( diff --git a/Userland/Libraries/LibGfx/AffineTransform.h b/Userland/Libraries/LibGfx/AffineTransform.h index 5069c6ae57..2dd8e9de29 100644 --- a/Userland/Libraries/LibGfx/AffineTransform.h +++ b/Userland/Libraries/LibGfx/AffineTransform.h @@ -25,6 +25,7 @@ public: } bool is_identity() const; + bool is_identity_or_translation() const; void map(float unmapped_x, float unmapped_y, float& mapped_x, float& mapped_y) const;