DDSURFACEDATA 구조체(dxmini.h)
DDSURFACEDATA 구조체는 DirectDraw에서 커널 모드 미니포트 드라이버에 표면을 나타내는 데 사용됩니다.
구문
typedef struct _DDSURFACEDATA {
DWORD ddsCaps;
DWORD dwSurfaceOffset;
ULONG_PTR fpLockPtr;
DWORD dwWidth;
DWORD dwHeight;
LONG lPitch;
DWORD dwOverlayFlags;
DWORD dwOverlayOffset;
DWORD dwOverlaySrcWidth;
DWORD dwOverlaySrcHeight;
DWORD dwOverlayDestWidth;
DWORD dwOverlayDestHeight;
DWORD dwVideoPortId;
DWORD dwFormatFlags;
DWORD dwFormatFourCC;
DWORD dwFormatBitCount;
DWORD dwRBitMask;
DWORD dwGBitMask;
DWORD dwBBitMask;
ULONG dwDriverReserved1;
ULONG dwDriverReserved2;
ULONG dwDriverReserved3;
ULONG dwDriverReserved4;
} DDSURFACEDATA, *LPDDSURFACEDATA;
멤버
ddsCaps
표면을 설명하는 데 사용되는 생성 기능이 포함된 DDSCAPS 구조를 가리킵니다.
dwSurfaceOffset
프레임 버퍼의 시작부터 표면 시작까지의 바이트 오프셋을 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
fpLockPtr
표면의 시작을 가리킵니다.
dwWidth
표면 너비를 픽셀 단위로 지정합니다.
dwHeight
표면 높이를 픽셀 단위로 지정합니다.
lPitch
표면 피치(바이트)를 지정합니다.
dwOverlayFlags
DdUpdateOverlay에서 설정한 현재 사용자 모드 DDOVER_Xxx 플래그를 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 값 중 비트 OR입니다.
플래그 | 의미 |
---|---|
DDOVER_ADDDIRTYRECT | 에뮬레이된 오버레이된 표면에 더티 사각형을 추가합니다. |
DDOVER_ALPHADEST | 알파 정보를 픽셀 형식으로 사용하거나 대상 표면에 연결된 알파 채널 표면을 이 오버레이의 알파 채널로 사용합니다. |
DDOVER_ALPHADESTCONSTOVERRIDE | DDOVERLAYFX 구조체의 dwAlphaDestConst 멤버를 이 오버레이의 대상 알파 채널로 사용합니다. DDOVERLAYFX 구조체는 ddraw.h에 정의되어 있습니다. |
DDOVER_ALPHADESTNEG | 알파 값이 증가함에 따라 대상 표면이 더 투명해집니다(0은 불투명). |
DDOVER_ALPHADESTSURFACEOVERRIDE | DDOVERLAYFX 구조체의 lpDDSAlphaDest 멤버(DirectDraw SDK 설명서에 정의됨)를 이 오버레이의 알파 채널 대상으로 사용합니다. |
DDOVER_ALPHAEDGEBLEND | DDOVERLAYFX 구조체의 dwAlphaEdgeBlend 멤버(DirectDraw SDK 설명서에 정의됨)를 색 키 색에 테두리가 있는 이미지 가장자리의 알파 채널로 사용합니다. |
DDOVER_ALPHASRC | 알파 정보를 픽셀 형식으로 사용하거나 원본 표면에 연결된 알파 채널 표면을 이 오버레이의 원본 알파 채널로 사용합니다. |
DDOVER_ALPHASRCCONSTOVERRIDE | DDOVERLAYFX 구조체의 dwAlphaSrcConst 멤버(DirectDraw SDK 설명서에 정의됨)를 이 오버레이의 원본 알파 채널로 사용합니다. |
DDOVER_ALPHASRCNEG | 알파 값이 증가함에 따라 원본 표면이 더 투명해집니다(0은 불투명). |
DDOVER_ALPHASRCSURFACEOVERRIDE | DDOVERLAYFX 구조체의 lpDDSAlphaSrc 멤버(DirectDraw SDK 설명서에 정의됨)를 이 오버레이의 알파 채널 원본으로 사용합니다. |
DDOVER_AUTOFLIP | 하드웨어 비디오 포트 VSYNC가 발생할 때마다 대칭 이동 체인의 다음 화면으로 자동으로 대칭 이동합니다. |
DDOVER_BOB | 아티팩트를 유발하지 않고 인터레이스된 비디오 스트림의 각 필드를 개별적으로 표시합니다. |
DDOVER_BOBHARDWARE | Bob은 소프트웨어가 아닌 하드웨어를 사용하여 수행되거나 에뮬레이트됩니다. |
DDOVER_DDFX | 오버레이 FX 플래그를 사용하여 특수 오버레이 효과를 정의합니다. |
DDOVER_HIDE | 이 오버레이를 끕니다. |
DDOVER_INTERLEAVED | 표면 메모리는 인터리브 필드로 구성됩니다. |
DDOVER_KEYDEST | 대상 화면과 연결된 색 키를 사용합니다. |
DDOVER_KEYDESTOVERRIDE | DDOVERLAYFX 구조체의 dckDestColorkey 멤버(DirectDraw SDK 설명서에 정의됨)를 대상 화면의 색 키로 사용합니다. |
DDOVER_KEYSRC | 원본 표면과 연결된 색 키를 사용합니다. |
DDOVER_KEYSRCOVERRIDE | DDOVERLAYFX 구조체의 dckSrcColorkey 멤버(DirectDraw SDK 설명서에 정의됨)를 원본 표면의 색 키로 사용합니다. |
DDOVER_OVERRIDEBOBWEAVE | Bob 및 직조 결정은 다른 인터페이스에 의해 재정의되어서는 안됩니다. 이 플래그가 설정된 경우 DirectDraw는 커널 모드 드라이버가 커널 모드 비디오 전송 기능을 사용하여 bob 모드와 직조 모드 간에 하드웨어를 전환하는 것을 허용하지 않습니다. |
DDOVER_REFRESHALL | 에뮬레이트된 오버레이된 표면에서 전체 표면을 다시 그립니다. |
DDOVER_REFRESHDIRTYRECTS | 에뮬레이된 오버레이된 표면에서 모든 더티 사각형을 다시 그립니다. |
DDOVER_SHOW | 이 오버레이를 켭니다. |
dwOverlayOffset
프레임 버퍼의 시작부터 오버레이 시작까지의 바이트 오프셋을 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
dwOverlaySrcWidth
오버레이 원본 너비를 픽셀 단위로 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
dwOverlaySrcHeight
오버레이 원본 높이(픽셀)를 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
dwOverlayDestWidth
오버레이 대상 너비를 픽셀 단위로 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
dwOverlayDestHeight
오버레이 대상 높이(픽셀)를 지정합니다. 이 필드는 미니포트 드라이버에서만 사용됩니다.
dwVideoPortId
이 표면이 VPE(비디오 포트 확장) 개체에 의해 공급되는 경우 이 필드는 VPE 개체의 ID, 범위의 정수(0 - (최대 하드웨어 비디오 포트 수 -1))를 나타냅니다. 그렇지 않으면 이 필드는 -1입니다.
dwFormatFlags
픽셀 형식 컨트롤 플래그 집합을 지정합니다. 이 멤버는 다음 값 중 비트 OR입니다.
플래그 | 의미 |
---|---|
DDPF_ALPHA | 픽셀 형식은 알파 전용 표면을 설명합니다. |
DDPF_ALPHAPIXELS | 표면에는 픽셀 형식의 알파 채널 정보가 있습니다. |
DDPF_ALPHAPREMULT | 픽셀의 색 구성 요소는 픽셀의 알파 값으로 미리 곱합니다. 이 플래그가 설정되면 DDPF_ALPHAPIXELS 플래그도 설정해야 합니다. 이 플래그가 설정되지 않았지만 DDPF_ALPHAPIXELS 플래그가 설정된 경우 픽셀 형식의 색 구성 요소는 알파로 미리 곱하지 않습니다. 이 경우 알파 혼합 작업이 수행될 때 색 구성 요소에 알파 값을 곱해야 합니다. |
DDPF_BUMPDUDV | 픽셀 형식의 범프 맵 dUdV 데이터는 유효합니다. |
DDPF_BUMPLUMINANCE | 픽셀 형식의 광도 데이터는 유효합니다. 이 플래그는 범프맵 표면에서 광도를 걸 때 사용됩니다. 픽셀의 광도 부분에 대한 비트 마스크는 DDPIXELFORMAT 구조체의 dwBumpLuminanceBitCount 멤버로 표시됩니다. |
DDPF_COMPRESSED | Surface는 지정된 형식의 픽셀 데이터를 수락하고 쓰기 작업 중에 압축합니다. |
DDPF_FOURCC | FOURCC 코드가 유효합니다. |
DDPF_LUMINANCE | 픽셀 형식의 광도 데이터가 유효합니다. 이 플래그는 광도 전용 또는 광도 및 알파 표면에 사용됩니다. 비트 깊이는 DDPIXELFORMAT 구조체의 dwLuminanceBitCount 멤버로 표시됩니다. |
DDPF_PALETTEINDEXED1 | 표면이 인덱싱된 1비트 색입니다. |
DDPF_PALETTEINDEXED2 | 표면은 인덱싱된 2비트 색입니다. |
DDPF_PALETTEINDEXED4 | 표면은 인덱싱된 4비트 색입니다. |
DDPF_PALETTEINDEXED8 | 표면이 인덱싱된 8비트 색입니다. |
DDPF_PALETTEINDEXEDTO8 | 표면은 8비트 색상표로 인덱싱된 1비트, 2비트 또는 4비트 색입니다. |
DDPF_RGB | 픽셀 형식 구조의 RGB 데이터는 유효합니다. |
DDPF_RGBTOYUV | Surface는 RGB 데이터를 수락하고 쓰기 작업 중에 YUV 데이터로 변환합니다. 쓸 데이터의 형식은 픽셀 형식 구조에 포함됩니다. DDPF_RGB 플래그가 설정됩니다. |
DDPF_STENCILBUFFER | 표면에는 Z 정보와 함께 스텐실 정보가 포함됩니다. |
DDPF_YUV | 픽셀 형식 구조의 YUV 데이터는 유효합니다. |
DDPF_ZBUFFER | 픽셀 형식은 z 버퍼 전용 표면을 설명합니다. |
DDPF_ZPIXELS | 표면은 RGBZ 형식입니다. |
dwFormatFourCC
FOURCC 코드를 지정합니다.
dwFormatBitCount
픽셀당 비트 수(4, 8, 16, 24 또는 32)를 지정합니다.
dwRBitMask
빨간색 비트 마스크를 지정합니다.
dwGBitMask
녹색 비트 마스크를 지정합니다.
dwBBitMask
파란색 비트 마스크를 지정합니다.
dwDriverReserved1
HAL/미니포트용으로 예약됨
dwDriverReserved2
HAL/미니포트용으로 예약됨
dwDriverReserved3
HAL/미니포트용으로 예약됨
dwDriverReserved4
미니포트 드라이버에서 사용하도록 예약되어 있습니다.
요구 사항
머리글 | dxmini.h(Dxmini.h 포함) |