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 00008 { 00009 00010 public: 00011 00012 int X; 00013 00014 int Y; 00015 00020 rom_Point(){} 00021 00027 rom_Point(int _x, int _y):X(_x),Y(_y){} 00028 00033 rom_Point(const rom_Point& _p):X(_p.X),Y(_p.Y){} 00034 00043 rom_Point& operator +=(const rom_Point& _p) throw() 00044 { 00045 X += _p.X; 00046 Y += _p.Y; 00047 return *this; 00048 } 00049 00058 rom_Point& operator -=(const rom_Point& _p) throw() 00059 { 00060 X -= _p.X; 00061 Y -= _p.Y; 00062 return *this; 00063 } 00064 00065 }; 00066 00075 _EXTERN_ rom_Point operator +(const rom_Point& _p1, const rom_Point& _p2) throw() 00076 { 00077 return rom_Point(_p1.X + _p2.X, _p1.Y + _p2.Y); 00078 } 00079 00088 _EXTERN_ rom_Point operator -(const rom_Point& _p1, const rom_Point& _p2) throw() 00089 { 00090 return rom_Point(_p1.X - _p2.X, _p1.Y - _p2.Y); 00091 } 00092 00099 _EXTERN_ bool operator ==(const rom_Point& _p1, const rom_Point& _p2) throw() 00100 { 00101 return _p1.X == _p2.X && _p1.Y == _p2.Y; 00102 } 00103 00110 _EXTERN_ bool operator !=(const rom_Point& _p1, const rom_Point& _p2) throw() 00111 { 00112 return _p1.X != _p2.X || _p1.Y != _p2.Y; 00113 } 00114 00115 #endif