romlib  1.0
include/win32/point.h
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
 Указатель Классы Функции Переменные Перечисления Элементы перечислений