Condividi tramite


struttura DD_BLTDATA (ddrawint.h)

La struttura DD_BLTDATA contiene le informazioni rilevanti per il driver per l'operazione di trasferimento di blocchi di bit.

Sintassi

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;

Members

lpDD

Punta a una struttura DD_DIRECTDRAW_GLOBAL che descrive il dispositivo del driver.

lpDDDestSurface

Punta alla struttura DD_SURFACE_LOCAL che descrive la superficie su cui eseguire il blit.

rDest

lpDDSrcSurface

Punta a una struttura DD_SURFACE_LOCAL che descrive la superficie di origine.

rSrc

dwFlags

Indica un set di flag che specificano il tipo di operazione blit da eseguire e quali membri della struttura associati hanno dati validi che il driver deve usare. Questo membro è un OR bit per bit di uno dei flag seguenti:

Contrassegno Significato
DDBLT_ASYNC Eseguire questa operazione in modo asincrono tramite fifo nell'ordine ricevuto. Se non esiste alcuna stanza nell'hardware FIFO, il driver deve interrompere la chiamata e restituire immediatamente.
DDBLT_COLORFILL Usare il membro dwFillColor nella struttura DDBLTFX (definita nella documentazione di Microsoft DirectDraw SDK) come colore RGB con cui riempire il rettangolo di destinazione sulla superficie di destinazione.
DDBLT_DDFX Usare il membro dwDDFX nella struttura DDBLTFX (definita nella documentazione di DirectDraw SDK) per determinare gli effetti da usare per il blit.
DDBLT_DDROPS Questo flag è riservato per l'uso del sistema e deve essere ignorato dal driver. Il driver deve anche ignorare il membro dwDDROPS della struttura DDBLTFX.
DDBLT_EXTENDED_FLAGS
Solo Microsoft DirectX 9.0 e versioni successive.
Impostato dal runtime per indirizzare il driver a reinterpretare determinati flag in dwFlags dai relativi significati in DirectX 8.1 e versioni precedenti. Il runtime combina DDBLT_EXTENDED_FLAGS con flag DDBLT_Xxx usando un OR bit per bit per creare flag DDBLT_EXTENDED_Xxx .
DDBLT_EXTENDED_LINEAR_CONTENT
Solo Microsoft DirectX 9.0 e versioni successive.
Creato tramite la combinazione OR bit per bit di DDBLT_EXTENDED_FLAGS e del bit 0x00000004.
Indica che la superficie di origine contiene contenuto in uno spazio colore lineare. Il driver può quindi eseguire la correzione gamma 2.2 (sRGB) nello spazio dei colori del desktop come parte del blt.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Solo Microsoft DirectX 9.0 e versioni successive.
Solo sistemi operativi basati su NT.
Creato tramite la combinazione OR bit per bit di DDBLT_EXTENDED_FLAGS e del bit 0x00000010.
Impostare se il runtime usa successivamente i flag DDBLT_PRESENTATION e DDBLT_LAST_PRESENTATION per richiedere una serie di operazioni stretch-blit a causa di una chiamata Present da parte di un'applicazione.
Notifica al driver l'intera origine senza clip e le aree rettangolari di destinazione prima che il driver riceva le aree sub rettangolari effettive per le fessure. In questo modo, il driver può calcolare e registrare il fattore di estensione per tutti i successivi blit fino a e includendo il blit con il flag DDBLT_LAST_PRESENTATION impostato. Tuttavia, quando il driver riceve un indicatore blit con il flag di DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR impostato, il driver non deve usare queste aree rettangolari senza clip per eseguire qualsiasi blitting effettivo.
Dopo che il driver ha terminato il blit finale con il flag DDBLT_LAST_PRESENTATION impostato, il driver deve cancellare il record di fattore di estensione per evitare interferenze con eventuali blit successivi
.
DDBLT_KEYDESTOVERRIDE Usare il membro dckDestColorkey nella struttura DDBLTFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di destinazione. Se non viene impostato un override, dckDestColorkey non contiene la chiave di colore. Il driver deve testare la superficie stessa.
DDBLT_KEYSRCOVERRIDE Usare il membro dckSrcColorkey nella struttura DDBLTFX (definita nella documentazione di DirectDraw SDK) come chiave di colore per la superficie di origine. Se non viene impostato un override, dckDestColorkey non contiene la chiave di colore. Il driver deve testare la superficie stessa.
DDBLT_LAST_PRESENTATION
Solo DirectX 8.0 e versioni successive.
Impostare se il runtime richiede un'operazione di blit finale a causa di una chiamata Present da parte di un'applicazione.
DDBLT_PRESENTATION
Solo DirectX 8.0 e versioni successive.
Impostare se il runtime richiede un'operazione blit a causa di una chiamata Present da un'applicazione.
DDBLT_ROP Usare il membro dwROP nella struttura DDBLTFX (definita nella documentazione di DirectDraw SDK) per l'operazione raster per questo blit. Attualmente, l'unico ROP passato al driver è SRCCOPY. Questo ROP è uguale a quello definito nell'API Win32. Per informazioni dettagliate, vedere la documentazione di Microsoft Windows SDK.
DDBLT_ROTATIONANGLE Questo flag non è supportato in Windows 2000 e versioni successive e deve essere ignorato dal driver.
DDBLT_WAIT Non restituire immediatamente con il messaggio di DDERR_WASSTILLDRAWING se il blitter è occupato, attendere fino a quando il blit può essere configurato o si verifica un altro errore.

dwROPFlags

Inutilizzato in Windows 2000 e versioni successive e deve essere ignorato dal driver.

bltFX

#########

#######

ddRVal

Specifica il percorso in cui il driver scrive il valore restituito del callback DdBlt . Un codice restituito di DD_OK indica l'esito positivo. Per altre informazioni, vedere Valori restituiti per DirectDraw.

Blt

Usato dall'API DirectDraw e non deve essere compilato dal driver.

IsClipped

Indica se si tratta di un blit ritagliato. In Windows 2000 e versioni successive, questo membro è sempre FALSE, a indicare che il blit è senza clip.

rOrigDest

Non usato per Windows 2000 e versioni successive. Specifica una struttura RECTL che definisce il rettangolo di destinazione senza clip. Questo membro è valido solo se IsClipped è TRUE.

rOrigSrc

Non usato per Windows 2000 e versioni successive. Specifica una struttura RECTL che definisce il rettangolo di origine senza clip. Questo membro è valido solo se IsClipped è TRUE.

dwRectCnt

Non usato per Windows 2000 e versioni successive.Specifica il numero di rettangoli di destinazione a cui punta prDestRects . Questo membro è valido solo se IsClipped è TRUE.

prDestRects

Non usato per Windows 2000 e versioni successive. Punta a una matrice di strutture RECTL che descrivono i rettangoli di destinazione. Questo membro è valido solo se IsClipped è TRUE.

dwAFlags

Non usato e deve essere ignorato dal driver.

ddargbScaleFactors

Fattori di ridimensionamento ARGB (AlphaBlt)

Commenti

Per altre informazioni sui flag DDBLT_PRESENTATION e DDBLT_LAST_PRESENTATION, vedere Presentazione.

Requisiti

Requisito Valore
Intestazione ddrawint.h (include Winddi.h)

Vedi anche

DdBlt