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 픽셀 각 픽셀에는 빨강, 녹색, 파랑 및 알파의 네 가지 구성 요소가 있습니다. |
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
사용되지 않습니다. 0이어야 합니다.
crTransparent
LPD_TRANSPARENT 플래그가 설정되면 투명 색 또는 인덱스 값을 지정합니다. 일반적으로 값은 0입니다.
설명
위에서 설명한 대로 특정 계층 평면 속성은 현재 구현에서 지원되지 않습니다. 구현은 OpenGL의 Microsoft GDI 소프트웨어 구현입니다. OpenGL의 일부를 향상시키는 하드웨어 제조업체는 제네릭 구현에서 지원되지 않는 일부 레이어 평면 속성을 지원할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | wingdi.h |