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) |