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 |