(ddrawint.h) DD_FLIPDATA 结构

DD_FLIPDATA结构包含执行翻转所需的信息。

语法

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;

成员

lpDD

指向描述驱动程序设备的 DD_DIRECTDRAW_GLOBAL 结构。

lpSurfCurr

指向描述当前图面 的DD_SURFACE_LOCAL 结构。

lpSurfTarg

指向描述目标表面的DD_SURFACE_LOCAL结构;即驱动程序应翻转到的图面。

dwFlags

指示为驱动程序提供翻转详细信息的一组标志。 此成员可以是以下标志的按位 OR:

标志 含义
DDFLIP_DONOTWAIT 指定在加速器正忙时返回DDERR_WASSTILLDRAWING。 默认值为 DDFLIP_WAIT。
DDFLIP_EVEN lpSurfTarg 成员指向的图面仅包含视频数据的偶数字段。 仅当图面是覆盖层且互斥DDFLIP_ODD时,此标志才有效。
DDFLIP_ODD lpSurfTarg 成员指向的图面仅包含视频数据的奇数字段。 仅当图面是覆盖层且互斥DDFLIP_EVEN时,此标志才有效。
DDFLIP_NOVSYNC 驱动程序应执行翻转并立即返回。 通常,在下次垂直回溯之前,以前是前缓冲区) 的当前后台缓冲区 (仍然可见。 涉及 lpSurfCurr 和 lpSurfTarg 成员指向的图面的后续操作不检查,以查看物理翻转是否已完成。 这允许应用程序以高于监视器刷新率的频率执行翻转,尽管它可能会引入可见项目。
DDFLIP_INTERVAL2 驱动程序应在每次其他垂直同步上执行翻转。在发生第二次垂直回溯之前,它应返回DDERR_WASSTILLDRAWING。 此标志是DDFLIP_INTERVAL3和DDFLIP_INTERVAL4互斥的。
DDFLIP_INTERVAL3 驱动程序应在每三次垂直同步时执行翻转。在发生第三次垂直回溯之前,它应返回DDERR_WASSTILLDRAWING。 此标志是DDFLIP_INTERVAL2和DDFLIP_INTERVAL4互斥的。
DDFLIP_INTERVAL4 驱动程序应在每四次垂直同步时执行翻转。它应返回DDERR_WASSTILLDRAWING,直到发生第四次垂直回溯。 此标志是DDFLIP_INTERVAL2和DDFLIP_INTERVAL3互斥的。
DDFLIP_STEREO 指定启用立体声自动翻贴 (硬件在每次屏幕刷新) 期间自动在左右缓冲区之间翻转。
DDFLIP_WAIT 指定在翻转或发生错误之前不返回 。

ddRVal

指定驱动程序写入 DdFlip 回调的返回值的位置。 返回代码DD_OK表示成功。 有关详细信息,请参阅 DirectDraw 的返回值

Flip

由 Microsoft DirectDraw API 使用,不应由驱动程序填充。

lpSurfCurrLeft

指向描述当前左图面 的DD_SURFACE_LOCAL 结构。

lpSurfTargLeft

指向描述要翻转的左侧目标图面的DD_SURFACE_LOCAL结构。

要求

要求
Header ddrawint.h (包括 Winddi.h)

另请参阅

DdFlip