Files
Work/ddraw/PIXFORM.HPP
2024-08-07 09:16:27 -04:00

470 lines
9.7 KiB
C++

#ifndef _DDRAW_PIXELFORMAT_HPP_
#define _DDRAW_PIXELFORMAT_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _DDRAW_DDRAW_HPP_
#include <ddraw/ddraw.hpp>
#endif
class PixelFormat : private DDPIXELFORMAT
{
public:
enum ControlFlags{Alpha=DDPF_ALPHA,AlphaPixels=DDPF_ALPHAPIXELS,AlphaPreMult=DDPF_ALPHAPREMULT,
BumpLuminance=DDPF_BUMPLUMINANCE,BumpDUDV=DDPF_BUMPDUDV,Compressed=DDPF_COMPRESSED,
FourCC=DDPF_FOURCC,Luminance=DDPF_LUMINANCE,PaletteIndexed1=DDPF_PALETTEINDEXED1,
PaletteIndexed2=DDPF_PALETTEINDEXED2,PaletteIndexed4=DDPF_PALETTEINDEXED4,
PaletteIndexed8=DDPF_PALETTEINDEXED8,PaletteIndexedTo8=DDPF_PALETTEINDEXEDTO8,
RGB=DDPF_RGB,RGBToYUV=DDPF_RGBTOYUV,StencilBuffer=DDPF_STENCILBUFFER,YUV=DDPF_YUV,
ZBuffer=DDPF_ZBUFFER,ZPixels=DDPF_ZPIXELS};
PixelFormat(void);
PixelFormat(const PixelFormat &somePixelFormat);
PixelFormat(const DDPIXELFORMAT &someDDPIXELFORMAT);
virtual ~PixelFormat();
PixelFormat &operator=(const PixelFormat &somePixelFormat);
PixelFormat &operator=(const DDPIXELFORMAT &someDDPIXELFORMAT);
DWORD flags(void)const;
void flags(DWORD flags);
void flags(ControlFlags controlFlags);
DWORD fourCC(void)const;
void fourCC(DWORD fourCC);
DWORD rgbBitCount(void)const;
void rgbBitCount(DWORD rgbBitCount);
DWORD yuvBitCount(void)const;
void yuvBitCount(DWORD yuvBitCount);
DWORD zBufferBitDepth(void)const;
void zBufferBitDepth(DWORD zBufferBitDepth);
DWORD alphaBitDepth(void)const;
void alphaBitDepth(DWORD alphaBitDepth);
DWORD luminanceBitCount(void)const;
void luminanceBitCount(DWORD luminanceBitCount);
DWORD bumpBitCount(void)const;
void bumpBitCount(DWORD bumpBitCount);
DWORD rBitMask(void)const;
void rBitMask(DWORD resBitMask);
DWORD yBitMask(void)const;
void yBitMask(DWORD yBitMask);
DWORD gBitMask(void)const;
void gBitMask(DWORD gBitMask);
DWORD uBitMask(void)const;
void uBitMask(DWORD uBitMask);
DWORD zBitMask(void)const;
void zBitMask(DWORD zBitMask);
DWORD bBitMask(void)const;
void bBitMask(DWORD bBitMask);
DWORD vBitMask(void)const;
void vBitMask(DWORD vBitMask);
DWORD stencilBitDepth(void)const;
void stencilBitDepth(DWORD stencilBitDepth);
DWORD luminanceBitMask(void)const;
void luminanceBitMask(DWORD luminanceBitMask);
DWORD bumpDuBitMask(void)const;
void bumpDuBitMask(DWORD bumpDuBitMask);
DWORD bumpDvBitMask(void)const;
void bumpDvBitMask(DWORD bumpDvBitMask);
DWORD stencilBitMask(void)const;
void stencilBitMask(DWORD stencilBitMask);
DWORD bumpLuminanceBitMask(void)const;
void bumpLuminanceBitMask(DWORD bumpLuminanceBitMask);
DWORD rgbAlphaBitMask(void)const;
void rgbAlphaBitMask(DWORD rgbAlphaBitMask);
DWORD yuvAlphaBitMask(void)const;
void yuvAlphaBitMask(DWORD yuvAlphaBitMask);
DWORD luminanceAlphaBitMask(void)const;
void luminanceAlphaBitMask(DWORD luminanceAlphaBitMask);
DWORD rgbZBitMask(void)const;
void rgbZBitMask(DWORD rgbZBitMask);
DWORD yuvZBitMask(void)const;
void yuvZBitMask(DWORD yuvZBitMask);
DDPIXELFORMAT &getDDPIXELFORMAT(void);
private:
void zeroInit(void);
};
inline
PixelFormat::PixelFormat(void)
{
zeroInit();
}
inline
PixelFormat::PixelFormat(const PixelFormat &somePixelFormat)
{
*this=somePixelFormat;
}
inline
PixelFormat::PixelFormat(const DDPIXELFORMAT &someDDPIXELFORMAT)
{
*this=someDDPIXELFORMAT;
}
inline
PixelFormat::~PixelFormat()
{
}
inline
PixelFormat &PixelFormat::operator=(const PixelFormat &somePixelFormat)
{
flags(somePixelFormat.flags());
fourCC(somePixelFormat.fourCC());
rgbBitCount(somePixelFormat.rgbBitCount());
rBitMask(somePixelFormat.rBitMask());
gBitMask(somePixelFormat.gBitMask());
bBitMask(somePixelFormat.bBitMask());
rgbAlphaBitMask(somePixelFormat.rgbAlphaBitMask());
return *this;
}
inline
PixelFormat &PixelFormat::operator=(const DDPIXELFORMAT &someDDPIXELFORMAT)
{
flags(someDDPIXELFORMAT.dwFlags);
fourCC(someDDPIXELFORMAT.dwFourCC);
rgbBitCount(someDDPIXELFORMAT.dwRGBBitCount);
rBitMask(someDDPIXELFORMAT.dwRBitMask);
gBitMask(someDDPIXELFORMAT.dwGBitMask);
bBitMask(someDDPIXELFORMAT.dwBBitMask);
rgbAlphaBitMask(someDDPIXELFORMAT.dwRGBAlphaBitMask);
return *this;
}
inline
DWORD PixelFormat::flags(void)const
{
return DDPIXELFORMAT::dwFlags;
}
inline
void PixelFormat::flags(DWORD flags)
{
DDPIXELFORMAT::dwFlags=flags;
}
inline
void PixelFormat::flags(ControlFlags controlFlags)
{
DDPIXELFORMAT::dwFlags=(DWORD)controlFlags;
}
inline
DWORD PixelFormat::fourCC(void)const
{
return DDPIXELFORMAT::dwFourCC;
}
inline
void PixelFormat::fourCC(DWORD fourCC)
{
DDPIXELFORMAT::dwFourCC=fourCC;
}
inline
DWORD PixelFormat::rgbBitCount(void)const
{
return DDPIXELFORMAT::dwRGBBitCount;
}
inline
void PixelFormat::rgbBitCount(DWORD rgbBitCount)
{
DDPIXELFORMAT::dwRGBBitCount=rgbBitCount;
}
inline
DWORD PixelFormat::yuvBitCount(void)const
{
return DDPIXELFORMAT::dwYUVBitCount;
}
inline
void PixelFormat::yuvBitCount(DWORD yuvBitCount)
{
DDPIXELFORMAT::dwYUVBitCount=yuvBitCount;
}
inline
DWORD PixelFormat::zBufferBitDepth(void)const
{
return DDPIXELFORMAT::dwZBufferBitDepth;
}
inline
void PixelFormat::zBufferBitDepth(DWORD zBufferBitDepth)
{
DDPIXELFORMAT::dwZBufferBitDepth=zBufferBitDepth;
}
inline
DWORD PixelFormat::alphaBitDepth(void)const
{
return DDPIXELFORMAT::dwAlphaBitDepth;
}
inline
void PixelFormat::alphaBitDepth(DWORD alphaBitDepth)
{
DDPIXELFORMAT::dwAlphaBitDepth=alphaBitDepth;
}
inline
DWORD PixelFormat::luminanceBitCount(void)const
{
return DDPIXELFORMAT::dwLuminanceBitCount;
}
inline
void PixelFormat::luminanceBitCount(DWORD luminanceBitCount)
{
DDPIXELFORMAT::dwLuminanceBitCount=luminanceBitCount;
}
inline
DWORD PixelFormat::bumpBitCount(void)const
{
return DDPIXELFORMAT::dwBumpBitCount;
}
inline
void PixelFormat::bumpBitCount(DWORD bumpBitCount)
{
DDPIXELFORMAT::dwBumpBitCount=bumpBitCount;
}
inline
DWORD PixelFormat::rBitMask(void)const
{
return DDPIXELFORMAT::dwRBitMask;
}
inline
void PixelFormat::rBitMask(DWORD rBitMask)
{
DDPIXELFORMAT::dwRBitMask=rBitMask;
}
inline
DWORD PixelFormat::yBitMask(void)const
{
return DDPIXELFORMAT::dwYBitMask;
}
inline
void PixelFormat::yBitMask(DWORD yBitMask)
{
DDPIXELFORMAT::dwYBitMask=yBitMask;
}
inline
DWORD PixelFormat::gBitMask(void)const
{
return DDPIXELFORMAT::dwGBitMask;
}
inline
void PixelFormat::gBitMask(DWORD gBitMask)
{
DDPIXELFORMAT::dwGBitMask=gBitMask;
}
inline
DWORD PixelFormat::uBitMask(void)const
{
return DDPIXELFORMAT::dwUBitMask;
}
inline
void PixelFormat::uBitMask(DWORD uBitMask)
{
DDPIXELFORMAT::dwUBitMask=uBitMask;
}
inline
DWORD PixelFormat::zBitMask(void)const
{
return DDPIXELFORMAT::dwZBitMask;
}
inline
void PixelFormat::zBitMask(DWORD zBitMask)
{
DDPIXELFORMAT::dwZBitMask=zBitMask;
}
inline
DWORD PixelFormat::bBitMask(void)const
{
return DDPIXELFORMAT::dwBBitMask;
}
inline
void PixelFormat::bBitMask(DWORD bBitMask)
{
DDPIXELFORMAT::dwBBitMask=bBitMask;
}
inline
DWORD PixelFormat::vBitMask(void)const
{
return DDPIXELFORMAT::dwVBitMask;
}
inline
void PixelFormat::vBitMask(DWORD vBitMask)
{
DDPIXELFORMAT::dwVBitMask=vBitMask;
}
inline
DWORD PixelFormat::stencilBitDepth(void)const
{
return DDPIXELFORMAT::dwStencilBitDepth;
}
inline
void PixelFormat::stencilBitDepth(DWORD stencilBitDepth)
{
DDPIXELFORMAT::dwStencilBitDepth=stencilBitDepth;
}
inline
DWORD PixelFormat::luminanceBitMask(void)const
{
return DDPIXELFORMAT::dwLuminanceBitMask;
}
inline
void PixelFormat::luminanceBitMask(DWORD luminanceBitMask)
{
DDPIXELFORMAT::dwLuminanceBitMask=luminanceBitMask;
}
inline
DWORD PixelFormat::bumpDuBitMask(void)const
{
return DDPIXELFORMAT::dwBumpDuBitMask;
}
inline
void PixelFormat::bumpDuBitMask(DWORD bumpDuBitMask)
{
DDPIXELFORMAT::dwBumpDuBitMask=bumpDuBitMask;
}
inline
DWORD PixelFormat::bumpDvBitMask(void)const
{
return DDPIXELFORMAT::dwBumpDvBitMask;
}
inline
void PixelFormat::bumpDvBitMask(DWORD bumpDvBitMask)
{
DDPIXELFORMAT::dwBumpDvBitMask;
}
inline
DWORD PixelFormat::stencilBitMask(void)const
{
return DDPIXELFORMAT::dwStencilBitMask;
}
inline
void PixelFormat::stencilBitMask(DWORD stencilBitMask)
{
DDPIXELFORMAT::dwStencilBitMask=stencilBitMask;
}
inline
DWORD PixelFormat::bumpLuminanceBitMask(void)const
{
return DDPIXELFORMAT::dwBumpLuminanceBitMask;
}
inline
void PixelFormat::bumpLuminanceBitMask(DWORD bumpLuminanceBitMask)
{
DDPIXELFORMAT::dwBumpLuminanceBitMask=bumpLuminanceBitMask;
}
inline
DWORD PixelFormat::rgbAlphaBitMask(void)const
{
return DDPIXELFORMAT::dwRGBAlphaBitMask;
}
inline
void PixelFormat::rgbAlphaBitMask(DWORD rgbAlphaBitMask)
{
DDPIXELFORMAT::dwRGBAlphaBitMask=rgbAlphaBitMask;
}
inline
DWORD PixelFormat::yuvAlphaBitMask(void)const
{
return DDPIXELFORMAT::dwYUVAlphaBitMask;
}
inline
void PixelFormat::yuvAlphaBitMask(DWORD yuvAlphaBitMask)
{
DDPIXELFORMAT::dwYUVAlphaBitMask=yuvAlphaBitMask;
}
inline
DWORD PixelFormat::luminanceAlphaBitMask(void)const
{
return DDPIXELFORMAT::dwLuminanceAlphaBitMask;
}
inline
void PixelFormat::luminanceAlphaBitMask(DWORD luminanceAlphaBitMask)
{
DDPIXELFORMAT::dwLuminanceAlphaBitMask=luminanceAlphaBitMask;
}
inline
DWORD PixelFormat::rgbZBitMask(void)const
{
return DDPIXELFORMAT::dwRGBZBitMask;
}
inline
void PixelFormat::rgbZBitMask(DWORD rgbZBitMask)
{
DDPIXELFORMAT::dwRGBZBitMask=rgbZBitMask;
}
inline
DWORD PixelFormat::yuvZBitMask(void)const
{
return DDPIXELFORMAT::dwYUVZBitMask;
}
inline
void PixelFormat::yuvZBitMask(DWORD yuvZBitMask)
{
DDPIXELFORMAT::dwYUVZBitMask=yuvZBitMask=yuvZBitMask;
}
inline
DDPIXELFORMAT &PixelFormat::getDDPIXELFORMAT(void)
{
return (DDPIXELFORMAT&)*this;
}
inline
void PixelFormat::zeroInit(void)
{
DDPIXELFORMAT::dwSize=sizeof(DDPIXELFORMAT);
DDPIXELFORMAT::dwFlags=0;
DDPIXELFORMAT::dwFourCC=0;
DDPIXELFORMAT::dwRGBBitCount=0;
DDPIXELFORMAT::dwRBitMask=0;
DDPIXELFORMAT::dwGBitMask=0;
DDPIXELFORMAT::dwBBitMask=0;
DDPIXELFORMAT::dwRGBAlphaBitMask=0;
}
#endif