Поделиться через


Функция DrvRealizeBrush (winddi.h)

Функция DrvRealizeBrush запрашивает, чтобы драйвер реализовал указанную кисть для указанной поверхности.

Синтаксис

BOOL DrvRealizeBrush(
  [in]           BRUSHOBJ *pbo,
  [in, out]      SURFOBJ  *psoTarget,
  [in]           SURFOBJ  *psoPattern,
  [in, optional] SURFOBJ  *psoMask,
  [in]           XLATEOBJ *pxlo,
  [in]           ULONG    iHatch
);

Параметры

[in] pbo

Указатель на структуру BRUSHOBJ , которую необходимо реализовать. Из этого объекта можно запросить все остальные параметры, кроме psoTarget. Спецификации параметров предоставляются в качестве оптимизации. Этот параметр лучше всего использовать только в качестве параметра для BRUSHOBJ_pvAllocRbrush, который выделяет память для реализованной кисти.

[in, out] psoTarget

Указатель на структуру SURFOBJ , для которой должна быть реализована кисть. Это может быть физическая поверхность для устройства, растровое изображение в формате устройства или растровое изображение стандартного формата.

[in] psoPattern

Указатель на структуру SURFOBJ, которая описывает шаблон для кисти. Для растрового устройства это растровое изображение. Для векторного устройства это одна из поверхностей шаблона, предоставляемых DrvEnablePDEV.

[in, optional] psoMask

Указатель на структуру SURFOBJ, которая описывает маску прозрачности для кисти. Это 1 бит на пиксельный растровый рисунок с тем же экстентом, что и у шаблона. Маска с нулевым значением означает, что пиксель считается фоновым пикселем для кисти. (В режиме прозрачного фона фоновые пиксели не затрагиваются заливкой.) Плоттеры могут игнорировать этот параметр, так как они никогда не рисуют фоновую информацию.

[in] pxlo

Указатель на структуру XLATEOBJ , которая определяет интерпретацию цветов в шаблоне. Если pxlo имеет значение NULL, перевод не требуется. Для преобразования цветов в индексы цветов устройства можно вызвать подпрограмму службы XLATEOBJ_Xxx . Векторные устройства должны переводить нулевой цвет через XLATEOBJ, чтобы получить цвет переднего плана для кисти.

[in] iHatch

Указывает, является ли psoPattern одной из кистей штриховки, возвращаемых DrvEnablePDEV. Это значение имеет значение true, если значение этого параметра меньше HS_DDI_MAX, определенного в файле winddi.h.

Возвращаемое значение

Если кисть была успешно реализована, возвращается значение TRUE . В противном случае имеет значение FALSE и регистрируется код ошибки.

Комментарии

Чтобы реализовать кисть, драйвер преобразует кисть GDI в форму, которую можно использовать внутри. Реализованная кисть содержит сведения об устройстве, необходимые устройству для ускорения рисования с помощью кисти.

Реализация кисти драйвера записывается в буфер, выделенный вызовом BRUSHOBJ_pvAllocRbrush.

DrvRealizeBrush требуется для драйвера, который выполняет рисование на любой поверхности.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winddi.h (включая Winddi.h)

См. также раздел

BRUSHOBJ

BRUSHOBJ_pvAllocRbrush

DrvEnablePDEV

XLATEOBJ