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

1 つの不透明な四角形を表す 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 サーフェスの処理」を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header prcomoem.h (Prcomoem.h を含む)