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 Surfaces

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)