IDirectDrawSurface7::UpdateOverlay 方法 (ddraw.h)
重新定位或修改覆盖图面的视觉属性。 这些图面必须设置DDSCAPS_OVERLAY标志。
语法
HRESULT UpdateOverlay(
[in] LPRECT unnamedParam1,
[in] LPDIRECTDRAWSURFACE7 unnamedParam2,
[in] LPRECT unnamedParam3,
[in] DWORD unnamedParam4,
[in] LPDDOVERLAYFX unnamedParam5
);
参数
[in] unnamedParam1
指向 RECT 结构的指针,该结构定义用作覆盖的源图面上的区域的 x、y、宽度和高度。 此参数可以为 NULL,以隐藏覆盖或指示将使用整个覆盖图面,并且覆盖图面符合设备驱动程序施加的任何边界和大小对齐限制。
[in] unnamedParam2
指向要叠加的 DirectDrawSurface 对象的 IDirectDrawSurface7 接口的指针。
[in] unnamedParam3
指向 RECT 结构的指针,该结构定义覆盖应移动到的目标图面上的区域的宽度、x 和高度(y)。 此参数可以为 NULL 以隐藏覆盖层。
[in] unnamedParam4
确定覆盖更新的以下标志的组合:
DDOVER_ADDDIRTYRECT
将脏矩形添加到模拟覆盖图面。
DDOVER_ALPHADEST
已过时。
DDOVER_ALPHADESTCONSTOVERRIDE
使用 DDOVERLAYFX 结构的 dwAlphaDestConst 成员作为此覆盖的目标 alpha 通道。
DDOVER_ALPHADESTNEG
指示当 alpha 值增加时,目标图面变得更加透明 (0 是不透明的) 。
DDOVER_ALPHADESTSURFACEOVERRIDE
使用 DDOVERLAYFX 结构的 lpDDSAlphaDest 成员作为此覆盖的 alpha 通道目标。
DDOVER_ALPHAEDGEBLEND
使用 DDOVERLAYFX 结构的 dwAlphaEdgeBlend 成员作为颜色键颜色边框的图像边缘的 alpha 通道。
DDOVER_ALPHASRC
使用像素格式的 alpha 信息或附加到源图面的 alpha 通道图面作为此覆盖的源 alpha 通道。
DDOVER_ALPHASRCCONSTOVERRIDE
使用 DDOVERLAYFX 结构的 dwAlphaSrcConst 成员作为此覆盖的源 alpha 通道。
DDOVER_ALPHASRCNEG
指示当 alpha 值增加 (0 不透明) ,源图面变得更加透明。
DDOVER_ALPHASRCSURFACEOVERRIDE
使用 DDOVERLAYFX 结构的 lpDDSAlphaSrc 成员作为此覆盖的 alpha 通道源。
DDOVER_ARGBSCALEFACTORS
DirectX 7.0 的新增功能。 指示 DDOVERLAYFX 结构包含有效的 ARGB 缩放因子。
DDOVER_AUTOFLIP
每次发生视频端口 VSYNC 时,自动翻转到翻转链中的下一个图面。
DDOVER_BOB
单独显示隔行扫描视频流的每个字段,不会导致显示任何项目。
DDOVER_BOBHARDWARE
Bob 操作通过使用硬件执行,而不是使用软件或模拟来执行。 此标志必须与 DDOVER_BOB 标志一起使用。
DDOVER_DDFX
使用 lpDDOverlayFx 参数中的覆盖 FX 标志来定义特殊的覆盖效果。
DDOVER_DEGRADEARGBSCALING
DirectX 7.0 的新增功能。 ARGB 缩放因子可以降级以适应驱动程序功能。
DDOVER_HIDE
关闭此覆盖。
DDOVER_INTERLEAVED
表面内存由交错字段组成。
DDOVER_KEYDEST
使用与目标图面关联的颜色键。
DDOVER_KEYDESTOVERRIDE
使用 DDOVERLAYFX 结构的 dckDestColorkey 成员作为目标图面的颜色键。
DDOVER_KEYSRC
使用与源图面关联的颜色键。
DDOVER_KEYSRCOVERRIDE
使用 DDOVERLAYFX 结构的 dckSrcColorkey 成员作为源图面的颜色键。
DDOVER_OVERRIDEBOBWEAVE
Bob 和 weave 决策不应被其他接口覆盖。
DDOVER_REFRESHALL
在模拟覆盖图面上重绘整个图面。
DDOVER_REFRESHDIRTYRECTS
在模拟覆盖图面上重绘所有脏矩形。
DDOVER_SHOW
打开此覆盖。
[in] unnamedParam5
指向描述要使用的效果的 DDOVERLAYFX 结构的指针。 如果未指定DDOVER_DDFX标志,可以为 NULL。
返回值
如果方法成功,则返回值DD_OK。
如果失败,方法可能会返回以下错误值之一:
- DDERR_DEVICEDOESNTOWNSURFACE
- DDERR_GENERIC
- DDERR_HEIGHTALIGN
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDRECT
- DDERR_INVALIDSURFACETYPE
- DDERR_NOSTRETCHHW
- DDERR_NOTAOVERLAYSURFACE
- DDERR_OUTOFCAPS
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
- DDERR_XALIGN
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | ddraw.h |
Library | Ddraw.lib |
DLL | Ddraw.dll |