共用方式為


wingdi.h (LAYERPLANEDESCRIPTOR 結構)

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 圖元。 每個圖元都有四個元件:紅色、綠色、藍色和Alpha。
LPD_TYPE_COLORINDEX 色彩索引圖元。 每個像素都會使用色彩索引值。

cColorBits

指定每個色彩緩衝區中的色彩位平面數目。 針對 RGBA 像素類型,它是色彩緩衝區的大小,不包括 Alpha 位平面。 針對色彩索引圖元,它是色彩索引緩衝區的大小。

cRedBits

指定每個 RGBA 色彩緩衝區中的紅色位平面數目。

cRedShift

指定每個 RGBA 色彩緩衝區中紅色位平面的移位計數。

cGreenBits

指定每個 RGBA 色彩緩衝區中的綠色位平面數目。

cGreenShift

指定每個 RGBA 色彩緩衝區中綠色位平面的班次計數。

cBlueBits

指定每個 RGBA 色彩緩衝區中的藍色位平面數目。

cBlueShift

指定每個 RGBA 色彩緩衝區中藍色位平面的移位計數。

cAlphaBits

指定每個 RGBA 色彩緩衝區中的 Alpha 位平面數目。 不支援Alpha位平面。

cAlphaShift

指定每個 RGBA 色彩緩衝區中 Alpha 位平面的移位計數。 不支援Alpha位平面。

cAccumBits

指定累積緩衝區中的位平面總數。

cAccumRedBits

指定累積緩衝區中的紅色位平面數目。

cAccumGreenBits

指定累積緩衝區中的綠色位平面數目。

cAccumBlueBits

指定累積緩衝區中的藍色位平面數目。

cAccumAlphaBits

指定累積緩衝區中的Alpha位平面數目。

cDepthBits

指定 (z 軸) 緩衝區的深度。

cStencilBits

指定樣板緩衝區的深度。

cAuxBuffers

指定輔助緩衝區的數目。 不支援輔助緩衝區。

iLayerPlane

bReserved

未使用。 必須為零。

crTransparent

設定LPD_TRANSPARENT旗標時,指定透明色彩或索引值。 值通常是零。

備註

請注意,如上所述,目前實作不支援某些圖層平面屬性。 實作是OpenGL的 Microsoft GDI 軟體實作。 增強 OpenGL 部分的硬體製造商可能會支援泛型實作不支援的某些圖層平面屬性。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 wingdi.h

另請參閱

Windows 上的 OpenGL

PIXELFORMATDESCRIPTOR

結構

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers