Compartilhar via


Estrutura LAYERPLANEDESCRIPTOR (wingdi.h)

A estrutura LAYERPLANEDESCRIPTOR descreve o formato de pixel de uma superfície de desenho.

Sintaxe

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;

Membros

nSize

Especifica o tamanho dessa estrutura de dados. Defina esse valor como sizeof(LAYERPLANEDESCRIPTOR).

nVersion

Especifica a versão dessa estrutura de dados. Defina esse valor como 1.

dwFlags

Um conjunto de sinalizadores de bits que especificam propriedades do plano de camada. As propriedades geralmente não são mutuamente exclusivas; qualquer combinação de sinalizadores de bits pode ser definida, com as exceções indicadas. As seguintes constantes de sinalizador de bits são definidas.

Valor Significado
LPD_SUPPORT_OPENGL O plano de camada dá suporte ao desenho OpenGL.
LPD_SUPPORT_GDI O plano de camada dá suporte ao desenho GDI. A implementação atual do OpenGL não dá suporte a esse sinalizador.
LPD_DOUBLEBUFFER O plano de camada é armazenado em buffer duplo. Um plano de camada pode ser armazenado em buffer duplo mesmo quando o plano de main é armazenado em buffer único e vice-versa.
LPD_STEREO O plano de camada é estereoscópico. Um plano de camada pode ser estereoscópico mesmo quando o plano main é monoscópico e vice-versa.
LPD_SWAP_EXCHANGE Em um plano de camada com buffer duplo, a troca do buffer de cores troca o conteúdo do buffer frontal e do buffer traseiro. Em seguida, o buffer de fundo contém o conteúdo do buffer frontal antes da troca. Esse sinalizador é apenas uma dica e pode não ser fornecido por um driver.
LPD_SWAP_COPY Em um plano de camada com buffer duplo, a troca do buffer de cores copia o conteúdo do buffer traseiro para o buffer frontal. A troca não afeta o conteúdo do buffer de fundo. Esse sinalizador é apenas uma dica e pode não ser fornecido por um driver.
LPD_TRANSPARENT O membro crTransparent dessa estrutura contém uma cor transparente ou um valor de índice que permite que camadas subjacentes mostrem por meio dessa camada. Todos os planos de camada, exceto a camada de subposição com menor número, têm uma cor ou índice transparente.
LPD_SHARE_DEPTH O plano de camada compartilha o buffer de profundidade com o plano main.
LPD_SHARE_STENCIL O plano de camada compartilha o buffer de estêncil com o plano main.
LPD_SHARE_ACCUM O plano de camada compartilha o buffer de acumulação com o plano de main.

iPixelType

Especifica o tipo de dados de pixel. Os tipos a seguir são definidos.

Valor Significado
LPD_TYPE_RGBA Pixels RGBA. Cada pixel tem quatro componentes: vermelho, verde, azul e alfa.
LPD_TYPE_COLORINDEX Pixels de índice de cor. Cada pixel usa um valor de índice de cor.

cColorBits

Especifica o número de bitplanos de cor em cada buffer de cores. Para tipos de pixel RGBA, é o tamanho do buffer de cores, excluindo os bitplanes alfa. Para pixels de índice de cor, é o tamanho do buffer de índice de cores.

cRedBits

Especifica o número de bitplanos vermelhos em cada buffer de cores RGBA.

cRedShift

Especifica a contagem de deslocamentos para bitplanos vermelhos em cada buffer de cores RGBA.

cGreenBits

Especifica o número de bitplanos verdes em cada buffer de cores RGBA.

cGreenShift

Especifica a contagem de deslocamentos para bitplanos verdes em cada buffer de cores RGBA.

cBlueBits

Especifica o número de bitplanes azuis em cada buffer de cores RGBA.

cBlueShift

Especifica a contagem de deslocamentos para bitplanos azuis em cada buffer de cores RGBA.

cAlphaBits

Especifica o número de bitplanos alfa em cada buffer de cores RGBA. Não há suporte para bitplanos alfa.

cAlphaShift

Especifica a contagem de deslocamentos para bitplanos alfa em cada buffer de cores RGBA. Não há suporte para bitplanos alfa.

cAccumBits

Especifica o número total de bitplanos no buffer de acúmulo.

cAccumRedBits

Especifica o número de bitplanos vermelhos no buffer de acúmulo.

cAccumGreenBits

Especifica o número de bitplanos verdes no buffer de acúmulo.

cAccumBlueBits

Especifica o número de bitplanes azuis no buffer de acúmulo.

cAccumAlphaBits

Especifica o número de bitplanos alfa no buffer de acúmulo.

cDepthBits

Especifica a profundidade do buffer de profundidade (eixo z).

cStencilBits

Especifica a profundidade do buffer de estêncil.

cAuxBuffers

Especifica o número de buffers auxiliares. Não há suporte para buffers auxiliares.

iLayerPlane

bReserved

Não usado. Deve ser zero.

crTransparent

Quando o sinalizador LPD_TRANSPARENT é definido, especifica a cor transparente ou o valor do índice. Normalmente, o valor é zero.

Comentários

Observe, conforme documentado acima, que determinadas propriedades do plano de camada não têm suporte na implementação atual. A implementação é a implementação de software do Microsoft GDI do OpenGL. Os fabricantes de hardware que aprimoram partes do OpenGL podem dar suporte a algumas propriedades do plano de camada sem suporte da implementação genérica.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho wingdi.h

Confira também

OpenGL no Windows

PIXELFORMATDESCRIPTOR

Estruturas

wglCreateLayerContext

wglDescribeLayerPlane

wglGetLayerPaletteEntries

wglRealizeLayerPalette

wglSetLayerPaletteEntries

wglSwapLayerBuffers