DD_FLIPDATA struttura (ddrawint.h)
La struttura DD_FLIPDATA contiene informazioni necessarie per eseguire un'inversione.
Sintassi
typedef struct _DD_FLIPDATA {
PDD_DIRECTDRAW_GLOBAL lpDD;
PDD_SURFACE_LOCAL lpSurfCurr;
PDD_SURFACE_LOCAL lpSurfTarg;
DWORD dwFlags;
HRESULT ddRVal;
VOID *Flip;
PDD_SURFACE_LOCAL lpSurfCurrLeft;
PDD_SURFACE_LOCAL lpSurfTargLeft;
} *PDD_FLIPDATA, DD_FLIPDATA;
Members
lpDD
Punta alla struttura DD_DIRECTDRAW_GLOBAL che descrive il dispositivo del driver.
lpSurfCurr
Punta alla struttura DD_SURFACE_LOCAL che descrive la superficie corrente.
lpSurfTarg
Punta alla struttura DD_SURFACE_LOCAL che descrive la superficie di destinazione; ovvero la superficie a cui il driver deve scorrere.
dwFlags
Indica un set di flag che forniscono al driver i dettagli per il capovolgimento. Questo membro può essere un OR bit per bit dei flag seguenti:
Contrassegno | Significato |
---|---|
DDFLIP_DONOTWAIT | Specifica di restituire DDERR_WASSTILLDRAWING se l'acceleratore è occupato. Il valore predefinito è DDFLIP_WAIT. |
DDFLIP_EVEN | Superficie a cui i punti membro lpSurfTarg contengono solo il campo uniforme dei dati video. Questo flag è valido solo quando la superficie è una sovrapposizione ed è a vicenda esclusiva di DDFLIP_ODD. |
DDFLIP_ODD | Superficie a cui i punti membro lpSurfTarg contengono solo il campo dispari dei dati video. Questo flag è valido solo quando la superficie è una sovrapposizione ed è a vicenda esclusiva di DDFLIP_EVEN. |
DDFLIP_NOVSYNC | Il driver deve eseguire il capovolgimento e restituire immediatamente. In genere, il buffer indietro corrente (che usato per essere il buffer anteriore) è ancora visibile fino alla ritraccia verticale successiva. Le operazioni successive che coinvolgono le superfici a cui il punto membri lpSurfCurr e lpSurfTarg non controllano se il capovolgimento fisico è terminato. Ciò consente a un'applicazione di eseguire capovolgimenti a una frequenza maggiore rispetto alla frequenza di aggiornamento del monitoraggio, anche se potrebbe introdurre artefatti visibili. |
DDFLIP_INTERVAL2 | Il driver deve eseguire il flip su ogni altra sincronizzazione verticale. Dovrebbe restituire DDERR_WASSTILLDRAWING fino a quando non è stata eseguita la seconda ritraccia verticale. Questo flag è a vicenda esclusivo di DDFLIP_INTERVAL3 e DDFLIP_INTERVAL4. |
DDFLIP_INTERVAL3 | Il driver deve eseguire il capovolgimento ogni terzo sincronizzazione verticale. Dovrebbe restituire DDERR_WASSTILLDRAWING fino a quando non è stata eseguita la terza ritraccia verticale. Questo flag si escludono reciprocamente DDFLIP_INTERVAL2 e DDFLIP_INTERVAL4. |
DDFLIP_INTERVAL4 | Il driver deve eseguire l'inversione ogni quarto sincronizzazione verticale. Dovrebbe restituire DDERR_WASSTILLDRAWING fino a quando non si è verificato il quarto ritracciare verticale. Questo flag è a vicenda esclusivo di DDFLIP_INTERVAL2 e DDFLIP_INTERVAL3. |
DDFLIP_STEREO | Specifica per abilitare la scalabilità automatica stereo (l'hardware passa automaticamente tra i buffer sinistro e destro durante ogni aggiornamento dello schermo). |
DDFLIP_WAIT | Specifica di non restituire finché non si verifica l'inversione o un errore. |
ddRVal
Specifica il percorso in cui il driver scrive il valore restituito del callback DdFlip . Un codice restituito di DD_OK indica l'esito positivo. Per altre informazioni, vedere Restituire valori per DirectDraw.
Flip
Usato dall'API Microsoft DirectDraw e non deve essere compilato dal driver.
lpSurfCurrLeft
Punta alla struttura DD_SURFACE_LOCAL che descrive la superficie sinistra corrente.
lpSurfTargLeft
Punta alla struttura DD_SURFACE_LOCAL che descrive la superficie di destinazione sinistra a cui passare.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ddrawint.h (include Winddi.h) |