LayoutUtils.cs
1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace RibbonStyle {
/// <summary>
/// Handy layout helper utils.
/// </summary>
static class LayoutUtils {
/// <summary>
/// Increases the size of the rectangle by the padding
/// </summary>
/// <param name="rect"></param>
/// <param name="padding"></param>
/// <returns></returns>
public static Rectangle InflateRect(Rectangle rect, Padding padding) {
rect.X -= padding.Left;
rect.Y -= padding.Top;
rect.Width += padding.Horizontal;
rect.Height += padding.Vertical;
return rect;
}
/// <summary>
/// Decreases the rectangle by the amount of padding
/// </summary>
/// <param name="rect"></param>
/// <param name="padding"></param>
/// <returns></returns>
public static Rectangle DeflateRect(Rectangle rect, Padding padding) {
rect.X += padding.Left;
rect.Y += padding.Top;
rect.Width -= padding.Horizontal;
rect.Height -= padding.Vertical;
return rect;
}
/// <summary>
/// Given two sizes, returns the maximum width and maximum height
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public static Size UnionSizes(Size a, Size b) {
return new Size(
Math.Max(a.Width, b.Width),
Math.Max(a.Height, b.Height));
}
}
}