IDWriteBitmapRenderTarget::DrawGlyphRun メソッド
指定された位置にあるビットマップ ターゲットに一連のグリフを描画します。
構文
virtual HRESULT DrawGlyphRun(
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
[in] const DWRITE_GLYPH_RUN * glyphRun,
IDWriteRenderingParams * renderingParams,
COLORREF textColor,
[out, optional] RECT * blackBoxRect
) = 0;
パラメーター
baselineOriginX
DIB の左上隅を基準とした、ベースラインの原点の水平位置 (DIP 単位)。baselineOriginY
DIB の左上隅を基準とした、ベースラインの原点の垂直位置 (DIP 単位)。measuringMode
レンダリング モードを決定するために他のプロパティで使用する、グリフ実行に含まれるグリフの測定方法。glyphRun [in]
グリフ実行のプロパティを格納する構造体。renderingParams
レンダリングの動作を制御するオブジェクト。textColor
テキストの前景色。blackBoxRect [out, optional]
グリフ実行の描画による影響を受けるすべてのピクセルの境界ボックス (DIP ではなくピクセル単位) を受け取る省略可能な四角形。ブラック ボックス四角形は、ビットマップの寸法より大きくなることがあります。
戻り値
メソッドが成功した場合は、S_OK が返されます。 それ以外の場合は、エラー コードが返されます。HRESULT.
解説
IDWriteBitmapRenderTarget::DrawGlyphRun を使用すると、実装するカスタム テキスト レンダラーからビットマップにレンダリングできます。次のコードに示すように、カスタム テキスト レンダラーはこのメソッドを IDWriteTextRenderer::DrawGlyphRun コールバック メソッド内から呼び出す必要があります。
STDMETHODIMP GdiTextRenderer::DrawGlyphRun(
__maybenull void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
__in DWRITE_GLYPH_RUN const* glyphRun,
__in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
IUnknown* clientDrawingEffect
)
{
HRESULT hr = S_OK;
// Pass on the drawing call to the render target to do the real work.
RECT dirtyRect = {0};
hr = pRenderTarget_->DrawGlyphRun(
baselineOriginX,
baselineOriginY,
measuringMode,
glyphRun,
pRenderingParams_,
RGB(0,200,255),
&dirtyRect
);
return hr;
}
baselineOriginX、baslineOriginY、measuringMethod、および glyphRun の各パラメーターは、コールバック メソッドが呼び出されたときに (引数として) 指定されます。renderingParams、textColor、および blackBoxRect は指定されません。
既定のレンダリング パラメーターは、IDWriteFactory::CreateMonitorRenderingParams メソッドを使用して取得できます。
要件
クライアントの最小要件 |
Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム |
サーバーの最小要件 |
Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム |
ヘッダー |
Dwrite.h |
ライブラリ |
Dwrite.lib |
DLL |
Dwrite.dll |