#ifndef _HISTOGRAM_COLORRECT_HPP_ #define _HISTOGRAM_COLORRECT_HPP_ #ifndef _ENGINE_RECT3D_HPP_ #include #endif class ColorRect : public Rect3D { public: ColorRect(void); ColorRect(const ColorRect &someColorRect); ColorRect(const Rect3D &someRect3D,BYTE paletteIndex); ColorRect(const ColorRect &someColorRect,BYTE paletteIndex); virtual~ColorRect(); ColorRect &operator=(const ColorRect &someColorRect); WORD operator==(const ColorRect &someColorRect); BYTE paletteIndex(void)const; void paletteIndex(BYTE paletteIndex); private: BYTE mPaletteIndex; }; inline ColorRect::ColorRect(void) : mPaletteIndex(0) { } inline ColorRect::ColorRect(const ColorRect &someColorRect) { *this=someColorRect; } inline ColorRect::ColorRect(const ColorRect &someColorRect,BYTE paletteIndex) : Rect3D((Rect3D&)someColorRect), mPaletteIndex(paletteIndex) { } inline ColorRect::ColorRect(const Rect3D &someRect3D,BYTE paletteIndex) : mPaletteIndex(paletteIndex) { (Rect3D&)*this=(Rect3D&)someRect3D; } inline ColorRect::~ColorRect() { } inline ColorRect &ColorRect::operator=(const ColorRect &someColorRect) { (Rect3D&)*this=(Rect3D&)someColorRect; paletteIndex(someColorRect.paletteIndex()); return *this; } inline WORD ColorRect::operator==(const ColorRect &someColorRect) { return ((Rect3D&)*this==(Rect3D&)someColorRect&& paletteIndex()==someColorRect.paletteIndex()); } inline BYTE ColorRect::paletteIndex(void)const { return mPaletteIndex; } inline void ColorRect::paletteIndex(BYTE paletteIndex) { mPaletteIndex=paletteIndex; } #endif