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 |