blob: 88c3a339aa8784c57bf660291a893ecdd58756d2 (
plain)
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
|
#ifndef RECTANGLEUTIL_HH
#define RECTANGLEUTIL_HH
namespace RectangleUtil {
/*
* Determines if a point is inside a rectangle-like objects border.
* @param rect A rectangle-like object that has accessors for x, y, width, and
* height.
* @param x
* @param y
* @param border_width The size of the border.
* @returns true if point is inside the rectangle-like object.
*/
template <typename RectangleLike>
bool insideBorder(const RectangleLike& rect,
int x, int y,
int border_width) {
return
x >= rect.x() + border_width &&
x < rect.x() + (int)rect.width() + border_width &&
y >= rect.y() + border_width &&
y < rect.y() + (int)rect.height() + border_width;
}
} // namespace RectangleUtil
#endif // RECTANGLEUTIL_HH
|