IDirectDrawClipper 接口是在 Win32 API 的 DirectDraw 中定义的接口,用于创建和管理裁剪器对象。裁剪器对象用于定义窗口或视口,限定在该窗口内进行渲染。以下是 IDirectDrawClipper 接口的定义:
#undef INTERFACE
#define INTERFACE IDirectDrawClipper
DECLARE_INTERFACE_(IDirectDrawClipper, IUnknown) {
    // IUnknown methods
    STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE;
    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
    STDMETHOD_(ULONG,Release)(THIS) PURE;

    // IDirectDrawClipper methods
    STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;
    STDMETHOD(GetHWnd)(THIS_ HWND*) PURE;
    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;
    STDMETHOD(IsClipListChanged)(THIS_ BOOL*) PURE;
    STDMETHOD(SetClipList)(THIS_ LPRGNDATA, DWORD) PURE;
    STDMETHOD(SetHWnd)(THIS_ DWORD, HWND) PURE;
};

这个接口提供了创建和配置裁剪器对象的方法,以便将 DirectDraw 表面渲染限定在指定的窗口或视口内。一些方法的简要说明如下:

  •  GetClipList: 获取裁剪列表。

  •  GetHWnd: 获取裁剪器关联的窗口句柄。

  •  Initialize: 初始化裁剪器对象。

  •  IsClipListChanged: 检查裁剪列表是否发生了变化。

  •  SetClipList: 设置裁剪列表。

  •  SetHWnd: 设置裁剪器关联的窗口句柄。


通过使用裁剪器对象,应用程序可以实现在特定区域进行渲染,或者将渲染限制在特定窗口内。


转载请注明出处:http://www.zyzy.cn/article/detail/26535/Win32 API/Ddraw.h/IDirectDrawClipper