IPrintOemDriverUni::D rvUniTextOut 方法 (prcomoem.h)
方法 IPrintOemDriverUni::DrvUniTextOut
由 Unidrv 驱动程序提供,因此使用设备管理的绘图图面的呈现插件可以轻松输出文本字符串。
语法
HRESULT DrvUniTextOut(
SURFOBJ *pso,
STROBJ *pstro,
FONTOBJ *pfo,
CLIPOBJ *pco,
RECTL *prclExtra,
RECTL *prclOpaque,
BRUSHOBJ *pboFore,
BRUSHOBJ *pboOpaque,
POINTL *pptlBrushOrg,
MIX mix
);
参数
pso
指向描述要写入的图面的 SURFOBJ 结构的指针。
pstro
指向 STROBJ 结构的指针,该结构定义要呈现的字形及其放置位置。
pfo
指向 FONTOBJ 结构的指针,从中检索有关字体及其字形的信息。
pco
指向 CLIPOBJ 结构的指针,该结构定义剪辑区域,必须通过该区域完成所有呈现。 驱动程序不能影响剪辑区域之外的任何像素。
prclExtra
指向 RECTL 结构的指针。 在调用此函数时,GDI 始终将此参数设置为 NULL 。 驱动程序应忽略它。
prclOpaque
指向代表单个不透明矩形的 RECTL 结构的指针。 此矩形右下角排他。 此矩形中的像素 (非前台且未剪裁) 的像素将用不透明画笔呈现。 此矩形始终绑定要绘制的文本。 如果此参数为 NULL,则不呈现不透明的像素。
pboFore
指向 BRUSHOBJ 结构的指针,该结构表示要用于前景像素的画笔对象。 此画笔将始终是纯色画笔。
pboOpaque
指向表示不透明像素的 BRUSHOBJ 结构的指针。 假定此画笔的前景和背景混合模式都是R2_COPYPEN。 除非驱动程序在 DEVINFO 结构的 flGraphicsCaps 成员中设置GCAPS_ARBRUSHOPAQUE功能位,否则始终使用纯色画笔调用它。
pptlBrushOrg
指向定义两个画笔的画笔原点的 POINTL 结构的指针。
mix
前台和后台光栅操作 (pboFore 的混合模式) 。
返回值
方法必须返回以下值之一。
返回代码 | 说明 |
---|---|
|
操作成功。 |
|
此操作失败。 |
|
该方法未实现。 |
注解
方法 IPrintOemDriverUni::DrvUniTextOut
由 Unidrv 提供,用于呈现支持设备管理的绘图图面的插件。 此类呈现插件必须挂接 Unidrv 的 DrvTextOut 函数,并且 IPrintOemDriverUni::DrvUniTextOut
该方法应从该挂钩函数调用。 挂钩函数必须执行文本区域剪辑和文本旋转操作。 然后,它可以调用 IPrintOemDriverUni::DrvUniTextOut
以请求 Unidrv 使用可下载字体 (创建文本字符串,并执行基于字形的剪裁) 。
如果 IPrintOemDriverUni::DrvUniTextOut
由于字体不可用或已旋转而无法创建文本字符串,则调用呈现插件的 IPrintOemUni::TextOutAsBitmap 方法,该方法将文本字符串绘制为位图。
有关详细信息,请参阅 处理 Device-Managed 图面。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |