Files
Work/bsptree/RGBNDX.HPP
2024-08-07 09:12:07 -04:00

97 lines
1.7 KiB
C++

#ifndef _BSPTREE_RGBNDX_HPP_
#define _BSPTREE_RGBNDX_HPP_
#ifndef _COMMON_RGBCOLOR_HPP_
#include <common/rgbcolor.hpp>
#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