Platform SDK: DirectX

IDirectDrawClipper::SetClipList

IDirectDrawClipper::SetClipList メソッドは、DirectDrawClipper の親オブジェクトをアタッチするサーフェスの IDirectDrawSurface7::BltIDirectDrawSurface7::BltBatch、および IDirectDrawSurface7::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 オブジェクトに関連付けられている場合、クリップ リストは設定されない。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/2000 : Windows NT 4.0 Service Pack 3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。
  インポート ライブラリ : ddraw.lib を使用。

参照

IDirectDrawClipper::GetClipListIDirectDrawSurface7::BltIDirectDrawSurface7::BltFastIDirectDrawSurface7::BltBatchIDirectDrawSurface7::UpdateOverlay