Partager via


Fonction EngControlSprites (winddi.h)

La fonction EngControlSprites déchire ou redessine les sprites sur la zone WNDOBJ spécifiée.

Syntaxe

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

Paramètres

pwo

Pointeur vers la structure WNDOBJ sur laquelle les sprites sont construits ou détruits.

fl

Ce paramètre peut être l’une des valeurs suivantes :

ECS_TEARDOWN

Demande que GDI démonter et supprimer l’effet sprite de tout sprite qui chevauche la zone WNDOBJ. En d’autres termes, GDI redessine le sprite avec un effet neutralisé afin que le sprite ne soit pas visible à l’écran. GDI restaure la zone située sous le sprite en effectuant des appels immédiats à DrvCopyBits.

ECS_REDRAW

Demande que GDI redessine, en restaurant tous les sprites qui chevauchent la zone WNDOBJ. GDI redessine directement à l’écran en effectuant des appels à DrvCopyBits.

Valeur retournée

EngControlSprites retourne TRUE à la fin de l’opération demandée ; sinon, il retourne FALSE.

Remarques

L’appel de ECS_TEARDOWN peut être persistant. Par exemple, le pilote peut appeler EngControlSprites une fois avec ECS_TEARDOWN dès qu’il a créé le WNDOBJ, et aucun sprites ne sera jamais dessiné au-dessus de la fenêtre.

Le pilote peut appeler EngControlSprites avec ECS_REDRAW de nombreuses fois sans effectuer d’appels intermédiaires avec ECS_TEARDOWN afin de forcer le repeint d’un sprite à tout moment.

ECS_TEARDOWN force toujours un redessinage immédiat des sprites au-dessus de la zone WNDOBJ. GDI enregistre les bits sous les sprites en appelant DrvCopyBits pour les copier à partir de l’écran, puis composites les sprites sur l’écran en appelant DrvCopyBits. Cela peut être utilisé pour permettre aux sprites d’être composites sur une mémoire tampon arrière juste avant l’envoi d’une commande swap-buffer au matériel (via DrvSwapBuffers ou tout autre mécanisme de mémoire tampon d’échange de pilote). Cela permet une composition transparente des sprites, sans clignotement, lorsque la fenêtre est double mise en mémoire tampon.

ECS_TEARDOWN ne provoquera jamais l’envoi d’un message WOC_SPRITE_NO_OVERLAP et ECS_REDRAW n’entraînera jamais l’envoi d’un message WOC_SPRITE_OVERLAP.

EngControlSprites peut être appelé même si aucun sprites ne chevauche actuellement la zone WNDOBJ.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
Plateforme cible Universal
En-tête winddi.h (inclure Winddi.h)
Bibliothèque Win32k.lib
DLL Win32k.sys

Voir aussi

EngCreateWnd

WNDOBJ