DD_BLTDATA 结构 (ddrawint.h)
DD_BLTDATA 结构包含与执行位块传输的驱动程序相关的信息。
语法
typedef struct _DD_BLTDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpDDDestSurface;
RECTL rDest;
PDD_SURFACE_LOCAL lpDDSrcSurface;
RECTL rSrc;
DWORD dwFlags;
DWORD dwROPFlags;
DDBLTFX bltFX;
HRESULT ddRVal;
VOID *Blt;
BOOL IsClipped;
RECTL rOrigDest;
RECTL rOrigSrc;
DWORD dwRectCnt;
LPRECT prDestRects;
DWORD dwAFlags;
DDARGB ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;
成员
lpDD
指向描述驱动程序设备的 DD_DIRECTDRAW_GLOBAL 结构。
lpDDDestSurface
指向描述要启动的表面 的DD_SURFACE_LOCAL 结构。
rDest
lpDDSrcSurface
指向描述源图面的DD_SURFACE_LOCAL结构。
rSrc
dwFlags
指示一组标志,这些标志指定要执行的 blit 操作的类型以及哪些关联的结构成员具有驱动程序应使用的有效数据。 此成员是以下任意标志的按位 OR:
标志 | 含义 |
---|---|
DDBLT_ASYNC | 按接收的顺序通过 FIFO 异步执行此 blit。 如果硬件 FIFO 中不存在空间,驱动程序应使调用失败并立即返回。 |
DDBLT_COLORFILL | 使用 DDBLTFX 结构中的 dwFillColor 成员, (在 Microsoft DirectDraw SDK 文档中定义) 作为填充目标图面上目标矩形的 RGB 颜色。 |
DDBLT_DDFX | 使用 DirectDraw SDK 文档) 中定义的 DDBLTFX 结构 (中的 dwDDFX 成员来确定要用于 blit 的效果。 |
DDBLT_DDROPS | 此标志保留供系统使用,驱动程序应忽略此标志。 驱动程序还应忽略 DDBLTFX 结构的 dwDDROPS 成员。 |
DDBLT_EXTENDED_FLAGS |
|
DDBLT_EXTENDED_LINEAR_CONTENT |
|
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR |
|
DDBLT_KEYDESTOVERRIDE | 使用 DDBLTFX 结构中的 dckDestColorkey 成员, (DirectDraw SDK 文档中定义的 dckDestColorkey 成员) 作为目标图面的颜色键。 如果未设置替代,则 dckDestColorkey 不包含颜色键。 驱动程序应测试表面本身。 |
DDBLT_KEYSRCOVERRIDE | 使用 DirectDraw SDK 文档中定义的 DDBLTFX 结构中的 dckSrcColorkey 成员 () 作为源图面的颜色键。 如果未设置替代,则 dckDestColorkey 不包含颜色键。 驱动程序应测试表面本身。 |
DDBLT_LAST_PRESENTATION |
|
DDBLT_PRESENTATION |
|
DDBLT_ROP | 使用 DDBLTFX 结构中的 dwROP 成员, (DirectDraw SDK 文档) 为此 blit 的光栅操作定义。 目前,传递给驱动程序的唯一 ROP 是 SRCCOPY。 此 ROP 与 Win32 API 中定义的相同。 有关详细信息,请参阅Microsoft Windows SDK文档。 |
DDBLT_ROTATIONANGLE | Windows 2000 及更高版本不支持此标志,驱动程序应忽略此标志。 |
DDBLT_WAIT | 如果 blitter 处于繁忙状态,请不要立即返回带有DDERR_WASSTILLDRAWING消息--请等待,直到可以设置 blit 或发生其他错误。 |
dwROPFlags
在 Windows 2000 及更高版本上未使用,驱动程序应忽略。
bltFX
#########
#######
ddRVal
指定驱动程序写入 DdBlt 回调的返回值的位置。 返回代码DD_OK表示成功。 有关详细信息,请参阅 DirectDraw 的返回值。
Blt
由 DirectDraw API 使用,不应由驱动程序填充。
IsClipped
指示这是否是已剪裁的 blit。 在 Windows 2000 及更高版本上,此成员始终为 FALSE,表示 blit 未拆分。
rOrigDest
未用于 Windows 2000 及更高版本。 指定一个 RECTL 结构,该结构定义未剪切的目标矩形。 仅当 IsClipped 为 TRUE 时,此成员才有效。
rOrigSrc
未用于 Windows 2000 及更高版本。 指定一个 RECTL 结构,该结构定义未剪切的源矩形。 仅当 IsClipped 为 TRUE 时,此成员才有效。
dwRectCnt
未用于 Windows 2000 及更高版本。指定 prDestRect 指向的目标矩形数。 仅当 IsClipped 为 TRUE 时,此成员才有效。
prDestRects
未用于 Windows 2000 及更高版本。 指向描述目标矩形的 RECTL 结构的数组。 仅当 IsClipped 为 TRUE 时,此成员才有效。
dwAFlags
驱动程序应忽略未使用 和 。
ddargbScaleFactors
arGB 缩放系数 (AlphaBlt)
注解
有关DDBLT_PRESENTATION和DDBLT_LAST_PRESENTATION标志的详细信息,请参阅 演示文稿。
要求
要求 | 值 |
---|---|
Header | ddrawint.h (包括 Winddi.h) |