#ifndef _BSPTREE_RGBNDX_HPP_ #define _BSPTREE_RGBNDX_HPP_ #ifndef _COMMON_RGBCOLOR_HPP_ #include #endif class RGBIndex : public RGBColor { public: RGBIndex(void); RGBIndex(const RGBIndex &someRGBIndex); RGBIndex(const RGBColor &someRGBColor,WORD paletteIndex); RGBIndex(const RGBColor &someRGBColor); virtual ~RGBIndex(); RGBIndex &operator=(const RGBIndex &someRGBIndex); RGBIndex &operator=(const RGBColor &someRGBColor); DWORD paletteIndex(void)const; void paletteIndex(DWORD paletteIndex); DWORD reference(void)const; void reference(DWORD reference); private: DWORD mPaletteIndex; DWORD mReference; }; inline RGBIndex::RGBIndex(void) : mPaletteIndex(0), mReference(0) { } inline RGBIndex::RGBIndex(const RGBIndex &someRGBIndex) { *this=someRGBIndex; } inline RGBIndex::RGBIndex(const RGBColor &someRGBItem,WORD paletteIndex) : RGBColor(someRGBItem), mPaletteIndex(paletteIndex), mReference(0) { } inline RGBIndex::RGBIndex(const RGBColor &someRGBColor) : RGBColor(someRGBColor), mPaletteIndex(0), mReference(0) { } inline RGBIndex::~RGBIndex() { } inline DWORD RGBIndex::paletteIndex(void)const { return mPaletteIndex; } inline void RGBIndex::paletteIndex(DWORD paletteIndex) { mPaletteIndex=paletteIndex; } inline DWORD RGBIndex::reference(void)const { return mReference; } inline void RGBIndex::reference(DWORD reference) { mReference=reference; } inline RGBIndex &RGBIndex::operator=(const RGBIndex &someRGBIndex) { (RGBColor&)*this=(RGBColor&)someRGBIndex; paletteIndex(someRGBIndex.paletteIndex()); reference(someRGBIndex.reference()); return *this; } inline RGBIndex &RGBIndex::operator=(const RGBColor &someRGBColor) { (RGBColor&)*this=someRGBColor; mPaletteIndex=0; mReference=0; return *this; } #endif