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 6a41fbe0f..03d0f2530 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
{