IDWriteTextRenderer_DrawUnderline

IDWriteTextLayout::Draw は、下線を描画するようクライアントに指示するためにこの関数を呼び出す。(IDWriteTextRenderer.DrawUnderline)

IDWriteTextRenderer_DrawUnderline this, clientDrawingContext, baselineOriginX, baselineOriginY, underline, clientDrawingEffect

this : [comobj] IDWriteTextRenderer インターフェースの COM オブジェクト変数
clientDrawingContext : [intptr] 型: void* IDWriteTextLayout::Draw に渡されたアプリケーション定義の描画コンテキスト。
baselineOriginX : [float] 型: FLOAT 下線が適用されるランのベースライン原点のピクセル位置 (X 座標)。
baselineOriginY : [float] 型: FLOAT 下線が適用されるランのベースライン原点のピクセル位置 (Y 座標)。
underline : [var] 型: const DWRITE_UNDERLINE* 下線の論理情報を含む構造体へのポインタ。
clientDrawingEffect : [int] 型: IUnknown* 下線に適用するアプリケーション定義の効果。通常この引数は、行の内部を塗りつぶす前景ブラシなどの効果を表す。

(プラグイン / モジュール : com_misc.dll)

解説

IDWriteTextLayout::Draw
は、下線を描画するようクライアントに指示するためにこの関数を呼び出す。(IDWriteTextRenderer.DrawUnderline)

[戻り値]
型: HRESULT このメソッドが成功した場合は S_OK を返す。失敗した場合は HRESULT エラーコードを返す。

[備考]
書式属性の変化の仕方により、1
本の下線が複数の呼び出しに分割される場合がある。下線内でフォントサイズやスタイルが変化した場合、太さとオフセットは文字に応じて重み付け平均される。適切な描画開始ピクセル位置を得るには、ベースラインに
underline::offset を加算する。そうしないとテキストとの間に隙間が生じない。x
座標はテキストの方向性にかかわらず常に左側として渡される。これは描画を簡略化し、隙間や二重スタンプのアルファブレンドを引き起こす可能性のある丸め誤差を減らす。アルファの重なりを避けるために、端点を最も近いデバイスピクセルに丸めること。

情報

プラグイン / モジュールcom_misc.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_com_misc_gen2.hs