DDBLTFX 结构 (ddraw.h)

DDBLTFX 结构将光栅操作 (RP) 、效果和替代信息传递给 IDirectDrawSurface7::Blt 方法。 此结构也是与 IDirectDrawSurface7::BltBatch 方法一起使用的 DDBLTBATCH 结构的一部分。

语法

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;

成员

dwSize

结构的大小(以字节为单位)。 在使用 结构之前,必须初始化此成员。

dwDDFX

FX 操作的类型。 定义了以下类型。

DDBLTFX_ARITHSTRETCHY

为此位块传输使用沿 y 轴的算术拉伸 (bitblt) 。

DDBLTFX_MIRRORLEFTRIGHT

在 y 轴上打开图面。 此 bitblt 从左到右镜像图面。

DDBLTFX_MIRRORUPDOWN

在 x 轴上打开图面。 此 bitblt 从上到下镜像表面。

DDBLTFX_NOTEARING

计划此 bitblt 以避免撕裂。

DDBLTFX_ROTATE180

在此 bitblt 期间,将图面顺时针旋转 180 度。

DDBLTFX_ROTATE270

在此 bitblt 期间,将图面顺时针旋转 270 度。

DDBLTFX_ROTATE90

在此 bitblt 期间,将图面顺时针旋转 90 度。

DDBLTFX_ZBUFFERBASEDEST

在此 z-bitblt 期间,将 dwZBufferBaseDest 成员添加到每个源 z 值,然后将其与目标 z 值进行比较。

DDBLTFX_ZBUFFERRANGE

使用 dwZBufferLowdwZBufferHigh 成员作为范围值来指定在此 z 位blt 期间从源图面复制的位的限制。

dwROP

Win32 光栅操作。 可以通过调用 IDirectDraw7::GetCaps 方法检索支持的光栅操作的列表。

dwDDROP

DirectDraw 光栅操作。

dwRotationAngle

bitblt 的旋转角度。

dwZBufferOpCode

Z 缓冲区比较。

dwZBufferLow

z 缓冲区的低限制。

dwZBufferHigh

z 缓冲区的高限制。

dwZBufferBaseDest

z 缓冲区的目标基值。

dwZDestConstBitDepth

目标 z 常量的位深度。

DUMMYUNIONNAMEN

DUMMYUNIONNAMEN.dwZDestConst

DUMMYUNIONNAMEN.lpDDSZBufferDest

dwZSrcConstBitDepth

源 z 常量的位深度。

DUMMYUNIONNAMEN.dwZSrcConst

DUMMYUNIONNAMEN.lpDDSZBufferSrc

dwAlphaEdgeBlendBitDepth

alpha 边缘混合的常量的位深度。

dwAlphaEdgeBlend

用于边缘混合的 Alpha 常量。

dwReserved

预留

dwAlphaDestConstBitDepth

目标 alpha 常量的位深度。

DUMMYUNIONNAMEN.dwAlphaDestConst

DUMMYUNIONNAMEN.lpDDSAlphaDest

dwAlphaSrcConstBitDepth

源 alpha 常量的位深度。

DUMMYUNIONNAMEN.dwAlphaSrcConst

DUMMYUNIONNAMEN.lpDDSAlphaSrc

DUMMYUNIONNAMEN.dwFillColor

DUMMYUNIONNAMEN.dwFillDepth

DUMMYUNIONNAMEN.dwFillPixel

DUMMYUNIONNAMEN.lpDDSPattern

ddckDestColorkey

目标颜色键替代。

ddckSrcColorkey

源颜色键替代。

注解

此结构中的联合已更新为适用于不支持无名称联合的编译器。 如果编译器不支持无名称联合,请在包含 Ddraw.h 头文件之前定义 NONAMELESSUNION 令牌。

要求

要求
Header ddraw.h