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 结构的指针,该结构定义图案中颜色的解释。 如果 pxlo 为 NULL,则无需转换。 可以调用 XLATEOBJ_Xxx 服务例程将颜色转换为设备颜色索引。 矢量设备应通过 XLATEOBJ 转换颜色 0 以获取画笔的前景色。
[in] iHatch
指定 psoPattern 是否为 DrvEnablePDEV 返回的阴影画笔之一。 如果此参数的值小于 winddi.h 中定义的 HS_DDI_MAX,则为 true。
返回值
如果画笔已成功实现,则返回值为 TRUE 。 否则为 FALSE,并记录错误代码。
注解
为了实现画笔,驱动程序将 GDI 画笔转换为可在内部使用的形式。 已实现的画笔包含设备使用画笔加速绘制所需的设备特定信息。
驱动程序实现画笔会写入通过调用 BRUSHOBJ_pvAllocRbrush分配的缓冲区中。
对任意图面执行任何绘制的驱动程序需要 DrvRealizeBrush。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | winddi.h (包括 Winddi.h) |