LAYERPLANEDESCRIPTOR 構造体 (wingdi.h)
LAYERPLANEDESCRIPTOR 構造体は、描画サーフェスのピクセル形式を表します。
構文
typedef struct tagLAYERPLANEDESCRIPTOR {
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerPlane;
BYTE bReserved;
COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
メンバー
nSize
このデータ構造のサイズを指定します。 この値を sizeof(LAYERPLANEDESCRIPTOR) に設定します。
nVersion
このデータ構造のバージョンを指定します。 この値を 1 に設定します。
dwFlags
レイヤー プレーンのプロパティを指定するビット フラグのセット。 プロパティは一般に相互に排他的ではありません。ビット フラグの任意の組み合わせを設定できます。例外が示されています。 次のビット フラグ定数が定義されています。
値 | 意味 |
---|---|
LPD_SUPPORT_OPENGL | レイヤー プレーンは OpenGL 描画をサポートしています。 |
LPD_SUPPORT_GDI | レイヤー プレーンは GDI 描画をサポートしています。 OpenGL の現在の実装では、このフラグはサポートされていません。 |
LPD_DOUBLEBUFFER | レイヤー プレーンは二重バッファーに格納されます。 レイヤー プレーンは、メイン プレーンが単一バッファーである場合でも、その逆の場合でも、ダブル バッファリングできます。 |
LPD_STEREO | レイヤープレーンは立体的です。 レイヤープレーンは、メイン平面が単視である場合でも立体的であり、その逆も可能です。 |
LPD_SWAP_EXCHANGE | ダブル バッファーレイヤー プレーンでは、カラー バッファーをスワップすると、フロント バッファーとバック バッファーの内容が交換されます。 その後、バック バッファーには、スワップ前のフロント バッファーの内容が格納されます。 このフラグはヒントのみであり、ドライバーによって提供されない場合があります。 |
LPD_SWAP_COPY | ダブル バッファーレイヤー プレーンでは、カラー バッファーをスワップすると、バック バッファーの内容がフロント バッファーにコピーされます。 スワップは、バック バッファーの内容には影響しません。 このフラグはヒントのみであり、ドライバーによって提供されない場合があります。 |
LPD_TRANSPARENT | この構造体の crTransparent メンバーには、基になるレイヤーがこのレイヤーを表示できるようにする透明な色またはインデックス値が含まれています。 最小番号のアンダーレイ レイヤーを除くすべてのレイヤー プレーンには、透明な色またはインデックスがあります。 |
LPD_SHARE_DEPTH | レイヤー プレーンは、深度バッファーを メイン プレーンと共有します。 |
LPD_SHARE_STENCIL | レイヤー プレーンは、ステンシル バッファーをメインプレーンと共有します。 |
LPD_SHARE_ACCUM | レイヤー プレーンは、蓄積バッファーを メイン プレーンと共有します。 |
iPixelType
ピクセル データの種類を指定します。 次の型が定義されています。
値 | 意味 |
---|---|
LPD_TYPE_RGBA | RGBA ピクセル。 各ピクセルには、赤、緑、青、アルファの 4 つのコンポーネントがあります。 |
LPD_TYPE_COLORINDEX | 色インデックスのピクセル。 各ピクセルは、色インデックス値を使用します。 |
cColorBits
各カラー バッファー内のカラー ビットプレーンの数を指定します。 RGBA ピクセル タイプの場合、アルファ ビットプレーンを除くカラー バッファーのサイズです。 色インデックス ピクセルの場合は、色インデックス バッファーのサイズです。
cRedBits
各 RGBA カラー バッファー内の赤いビットプレーンの数を指定します。
cRedShift
各 RGBA カラー バッファー内の赤いビットプレーンのシフト数を指定します。
cGreenBits
各 RGBA カラー バッファー内の緑色のビットプレーンの数を指定します。
cGreenShift
各 RGBA カラー バッファーの緑色のビットプレーンのシフト数を指定します。
cBlueBits
各 RGBA カラー バッファー内の青いビットプレーンの数を指定します。
cBlueShift
各 RGBA カラー バッファーの青いビットプレーンのシフト数を指定します。
cAlphaBits
各 RGBA カラー バッファー内のアルファ ビットプレーンの数を指定します。 アルファ ビットプレーンはサポートされていません。
cAlphaShift
各 RGBA カラー バッファー内のアルファ ビットプレーンのシフト数を指定します。 アルファ ビットプレーンはサポートされていません。
cAccumBits
累積バッファー内のビットプレーンの合計数を指定します。
cAccumRedBits
累積バッファー内の赤いビットプレーンの数を指定します。
cAccumGreenBits
累積バッファー内の緑色のビットプレーンの数を指定します。
cAccumBlueBits
累積バッファー内の青いビットプレーンの数を指定します。
cAccumAlphaBits
累積バッファー内のアルファ ビットプレーンの数を指定します。
cDepthBits
深度 (z 軸) バッファーの深さを指定します。
cStencilBits
ステンシル バッファーの深さを指定します。
cAuxBuffers
補助バッファーの数を指定します。 補助バッファーはサポートされていません。
iLayerPlane
bReserved
使用されていません。 ゼロを指定してください。
crTransparent
LPD_TRANSPARENT フラグが設定されている場合は、透明色またはインデックス値を指定します。 通常、値は 0 です。
注釈
前述のように、特定のレイヤー プレーン プロパティは現在の実装ではサポートされていないことに注意してください。 実装は、OpenGL の Microsoft GDI ソフトウェア実装です。 OpenGL の一部を強化するハードウェア製造元は、一般的な実装でサポートされていない一部のレイヤー プレーン プロパティをサポートしている場合があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | wingdi.h |