Compartilhar via


estrutura DD_FLIPDATA (ddrawint.h)

A estrutura DD_FLIPDATA contém informações necessárias para fazer uma inversão.

Sintaxe

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;

Membros

lpDD

Aponta para a estrutura DD_DIRECTDRAW_GLOBAL que descreve o dispositivo do driver.

lpSurfCurr

Aponta para a estrutura DD_SURFACE_LOCAL que descreve a superfície atual.

lpSurfTarg

Aponta para a estrutura DD_SURFACE_LOCAL que descreve a superfície de destino; ou seja, a superfície para a qual o driver deve inverter.

dwFlags

Indica um conjunto de sinalizadores que fornecem ao driver detalhes para a inversão. Esse membro pode ser um OR bit a bit dos seguintes sinalizadores:

Sinalizador Significado
DDFLIP_DONOTWAIT Especifica para retornar DDERR_WASSTILLDRAWING se o acelerador estiver ocupado. O padrão é DDFLIP_WAIT.
DDFLIP_EVEN A superfície para a qual os pontos de membro lpSurfTarg contêm apenas o campo par de dados de vídeo. Esse sinalizador é válido somente quando a superfície é uma sobreposição e é mutuamente exclusivo de DDFLIP_ODD.
DDFLIP_ODD A superfície para a qual os pontos de membro lpSurfTarg contêm apenas o campo ímpar de dados de vídeo. Esse sinalizador é válido somente quando a superfície é uma sobreposição e é mutuamente exclusivo de DDFLIP_EVEN.
DDFLIP_NOVSYNC O driver deve executar a inversão e retornar imediatamente. Normalmente, o buffer de fundo atual (que costumava ser o buffer frontal) ainda fica visível até o próximo rastreamento vertical. As operações subsequentes envolvendo as superfícies para as quais os membros lpSurfCurr e lpSurfTarg apontam não marcar para ver se a inversão física foi concluída. Isso permite que um aplicativo execute inversãos em uma frequência mais alta do que a taxa de atualização do monitor, embora possa introduzir artefatos visíveis.
DDFLIP_INTERVAL2 O driver deve executar a inversão em todas as outras sincronizações verticais. Ele deve retornar DDERR_WASSTILLDRAWING até que o segundo rastreamento vertical tenha ocorrido. Esse sinalizador é mutuamente exclusivo de DDFLIP_INTERVAL3 e DDFLIP_INTERVAL4.
DDFLIP_INTERVAL3 O driver deve executar a inversão em cada terceira sincronização vertical. Ele deve retornar DDERR_WASSTILLDRAWING até que o terceiro rastreamento vertical tenha ocorrido. Esse sinalizador é mutuamente exclusivo de DDFLIP_INTERVAL2 e DDFLIP_INTERVAL4.
DDFLIP_INTERVAL4 O driver deve executar a inversão em cada quarta sincronização vertical. Ele deve retornar DDERR_WASSTILLDRAWING até que o quarto rastreamento vertical tenha ocorrido. Esse sinalizador é mutuamente exclusivo de DDFLIP_INTERVAL2 e DDFLIP_INTERVAL3.
DDFLIP_STEREO Especifica para habilitar o autoflipping estéreo (o hardware inverte automaticamente entre os buffers esquerdo e direito durante cada atualização de tela).
DDFLIP_WAIT Especifica para não retornar até que ocorra uma inversão ou um erro.

ddRVal

Especifica o local no qual o driver grava o valor retornado do retorno de chamada DdFlip . Um código de retorno de DD_OK indica êxito. Para obter mais informações, consulte Valores retornados para DirectDraw.

Flip

Usado pela API do Microsoft DirectDraw e não deve ser preenchido pelo driver.

lpSurfCurrLeft

Aponta para a estrutura DD_SURFACE_LOCAL que descreve a superfície esquerda atual.

lpSurfTargLeft

Aponta para a estrutura DD_SURFACE_LOCAL que descreve a superfície de destino esquerda para a qual inverter.

Requisitos

Requisito Valor
Cabeçalho ddrawint.h (inclua Winddi.h)

Confira também

DdFlip