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 位位位图,其范围与图案相同。 蒙板为零表示像素被视为画笔的背景像素。 (在透明背景模式下,背景像素在 fill 中不受影响。) 绘图仪可以忽略此参数,因为它们从不绘制背景信息。

[in] pxlo

指向 XLATEOBJ 结构的指针,该结构定义图案中颜色的解释。 如果 pxloNULL,则无需转换。 可以调用 XLATEOBJ_Xxx 服务例程将颜色转换为设备颜色索引。 矢量设备应通过 XLATEOBJ 转换颜色 0 以获取画笔的前景色。

[in] iHatch

指定 psoPattern 是否为 DrvEnablePDEV 返回的阴影画笔之一。 如果此参数的值小于 winddi.h 中定义的 HS_DDI_MAX,则为 true。

返回值

如果画笔已成功实现,则返回值为 TRUE 。 否则为 FALSE,并记录错误代码。

注解

为了实现画笔,驱动程序将 GDI 画笔转换为可在内部使用的形式。 已实现的画笔包含设备使用画笔加速绘制所需的设备特定信息。

驱动程序实现画笔会写入通过调用 BRUSHOBJ_pvAllocRbrush分配的缓冲区中。

对任意图面执行任何绘制的驱动程序需要 DrvRealizeBrush

要求

要求
目标平台 桌面
标头 winddi.h (包括 Winddi.h)

另请参阅

BRUSHOBJ

BRUSHOBJ_pvAllocRbrush

DrvEnablePDEV

XLATEOBJ