X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FGeometry.h;h=0ca914b5dae19a2b5056d09ce1ea30160c6ab580;hb=0a3cfdfcb956024639a05549a50586e3d826b42e;hp=ab5b8410af8f4302ff972213007141f4626ee1c1;hpb=424d476f7cd0ccc2def4f14119cd4fc3171d0159;p=chaz%2Fopenbox diff --git a/src/Geometry.h b/src/Geometry.h index ab5b8410..0ca914b5 100644 --- a/src/Geometry.h +++ b/src/Geometry.h @@ -41,19 +41,19 @@ public: }; class Size{ - int m_w, m_h; + unsigned int m_w, m_h; public: Size(); Size(const Size &size); - Size(const int w, const int h); + Size(const unsigned int w, const unsigned int h); - void setW(const int w); - inline int w() const { + void setW(const unsigned int w); + inline unsigned int w() const { return m_w; } - void setH(const int h); - inline int h() const { + void setH(const unsigned int h); + inline unsigned int h() const { return m_h; } }; @@ -64,14 +64,16 @@ class Rect{ public: Rect(); Rect(const Point &origin, const Size &size); - Rect(const int x, const int y, const int w, const int h); + Rect(const int x, const int y, const unsigned int w, const unsigned int h); void setSize(const Size &size); + void setSize(const unsigned int w, const unsigned int h); inline const Size &size() const { return const_cast(m_size); } void setOrigin(const Point &origin); + void setOrigin(const int x, const int y); inline const Point &origin() const { return const_cast(m_origin); } @@ -86,17 +88,29 @@ public: return m_origin.y(); } - void setW(const int w); - inline int w() const { + void setW(const unsigned int w); + inline unsigned int w() const { return m_size.w(); } - void setH(const int h); - inline int h() const { + void setH(const unsigned int h); + inline unsigned int h() const { return m_size.h(); } bool Intersect(const Rect &r) const; + // returns a rect that is this rect increased in size by the passed in amount + Rect Inflate(const unsigned int i) const; + Rect Inflate(const unsigned int iw, const unsigned int ih) const; + Rect Inflate(const Size &i) const; + // returns a rect that is this rect decreased in size by the passed in amount + Rect Deflate(const unsigned int d) const; + Rect Deflate(const unsigned int dw, const unsigned int dh) const; + Rect Deflate(const Size &d) const; + // returns a rect that is moved the amount specified + Rect Translate(const int t) const; + Rect Translate(const int tx, const int ty) const; + Rect Translate(const Point &t) const; }; #endif // __geometry_h