ScummVM API documentation
Rectangular zones

Description

API for operations on rectangular zones.

Classes

struct  Common::PointBase< T, ConcretePoint >
 
struct  Common::Point
 
struct  Common::Point32
 
struct  Common::RectBase< T, ConcreteRect, ConcretePoint >
 
struct  Common::Rect
 
struct  Common::Rect32
 

Macros

#define BEGIN_POINT_TYPE(T, Point)   struct Point : public PointBase<T, Point> {
 
#define END_POINT_TYPE(T, Point)
 
#define BEGIN_RECT_TYPE(T, Rect, Point)   struct Rect : public RectBase<T, Rect, Point> {
 
#define END_RECT_TYPE(T, Rect, Point)
 

Macro Definition Documentation

◆ 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