plugin api change: Plugins() and main functions must receive (and possibly ignore...
[enigma2.git] / lib / gdi / epoint.h
index fc5f983670e253c850f7d25e0b4469137889f4d2..d7cdf399876dbda8bceb3ffcc67d20ef33ed7271 100644 (file)
@@ -1,8 +1,6 @@
 #ifndef EPOINT_H
 #define EPOINT_H
 
-#include <iostream>
-
 #ifndef ABS
 #define ABS(x) ( x>0 ? x : -x )
 #endif
@@ -35,7 +33,9 @@ public:
        friend inline bool       operator==( const ePoint &, const ePoint & );
        friend inline bool       operator!=( const ePoint &, const ePoint & );
        friend inline ePoint operator+( const ePoint &, const ePoint & );
+       friend inline ePoint operator+( const ePoint &, const eSize & );
        friend inline ePoint operator-( const ePoint &, const ePoint & );
+       friend inline ePoint operator-( const ePoint &, const eSize & );
        friend inline ePoint operator*( const ePoint &, int );
        friend inline ePoint operator*( int, const ePoint & );
        friend inline ePoint operator*( const ePoint &, double );
@@ -55,25 +55,6 @@ inline int ePoint::manhattanLength() const
 }
 
 
-/*****************************************************************************
-  ePoint stream functions
- *****************************************************************************/
-namespace std
-{
-       inline ostream &operator<<( ostream & s, const ePoint & p )
-       {
-               s << p.x() << p.y();
-               return s;
-       }
-
-       inline istream &operator>>( istream & s, ePoint & p )
-       {
-               s >> p.rx() >> p.ry();
-         return s;
-       }
-}
-
-
 /*****************************************************************************
   ePoint inline functions
  *****************************************************************************/
@@ -129,6 +110,12 @@ inline ePoint operator+( const ePoint &p1, const ePoint &p2 )
 inline ePoint operator-( const ePoint &p1, const ePoint &p2 )
 { return ePoint(p1.xp-p2.xp, p1.yp-p2.yp); }
 
+inline ePoint operator+( const ePoint &p1, const eSize &p2 )
+{ return ePoint(p1.xp+p2.width(), p1.yp+p2.height()); }
+
+inline ePoint operator-( const ePoint &p1, const eSize &p2 )
+{ return ePoint(p1.xp-p2.width(), p1.yp-p2.height()); }
+
 inline ePoint operator*( const ePoint &p, int c )
 { return ePoint(p.xp*c, p.yp*c); }