DD_FLIPDATA structure (ddrawint.h)

The DD_FLIPDATA structure contains information needed to do a flip.

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;

Members

lpDD

Points to the DD_DIRECTDRAW_GLOBAL structure that describes the driver's device.

lpSurfCurr

Points to the DD_SURFACE_LOCAL structure describing the current surface.

lpSurfTarg

Points to the DD_SURFACE_LOCAL structure describing the target surface; that is, the surface to which the driver should flip.

dwFlags

Indicates a set of flags that provide the driver with details for the flip. This member can be a bitwise OR of the following flags:

Flag Meaning
DDFLIP_DONOTWAIT Specifies to return DDERR_WASSTILLDRAWING if the accelerator is busy. The default is DDFLIP_WAIT.
DDFLIP_EVEN The surface to which the lpSurfTarg member points contains only the even field of video data. This flag is valid only when the surface is an overlay, and is mutually exclusive of DDFLIP_ODD.
DDFLIP_ODD The surface to which the lpSurfTarg member points contains only the odd field of video data. This flag is valid only when the surface is an overlay, and is mutually exclusive of DDFLIP_EVEN.
DDFLIP_NOVSYNC The driver should perform the flip and return immediately. Typically, the current back buffer (which used to be the front buffer) is still visible until the next vertical retrace. Subsequent operations involving the surfaces to which the lpSurfCurr and lpSurfTarg members point do not check to see if the physical flip has finished. This allows an application to perform flips at a higher frequency than the monitor refresh rate, although it might introduce visible artifacts.
DDFLIP_INTERVAL2 The driver should perform the flip on every other vertical sync. It should return DDERR_WASSTILLDRAWING until the second vertical retrace has occurred. This flag is mutually exclusive of DDFLIP_INTERVAL3 and DDFLIP_INTERVAL4.
DDFLIP_INTERVAL3 The driver should perform the flip on every third vertical sync. It should return DDERR_WASSTILLDRAWING until the third vertical retrace has occurred. This flag is mutually exclusive of DDFLIP_INTERVAL2 and DDFLIP_INTERVAL4.
DDFLIP_INTERVAL4 The driver should perform the flip on every fourth vertical sync. It should return DDERR_WASSTILLDRAWING until the fourth vertical retrace has occurred. This flag is mutually exclusive of DDFLIP_INTERVAL2 and DDFLIP_INTERVAL3.
DDFLIP_STEREO Specifies to enable stereo autoflipping (the hardware automatically flips between the left and right buffers during each screen refresh).
DDFLIP_WAIT Specifies to not return until the flip or an error occurs.

ddRVal

Specifies the location in which the driver writes the return value of the DdFlip callback. A return code of DD_OK indicates success. For more information, see Return Values for DirectDraw.

Flip

Used by the Microsoft DirectDraw API and should not be filled in by the driver.

lpSurfCurrLeft

Points to the DD_SURFACE_LOCAL structure describing the current left surface.

lpSurfTargLeft

Points to the DD_SURFACE_LOCAL structure describing the left target surface to flip to.

Requirements

Requirement Value
Header ddrawint.h (include Winddi.h)

See also

DdFlip