Método IDirectDrawSurface7::Blt (ddraw.h)
Executa uma transferência de bloco de bits (bitblt). Esse método não dá suporte ao buffer z ou à mesclagem alfa durante operações bitblt.
Sintaxe
HRESULT Blt(
[in] LPRECT unnamedParam1,
[in] LPDIRECTDRAWSURFACE7 unnamedParam2,
[in] LPRECT unnamedParam3,
[in] DWORD unnamedParam4,
[in] LPDDBLTFX unnamedParam5
);
Parâmetros
[in] unnamedParam1
Um ponteiro para uma estrutura RECT que define os pontos superior esquerdo e inferior direito do retângulo para bitblt na superfície de destino. Se esse parâmetro for NULL, toda a superfície de destino será usada.
[in] unnamedParam2
Um ponteiro para a interface IDirectDrawSurface7 para o objeto DirectDrawSurface que é a origem do bitblt.
[in] unnamedParam3
Um ponteiro para uma estrutura RECT que define os pontos superior esquerdo e inferior direito do retângulo para bitblt de na superfície de origem. Se esse parâmetro for NULL, toda a superfície de origem será usada.
[in] unnamedParam4
Uma combinação de sinalizadores que determinam os membros válidos da estrutura DDBLTFX associada, especificam informações de chave de cor ou solicitam comportamento especial do método. Os seguintes sinalizadores são definidos:
Sinalizadores de validação
DDBLT_COLORFILL
Usa o membro dwFillColor da estrutura DDBLTFX como a cor RGB que preenche o retângulo de destino na superfície de destino.
DDBLT_DDFX
Usa o membro dwDDFX da estrutura DDBLTFX para especificar os efeitos a serem usados para este bitblt.
DDBLT_DDROPS
Usa o membro dwDDROP da estrutura DDBLTFX para especificar as operações de raster (ROPS) que não fazem parte da API Win32.
DDBLT_DEPTHFILL
Usa o membro dwFillDepth da estrutura DDBLTFX como o valor de profundidade com o qual preencher o retângulo de destino na superfície z-buffer de destino.
DDBLT_KEYDESTOVERRIDE
Usa o membro ddckDestColorkey da estrutura DDBLTFX como a chave de cor para a superfície de destino.
DDBLT_KEYSRCOVERRIDE
Usa o membro ddckSrcColorkey da estrutura DDBLTFX como a chave de cor para a superfície de origem.
DDBLT_ROP
Usa o membro dwROP da estrutura DDBLTFX para o ROP para este bitblt. Esses ROPs são iguais aos definidos na API do Win32.
DDBLT_ROTATIONANGLE
Usa o membro dwRotationAngle da estrutura DDBLTFX como o ângulo de rotação (especificado em 1/100s de um grau) para a superfície.
Sinalizadores de tecla de cor
DDBLT_KEYDEST
Usa a chave de cor associada à superfície de destino.
DDBLT_KEYSRC
Usa a chave de cor associada à superfície de origem.
Sinalizadores de comportamento
DDBLT_ASYNC
Executa esse bitblt de forma assíncrona por meio do primeiro hardware FIFO (primeiro a entrar e sair) na ordem recebida. Se nenhuma sala estiver disponível no hardware FIFO, a chamada falhará.
DDBLT_DONOTWAIT
Retorna sem bitbltting e também retorna DDERR_WASSTILLDRAWING se o bitbltter estiver ocupado.
DDBLT_WAIT
Adia a DDERR_WASSTILLDRAWING valor retornado se o bitbltter estiver ocupado e retornar assim que o bitblt puder ser configurado ou ocorrer outro erro.
Sinalizadores obsoletos e sem suporte
Todos os valores de sinalizador DDBLT_ALPHA
Não implementado atualmente.
Todos os valores de sinalizador DDBLT_ZBUFFER
Atualmente, esse método não dá suporte a operações bitblt com reconhecimento z. Nenhum dos sinalizadores que começam com "DDBLT_ZBUFFER" tem suporte.
[in] unnamedParam5
Um ponteiro para a estrutura DDBLTFX para o bitblt.
Retornar valor
Se o método for bem-sucedido, o valor retornado será DD_OK.
Se falhar, o método poderá retornar um dos seguintes valores de erro:
- 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
Comentários
O Blt pode executar bitblts síncronos ou assíncronos (este último é o comportamento padrão). Esses bitblts podem ocorrer desde a memória de exibição até a memória de exibição, da memória de exibição à memória do sistema, da memória do sistema à memória do sistema ou da memória do sistema. Os bitblts podem ser executados usando chaves de cor de origem e chaves de cor de destino. O alongamento arbitrário ou a redução serão executados se os retângulos de origem e destino não tiverem o mesmo tamanho.
Normalmente, Blt retornará imediatamente com um erro se o bitbltter estiver ocupado e o bitblt não puder ser configurado. Especifique o sinalizador DDBLT_WAIT para solicitar um bitblt síncrono. Quando você inclui o sinalizador DDBLT_WAIT, blt aguarda até que o bitblt possa ser configurado ou outro erro ocorra antes que ele retorne.
As estruturas RECT são definidas para que os membros direito e inferior sejam exclusivos, portanto, a menos direita esquerda é igual à largura do retângulo, não 1 menor que a largura.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | ddraw.h |
Biblioteca | Ddraw.lib |
DLL | Ddraw.dll |