diff options
Diffstat (limited to 'include/ui/Rect.h')
-rw-r--r-- | include/ui/Rect.h | 53 |
1 files changed, 20 insertions, 33 deletions
diff --git a/include/ui/Rect.h b/include/ui/Rect.h index 902324d51198..da7294476246 100644 --- a/include/ui/Rect.h +++ b/include/ui/Rect.h @@ -30,36 +30,23 @@ public: int right; int bottom; - typedef int value_type; - // we don't provide copy-ctor and operator= on purpose // because we want the compiler generated versions - inline Rect() - { + inline Rect() { } - inline Rect(int w, int h) - : left(0), top(0), right(w), bottom(h) - { + : left(0), top(0), right(w), bottom(h) { } - inline Rect(int l, int t, int r, int b) - : left(l), top(t), right(r), bottom(b) - { + : left(l), top(t), right(r), bottom(b) { } - inline Rect(const Point& lt, const Point& rb) - : left(lt.x), top(lt.y), right(rb.x), bottom(rb.y) - { + : left(lt.x), top(lt.y), right(rb.x), bottom(rb.y) { } void makeInvalid(); - inline void clear() { - left = top = right = bottom = 0; - } - // a valid rectangle has a non negative width and height inline bool isValid() const { return (width()>=0) && (height()>=0); @@ -84,29 +71,29 @@ public: return bottom-top; } + void setLeftTop(const Point& lt) { + left = lt.x; + top = lt.y; + } + + void setRightBottom(const Point& rb) { + right = rb.x; + bottom = rb.y; + } + // the following 4 functions return the 4 corners of the rect as Point - inline Point leftTop() const { + Point leftTop() const { return Point(left, top); } - inline Point rightBottom() const { + Point rightBottom() const { return Point(right, bottom); } - inline Point rightTop() const { + Point rightTop() const { return Point(right, top); } - inline Point leftBottom() const { + Point leftBottom() const { return Point(left, bottom); } - - inline void setLeftTop(const Point& p) { - left = p.x; - top = p.y; - } - - inline void setRightBottom(const Point& p) { - right = p.x; - bottom = p.y; - } // comparisons inline bool operator == (const Rect& rhs) const { @@ -140,8 +127,8 @@ public: Rect& operator -= (const Point& rhs) { return offsetBy(-rhs.x, -rhs.y); } - Rect operator + (const Point& rhs) const; - Rect operator - (const Point& rhs) const; + const Rect operator + (const Point& rhs) const; + const Rect operator - (const Point& rhs) const; void translate(int dx, int dy) { // legacy, don't use. offsetBy(dx, dy); |