Win32 API 日本語リファレンス
ホームGraphics.DirectWrite › IDWritePaintReader

IDWritePaintReader

COM
IID8128e912-3b97-42a5-ab6c-24aad3a86e54継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT SetCurrentGlyph(DWORD glyphIndex, DWRITE_PAINT_ELEMENT* paintElement, DWORD structSize, D2D_RECT_F* clipBox, DWRITE_PAINT_ATTRIBUTES* glyphAttributes)
glyphIndexDWORDinペイント情報を読む対象グリフのインデックスである。
paintElementDWRITE_PAINT_ELEMENT*outルートのペイント要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。
structSizeDWORDinpaintElement構造体のバイトサイズである。
clipBoxD2D_RECT_F*outグリフのクリップ矩形を受け取るD2D_RECT_Fの出力先である。NULL可。
glyphAttributesDWRITE_PAINT_ATTRIBUTES*outoptionalグリフのペイント属性を受け取るDWRITE_PAINT_ATTRIBUTESの出力先である。NULL可。
vtbl 4 HRESULT SetTextColor(DWRITE_COLOR_F* textColor)
textColorDWRITE_COLOR_F*in前景色プレースホルダに用いるテキスト色を示すDWRITE_COLOR_Fである。
vtbl 5 HRESULT SetColorPaletteIndex(DWORD colorPaletteIndex)
colorPaletteIndexDWORDin使用するカラーパレットのインデックスである。
vtbl 6 HRESULT SetCustomColorPalette(DWRITE_COLOR_F* paletteEntries, DWORD paletteEntryCount)
paletteEntriesDWRITE_COLOR_F*inカスタムパレットの色エントリ配列(DWRITE_COLOR_F)である。
paletteEntryCountDWORDinpaletteEntries配列の要素数である。
vtbl 7 HRESULT MoveToFirstChild(DWRITE_PAINT_ELEMENT* paintElement, DWORD structSize)
paintElementDWRITE_PAINT_ELEMENT*out移動先である最初の子要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。
structSizeDWORDinpaintElement構造体のバイトサイズである。
vtbl 8 HRESULT MoveToNextSibling(DWRITE_PAINT_ELEMENT* paintElement, DWORD structSize)
paintElementDWRITE_PAINT_ELEMENT*out移動先である次の兄弟要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。
structSizeDWORDinpaintElement構造体のバイトサイズである。
vtbl 9 HRESULT MoveToParent()
vtbl 10 HRESULT GetGradientStops(DWORD firstGradientStopIndex, DWORD gradientStopCount, D2D1_GRADIENT_STOP* gradientStops)
firstGradientStopIndexDWORDin取得を開始するグラデーションストップのインデックスである。
gradientStopCountDWORDin取得するグラデーションストップの個数である。
gradientStopsD2D1_GRADIENT_STOP*out取得したグラデーションストップを受け取るD2D1_GRADIENT_STOP配列の出力先である。
vtbl 11 HRESULT GetGradientStopColors(DWORD firstGradientStopIndex, DWORD gradientStopCount, DWRITE_PAINT_COLOR* gradientStopColors)
firstGradientStopIndexDWORDin取得を開始するグラデーションストップのインデックスである。
gradientStopCountDWORDin取得する色の個数である。
gradientStopColorsDWRITE_PAINT_COLOR*out各ストップの色情報を受け取るDWRITE_PAINT_COLOR配列の出力先である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDWritePaintReader "{8128E912-3B97-42A5-AB6C-24AAD3A86E54}"
#usecom global IDWritePaintReader IID_IDWritePaintReader "{}"
#comfunc global IDWritePaintReader_SetCurrentGlyph        3 int,var,int,var,var
#comfunc global IDWritePaintReader_SetTextColor           4 var
#comfunc global IDWritePaintReader_SetColorPaletteIndex   5 int
#comfunc global IDWritePaintReader_SetCustomColorPalette  6 var,int
#comfunc global IDWritePaintReader_MoveToFirstChild       7 var,int
#comfunc global IDWritePaintReader_MoveToNextSibling      8 var,int
#comfunc global IDWritePaintReader_MoveToParent           9
#comfunc global IDWritePaintReader_GetGradientStops       10 int,int,var
#comfunc global IDWritePaintReader_GetGradientStopColors  11 int,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。