DDBLTFX structure (ddraw.h)

The DDBLTFX structure passes raster operations (ROPs), effects, and override information to the IDirectDrawSurface7::Blt method. This structure is also part of the DDBLTBATCH structure that is used with the IDirectDrawSurface7::BltBatch method.

Syntax

typedef struct _DDBLTFX {
  DWORD      dwSize;
  DWORD      dwDDFX;
  DWORD      dwROP;
  DWORD      dwDDROP;
  DWORD      dwRotationAngle;
  DWORD      dwZBufferOpCode;
  DWORD      dwZBufferLow;
  DWORD      dwZBufferHigh;
  DWORD      dwZBufferBaseDest;
  DWORD      dwZDestConstBitDepth;
#if ...
  union {
    DWORD               dwZDestConst;
    LPDIRECTDRAWSURFACE lpDDSZBufferDest;
  } DUMMYUNIONNAMEN;
  DWORD      dwZSrcConstBitDepth;
#elif
  union {
    DWORD               dwZSrcConst;
    LPDIRECTDRAWSURFACE lpDDSZBufferSrc;
  } DUMMYUNIONNAMEN;
  DWORD      dwAlphaEdgeBlendBitDepth;
  DWORD      dwAlphaEdgeBlend;
  DWORD      dwReserved;
  DWORD      dwAlphaDestConstBitDepth;
#elif
  union {
    DWORD               dwAlphaDestConst;
    LPDIRECTDRAWSURFACE lpDDSAlphaDest;
  } DUMMYUNIONNAMEN;
  DWORD      dwAlphaSrcConstBitDepth;
#elif
  union {
    DWORD               dwAlphaSrcConst;
    LPDIRECTDRAWSURFACE lpDDSAlphaSrc;
  } DUMMYUNIONNAMEN;
#else
  union {
    DWORD               dwFillColor;
    DWORD               dwFillDepth;
    DWORD               dwFillPixel;
    LPDIRECTDRAWSURFACE lpDDSPattern;
  } DUMMYUNIONNAMEN;
#endif
  DDCOLORKEY ddckDestColorkey;
  DDCOLORKEY ddckSrcColorkey;
} DDBLTFX;

Members

dwSize

Size of the structure, in bytes. This member must be initialized before the structure is used.

dwDDFX

Type of FX operations. The following types are defined.

DDBLTFX_ARITHSTRETCHY

Uses arithmetic stretching along the y-axis for this bit block transfer (bitblt).

DDBLTFX_MIRRORLEFTRIGHT

Turns the surface on its y-axis. This bitblt mirrors the surface from left to right.

DDBLTFX_MIRRORUPDOWN

Turns the surface on its x-axis. This bitblt mirrors the surface from top to bottom.

DDBLTFX_NOTEARING

Schedules this bitblt to avoid tearing.

DDBLTFX_ROTATE180

Rotates the surface 180 degrees clockwise during this bitblt.

DDBLTFX_ROTATE270

Rotates the surface 270 degrees clockwise during this bitblt.

DDBLTFX_ROTATE90

Rotates the surface 90 degrees clockwise during this bitblt.

DDBLTFX_ZBUFFERBASEDEST

Adds the dwZBufferBaseDest member to each of the source z-values before comparing them with the destination z-values during this z-bitblt.

DDBLTFX_ZBUFFERRANGE

Uses the dwZBufferLow and dwZBufferHigh members as range values to specify limits to the bits copied from a source surface during this z-bitblt.

dwROP

Win32 raster operations. You can retrieve a list of supported raster operations by calling the IDirectDraw7::GetCaps method.

dwDDROP

DirectDraw raster operations.

dwRotationAngle

Rotation angle for the bitblt.

dwZBufferOpCode

Z-buffer compares.

dwZBufferLow

Low limit of a z-buffer.

dwZBufferHigh

High limit of a z-buffer.

dwZBufferBaseDest

Destination base value of a z-buffer.

dwZDestConstBitDepth

Bit depth of the destination z-constant.

DUMMYUNIONNAMEN

DUMMYUNIONNAMEN.dwZDestConst

DUMMYUNIONNAMEN.lpDDSZBufferDest

dwZSrcConstBitDepth

Bit depth of the source z-constant.

DUMMYUNIONNAMEN.dwZSrcConst

DUMMYUNIONNAMEN.lpDDSZBufferSrc

dwAlphaEdgeBlendBitDepth

Bit depth of the constant for an alpha edge blend.

dwAlphaEdgeBlend

Alpha constant used for edge blending.

dwReserved

Reserved

dwAlphaDestConstBitDepth

Bit depth of the destination alpha constant.

DUMMYUNIONNAMEN.dwAlphaDestConst

DUMMYUNIONNAMEN.lpDDSAlphaDest

dwAlphaSrcConstBitDepth

Bit depth of the source alpha constant.

DUMMYUNIONNAMEN.dwAlphaSrcConst

DUMMYUNIONNAMEN.lpDDSAlphaSrc

DUMMYUNIONNAMEN.dwFillColor

DUMMYUNIONNAMEN.dwFillDepth

DUMMYUNIONNAMEN.dwFillPixel

DUMMYUNIONNAMEN.lpDDSPattern

ddckDestColorkey

Destination color key override.

ddckSrcColorkey

Source color key override.

Remarks

The unions in this structure have been updated to work with compilers that do not support nameless unions. If your compiler does not support nameless unions, define the NONAMELESSUNION token before including the Ddraw.h header file.

Requirements

Requirement Value
Header ddraw.h