Функция EngControlSprites (winddi.h)
Функция EngControlSprites удаляет или перерисовывает спрайты в указанной области WNDOBJ .
ENGAPI BOOL EngControlSprites(
WNDOBJ *pwo,
FLONG fl
);
pwo
Указатель на структуру WNDOBJ , в которой создаются или удаляются спрайты.
fl
Этот параметр может иметь одно из следующих значений:
Запрашивает удаление и удаление эффекта спрайта любого спрайта, перекрывающего область WNDOBJ. Другими словами, GDI перерисовывает спрайт с нейтрализованным эффектом, чтобы спрайт не отображался на экране. GDI восстанавливает область под спрайтом, выполняя немедленные вызовы DrvCopyBits.
Запрашивает перерисовку GDI, восстанавливая все спрайты, которые перекрывают область WNDOBJ. GDI перерисовывается непосредственно на экран, выполняя вызовы DrvCopyBits.
EngControlSprites возвращает значение TRUE после успешного завершения запрошенной операции; в противном случае возвращается значение FALSE.
Вызов ECS_TEARDOWN может быть постоянным. Например, драйвер может вызвать EngControlSprites один раз с ECS_TEARDOWN сразу после создания WNDOBJ, и спрайты никогда не будут рисоваться в верхней части окна.
Драйвер может вызывать EngControlSprites с ECS_REDRAW много раз, не выполняя промежуточные вызовы с ECS_TEARDOWN, чтобы принудительно перекрасить спрайт в любое время.
ECS_TEARDOWN всегда выполняет немедленную перерисовку любых спрайтов поверх области WNDOBJ. GDI сохраняет биты под спрайтами, вызывая DrvCopyBits , чтобы скопировать их с экрана, а затем композитирует спрайты на экране, вызывая DrvCopyBits. Это позволяет композитировать спрайты в задний буфер непосредственно перед отправкой команды буфера на оборудование (с помощью DrvSwapBuffers или любого другого механизма буфера буфера драйвера). Это позволяет легко компонует спрайты без мигания, когда окно имеет двойную буферизацию.
ECS_TEARDOWN никогда не вызовет отправку WOC_SPRITE_NO_OVERLAP сообщения, а также ECS_REDRAW никогда не вызовет отправку WOC_SPRITE_OVERLAP сообщения.
EngControlSprites можно вызывать, даже если спрайты в настоящее время не перекрывают область WNDOBJ.
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |