Previous Next

DD_FLIPDATA

The DD_FLIPDATA structure contains information needed to do a flip.

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;
} DD_FLIPDATA;

Members

lpDD
Points to the DD_DIRECTDRAW_GLOBAL structure that describes the DirectDraw API.
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.
Flip
Used by the 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.

Headers

Defined in ddrawint.h. Include winddi.h.

See Also

DdFlip