Compartilhar via


Função EngControlSprites (winddi.h)

A função EngControlSprites rasga ou redesenha sprites na área especificada do WNDOBJ .

Sintaxe

ENGAPI BOOL EngControlSprites(
  WNDOBJ *pwo,
  FLONG  fl
);

Parâmetros

pwo

Ponteiro para a estrutura WNDOBJ na qual os sprites estão sendo criados ou derrubados.

fl

Esse parâmetro pode usar um dos valores a seguir:

ECS_TEARDOWN

Solicita que o GDI destrua e remova o efeito sprite de qualquer sprite que sobreponha a área do WNDOBJ. Em outras palavras, a GDI redesenha o sprite com um efeito neutralizado para que o sprite não fique visível na tela. A GDI restaura a área abaixo do sprite fazendo chamadas imediatas para DrvCopyBits.

ECS_REDRAW

Solicita que o GDI redesenhe, restaurando os sprites que se sobrepõem à área do WNDOBJ. O GDI é redesenhado diretamente para a tela fazendo chamadas para DrvCopyBits.

Retornar valor

EngControlSprites retorna TRUE ao concluir com êxito a operação solicitada; caso contrário, retornará FALSE.

Comentários

A invocação de ECS_TEARDOWN pode ser persistente. Por exemplo, o driver pode chamar EngControlSprites uma vez com ECS_TEARDOWN assim que tiver criado o WNDOBJ e nenhum sprite será desenhado na parte superior da janela.

O driver pode chamar EngControlSprites com ECS_REDRAW várias vezes sem fazer chamadas intermediadas com ECS_TEARDOWN a fim de forçar o repositório de um sprite a qualquer momento.

ECS_TEARDOWN sempre força um redesenho imediato de quaisquer sprites sobre a área do WNDOBJ. A GDI salva os bits abaixo dos sprites chamando DrvCopyBits para copiá-los da tela e, em seguida, compõe os sprites na tela chamando DrvCopyBits. Isso pode ser usado para permitir que os sprites sejam compostos em um back-buffer logo antes que um comando swap-buffer seja enviado para o hardware (por meio do DrvSwapBuffers ou de qualquer outro mecanismo de buffer de troca de driver). Isso permite a composição perfeita de sprites, sem piscar, quando a janela está em buffer duplo.

ECS_TEARDOWN nunca fará com que uma mensagem de WOC_SPRITE_NO_OVERLAP seja enviada e, da mesma forma, ECS_REDRAW nunca fará com que uma mensagem WOC_SPRITE_OVERLAP seja enviada.

EngControlSprites pode ser chamado mesmo que nenhum sprite atualmente se sobreponha à área do WNDOBJ.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows 2000 e versões posteriores dos sistemas operacionais Windows.
Plataforma de Destino Universal
Cabeçalho winddi.h (inclua Winddi.h)
Biblioteca Win32k.lib
DLL Win32k.sys

Confira também

EngCreateWnd

WNDOBJ