]> Dogcows Code - chaz/openbox/commitdiff
added Inflate, Deflate, and Translate to the Rect geometry class
authorDana Jansens <danakj@orodu.net>
Thu, 18 Apr 2002 18:11:33 +0000 (18:11 +0000)
committerDana Jansens <danakj@orodu.net>
Thu, 18 Apr 2002 18:11:33 +0000 (18:11 +0000)
src/Geometry.cc
src/Geometry.h

index 0b00b24a5c9f8adba6733208172b91c8c9ab83bb..db1de4067015db4c69919065448f4a31d62fdf0e 100644 (file)
@@ -107,3 +107,39 @@ bool Rect::Intersect(const Rect &r) const {
     (y() < (r.y()+r.h()) ) &&
     ( (y()+h()) > r.y());
 }
+
+Rect Rect::Inflate(const unsigned int i) const {
+  return Rect(x(), y(), w()+i, h()+i);
+}
+
+Rect Rect::Inflate(const unsigned int iw, const unsigned int ih) const {
+  return Rect(x(), y(), w()+iw, h()+ih);
+}
+
+Rect Rect::Inflate(const Size &i) const {
+  return Rect(x(), y(), w()+i.w(), h()+i.h());
+}
+
+Rect Rect::Deflate(const unsigned int d) const {
+  return Rect(x(), y(), w()-d, h()-d);
+}
+
+Rect Rect::Deflate(const unsigned int dw, const unsigned int dh) const {
+  return Rect(x(), y(), w()-dw, h()-dh);
+}
+
+Rect Rect::Deflate(const Size &d) const {
+  return Rect(x(), y(), w()-d.w(), h()-d.h());
+}
+
+Rect Rect::Translate(const int t) const {
+  return Rect(x()+t, y()+t, w(), h());
+}
+
+Rect Rect::Translate(const int tx, const int ty) const {
+  return Rect(x()+tx, y()+ty, w(), h());
+}
+
+Rect Rect::Translate(const Point &t) const {
+  return Rect(x()+t.x(), y()+t.y(), w(), h());
+}
index cbdf0fd1ffd820282ba2de0499cb42bc3e499f77..0ca914b5dae19a2b5056d09ce1ea30160c6ab580 100644 (file)
@@ -99,6 +99,18 @@ public:
   }
 
   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
This page took 0.028844 seconds and 4 git commands to generate.