Win32 API 日本語リファレンス
ホームGraphics.DirectDraw › IDirectDrawClipper

IDirectDrawClipper

COM
IID6c14db85-a733-11ce-a521-0020af0be560継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetClipList(RECT* param0, RGNDATA* param1, DWORD* param2)
param0RECT*inoutクリップ領域と交差させる境界矩形へのポインタである。NULLで全体となる。
param1RGNDATA*inoutクリップ矩形リストを受け取るRGNDATAバッファへのポインタである。NULLでサイズ取得となる。
param2DWORD*inoutバッファサイズを入出力するポインタ。必要バイト数を受け取る。
vtbl 4 HRESULT GetHWnd(HWND* param0)
param0HWND*inoutこのクリッパーに関連付けられたウィンドウハンドルを受け取る出力ポインタである。
vtbl 5 HRESULT Initialize(IDirectDraw* param0, DWORD param1)
param0IDirectDraw*inこのクリッパーを関連付けるIDirectDrawオブジェクトへのポインタである。NULL可。
param1DWORDin初期化フラグ。現状は予約で0を指定する。
vtbl 6 HRESULT IsClipListChanged(BOOL* param0)
param0BOOL*inoutクリップリストが変更されたか(TRUE/FALSE)を受け取る出力ポインタである。
vtbl 7 HRESULT SetClipList(RGNDATA* param0, DWORD param1)
param0RGNDATA*inout設定するクリップ矩形リストを格納したRGNDATAへのポインタ。NULLでリスト削除となる。
param1DWORDin設定フラグ。現状は予約で0を指定する。
vtbl 8 HRESULT SetHWnd(DWORD param0, HWND param1)
param0DWORDin設定フラグ。現状は予約で0を指定する。
param1HWNDinクリップ領域をウィンドウに連動させる対象ウィンドウハンドルである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDirectDrawClipper "{6C14DB85-A733-11CE-A521-0020AF0BE560}"
#usecom global IDirectDrawClipper IID_IDirectDrawClipper "{593817A0-7DB3-11CF-A2DE-00AA00B93356}"
#comfunc global IDirectDrawClipper_GetClipList        3 var,var,var
#comfunc global IDirectDrawClipper_GetHWnd            4 sptr
#comfunc global IDirectDrawClipper_Initialize         5 sptr,int
#comfunc global IDirectDrawClipper_IsClipListChanged  6 var
#comfunc global IDirectDrawClipper_SetClipList        7 var,int
#comfunc global IDirectDrawClipper_SetHWnd            8 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。