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 的混合模式) 。

返回值

方法必须返回以下值之一。

返回代码 说明
S_OK
操作成功。
E_FAIL
此操作失败。
E_NOTIMPL
该方法未实现。

注解

方法 IPrintOemDriverUni::DrvUniTextOut 由 Unidrv 提供,用于呈现支持设备管理的绘图图面的插件。 此类呈现插件必须挂接 Unidrv 的 DrvTextOut 函数,并且 IPrintOemDriverUni::DrvUniTextOut 该方法应从该挂钩函数调用。 挂钩函数必须执行文本区域剪辑和文本旋转操作。 然后,它可以调用 IPrintOemDriverUni::DrvUniTextOut 以请求 Unidrv 使用可下载字体 (创建文本字符串,并执行基于字形的剪裁) 。

如果 IPrintOemDriverUni::DrvUniTextOut 由于字体不可用或已旋转而无法创建文本字符串,则调用呈现插件的 IPrintOemUni::TextOutAsBitmap 方法,该方法将文本字符串绘制为位图。

有关详细信息,请参阅 处理 Device-Managed 图面

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)