IDirectDraw7::CreatePalette
IDirectDraw7::CreatePalette メソッドは、この DirectDraw オブジェクトに対する DirectDrawPalette オブジェクトを作成する。
HRESULT CreatePalette(
DWORD dwFlags,
LPPALETTEENTRY lpDDColorArray,
LPDIRECTDRAWPALETTE FAR *lplpDDPalette,
IUnknown FAR *pUnkOuter
);
パラメータ
- dwFlags
- 以下のフラグのうち、1 つ以上の値を取る。
- DDPCAPS_1BIT
- インデックスは 1 ビットである。カラー テーブルには、2 つのエントリがある。
- DDPCAPS_2BIT
- インデックスは 2 ビットである。カラー テーブルには、4 つのエントリがある。
- DDPCAPS_4BIT
- インデックスは 4 ビットである。カラー テーブルには、16 のエントリがある。
- DDPCAPS_8BIT
- インデックスは 8 ビットである。カラー テーブルには、256 のエントリがある。
- DDPCAPS_8BITENTRIES
- インデックスが 8 ビット カラー インデックスを参照する。DDPCAPS_1BIT、DDPCAPS_2BIT、または DDPCAPS_4BIT フラグを使用する場合、およびターゲット サーフェスが 8 bpp の場合のみ、このフラグは有効となる。個々のカラー エントリは 1 バイト長であり、転送先サーフェスの 8 bpp パレットへのインデックスである。
- DDPCAPS_ALPHA
- 関連付けられた PALETTEENTRY 構造体の peFlags メンバが、単一の 8 ビット アルファ値 (また、peRed、peGreen、および peBlue メンバ) として判断される。このフラグで作成されるパレットは、テクスチャ、つまり、DDSCAPS_TEXTURE 能力フラグで作成されたサーフェスにのみアタッチできる。
- DDPCAPS_ALLOW256
- このパレットは全 256 エントリを定義できる。
- DDPCAPS_INITIALIZE
- 廃止。DirectDraw は、常に lpDDColorArray で渡された色配列の色でこのパレットを初期化する。
- DDPCAPS_PRIMARYSURFACE
- プライマリ サーフェスにこのパレットをアタッチする。このパレットのカラー テーブルを変更すると、DDPSETPAL_VSYNC が指定されてサポートされないかぎり、即座にディスプレイに影響を与える。
- DDPCAPS_PRIMARYSURFACELEFT
- このパレットは、左眼プライマリ サーフェスにアタッチされる。このパレットのカラー テーブルを変更すると、DDPSETPAL_VSYNC が指定されてサポートされないかぎり、即座に左眼ディスプレイに影響を与える。
- DDPCAPS_VSYNC
- このパレットは、モニタのリフレッシュ レートと同期するように修正できる。
- lpDDColorArray
- この DirectDrawPalette オブジェクトを初期化する 2、4、16、または 256 PALETTEENTRY 構造体の配列のアドレス。
- lplpDDPalette
- 呼び出しが成功した場合に、有効な IDirectDrawPalette インターフェイス ポインタに設定される変数のアドレス。
- pUnkOuter
- COM 処理機能との将来的な互換のためにある。ただし、現時点では、このパラメータを NULL に設定しないと、このメソッドはエラーを返す。
戻り値
成功すれば、DD_OK を返す。
失敗すれば、以下のエラー値のいずれかを返す。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 98 が必要。
ヘッダー : ddraw.h で宣言。