设置或删除与DirectDrawClipper对象相关联的裁剪表,该裁剪表被用于页面的IDirectDrawSurface3::Blt,IDirectDrawSurface3::BltBatch,和IDirectDrawSurface3::UpdateOverlay操作。
HRESULT SetClipList(
LPRGNDATA lpClipList,
DWORD dwFlags
);
参数:
lpClipList
一个合法的
RGNDATA结构的地址或NULL。如果已经存在一个裁剪表与DirectDrawClipper对象相关联并且该参数被设为NULL,则裁剪表被删除。
dwFlags
该参数尚未使用,必须设为
返回值:
如果函数调用成功,返回
如果函数调用失败,返回值可能是下列错误值之一:
0。DD_OK。
DDERR_CLIPPERISUSINGHWND
DDERR_INVALIDCLIPLIST
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY
备注:
如果已经有一个窗口句柄与
该函数使用的
DirectDrawClipper对象相关联,裁剪表将不能被设置。应注意的是:IDirectDrawSurface3::BltFast函数不支持裁剪。RGNDATA结构的定义如下。
typedef struct _RGNDATA {
RGNDATAHEADER rdh;
char Buffer[1];
} RGNDATA;
RGNDATA
结构的rdh成员是一个RGNDATAHEADER结构,它的定义如下:
typedef struct _RGNDATAHEADER {
DWORD dwSize;
DWORD iType;
DWORD nCount;
DWORD nRgnSize;
RECT rcBound;
} RGNDATAHEADER;
要得到更多的关于这些结构的资料,请参阅
快速信息:
SDK中的帮助文档。
Windows NT
:适用于4.0或更新版
Windows
:适用于Windows 95或更新版
Windows CE
头文件:
:不支持ddraw.h
库文件:
ddraw.lib
知识共享署名-非商业性使用-相同方式共享:码农场 » IDirectDrawClipper::SetClipList 用法