jsweeper/src/rect.h

43 lines
698 B
C

#ifndef RECT_H
#define RECT_H
struct Rect
{
int left;
int top;
int width;
int height;
static const Rect None;
Rect() { }
Rect(int _left, int _top, int _width, int _height) : left(_left), top(_top), width(_width), height(_height) { }
bool operator ==(const Rect &other) const
{
return left == other.left && top == other.top && width == other.width && height == other.height;
}
bool operator !=(const Rect &other) const
{
return !(*this == other);
}
bool HitX(int x) const
{
return x >= left && x < left + width;
}
bool HitY(int y) const
{
return y >= top && y < top + height;
}
bool Hit(int x, int y) const
{
return HitX(x) && HitY(y);
}
};
#endif // RECT_H