DirectX SDK

DDBLTFX

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 used with the IDirectDrawSurface7::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; 
    } DUMMYUNIONNAMEN(1);
    DWORD dwZSrcConstBitDepth; 
    union 
    { 
        DWORD               dwZSrcConst; 
        LPDIRECTDRAWSURFACE lpDDSZBufferSrc; 
    } DUMMYUNIONNAMEN(2);
    DWORD dwAlphaEdgeBlendBitDepth; 
    DWORD dwAlphaEdgeBlend; 
    DWORD dwReserved; 
    DWORD dwAlphaDestConstBitDepth; 
    union 
    { 
        DWORD               dwAlphaDestConst; 
        LPDIRECTDRAWSURFACE lpDDSAlphaDest; 
    } DUMMYUNIONNAMEN(3);
    DWORD dwAlphaSrcConstBitDepth; 
    union 
    { 
        DWORD               dwAlphaSrcConst; 
        LPDIRECTDRAWSURFACE lpDDSAlphaSrc; 
    } DUMMYUNIONNAMEN(4);
    union 
    { 
        DWORD               dwFillColor; 
        DWORD               dwFillDepth; 
        DWORD               dwFillPixel; 
        LPDIRECTDRAWSURFACE lpDDSPattern; 
    } DUMMYUNIONNAMEN(5);
    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. The following types are defined:
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 IDirectDraw7::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.

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

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.