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)

Vedi anche

DdFlip