## DDBLTFX

The DDBLTFX structure passes raster operations, effects, and override information to the IDirectDrawSurface3::Blt method. This structure is also part of the DDBLTBATCH structure used with the IDirectDrawSurface3::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 dwAlphaDestConst;

LPDIRECTDRAWSURFACE lpDDSAlphaDest;

};

DWORD dwAlphaSrcConstBitDepth;

union

{

DWORD dwAlphaSrcConst;

LPDIRECTDRAWSURFACE lpDDSAlphaSrc;

};

union

{

DWORD dwFillColor;

DWORD dwFillDepth;

DWORD dwFillPixel;

LPDIRECTDRAWSURFACE lpDDSPattern;

};

DDCOLORKEY ddckDestColorkey;

DDCOLORKEY ddckSrcColorkey;

} DDBLTFX,FAR* LPDDBLTFX;

##### Members

dwSize
  Size of the structure, in bytes. This member must be initialized before the structure is used.
dwDDFX
  Type of FX operations.

  DDBLTFX_ARITHSTRETCHY
  | Uses arithmetic stretching along the y-axis for this blit.
  DDBLTFX_MIRRORLEFTRIGHT
  | Turns the surface on its y-axis. This blit mirrors the surface from left to right.
  DDBLTFX_MIRRORUPDOWN
  | Turns the surface on its x-axis. This blit mirrors the surface from top to bottom.
  DDBLTFX_NOTEARING
  | Schedules this blit to avoid tearing.
  DDBLTFX_ROTATE180
  | Rotates the surface 180 degrees clockwise during this blit.
  DDBLTFX_ROTATE270
  | Rotates the surface 270 degrees clockwise during this blit.
  DDBLTFX_ROTATE90
  | Rotates the surface 90 degrees clockwise during this blit.
  DDBLTFX_ZBUFFERBASEDEST
  | Adds the dwZBufferBaseDest member to each of the source z-values before comparing them with the destination z-values during this z-blit.
  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-blit.

dwROP
  Win32 raster operations. You can retrieve a list of supported raster operations by calling the IDirectDraw2::GetCaps method.
dwDDROP
  DirectDraw raster operations.
dwRotationAngle
  Rotation angle for the blit.
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.
dwZDestConst
  Constant used as the z-buffer destination.
lpDDSZBufferDest
  Surface used as the z-buffer destination.
dwZSrcConstBitDepth
  Bit depth of the source z-constant.
dwZSrcConst
  Constant used as the z-buffer source.
lpDDSZBufferSrc
  Surface used as the z-buffer source.
dwAlphaEdgeBlendBitDepth
  Bit depth of the constant for an alpha edge blend.
dwAlphaEdgeBlend
  Alpha constant used for edge blending.
dwReserved
  Reserved for future use.
dwAlphaDestConstBitDepth
  Bit depth of the destination alpha constant.
dwAlphaDestConst
  Constant used as the alpha channel destination.
lpDDSAlphaDest
  Surface used as the alpha channel destination.
dwAlphaSrcConstBitDepth
  Bit depth of the source alpha constant.
dwAlphaSrcConst
  Constant used as the alpha channel source.
lpDDSAlphaSrc
  Surface used as the alpha channel source.
dwFillColor
  Color used to fill a surface when DDBLT_COLORFILL is specified. This value must be a pixel appropriate to the pixel format of the destination surface. For a palettized surface it would be a palette index, and for a 16-bit RGB surface it would be a 16-bit pixel value.
dwFillDepth
  Depth value for the z-buffer.
dwFillPixel
  Pixel value for RGBA or RGBZ fills. Applications that use RGBZ fills should use this member, not dwFillColor or dwFillDepth.
lpDDSPattern
  Surface to use as a pattern. The pattern can be used in certain blit operations that combine a source and a destination.
ddckDestColorkey
  Destination color key override.
ddckSrcColorkey
  Source color key override.