Skip to content

Commit 3709e68

Browse files
committed
Add overload that uses single value on all sides
1 parent 775f9c0 commit 3709e68

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/Synercoding.Primitives/Extensions/RectangleExtensions.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@ public static Rectangle Contract(this Rectangle rectangle, Spacing spacing)
1818
urx: rectangle.URX - spacing.Right,
1919
ury: rectangle.URY - spacing.Top);
2020

21+
/// <summary>
22+
/// Contract a given <see cref="Rectangle"/> (make smaller).
23+
/// </summary>
24+
/// <param name="rectangle">The <see cref="Rectangle"/> to contract.</param>
25+
/// <param name="value">The amount of <see cref="Value"/> to contract on all sides.</param>
26+
/// <returns>A new contacted <see cref="Rectangle"/>.</returns>
27+
public static Rectangle Contract(this Rectangle rectangle, Value value)
28+
=> new Rectangle(
29+
llx: rectangle.LLX + value,
30+
lly: rectangle.LLY + value,
31+
urx: rectangle.URX - value,
32+
ury: rectangle.URY - value);
33+
2134
/// <summary>
2235
/// Expand a given <see cref="Rectangle"/> (make bigger).
2336
/// </summary>
@@ -31,6 +44,19 @@ public static Rectangle Expand(this Rectangle rectangle, Spacing spacing)
3144
urx: rectangle.URX + spacing.Right,
3245
ury: rectangle.URY + spacing.Top);
3346

47+
/// <summary>
48+
/// Expand a given <see cref="Rectangle"/> (make bigger).
49+
/// </summary>
50+
/// <param name="rectangle">The rectangle to expand</param>
51+
/// <param name="value">The amount of <see cref="Value"/> to expand on all sides.</param>
52+
/// <returns>A new expanded <see cref="Rectangle"/>.</returns>
53+
public static Rectangle Expand(this Rectangle rectangle, Value value)
54+
=> new Rectangle(
55+
llx: rectangle.LLX - value,
56+
lly: rectangle.LLY - value,
57+
urx: rectangle.URX + value,
58+
ury: rectangle.URY + value);
59+
3460
/// <summary>
3561
/// Get the raw values representing this <see cref="Rectangle"/> in a provided unit.
3662
/// </summary>

0 commit comments

Comments
 (0)