Metodo IDirectDrawSurface7::Blt (ddraw.h)

Esegue un trasferimento a blocchi di bit (bitblt). Questo metodo non supporta la fusione z-buffer o alfa durante le operazioni bitblt.

Sintassi

HRESULT Blt(
  [in] LPRECT               unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2,
  [in] LPRECT               unnamedParam3,
  [in] DWORD                unnamedParam4,
  [in] LPDDBLTFX            unnamedParam5
);

Parametri

[in] unnamedParam1

Puntatore a una struttura RECT che definisce i punti superiore sinistro e inferiore destro del rettangolo a bitblt sulla superficie di destinazione. Se questo parametro è NULL, viene utilizzata l'intera superficie di destinazione.

[in] unnamedParam2

Puntatore all'interfaccia IDirectDrawSurface7 per l'oggetto DirectDrawSurface che rappresenta l'origine del bitblt.

[in] unnamedParam3

Puntatore a una struttura RECT che definisce i punti superiore sinistro e inferiore destro del rettangolo da bitblt dall'area di origine. Se questo parametro è NULL, viene usata l'intera superficie di origine.

[in] unnamedParam4

Combinazione di flag che determinano i membri validi della struttura DDBLTFX associata, specificare informazioni sulla chiave di colore o richiedere un comportamento speciale dal metodo. I flag seguenti sono definiti:

Flag di convalida

DDBLT_COLORFILL

Usa il membro dwFillColor della struttura DDBLTFX come colore RGB che riempie il rettangolo di destinazione nell'area di destinazione.

DDBLT_DDFX

Usa il membro dwDFX della struttura DDBLTFX per specificare gli effetti da usare per questo bitblt.

DDBLT_DDROPS

Usa il membro dwDDROP della struttura DDBLTFX per specificare le operazioni raster (ROPS) che non fanno parte dell'API Win32.

DDBLT_DEPTHFILL

Usa il membro dwFillDepth della struttura DDBLTFX come valore di profondità con cui riempire il rettangolo di destinazione sulla superficie z-buffer di destinazione.

DDBLT_KEYDESTOVERRIDE

Usa il membro ddckDestColorkey della struttura DDBLTFX come chiave di colore per l'area di destinazione.

DDBLT_KEYSRCOVERRIDE

Usa il membro ddckSrcColorkey della struttura DDBLTFX come chiave di colore per l'area di origine.

DDBLT_ROP

Usa il membro dwROP della struttura DDBLTFX per l'ROP per questo bitblt. Questi ROP sono uguali a quelli definiti nell'API Win32.

DDBLT_ROTATIONANGLE

Usa il membro dwRotationAngle della struttura DDBLTFX come angolo di rotazione (specificato in 1/100s di un grado) per la superficie.

Flag chiave colore

DDBLT_KEYDEST

Usa la chiave di colore associata all'area di destinazione.

DDBLT_KEYSRC

Usa la chiave di colore associata all'area di origine.

Flag di comportamento

DDBLT_ASYNC

Esegue questo bitblt in modo asincrono attraverso il primo hardware fiFO (first out) nell'ordine ricevuto. Se non è disponibile alcuna stanza nell'hardware FIFO, la chiamata ha esito negativo.

DDBLT_DONOTWAIT

Restituisce senza bitbltting e restituisce anche DDERR_WASSTILLDRAWING se il bitbltter è occupato.

DDBLT_WAIT

Rinvia il valore restituito DDERR_WASSTILLDRAWING se il bitbltter è occupato e restituisce non appena il bitblt può essere configurato o si verifica un altro errore.

Flag obsoleti e non supportati

Tutti i valori del flag DDBLT_ALPHA

Non implementato attualmente.

Tutti i valori del flag DDBLT_ZBUFFER

Questo metodo attualmente non supporta operazioni bitblt con riconoscimento z. None dei flag che iniziano con "DDBLT_ZBUFFER" sono supportati.

[in] unnamedParam5

Puntatore alla struttura DDBLTFX per il bitblt.

Valore restituito

Se il metodo ha esito positivo, il valore restituito è DD_OK.

Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:

  • 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

Commenti

Blt può eseguire bitblts sincroni o asincroni (quest'ultimo è il comportamento predefinito). Questi bitblts possono verificarsi dalla memoria visualizzato per visualizzare la memoria, dalla memoria di visualizzazione alla memoria di sistema, dalla memoria di sistema alla memoria di sistema o dalla memoria di sistema alla memoria di sistema. I bitblts possono essere eseguiti usando chiavi di colore di origine e chiavi di colore di destinazione. L'estensione arbitraria o la compattazione vengono eseguite se i rettangoli di origine e di destinazione non sono le stesse dimensioni.

In genere, Blt restituisce immediatamente un errore se il bitbltter è occupato e il bitblt non può essere configurato. Specificare il flag DDBLT_WAIT per richiedere un bitblt sincrono. Quando si include il flag di DDBLT_WAIT, Blt attende fino a quando il bitblt può essere configurato o si verifica un altro errore prima che venga restituito.

Le strutture RECT sono definite in modo che i membri destro e inferiore siano esclusivi, pertanto, destra meno sinistra equivale alla larghezza del rettangolo, non 1 minore della larghezza.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ddraw.h
Libreria Ddraw.lib
DLL Ddraw.dll

Vedi anche

IDirectDrawSurface7