diff --git a/Source/Engine/Core/Math/Rectangle.cs b/Source/Engine/Core/Math/Rectangle.cs index 024bc9dc8..c0811815c 100644 --- a/Source/Engine/Core/Math/Rectangle.cs +++ b/Source/Engine/Core/Math/Rectangle.cs @@ -79,6 +79,26 @@ namespace FlaxEngine /// public Float2 UpperRight => new Float2(Location.X + Size.X, Location.Y); + /// + /// Gets position of the bottom right corner of the rectangle + /// + public Float2 LowerRight => Location + Size; + + /// + /// Gets position of the bottom left corner of the rectangle + /// + public Float2 LowerLeft => new Float2(Location.X, Location.Y + Size.Y); + + /// + /// Gets position of the upper left corner of the rectangle + /// + public Float2 TopLeft => Location; + + /// + /// Gets position of the upper right corner of the rectangle + /// + public Float2 TopRight => new Float2(Location.X + Size.X, Location.Y); + /// /// Gets position of the bottom right corner of the rectangle /// diff --git a/Source/Engine/Core/Math/Rectangle.h b/Source/Engine/Core/Math/Rectangle.h index 496b8bb8a..823d233dc 100644 --- a/Source/Engine/Core/Math/Rectangle.h +++ b/Source/Engine/Core/Math/Rectangle.h @@ -117,6 +117,30 @@ public: return Location + Float2(Size.X, 0); } + // Gets position of the bottom right corner of the rectangle + Float2 GetLowerRight() const + { + return Location + Size; + } + + // Gets position of the bottom left corner of the rectangle + Float2 GetLowerLeft() const + { + return Location + Float2(0, Size.Y); + } + + // Gets position of the upper left corner of the rectangle + Float2 GetTopLeft() const + { + return Location; + } + + // Gets position of the upper right corner of the rectangle + Float2 GetTopRight() const + { + return Location + Float2(Size.X, 0); + } + // Gets position of the bottom right corner of the rectangle Float2 GetBottomRight() const {