bool operator <=(Offset const& right) const { return (y < right.y) || ((y == right.y) && (x <= right.x)); }
bool operator >(Offset const& right) const { return (y > right.y) || ((y == right.y) && (x > right.x)); }
bool operator >=(Offset const& right) const { return (y > right.y) || ((y == right.y) && (x >= right.x)); }
+ void clamp(int ymin, int xmin, int ymax, int xmax)
+ {
+ y = std::min(ymax, std::max(ymin, y));
+ x = std::min(xmax, std::max(xmin, x));
+ }
};
/*! \brief A two-dimensional point
bool operator <=(Coord const& right) const { return (y < right.y) || ((y == right.y) && (x <= right.x)); }
bool operator >(Coord const& right) const { return (y > right.y) || ((y == right.y) && (x > right.x)); }
bool operator >=(Coord const& right) const { return (y > right.y) || ((y == right.y) && (x >= right.x)); }
+ void clamp(int ymin, int xmin, int ymax, int xmax)
+ {
+ y = std::min(ymax, std::max(ymin, y));
+ x = std::min(xmax, std::max(xmin, x));
+ }
};
extern Coord const Nowhere;