00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef NL_RECT_H
00027 #define NL_RECT_H
00028
00029 #include "nel/misc/types_nl.h"
00030
00031
00032 namespace NLMISC {
00033
00034 class CVector2f;
00035
00036
00043 class CRect
00044 {
00045 public:
00047 CRect() {}
00048
00050 CRect (sint32 x, sint32 y, uint32 width, uint32 height);
00051
00053 CRect (sint32 x, sint32 y)
00054 {
00055 X=x;
00056 Y=y;
00057 Width=0;
00058 Height=0;
00059 }
00060
00062 void setWH(sint32 x, sint32 y, uint32 width, uint32 height);
00063
00065 void set(sint32 x0, sint32 y0, sint32 x1, sint32 y1);
00066
00068 void extend (sint32 x, sint32 y);
00069
00071 sint32 left() const
00072 {
00073 return X;
00074 }
00075
00077 sint32 right() const
00078 {
00079 return X+(sint32)Width;
00080 }
00081
00083 sint32 top() const
00084 {
00085 return Y;
00086 }
00087
00089 sint32 bottom() const
00090 {
00091 return Y+(sint32)Height;
00092 }
00093
00095 sint32 getXCenter() const
00096 {
00097 return X+(sint32)(Width>>1);
00098 }
00099
00101 sint32 getYCenter() const
00102 {
00103 return Y+(sint32)(Height>>1);
00104 }
00105
00107 sint32 X;
00108
00110 sint32 Y;
00111
00113 uint32 Width;
00114
00116 uint32 Height;
00117 };
00118
00119
00120 }
00121
00122
00123 #endif // NL_RECT_H
00124
00125