romlib
1.0
|
00001 /* $Id: point.h 2328 2010-08-04 20:38:26Z roma $ */ 00002 #ifndef _ROMLIB_POINT_H_ 00003 #define _ROLLIB_POINT_H_ 00004 00007 class _EXTERN_ rom_Point:public POINT 00008 { 00009 public: 00010 00016 rom_Point(int _x, int _y) throw() 00017 { 00018 x = _x; 00019 y = _y; 00020 } 00021 00026 rom_Point(const rom_Point& _p) throw() 00027 { 00028 x = _p.x; 00029 y = _p.y; 00030 } 00031 00036 rom_Point(const POINT& _p) throw() 00037 { 00038 x = _p.x; 00039 y = _p.y; 00040 } 00041 00042 rom_Point(){} 00043 00052 rom_Point& operator +=(const rom_Point& _p) throw() 00053 { 00054 x += _p.x; 00055 y += _p.y; 00056 return *this; 00057 } 00058 00068 rom_Point& operator -=(const rom_Point& _p) throw() 00069 { 00070 x -= _p.x; 00071 y -= _p.y; 00072 return *this; 00073 } 00074 00078 operator const POINT*() throw(){return this;} 00079 00080 }; 00081 00090 inline rom_Point operator +(const rom_Point& _p1, const rom_Point& _p2) throw() 00091 { 00092 return rom_Point(_p1.x + _p2.x, _p1.y + _p2.y); 00093 } 00094 00103 inline rom_Point operator -(const rom_Point& _p1, const rom_Point& _p2) throw() 00104 { 00105 return rom_Point(_p1.x - _p2.x, _p1.y - _p2.y); 00106 } 00107 00114 inline bool operator ==(const rom_Point& _p1, const rom_Point& _p2) throw() 00115 { 00116 return _p1.x == _p2.x && _p1.y == _p2.y; 00117 } 00118 00125 inline bool operator !=(const rom_Point& _p1, const rom_Point& _p2) throw() 00126 { 00127 return _p1.x != _p2.x || _p1.y != _p2.y; 00128 } 00129 00130 #endif