Condividi tramite


Struttura LAYERPLANEDESCRIPTOR (wingdi.h)

La struttura LAYERPLANEDESCRIPTOR descrive il formato pixel di una superficie di disegno.

Sintassi

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;

Members

nSize

Specifica le dimensioni di questa struttura di dati. Impostare questo valore su sizeof(LAYERPLANEDESCRIPTOR).

nVersion

Specifica la versione di questa struttura di dati. Impostare questo valore su 1.

dwFlags

Set di flag di bit che specificano le proprietà del piano di livello. Le proprietà in genere non si escludono a vicenda; qualsiasi combinazione di flag di bit può essere impostata, con le eccezioni annotate. Le costanti del flag di bit seguenti sono definite.

Valore Significato
LPD_SUPPORT_OPENGL Il piano livello supporta il disegno OpenGL.
LPD_SUPPORT_GDI Il piano livello supporta il disegno GDI. L'implementazione corrente di OpenGL non supporta questo flag.
LPD_DOUBLEBUFFER Il piano di livello è con buffer doppio. Un piano di livello può essere con buffer doppio anche quando il piano principale è con buffer singolo e viceversa.
LPD_STEREO Il piano di livello è stereoscopico. Un piano di livello può essere stereoscopico anche quando il piano principale è monoscopico e viceversa.
LPD_SWAP_EXCHANGE In un piano di livello con buffer doppio lo scambio del buffer colore scambia il buffer anteriore e il contenuto del buffer indietro. Il buffer indietro contiene quindi il contenuto del buffer anteriore prima dello scambio. Questo flag è un hint solo e potrebbe non essere fornito da un driver.
LPD_SWAP_COPY In un piano di livello con buffer doppio lo scambio del buffer dei colori copia il contenuto del buffer indietro nel buffer anteriore. Lo scambio non influisce sul contenuto del buffer indietro. Questo flag è un hint solo e potrebbe non essere fornito da un driver.
LPD_TRANSPARENT Il membro crTransparent di questa struttura contiene un valore di colore o indice trasparente che consente ai livelli sottostanti di visualizzare tramite questo livello. Tutti i piani di livello, ad eccezione del livello inferiore numerato, hanno un colore o un indice trasparente.
LPD_SHARE_DEPTH Il piano livello condivide il buffer di profondità con il piano principale.
LPD_SHARE_STENCIL Il piano di livello condivide il buffer stencil con il piano principale.
LPD_SHARE_ACCUM Il piano di livello condivide il buffer di accumulo con il piano principale.

iPixelType

Specifica il tipo di dati pixel. I tipi seguenti sono definiti.

Valore Significato
LPD_TYPE_RGBA Pixel RGBA. Ogni pixel ha quattro componenti: rosso, verde, blu e alfa.
LPD_TYPE_COLORINDEX Pixel di indice colore. Ogni pixel usa un valore di indice color.

cColorBits

Specifica il numero di bitplani di colore in ogni buffer di colori. Per i tipi di pixel RGBA, è la dimensione del buffer di colore, escluso i bitplani alfa. Per i pixel di indice dei colori, è la dimensione del buffer dell'indice colore.

cRedBits

Specifica il numero di bitplani rossi in ogni buffer di colore RGBA.

cRedShift

Specifica il numero di maiuscole per i bitplani rossi in ogni buffer di colore RGBA.

cGreenBits

Specifica il numero di bitplani verdi in ogni buffer di colore RGBA.

cGreenShift

Specifica il numero di maiuscole per i bitplani verdi in ogni buffer di colore RGBA.

cBlueBits

Specifica il numero di bitplani blu in ogni buffer di colore RGBA.

cBlueShift

Specifica il numero di maiuscole per i bitplani blu in ogni buffer di colore RGBA.

cAlphaBits

Specifica il numero di bitplani alfa in ogni buffer di colore RGBA. I bitplani alfa non sono supportati.

cAlphaShift

Specifica il numero di maiuscole per i bitplani alfa in ogni buffer di colore RGBA. I bitplani alfa non sono supportati.

cAccumBits

Specifica il numero totale di bitplani nel buffer di accumulo.

cAccumRedBits

Specifica il numero di bitplani rossi nel buffer di accumulo.

cAccumGreenBits

Specifica il numero di bitplani verdi nel buffer di accumulo.

cAccumBlueBits

Specifica il numero di bitplani blu nel buffer di accumulo.

cAccumAlphaBits

Specifica il numero di bitplani alfa nel buffer di accumulo.

cDepthBits

Specifica la profondità del buffer di profondità (asse z).

cStencilBits

Specifica la profondità del buffer stencil.

cAuxBuffers

Specifica il numero di buffer ausiliari. I buffer ausiliari non sono supportati.

iLayerPlane

bReserved

Non usato. Deve essere zero.

crTransparent

Quando viene impostato il flag LPD_TRANSPARENT, specifica il colore trasparente o il valore dell'indice. In genere il valore è zero.

Commenti

Si noti, come documentato in precedenza, che alcune proprietà del piano di livello non sono supportate nell'implementazione corrente. L'implementazione è l'implementazione del software Microsoft GDI di OpenGL. I produttori di hardware che migliorano le parti di OpenGL possono supportare alcune proprietà del piano di livello non supportate dall'implementazione generica.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione wingdi.h

Vedi anche

OpenGL in Windows

PIXELFORMATDESCRIPTOR

Strutture

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers