Compartilhar via


estrutura DD_BLTDATA (ddrawint.h)

A estrutura DD_BLTDATA contém as informações relevantes para o driver para fazer transferências de bloco de bits.

Sintaxe

typedef struct _DD_BLTDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACE_LOCAL     lpDDDestSurface;
  RECTL                 rDest;
  PDD_SURFACE_LOCAL     lpDDSrcSurface;
  RECTL                 rSrc;
  DWORD                 dwFlags;
  DWORD                 dwROPFlags;
  DDBLTFX               bltFX;
  HRESULT               ddRVal;
  VOID                  *Blt;
  BOOL                  IsClipped;
  RECTL                 rOrigDest;
  RECTL                 rOrigSrc;
  DWORD                 dwRectCnt;
  LPRECT                prDestRects;
  DWORD                 dwAFlags;
  DDARGB                ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;

Membros

lpDD

Aponta para uma estrutura DD_DIRECTDRAW_GLOBAL que descreve o dispositivo do driver.

lpDDDestSurface

Aponta para a estrutura DD_SURFACE_LOCAL que descreve a superfície na qual blit.

rDest

lpDDSrcSurface

Aponta para uma estrutura DD_SURFACE_LOCAL que descreve a superfície de origem.

rSrc

dwFlags

Indica um conjunto de sinalizadores que especificam o tipo de operação blit a ser executada e quais membros da estrutura associados têm dados válidos que o driver deve usar. Esse membro é um OR bit a bit de qualquer um dos seguintes sinalizadores:

Sinalizador Significado
DDBLT_ASYNC Execute esse blit de forma assíncrona por meio do FIFO na ordem recebida. Se não houver espaço no FIFO de hardware, o driver deverá falhar na chamada e retornar imediatamente.
DDBLT_COLORFILL Use o membro dwFillColor na estrutura DDBLTFX (definido na documentação do SDK do Microsoft DirectDraw) como a cor RGB com a qual preencher o retângulo de destino na superfície de destino.
DDBLT_DDFX Use o membro dwDDFX na estrutura DDBLTFX (definido na documentação do SDK do DirectDraw) para determinar os efeitos a serem usados para o blit.
DDBLT_DDROPS Esse sinalizador é reservado para uso do sistema e deve ser ignorado pelo driver. O driver também deve ignorar o membro dwDDROPS da estrutura DDBLTFX.
DDBLT_EXTENDED_FLAGS
Somente o Microsoft DirectX 9.0 e versões posteriores.
Definido pelo runtime para direcionar o driver para reinterpretar determinados sinalizadores em dwFlags de seus significados no DirectX 8.1 e versões anteriores. O runtime combina DDBLT_EXTENDED_FLAGS com sinalizadores DDBLT_Xxx usando um OR bit a bit para criar sinalizadores DDBLT_EXTENDED_Xxx .
DDBLT_EXTENDED_LINEAR_CONTENT
Somente o Microsoft DirectX 9.0 e versões posteriores.
Criado por meio da combinação OR bit a bit de DDBLT_EXTENDED_FLAGS e o bit 0x00000004.
Indica que a superfície de origem contém conteúdo em um espaço de cor linear. Em seguida, o driver pode executar a correção gama 2.2 (sRGB) no espaço de cor da área de trabalho como parte do blt.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Somente o Microsoft DirectX 9.0 e versões posteriores.
Somente sistemas operacionais baseados em NT.
Criado por meio da combinação OR bit a bit de DDBLT_EXTENDED_FLAGS e o bit 0x00000010.
Defina se o runtime usar posteriormente os sinalizadores DDBLT_PRESENTATION e DDBLT_LAST_PRESENTATION para solicitar uma série de operações stretch-blit devido a uma chamada Present por um aplicativo.
Notifica o driver sobre todas as áreas retangulares de origem e destino não mapeadas antes que o driver receba áreas sub retangulares reais para blits. Dessa forma, o driver pode calcular e registrar o fator de alongamento para todas as blits subsequentes até e incluindo o blit com o sinalizador DDBLT_LAST_PRESENTATION definido. No entanto, quando o driver recebe um blit com o sinalizador DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR definido, o driver não deve usar essas áreas retangulares não mapeadas para fazer qualquer blitting real.
Depois que o driver terminar o blit final com o sinalizador de DDBLT_LAST_PRESENTATION definido, o driver deverá limpar o registro de fator elástico para evitar interferência com quaisquer blits subsequentes
.
DDBLT_KEYDESTOVERRIDE Use o membro dckDestColorkey na estrutura DDBLTFX (definida na documentação do SDK do DirectDraw) como a chave de cor para a superfície de destino. Se uma substituição não estiver sendo definida, dckDestColorkey não conterá a chave de cor. O driver deve testar a própria superfície.
DDBLT_KEYSRCOVERRIDE Use o membro dckSrcColorkey na estrutura DDBLTFX (definida na documentação do SDK do DirectDraw) como a chave de cor da superfície de origem. Se uma substituição não estiver sendo definida, dckDestColorkey não conterá a chave de cor. O driver deve testar a própria superfície.
DDBLT_LAST_PRESENTATION
Somente o DirectX 8.0 e versões posteriores.
Defina se o runtime solicitar uma operação blit final devido a uma chamada Present por um aplicativo.
DDBLT_PRESENTATION
Somente o DirectX 8.0 e versões posteriores.
Defina se o runtime solicitar uma operação blit devido a uma chamada Present por um aplicativo.
DDBLT_ROP Use o membro dwROP na estrutura DDBLTFX (definida na documentação do SDK do DirectDraw) para a operação de raster para esse blit. Atualmente, o único ROP passado para o driver é SRCCOPY. Esse ROP é o mesmo definido na API do Win32. Consulte a documentação do SDK do Microsoft Windows para obter detalhes.
DDBLT_ROTATIONANGLE Esse sinalizador não tem suporte no Windows 2000 e posterior e deve ser ignorado pelo driver.
DDBLT_WAIT Não retorne imediatamente com a mensagem DDERR_WASSTILLDRAWING se o blitter estiver ocupado – aguarde até que o blit possa ser configurado ou outro erro ocorra.

dwROPFlags

Não utilizado no Windows 2000 e posterior e deve ser ignorado pelo driver.

bltFX

#########

#######

ddRVal

Especifica o local no qual o driver grava o valor retornado do retorno de chamada DdBlt . Um código de retorno de DD_OK indica êxito. Para obter mais informações, consulte Valores retornados para DirectDraw.

Blt

Usado pela API DirectDraw e não deve ser preenchido pelo driver.

IsClipped

Indica se esse é um blit recortado. No Windows 2000 e posterior, esse membro é sempre FALSE, indicando que o blit está descompactado.

rOrigDest

Não utilizado para Windows 2000 e posterior. Especifica uma estrutura RECTL que define o retângulo de destino não mapeado. Esse membro só será válido se IsClipped for TRUE.

rOrigSrc

Não utilizado para Windows 2000 e posterior. Especifica uma estrutura RECTL que define o retângulo de origem não mapeado. Esse membro só será válido se IsClipped for TRUE.

dwRectCnt

Não utilizado para Windows 2000 e posterior.Especifica o número de retângulos de destino aos quais prDestRects aponta. Esse membro só será válido se IsClipped for TRUE.

prDestRects

Não utilizado para Windows 2000 e posterior. Aponta para uma matriz de estruturas RECTL que descrevem retângulos de destino. Esse membro só será válido se IsClipped for TRUE.

dwAFlags

Não utilizado e deve ser ignorado pelo driver.

ddargbScaleFactors

Fatores de dimensionamento ARGB (AlphaBlt)

Comentários

Para obter mais informações sobre os sinalizadores DDBLT_PRESENTATION e DDBLT_LAST_PRESENTATION, consulte Apresentação.

Requisitos

Requisito Valor
Cabeçalho ddrawint.h (inclua Winddi.h)

Confira também

DdBlt