Condividi tramite


Funzione EngControlSprites (winddi.h)

La funzione EngControlSprites rimuove o ridisegna le sprite nell'area WNDOBJ specificata.

Sintassi

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

Parametri

pwo

Puntatore alla struttura WNDOBJ in cui vengono compilati o abbattuti gli sprite.

fl

Questo parametro può essere uno dei valori seguenti:

ECS_TEARDOWN

Richiede che GDI smonti l'effetto sprite di qualsiasi sprite che si sovrapponga all'area WNDOBJ. In altre parole, GDI ridisegna lo sprite con un effetto neutralizzato in modo che lo sprite non sia visibile sullo schermo. GDI ripristina l'area sotto la sprite eseguendo chiamate immediate a DrvCopyBits.

ECS_REDRAW

Richiede che GDI si ridisegni, ripristinando eventuali sprite che si sovrappongono all'area WNDOBJ. GDI si ridisegna direttamente sullo schermo eseguendo chiamate a DrvCopyBits.

Valore restituito

EngControlSprites restituisce TRUE al termine dell'operazione richiesta; in caso contrario, restituisce FALSE.

Commenti

La chiamata di ECS_TEARDOWN può essere persistente. Ad esempio, il driver può chiamare EngControlSprites una volta con ECS_TEARDOWN non appena ha creato WNDOBJ e non verranno mai disegnate in alto sulla finestra.

Il driver può chiamare EngControlSprites con ECS_REDRAW numerose volte senza effettuare chiamate con ECS_TEARDOWN per forzare il ripainting di uno sprite in qualsiasi momento.

ECS_TEARDOWN forza sempre un disegno immediato di qualsiasi sprite sopra l'area WNDOBJ. GDI salva i bit sotto le sprite chiamando DrvCopyBits per copiarli dallo schermo e quindi compositi gli sprite sullo schermo chiamando DrvCopyBits. Ciò può essere usato per consentire la composizione di sprite in un buffer back-buffer prima dell'invio di un comando di swap-buffer all'hardware (tramite DrvSwapBuffers o qualsiasi altro meccanismo di buffer di scambio driver). Ciò consente di comporre facilmente sprite, senza flashing, quando la finestra è doppio buffer.

ECS_TEARDOWN non causerà mai l'invio di un messaggio WOC_SPRITE_NO_OVERLAP e, analogamente, ECS_REDRAW non causerà mai l'invio di un messaggio WOC_SPRITE_OVERLAP.

EngControlSprites può essere chiamato anche se non si sovrappongono attualmente l'area WNDOBJ.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 2000 e versioni successive dei sistemi operativi Windows.
Piattaforma di destinazione Universale
Intestazione winddi.h (include Winddi.h)
Libreria Win32k.lib
DLL Win32k.sys

Vedi anche

EngCreateWnd

WNDOBJ