Compartilhar via


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

Confira também

IDirectDrawSurface7