add stop service
[enigma2.git] / lib / gdi / erect.h
index a67d0fb9d57bbc392e59807d97c89436c55a16bd..d95b8c0f6caf184ffd3b4256eda7dac19cbf204b 100644 (file)
@@ -52,6 +52,18 @@ public:
        ePoint bottomRight() const;
        ePoint topRight()        const;
        ePoint bottomLeft()      const;
+
+               /* the sole intention of these functions
+                  is to allow painting frames without 
+                  messing around with the coordinates.
+                  they point to the last pixel included
+                  in the rectangle (which means that 1 is
+                  subtracted from the right and bottom 
+                  coordinates  */
+       ePoint topLeft1()        const;
+       ePoint bottomRight1() const;
+       ePoint topRight1()       const;
+       ePoint bottomLeft1()     const;
        ePoint center()  const;
 
        void rect( int *x, int *y, int *w, int *h ) const;
@@ -131,7 +143,7 @@ inline eRect::eRect( int left, int top, int width, int height )
 }
 
 inline bool eRect::empty() const
-{ return x1 == x2 && y1 == y2; }
+{ return x1 == x2 || y1 == y2; }
 
 inline bool eRect::valid() const
 { return x1 <= x2 && y1 <= y2; }
@@ -196,6 +208,18 @@ inline ePoint eRect::topRight() const
 inline ePoint eRect::bottomLeft() const
 { return ePoint(x1, y2); }
 
+inline ePoint eRect::topLeft1() const
+{ return ePoint(x1, y1); }
+
+inline ePoint eRect::bottomRight1() const
+{ return ePoint(x2-1, y2-1); }
+
+inline ePoint eRect::topRight1() const
+{ return ePoint(x2-1, y1); }
+
+inline ePoint eRect::bottomLeft1() const
+{ return ePoint(x1, y2-1); }
+
 inline ePoint eRect::center() const
 { return ePoint((x1+x2)/2, (y1+y2)/2); }