Files
Work/common/RGBQUAD.HPP
2024-08-07 09:09:36 -04:00

160 lines
2.6 KiB
C++

#ifndef _COMMON_RGBQUAD_HPP_
#define _COMMON_RGBQUAD_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
class RGBQuad : private tagRGBQUAD
{
public:
RGBQuad(void);
RGBQuad(BYTE red,BYTE green,BYTE blue);
RGBQuad(const RGBQuad &someRGBQuad);
RGBQuad(const tagRGBQUAD &someRGBQUAD);
~RGBQuad(); // destructor cannot be virtual
operator RGBQUAD(void)const;
RGBQuad &operator=(const RGBQuad &someRGBQuad);
RGBQuad &operator=(const RGBQUAD &someRGBQUAD);
WORD operator==(const RGBQuad &someRGBQuad)const;
BYTE red(void)const;
void red(BYTE red);
BYTE green(void)const;
void green(BYTE green);
BYTE blue(void)const;
void blue(BYTE blue);
RGBQUAD getRGBQUAD(void)const;
private:
BYTE reserved(void)const;
void reserved(BYTE reserved);
};
inline
RGBQuad::RGBQuad(void)
{
tagRGBQUAD::rgbRed=0;
tagRGBQUAD::rgbGreen=0;
tagRGBQUAD::rgbBlue=0;
tagRGBQUAD::rgbReserved=0;
}
inline
RGBQuad::RGBQuad(BYTE red,BYTE green,BYTE blue)
{
tagRGBQUAD::rgbRed=red;
tagRGBQUAD::rgbGreen=green;
tagRGBQUAD::rgbBlue=blue;
tagRGBQUAD::rgbReserved=0;
}
inline
RGBQuad::RGBQuad(const tagRGBQUAD &someRGBQUAD)
{
red(someRGBQUAD.rgbRed);
green(someRGBQUAD.rgbGreen);
blue(someRGBQUAD.rgbBlue);
reserved(someRGBQUAD.rgbReserved);
}
inline
RGBQuad::RGBQuad(const RGBQuad &someRGBQuad)
{
*this=someRGBQuad;
}
inline
RGBQuad::~RGBQuad()
{
}
inline
RGBQuad::operator RGBQUAD(void)const
{
return getRGBQUAD();
}
inline
RGBQUAD RGBQuad::getRGBQUAD(void)const
{
RGBQUAD rgbQuad;
rgbQuad.rgbRed=red();
rgbQuad.rgbGreen=green();
rgbQuad.rgbBlue=blue();
return rgbQuad;
}
inline
RGBQuad &RGBQuad::operator=(const RGBQuad &someRGBQuad)
{
red(someRGBQuad.red());
green(someRGBQuad.green());
blue(someRGBQuad.blue());
return *this;
}
inline
RGBQuad &RGBQuad::operator=(const RGBQUAD &someRGBQUAD)
{
red(someRGBQUAD.rgbRed);
green(someRGBQUAD.rgbGreen);
blue(someRGBQUAD.rgbBlue);
return *this;
}
inline
WORD RGBQuad::operator==(const RGBQuad &someRGBQuad)const
{
return (red()==someRGBQuad.red()&&
blue()==someRGBQuad.blue()&&
green()==someRGBQuad.green());
}
inline
BYTE RGBQuad::red(void)const
{
return tagRGBQUAD::rgbRed;
}
inline
void RGBQuad::red(BYTE red)
{
tagRGBQUAD::rgbRed=red;
}
inline
BYTE RGBQuad::green(void)const
{
return tagRGBQUAD::rgbGreen;
}
inline
void RGBQuad::green(BYTE green)
{
tagRGBQUAD::rgbGreen=green;
}
inline
BYTE RGBQuad::blue(void)const
{
return tagRGBQUAD::rgbBlue;
}
inline
void RGBQuad::blue(BYTE blue)
{
tagRGBQUAD::rgbBlue=blue;
}
inline
BYTE RGBQuad::reserved(void)const
{
return tagRGBQUAD::rgbReserved;
}
inline
void RGBQuad::reserved(BYTE reserved)
{
tagRGBQUAD::rgbReserved=reserved;
}
#endif