Función EngControlSprites (winddi.h)
La función EngControlSprites desglosa o vuelve a dibujar sprites en el área WNDOBJ especificada.
Sintaxis
ENGAPI BOOL EngControlSprites(
WNDOBJ *pwo,
FLONG fl
);
Parámetros
pwo
Puntero a la estructura WNDOBJ en la que se compilan o desgarran los sprites.
fl
Este parámetro puede establecerse con uno de los siguientes valores:
ECS_TEARDOWN
Solicita que GDI desmonte y quite el efecto de sprite de cualquier sprite que se superponga al área WNDOBJ. En otras palabras, GDI vuelve a dibujar el sprite con un efecto neutralizado para que el sprite no esté visible en la pantalla. GDI restaura el área debajo del sprite realizando llamadas inmediatas a DrvCopyBits.
ECS_REDRAW
Solicita que GDI vuelva a dibujar, restaurando los sprites que superpongan el área WNDOBJ. GDI vuelve a dibujar directamente en la pantalla realizando llamadas a DrvCopyBits.
Valor devuelto
EngControlSprites devuelve TRUE al completar correctamente la operación solicitada; de lo contrario, devuelve FALSE.
Comentarios
La invocación de ECS_TEARDOWN puede ser persistente. Por ejemplo, el controlador puede llamar a EngControlSprites una vez con ECS_TEARDOWN tan pronto como haya creado el WNDOBJ, y nunca se dibujarán sprites en la parte superior de la ventana.
El controlador puede llamar a EngControlSprites con ECS_REDRAW muchas veces sin realizar llamadas intermedias con ECS_TEARDOWN para forzar el reintentos de una sprite en cualquier momento.
ECS_TEARDOWN siempre fuerza un nuevo dibujo inmediato de cualquier sprite sobre el área WNDOBJ. GDI guarda los bits debajo de los sprites llamando a DrvCopyBits para copiarlos desde la pantalla y, a continuación, compone los sprites en la pantalla llamando a DrvCopyBits. Esto se puede usar para permitir que las sprites se comscriban en un búfer de reserva justo antes de que se envíe un comando swap-buffer al hardware (a través de DrvSwapBuffers o cualquier otro mecanismo de búfer de intercambio de controladores). Esto permite la composición sin problemas de sprites, sin parpadear, cuando la ventana es de doble almacenamiento en búfer.
ECS_TEARDOWN nunca hará que se envíe un mensaje WOC_SPRITE_NO_OVERLAP y, del mismo modo, ECS_REDRAW nunca hará que se envíe un mensaje de WOC_SPRITE_OVERLAP.
Se puede llamar a EngControlSprites incluso si actualmente no hay sprites que superpongan el área WNDOBJ.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 2000 y versiones posteriores de los sistemas operativos Windows. |
Plataforma de destino | Universal |
Encabezado | winddi.h (incluya Winddi.h) |
Library | Win32k.lib |
Archivo DLL | Win32k.sys |