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 |