DD_FLIPDATA-Struktur (ddrawint.h)
Die DD_FLIPDATA-Struktur enthält Informationen, die zum Ausführen eines Flips erforderlich sind.
Syntax
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;
Member
lpDD
Zeigt auf die DD_DIRECTDRAW_GLOBAL-Struktur , die das Gerät des Treibers beschreibt.
lpSurfCurr
Zeigt auf die DD_SURFACE_LOCAL-Struktur , die die aktuelle Oberfläche beschreibt.
lpSurfTarg
Zeigt auf die DD_SURFACE_LOCAL Struktur, die die Zieloberfläche beschreibt; d. h. die Oberfläche, auf die der Treiber umdrehen soll.
dwFlags
Gibt eine Reihe von Flags an, die dem Treiber Details für das Flip bereitstellen. Dieses Element kann ein bitweiser OR der folgenden Flags sein:
Flag | Bedeutung |
---|---|
DDFLIP_DONOTWAIT | Gibt an, DDERR_WASSTILLDRAWING zurückzugeben, wenn der Accelerator ausgelastet ist. Der Standardwert ist DDFLIP_WAIT. |
DDFLIP_EVEN | Die Oberfläche, auf die das lpSurfTarg-Element verweist, enthält nur das gerade Feld der Videodaten. Dieses Flag ist nur gültig, wenn die Oberfläche eine Überlagerung ist und sich gegenseitig von DDFLIP_ODD ausschließt. |
DDFLIP_ODD | Die Oberfläche, auf die das lpSurfTarg-Element verweist, enthält nur das ungerade Feld der Videodaten. Dieses Flag ist nur gültig, wenn die Oberfläche eine Überlagerung ist und sich gegenseitig von DDFLIP_EVEN ausschließt. |
DDFLIP_NOVSYNC | Der Treiber sollte das Umdrehen ausführen und sofort zurückkehren. In der Regel ist der aktuelle Backpuffer (bei dem es sich um den Frontpuffer handelte) bis zum nächsten vertikalen Rücklauf weiterhin sichtbar. Nachfolgende Vorgänge, die die Oberflächen betreffen, auf die die Elemente lpSurfCurr und lpSurfTarg verweisen, überprüfen nicht, ob der physische Flip abgeschlossen ist. Dadurch kann eine Anwendung Flips mit einer höheren Häufigkeit als die Monitoraktualisierungsrate ausführen, obwohl sie sichtbare Artefakte einführt. |
DDFLIP_INTERVAL2 | Der Treiber sollte das Umdrehen bei jeder anderen vertikalen Synchronisierung durchführen. Es sollte DDERR_WASSTILLDRAWING zurückgeben, bis der zweite vertikale Retrace aufgetreten ist. Dieses Flag schließt sich gegenseitig von DDFLIP_INTERVAL3 und DDFLIP_INTERVAL4 aus. |
DDFLIP_INTERVAL3 | Der Treiber sollte jede dritte vertikale Synchronisierung umdrehen. Es sollte DDERR_WASSTILLDRAWING zurückgeben, bis der dritte vertikale Retrace aufgetreten ist. Dieses Flag schließt sich gegenseitig aus DDFLIP_INTERVAL2 und DDFLIP_INTERVAL4. |
DDFLIP_INTERVAL4 | Der Treiber sollte jede vierte vertikale Synchronisierung umdrehen. Es sollte DDERR_WASSTILLDRAWING zurückgeben, bis der vierte vertikale Retrace aufgetreten ist. Dieses Flag schließt sich gegenseitig von DDFLIP_INTERVAL2 und DDFLIP_INTERVAL3 aus. |
DDFLIP_STEREO | Gibt an, dass das automatische Stereoflipping aktiviert werden soll (die Hardware wechselt automatisch zwischen dem linken und rechten Puffer während jeder Bildschirmaktualisierung). |
DDFLIP_WAIT | Gibt an, dass erst zurückgegeben wird, wenn das Umdrehen oder ein Fehler auftritt. |
ddRVal
Gibt den Speicherort an, an dem der Treiber den Rückgabewert des DdFlip-Rückrufs schreibt. Ein Rückgabecode von DD_OK zeigt den Erfolg an. Weitere Informationen finden Sie unter Rückgabewerte für DirectDraw.
Flip
Wird von der Microsoft DirectDraw-API verwendet und sollte nicht vom Treiber ausgefüllt werden.
lpSurfCurrLeft
Zeigt auf die DD_SURFACE_LOCAL Struktur, die die aktuelle linke Oberfläche beschreibt.
lpSurfTargLeft
Zeigt auf die DD_SURFACE_LOCAL Struktur, die die linke Zieloberfläche beschreibt, auf die gedreht werden soll.
Anforderungen
Anforderung | Wert |
---|---|
Header | ddrawint.h (include Winddi.h) |