diff options
author | crupest <crupest@outlook.com> | 2021-10-31 22:53:11 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2021-10-31 22:53:11 +0800 |
commit | 1dca2841da6f024f613d6dc16de456d5035f8fce (patch) | |
tree | 37ca6290afbe5900df2eb4a09e30024257d55316 /include/cru/platform/Matrix.hpp | |
parent | e68e0d9a5130e8bc0b634572b7fd44b9bfc0f8ef (diff) | |
download | cru-1dca2841da6f024f613d6dc16de456d5035f8fce.tar.gz cru-1dca2841da6f024f613d6dc16de456d5035f8fce.tar.bz2 cru-1dca2841da6f024f613d6dc16de456d5035f8fce.zip |
...
Diffstat (limited to 'include/cru/platform/Matrix.hpp')
-rw-r--r-- | include/cru/platform/Matrix.hpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/cru/platform/Matrix.hpp b/include/cru/platform/Matrix.hpp index 72459b79..47917d47 100644 --- a/include/cru/platform/Matrix.hpp +++ b/include/cru/platform/Matrix.hpp @@ -43,6 +43,15 @@ struct Matrix { point.x * m12 + point.y * m22 + m32}; } + Rect TransformRect(const Rect& rect, bool normalize = true) const { + Point lefttop = TransformPoint(rect.GetLeftTop()), + rightbottom = TransformPoint(rect.GetRightBottom()); + auto result = + Rect::FromVertices(lefttop.x, lefttop.y, rightbottom.x, rightbottom.y); + if (normalize) result = result.Normalize(); + return result; + } + static Matrix Identity() { return Matrix{1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f}; } |