Share via


DDHAL_FLIPDATA

The DDHAL_FLIPDATA structure contains information needed to do a flip. This structure passes the information to the DirectDraw HAL Flip callback function.

typedef struct _DDHAL_FLIPDATA
{
LPDDRAWI_DIRECTDRAW_GBL     lpDD;
LPDDRAWI_DDRAWSURFACE_LCL   lpSurfCurr;
LPDDRAWI_DDRAWSURFACE_LCL   lpSurfTarg;
DWORD                       dwFlags;
HRESULT                     ddRVal;
LPDDHALSURFCB_FLIP          Flip;
} DDHAL_FLIPDATA;

Members

  • lpDD
    Pointer to the DDRAWI_DIRECTDRAW_GBL structure that represents the DirectDraw object.

  • lpSurfCurr
    Pointer to the DDRAWI_DDRAWSURFACE_LCL structure that represents the current surface.

  • lpSurfTarg
    Pointer to the DDRAWI_DDRAWSURFACE_LCL structure that represents the target surface (the surface to which the data will be flipped).

  • dwFlags
    Flags specifying flip options.

    Flag Usage
    DDFLIP_EVEN Indicates that the target surface contains the even field of video data. This flag is only valid with an overlay surface.
    DDFLIP_INTERVAL2 Indicates that DirectDraw will flip on every other vertical sync. This flag and the following two flags indicate how many vertical retraces to wait between each flip. The default is one. DirectDraw will return DDERR_WASSTILLDRAWING for each surface involved in the flip until the specified number of vertical retraces has occurred. These three flags are only effective if the DDCAPS2_FLIPINTERVAL flag is set. If that flag is not set, these three flags have no effect.
    DDFLIP_INTERVAL3 Indicates that DirectDraw will flip on every third vertical sync
    DDFLIP_INTERVAL4 Indicates that DirectDraw will flip on every fourth vertical sync.
    DDFLIP_NOVSYNC Causes DirectDraw to perform the physical flip immediately and return to the application. Typically, what was the front buffer but is now the back buffer will still be visible (depending on timing) until the next vertical retrace. Subsequent operations involving the two flipped surfaces will not check to see if the physical flip has finished, that is, will not return DDERR_WASSTILLDRAWING for that reason (but may for other reasons). This allows an application to perform flips at a higher frequency than the monitor refresh rate, but may introduce visible artifacts. Only effective if the DDCAPS2_FLIPNOVSYNCflag is set. If that flag is not set, DDFLIP_NOVSYNC has no effect.
    DDFLIP_ODD Indicates that the target surface contains the odd field of video data. This flag is only valid with an overlay surface.
  • ddRVal
    Passes the DirectDraw return values.

  • Flip
    This member is used by DirectDraw and should not be filled in by the driver.

 Last updated on Tuesday, July 13, 2004

© 1992-2000 Microsoft Corporation. All rights reserved.