DDPIXELFORMAT

typedef struct _DDPIXELFORMAT{

DWORD dwSize;

DWORD dwFlags;

DWORD dwFourCC;

union

{

DWORD dwRGBBitCount;

DWORD dwYUVBitCount;

DWORD dwZBufferBitDepth;

DWORD dwAlphaBitDepth;

};

union

{

DWORD dwRBitMask;

DWORD dwYBitMask;

};

union

{

DWORD dwGBitMask;

DWORD dwUBitMask;

};

union

{

DWORD dwBBitMask;

DWORD dwVBitMask;

};

union

{

DWORD dwRGBAlphaBitMask;

DWORD dwYUVAlphaBitMask;

};

} DDPIXELFORMAT, FAR* LPDDPIXELFORMAT;

Describes the pixel format of a DirectDrawSurface object.

dwSize

Size of the structure. This must be initialized before the structure is used.

dwFlags

Specifies the optional control flags.

DDPF_ALPHA

The pixel format describes an alpha-only surface.

DDPF_ALPHAPIXELS

The surface has alpha-channel information in the pixel format.

DDPF_COMPRESSED

The surface will accept pixel data in the specified format and compress it during the write operation.

DDPF_FOURCC

The FourCC code is valid.

DDPF_PALETTEINDEXED1

The surface is 1-bit color indexed.

DDPF_PALETTEINDEXED2

The surface is 2-bit color indexed.

DDPF_PALETTEINDEXED4

The surface is 4-bit color indexed.

DDPF_PALETTEINDEXED8

The surface is 8-bit color indexed.

DDPF_PALETTEINDEXEDTO8

The surface is 1-, 2-, or 4-bit color indexed to an 8-bit palette.

DDPF_RGB

The RGB data in the pixel format structure is valid.

DDPF_RGBTOYUV

The surface will accept RGB data and translate it during the write operation to YUV data. The format of the data to be written will be contained in the pixel format structure. The DDPF_RGB flag will be set.

DDPF_YUV

The YUV data in the pixel format structure is valid.

DDPF_ZBUFFER

The pixel format describes a z-buffer-only surface.

dwFourCC

FourCC code.

dwRGBBitCount

RGB bits per pixel (DDBD_4,8,16,24,32)

dwYUVBitCount

YUV bits per pixel (DDBD_4,8,16,24,32)

dwZBufferBitDepth

Z-buffer bit depth. (DDBD_8,16,24,32)

dwAlphaBitDepth

Alpha channel bit depth. (DDBD_1,2,4,8)

dwRBitMask

Mask for red bits.

dwYBitMask

Mask for Y bits.

dwGBitMask

Mask for green bits.

dwUBitMask

Mask for U bits.

dwBBitMask

Mask for blue bits.

dwVBitMask

Mask for V bits.

dwRGBAlphaBitMask

Mask for alpha channel.

dwYUVAlphaBitMask

Mask for alpha channel.