(ddrawint.h) DD_UPDATEOVERLAYDATA 结构
DD_UPDATEOVERLAYDATA结构包含更新覆盖图面所需的信息。
语法
typedef struct _DD_UPDATEOVERLAYDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpDDDestSurface;
RECTL rDest;
PDD_SURFACE_LOCAL lpDDSrcSurface;
RECTL rSrc;
DWORD dwFlags;
DDOVERLAYFX overlayFX;
HRESULT ddRVal;
VOID *UpdateOverlay;
} *PDD_UPDATEOVERLAYDATA, DD_UPDATEOVERLAYDATA;
成员
lpDD
指向描述驱动程序设备的 DD_DIRECTDRAW_GLOBAL 结构。
lpDDDestSurface
指向表示要叠加的 Microsoft DirectDraw 图面的 DD_SURFACE_LOCAL 结构。 如果在 dwFlags 中指定了DDOVER_HIDE,则此值可以为 NULL。
rDest
指定包含目标图面上要叠加的区域的 x、y、宽度和高度的 RECTL 结构。
lpDDSrcSurface
指向描述覆盖图面的DD_SURFACE_LOCAL结构。
rSrc
指定 RECTL 结构,该结构包含源图面上要用于覆盖的区域的 x、y、宽度和高度。
dwFlags
指定驱动程序应如何处理覆盖。 此成员可以是以下任何标志的组合:
标志 | 含义 |
---|---|
DDOVER_ADDDIRTYRECT | 驱动程序应忽略。 |
DDOVER_AUTOFLIP | 每当硬件视频端口自动剪辑时,驱动程序应自动翻转覆盖层。 支持视频端口扩展 (VPE) 的驱动程序只需检查此标志。 |
DDOVER_BOB | 驱动程序应单独显示 VPE 对象数据的每个字段,而不会导致任何抖动项目。 此标志适用于希望使用内核模式视频传输功能在内核模式下进行自己的翻转的 VPE 和解码器。 |
DDOVER_BOBHARDWARE | 指示 bob 由硬件执行,而不是由软件或仿真执行。 支持 VPE 的驱动程序只需检查此标志。 |
DDOVER_DDFX | 驱动程序应使用 overlayFX 成员指定的属性显示覆盖图面。 |
DDOVER_HIDE | 驱动程序应隐藏覆盖层;也就是说,驱动程序应关闭此覆盖。 |
DDOVER_INTERLEAVED | 覆盖图面由交错字段组成。 支持 VPE 的驱动程序只需检查此标志。 |
DDOVER_KEYDEST | 驱动程序应使用与目标图面关联的颜色键。 |
DDOVER_KEYDESTOVERRIDE | 驱动程序应使用 DirectDraw SDK 文档中介绍的 DDOVERLAYFX 结构的 dckDestColorKey 成员, () 作为目标颜色键,而不是与目标图面关联的颜色键。 |
DDOVER_KEYSRC | 驱动程序应使用与目标图面关联的颜色键。 |
DDOVER_KEYSRCOVERRIDE | 驱动程序应使用 DirectDraw SDK 文档中介绍 (的 DDOVERLAYFX 结构的 dckSrcColorKey 成员) 作为源颜色键,而不是与目标图面关联的颜色键。 |
DDOVER_OVERRIDEBOBWEAVE | Bob/weave 决策不应被其他接口覆盖。 如果覆盖混音器设置此标志,则 DirectDraw 不允许内核模式驱动程序使用内核模式视频传输功能在 bob 和 weave 模式之间切换硬件。 |
DDOVER_REFRESHALL | 驱动程序应忽略。 |
DDOVER_REFRESHDIRTYRECTS | 驱动程序应忽略。 |
DDOVER_SHOW | 驱动程序应显示覆盖层;也就是说,驱动程序应打开此覆盖。 |
overlayFX
指定 DirectDraw SDK 文档 (描述的 DDOVERLAYFX 结构) ,该结构描述驱动程序应使用其他效果来更新覆盖层。 仅当 在 dwFlags 成员中设置了DDOVER_DDFX、DDOVER_KEYDESTOVERRIDE或DDOVER_KEYSRCOVERRIDE之一时,驱动程序才应使用此结构。
ddRVal
指定驱动程序写入 DdUpdateOverlay 回调的返回值的位置。 返回代码DD_OK表示成功。 有关详细信息,请参阅 DirectDraw 的返回值。
UpdateOverlay
由 DirectDraw API 使用,驱动程序不应填充。
要求
标头 | ddrawint.h (包括 Winddi.h) |