Platform SDK: DirectX

IDirectDrawClipper::GetClipList

IDirectDrawClipper::GetClipList メソッドは、DirectDrawClipper オブジェクトに関連付けられたクリップ リストのコピーを取得する。クリップ リストをクリップする矩形を渡すことで、クリップ リストのサブセットを選択できる。

HRESULT GetClipList(
  LPRECT lpRect,         
  LPRGNDATA lpClipList,  
  LPDWORD lpdwSize       
);

パラメータ

lpRect
クリップ リストをクリップするために使用する矩形のアドレス。このパラメータを NULL に設定すると、クリップ リスト全体を取得できる。
lpClipList
クリップ リストのコピー結果を受け取る RGNDATA 構造体のアドレス。このパラメータを NULL に設定すると、メソッドはクリップ リスト全体を保持するために必要となるバイト数を lpdwSize で示す変数に格納する。
lpdwSize
クリップ リストのサイズを受け取る変数のアドレス。クリップ リストを取得する場合、このパラメータは lpClipList の示すバッファのサイズとなる。LpClipList が NULL の場合、lpdwSize で示す変数は必要となるバッファのサイズをバイト単位で取得する。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_GENERIC
DDERR_INVALIDCLIPLIST
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_NOCLIPLIST
DDERR_REGIONTOOSMALL

注意

このメソッドで使用される 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/2000 : Windows NT Service Pack 3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。
  インポート ライブラリ : ddraw.lib を使用。

参照

IDirectDrawClipper::SetClipList