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
此方法尚未實作。

備註

Unidrv IPrintOemDriverUni::DrvUniTextOut 會提供 方法,以供轉譯支援裝置管理繪圖介面的外掛程式使用。 這類轉譯外掛程式必須攔截 Unidrv 的 DrvTextOut 函式,而且 IPrintOemDriverUni::DrvUniTextOut 方法應該從該攔截函式呼叫。 攔截函式必須執行文字區域裁剪和文字旋轉作業。 然後,它可以呼叫 IPrintOemDriverUni::DrvUniTextOut 以要求 Unidrv 使用可下載的字型建立文字字串 (,並執行字元型裁剪) 。

如果 IPrintOemDriverUni::DrvUniTextOut 無法建立文字字串,可能是因為字型無法使用或已旋轉,它會呼叫轉譯外掛程式的 IPrintOemUni::TextOutAsBitmap 方法,它會將文字字串繪製為位圖。

如需詳細資訊,請參閱 處理 Device-Managed 介面

規格需求

需求
目標平台 桌面
標頭 prcomoem.h (包括 Prcomoem.h)