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 |