ホーム › Graphics.DirectWrite › IDWritePaintReader
IDWritePaintReader
COMメソッド 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)
| glyphIndex | DWORD | in | ペイント情報を読む対象グリフのインデックスである。 |
| paintElement | DWRITE_PAINT_ELEMENT* | out | ルートのペイント要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。 |
| structSize | DWORD | in | paintElement構造体のバイトサイズである。 |
| clipBox | D2D_RECT_F* | out | グリフのクリップ矩形を受け取るD2D_RECT_Fの出力先である。NULL可。 |
| glyphAttributes | DWRITE_PAINT_ATTRIBUTES* | outoptional | グリフのペイント属性を受け取るDWRITE_PAINT_ATTRIBUTESの出力先である。NULL可。 |
vtbl 4 HRESULT SetTextColor(DWRITE_COLOR_F* textColor)
| textColor | DWRITE_COLOR_F* | in | 前景色プレースホルダに用いるテキスト色を示すDWRITE_COLOR_Fである。 |
| colorPaletteIndex | DWORD | in | 使用するカラーパレットのインデックスである。 |
vtbl 6 HRESULT SetCustomColorPalette(DWRITE_COLOR_F* paletteEntries, DWORD paletteEntryCount)
| paletteEntries | DWRITE_COLOR_F* | in | カスタムパレットの色エントリ配列(DWRITE_COLOR_F)である。 |
| paletteEntryCount | DWORD | in | paletteEntries配列の要素数である。 |
vtbl 7 HRESULT MoveToFirstChild(DWRITE_PAINT_ELEMENT* paintElement, DWORD structSize)
| paintElement | DWRITE_PAINT_ELEMENT* | out | 移動先である最初の子要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。 |
| structSize | DWORD | in | paintElement構造体のバイトサイズである。 |
vtbl 8 HRESULT MoveToNextSibling(DWRITE_PAINT_ELEMENT* paintElement, DWORD structSize)
| paintElement | DWRITE_PAINT_ELEMENT* | out | 移動先である次の兄弟要素を受け取るDWRITE_PAINT_ELEMENTの出力先である。 |
| structSize | DWORD | in | paintElement構造体のバイトサイズである。 |
vtbl 9 HRESULT MoveToParent()
vtbl 10 HRESULT GetGradientStops(DWORD firstGradientStopIndex, DWORD gradientStopCount, D2D1_GRADIENT_STOP* gradientStops)
| firstGradientStopIndex | DWORD | in | 取得を開始するグラデーションストップのインデックスである。 |
| gradientStopCount | DWORD | in | 取得するグラデーションストップの個数である。 |
| gradientStops | D2D1_GRADIENT_STOP* | out | 取得したグラデーションストップを受け取るD2D1_GRADIENT_STOP配列の出力先である。 |
vtbl 11 HRESULT GetGradientStopColors(DWORD firstGradientStopIndex, DWORD gradientStopCount, DWRITE_PAINT_COLOR* gradientStopColors)
| firstGradientStopIndex | DWORD | in | 取得を開始するグラデーションストップのインデックスである。 |
| gradientStopCount | DWORD | in | 取得する色の個数である。 |
| gradientStopColors | DWRITE_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 方式にも切替可。#define global IID_IDWritePaintReader "{8128E912-3B97-42A5-AB6C-24AAD3A86E54}" #usecom global IDWritePaintReader IID_IDWritePaintReader "{}" #comfunc global IDWritePaintReader_SetCurrentGlyph 3 int,sptr,int,sptr,sptr #comfunc global IDWritePaintReader_SetTextColor 4 sptr #comfunc global IDWritePaintReader_SetColorPaletteIndex 5 int #comfunc global IDWritePaintReader_SetCustomColorPalette 6 sptr,int #comfunc global IDWritePaintReader_MoveToFirstChild 7 sptr,int #comfunc global IDWritePaintReader_MoveToNextSibling 8 sptr,int #comfunc global IDWritePaintReader_MoveToParent 9 #comfunc global IDWritePaintReader_GetGradientStops 10 int,int,sptr #comfunc global IDWritePaintReader_GetGradientStopColors 11 int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。