API for operations on rectangular zones.
◆ BEGIN_POINT_TYPE
#define BEGIN_POINT_TYPE |
( |
|
T, |
|
|
|
Point |
|
) |
| struct Point : public PointBase<T, Point> { |
Old GCC don't support constructor inheritance
◆ END_POINT_TYPE
#define END_POINT_TYPE |
( |
|
T, |
|
|
|
Point |
|
) |
| |
Value:constexpr
Point() : PointBase() {} \
constexpr
Point(T x1, T y1) : PointBase(x1, y1) {} \
}; \
static
inline Point operator*(
int multiplier,
const Point &p) {
return Point(p.x * multiplier, p.y * multiplier); } \
static
inline Point operator*(
double multiplier,
const Point &p) {
return Point((T)(p.x * multiplier), (T)(p.y * multiplier)); }
Definition: display_client.h:58
◆ BEGIN_RECT_TYPE
#define BEGIN_RECT_TYPE |
( |
|
T, |
|
|
|
Rect, |
|
|
|
Point |
|
) |
| struct Rect : public RectBase<T, Rect, Point> { |
Old GCC don't support constructor inheritance
◆ END_RECT_TYPE
#define END_RECT_TYPE |
( |
|
T, |
|
|
|
Rect, |
|
|
|
Point |
|
) |
| |
Value:constexpr Rect() : RectBase() {} \
constexpr Rect(T w, T h) : RectBase(w, h) {} \
Rect(
const Point &topLeft,
const Point &bottomRight) : RectBase(topLeft, bottomRight) {} \
constexpr Rect(
const Point &topLeft, T w, T h) : RectBase(topLeft, w, h) {} \
Rect(T x1, T y1, T x2, T y2) : RectBase(x1, y1, x2, y2) {} \
};
Definition: display_client.h:58