Compartir a través de


estructura DD_FLIPDATA (ddrawint.h)

La estructura DD_FLIPDATA contiene información necesaria para hacer un volteo.

Sintaxis

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;

Miembros

lpDD

Apunta a la estructura DD_DIRECTDRAW_GLOBAL que describe el dispositivo del controlador.

lpSurfCurr

Apunta a la estructura DD_SURFACE_LOCAL que describe la superficie actual.

lpSurfTarg

Apunta a la estructura DD_SURFACE_LOCAL que describe la superficie de destino; es decir, la superficie a la que debe voltear el controlador.

dwFlags

Indica un conjunto de marcas que proporcionan al controlador detalles del volteo. Este miembro puede ser un OR bit a bit de las marcas siguientes:

Marca Significado
DDFLIP_DONOTWAIT Especifica que se devuelva DDERR_WASSTILLDRAWING si el acelerador está ocupado. El valor predeterminado es DDFLIP_WAIT.
DDFLIP_EVEN Superficie a la que apunta el miembro lpSurfTarg solo contiene el campo par de datos de vídeo. Esta marca solo es válida cuando la superficie es una superposición y es mutuamente excluyente de DDFLIP_ODD.
DDFLIP_ODD Superficie a la que apunta el miembro lpSurfTarg solo contiene el campo impar de datos de vídeo. Esta marca solo es válida cuando la superficie es una superposición y es mutuamente excluyente de DDFLIP_EVEN.
DDFLIP_NOVSYNC El controlador debe realizar el volteo y volver inmediatamente. Normalmente, el búfer de reserva actual (que solía ser el búfer frontal) sigue siendo visible hasta el siguiente retroceso vertical. Las operaciones posteriores que implican las superficies a las que apuntan los miembros lpSurfCurr y lpSurfTarg no comprueban si el volteo físico ha finalizado. Esto permite a una aplicación realizar volteos con una frecuencia mayor que la frecuencia de actualización del monitor, aunque podría introducir artefactos visibles.
DDFLIP_INTERVAL2 El controlador debe realizar el cambio en todas las demás sincronizaciones verticales. Debe devolver DDERR_WASSTILLDRAWING hasta que se haya producido el segundo retroceso vertical. Esta marca es mutuamente excluyente de DDFLIP_INTERVAL3 y DDFLIP_INTERVAL4.
DDFLIP_INTERVAL3 El controlador debe realizar el cambio en cada tercera sincronización vertical. Debe devolver DDERR_WASSTILLDRAWING hasta que se haya producido el tercer retroceso vertical. Esta marca es mutuamente excluyente de DDFLIP_INTERVAL2 y DDFLIP_INTERVAL4.
DDFLIP_INTERVAL4 El controlador debe realizar el cambio en cada cuarta sincronización vertical. Debe devolver DDERR_WASSTILLDRAWING hasta que se haya producido el cuarto retroceso vertical. Esta marca es mutuamente excluyente de DDFLIP_INTERVAL2 y DDFLIP_INTERVAL3.
DDFLIP_STEREO Especifica que se habilite el autoflipping estéreo (el hardware se voltea automáticamente entre los búferes izquierdo y derecho durante cada actualización de pantalla).
DDFLIP_WAIT Especifica que no se devolverá hasta que se produzca el volteo o se produzca un error.

ddRVal

Especifica la ubicación en la que el controlador escribe el valor devuelto de la devolución de llamada DdFlip . Un código de retorno de DD_OK indica que se ha realizado correctamente. Para obtener más información, vea Valores devueltos para DirectDraw.

Flip

Lo usa la API de Microsoft DirectDraw y el controlador no debe rellenarlo.

lpSurfCurrLeft

Apunta a la estructura DD_SURFACE_LOCAL que describe la superficie izquierda actual.

lpSurfTargLeft

Apunta a la estructura DD_SURFACE_LOCAL que describe la superficie de destino izquierda a la que se va a voltear.

Requisitos

Requisito Valor
Header ddrawint.h (incluya Winddi.h)

Consulte también

DdFlip