Microsoft DirectX 9.0

DDBLTFX Structure

This structure is used to pass raster ops, effects, and override information to the Blt method. It is also part of the DDBLTBATCH structure used with the BltBatch method.

typedef struct _DDBLTFX{
  DWORD    dwSize;
  DWORD    dwDDFX;
  DWORD    dwROP;
  DWORD    dwDDROP;
  DWORD    dwRotationAngle;
  DWORD    dwZBufferOpCode;
  DWORD    dwZBufferLow;
  DWORD    dwZBufferHigh;
  DWORD    dwZBufferBaseDest;
  DWORD    dwZDestConstBitDepth;
  union
  {
    DWORD  dwZDestConst;
    LPDIRECTDRAWSURFACE  lpDDSZBufferDest;
  };
  DWORD    dwZSrcConstBitDepth;
  union
  {
    DWORD        dwZSrcConst;
    LPDIRECTDRAWSURFACE lpDDSZBufferSrc;
  };
  DWORD    dwAlphaEdgeBlendBitDepth;
  DWORD    dwAlphaEdgeBlend;
  DWORD    dwReserved;

  DWORD    dwAlphaDestConstBitDepth;
  union
  {
    DWORD  wAlphaDestConst;
    LPDIRECTDRAWSURFACE  lpDDSAlphaDest;
  };
  DWORD    dwAlphaSrcConstBitDepth;
  union
  {
    DWORD dwAlphaSrcConst;
    LPDIRECTDRAWSURFACE     lpDDSAlphaSrc;
  };
  union
  {
    WORD  dwFillColor;
    LPDIRECTDRAWSURFACE  lpDDSPattern;
  };
  DDCOLORKEY    dckDestColorkey;
  DDCOLORKEY    dckSrcColorkey;
} DDBLTFX,FAR* LPDDBLTFX;

Members

dwSize

Size of the structure. Must be initialized before the structure is used.

dwDDFX

FX operations.

Flag Description
DDBLTFX_ARITHSTRETCHY If stretching, use arithmetic stretching along the y-axis for this blit.
DDBLTFX_MIRRORLEFTRIGHT Do this blit mirroring the surface left to right. Spin the surface around its y-axis.
DDBLTFX_MIRRORUPDOWN Do this blit mirroring the surface up and down. Spin the surface around its x-axis.
DDBLTFX_NOTEARING Schedule this blit to avoid tearing.
DDBLTFX_ROTATE180 Do this blit rotating the surface 180 degrees clockwise.
DDBLTFX_ROTATE270 Do this blit rotating the surface 270 degrees clockwise.
DDBLTFX_ROTATE90 Do this blit rotating the surface 90 degrees clockwise.
DDBLTFX_ZBUFFERRANGE Do this z blit using dwZBufferLow and dwZBufferHigh as range values specified to limit the bits copied from the source surface.
DDBLTFX_ZBUFFERBASEDEST Do this z blit adding the value of dwZBufferBaseDest to each of the sources' z values before comparing it with the destination z values.

dwROP

Win32 raster operations.

dwDDROP

DirectDraw raster operations.

dwRotationAngle

Rotation angle for the blit.

dwZBufferOpCode

Z buffer compares.

dwZBufferLow

Low limit of Z buffer.

dwZBufferHigh

High limit of Z buffer.

dwZBufferBaseDest

Destination base value.

dwZDestConstBitDepth

Bit depth used to specify Z constant for destination.

dwZDestConst

Constant to use as Z buffer for destination.

lpDDSZBufferDest

Surface to use as Z buffer for destination.

dwZSrcConstBitDepth

Bit depth used to specify Z constant for source.

dwZSrcConst

Constant to use as Z buffer for source.

lpDDSZBufferSrc

Surface to use as Z buffer for source.

dwAlphaEdgeBlendBitDepth

Bit depth used to specify constant for alpha edge blend.

dwAlphaEdgeBlend

Alpha for edge blending.

dwReserved

Reserved for future use.

dwAlphaDestConstBitDepth

Bit depth used to specify alpha constant for destination.

dwAlphaDestConst

Constant to use as Alpha Channel.

lpDDSAlphaDest

Surface to use as Alpha Channel.

dwAlphaSrcConstBitDepth

Bit depth used to specify alpha constant for source

dwAlphaSrcConst

Constant to use as Alpha Channel.

pDDSAlphaSrc

Surface to use as Alpha Channel.

dwFillColor

Fill color in RGB or Palettized.

lpDDSPattern

Surface to use as pattern.

dckDestColorkey

DestColorkey override.

dckSrcColorkey

SrcColorkey override.

See Also