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
使用 dwZBufferLow 和 dwZBufferHigh 成员作为范围值来指定在此 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 |