IDirectDrawSurface7::Blt 메서드(ddraw.h)
비트 블록 전송(비트blt)을 수행합니다. 이 메서드는 비트blt 작업 중에 z 버퍼링 또는 알파 혼합을 지원하지 않습니다.
구문
HRESULT Blt(
[in] LPRECT unnamedParam1,
[in] LPDIRECTDRAWSURFACE7 unnamedParam2,
[in] LPRECT unnamedParam3,
[in] DWORD unnamedParam4,
[in] LPDDBLTFX unnamedParam5
);
매개 변수
[in] unnamedParam1
대상 화면에서 비트블렛할 사각형의 왼쪽 위 및 오른쪽 아래 점을 정의하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 전체 대상 표면이 사용됩니다.
[in] unnamedParam2
비트블릿의 소스인 DirectDrawSurface 개체의 IDirectDrawSurface7 인터페이스에 대한 포인터입니다.
[in] unnamedParam3
원본 표면에서 비트블렛할 사각형의 왼쪽 위 및 오른쪽 아래 점을 정의하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 전체 원본 표면이 사용됩니다.
[in] unnamedParam4
연결된 DDBLTFX 구조체의 유효한 멤버를 확인하거나, 색 키 정보를 지정하거나, 메서드에서 특수 동작을 요청하는 플래그의 조합입니다. 다음 플래그가 정의됩니다.
유효성 검사 플래그
DDBLT_COLORFILL
DDBLTFX 구조체의 dwFillColor 멤버를 대상 표면의 대상 사각형을 채우는 RGB 색으로 사용합니다.
DDBLT_DDFX
DDBLTFX 구조체의 dwDDFX 멤버를 사용하여 이 비트blt에 사용할 효과를 지정합니다.
DDBLT_DDROPS
DDBLTFX 구조체의 dwDDROP 멤버를 사용하여 Win32 API의 일부가 아닌 래스터 작업(ROPS)을 지정합니다.
DDBLT_DEPTHFILL
DDBLTFX 구조체의 dwFillDepth 멤버를 대상 z-버퍼 표면의 대상 사각형을 채울 깊이 값으로 사용합니다.
DDBLT_KEYDESTOVERRIDE
DDBLTFX 구조체의 ddckDestColorkey 멤버를 대상 화면의 색 키로 사용합니다.
DDBLT_KEYSRCOVERRIDE
DDBLTFX 구조체의 ddckSrcColorkey 멤버를 원본 표면의 색 키로 사용합니다.
DDBLT_ROP
이 비트블렛의 ROP에 DDBLTFX 구조체의 dwROP 멤버를 사용합니다. 이러한 ROP는 Win32 API에 정의된 것과 동일합니다.
DDBLT_ROTATIONANGLE
DDBLTFX 구조체의 dwRotationAngle 멤버를 표면의 회전 각도(1/100도로 지정됨)로 사용합니다.
색 키 플래그
DDBLT_KEYDEST
대상 화면과 연결된 색 키를 사용합니다.
DDBLT_KEYSRC
원본 표면과 연결된 색 키를 사용합니다.
동작 플래그
DDBLT_ASYNC
받은 순서대로 FIFO(첫 번째 in, first out) 하드웨어를 통해 이 비트블렛을 비동기적으로 수행합니다. FIFO 하드웨어에서 사용할 수 있는 공간이 없으면 호출이 실패합니다.
DDBLT_DONOTWAIT
비트 블렛을 반환하지 않고 를 반환하고 비트 블리터가 사용 중인 경우 DDERR_WASSTILLDRAWING 반환합니다.
DDBLT_WAIT
bitbltter가 사용 중인 경우 DDERR_WASSTILLDRAWING 반환 값을 연기하고 비트블렛을 설정할 수 있거나 다른 오류가 발생하는 즉시 를 반환합니다.
사용되지 않는 플래그 및 지원되지 않는 플래그
모든 DDBLT_ALPHA 플래그 값
현재 구현되지 않습니다.
모든 DDBLT_ZBUFFER 플래그 값
이 메서드는 현재 z 인식 비트blt 작업을 지원하지 않습니다. "DDBLT_ZBUFFER"로 시작하는 플래그는 지원되지 않습니다.
[in] unnamedParam5
비트블렛의 DDBLTFX 구조체에 대한 포인터입니다.
반환 값
메서드가 성공하면 반환 값이 DD_OK.
실패하면 메서드는 다음 오류 값 중 하나를 반환할 수 있습니다.
- DDERR_GENERIC
- DDERR_INVALIDCLIPLIST
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_INVALIDRECT
- DDERR_NOALPHAHW
- DDERR_NOBLTHW
- DDERR_NOCLIPLIST
- DDERR_NODDROPSHW
- DDERR_NOMIRRORHW
- DDERR_NORASTEROPHW
- DDERR_NOROTATIONHW
- DDERR_NOSTRETCHHW
- DDERR_NOZBUFFERHW
- DDERR_SURFACEBUSY
- DDERR_SURFACELOST
- DDERR_UNSUPPORTED
- DDERR_WASSTILLDRAWING
설명
Blt는 동기 또는 비동기 비트blt를 수행할 수 있습니다(후자는 기본 동작임). 이러한 비트블렛은 디스플레이 메모리에서 디스플레이 메모리, 시스템 메모리, 시스템 메모리, 디스플레이 메모리 또는 시스템 메모리에서 시스템 메모리까지 표시 메모리에서 발생할 수 있습니다. 비트블렛은 원본 색 키와 대상 색 키를 사용하여 수행할 수 있습니다. 원본 사각형과 대상 사각형의 크기가 같지 않으면 임의의 늘이기 또는 축소가 수행됩니다.
일반적으로 Blt은 bitbltter가 사용 중이고 비트블렛을 설정할 수 없는 경우 오류와 함께 즉시 반환됩니다. 동기 비트blt를 요청하려면 DDBLT_WAIT 플래그를 지정합니다. DDBLT_WAIT 플래그를 포함하면 비트블렛을 설정할 수 있거나 반환되기 전에 다른 오류가 발생할 때까지 Blt 이 대기합니다.
RECT 구조체는 오른쪽 및 아래쪽 멤버가 배타적이도록 정의됩니다. 따라서 오른쪽에서 왼쪽을 뺀 값은 너비보다 1이 아니라 사각형의 너비와 같습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | ddraw.h |
라이브러리 | Ddraw.lib |
DLL | Ddraw.dll |