Win32 API 日本語リファレンス
ホームWeb.MsHtml › ISVGTextContentElement

ISVGTextContentElement

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID3051051a-98b5-11cf-bb82-00aa00bdce0b継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 13

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT putref_textLength(ISVGAnimatedLength* v)
vISVGAnimatedLength*inテキストの想定表示長を表す textLength 属性の値となる ISVGAnimatedLength オブジェクトへのポインタを設定する。
vtbl 8 HRESULT get_textLength(ISVGAnimatedLength** p)
pISVGAnimatedLength**outテキストの想定表示長を表す textLength 属性の値を保持する ISVGAnimatedLength インターフェイスポインタを受け取る出力ポインタである。
vtbl 9 HRESULT putref_lengthAdjust(ISVGAnimatedEnumeration* v)
vISVGAnimatedEnumeration*intextLength に合わせる調整方法を表す lengthAdjust 属性の値となる ISVGAnimatedEnumeration オブジェクトへのポインタを設定する。
vtbl 10 HRESULT get_lengthAdjust(ISVGAnimatedEnumeration** p)
pISVGAnimatedEnumeration**outtextLength に合わせる調整方法を表す lengthAdjust 属性の値を保持する ISVGAnimatedEnumeration インターフェイスポインタを受け取る出力ポインタである。
vtbl 11 HRESULT getNumberOfChars(INT* pResult)
pResultINT*outこの要素に含まれる文字数を受け取る INT への出力ポインタである。
vtbl 12 HRESULT getComputedTextLength(FLOAT* pResult)
pResultFLOAT*outレンダリング後の実際のテキスト全体の長さを受け取る FLOAT への出力ポインタである。
vtbl 13 HRESULT getSubStringLength(INT charnum, INT nchars, FLOAT* pResult)
charnumINTin計測を開始する文字のゼロ起算インデックスを指定する。
ncharsINTin計測対象とする文字数を指定する。
pResultFLOAT*out指定した部分文字列のレンダリング後の長さを受け取る FLOAT への出力ポインタである。
vtbl 14 HRESULT getStartPositionOfChar(INT charnum, ISVGPoint** ppResult)
charnumINTin対象文字のゼロ起算インデックスを指定する。
ppResultISVGPoint**out指定文字の開始位置を表す ISVGPoint インターフェイスポインタを受け取る出力ポインタである。
vtbl 15 HRESULT getEndPositionOfChar(INT charnum, ISVGPoint** ppResult)
charnumINTin対象文字のゼロ起算インデックスを指定する。
ppResultISVGPoint**out指定文字の終了位置を表す ISVGPoint インターフェイスポインタを受け取る出力ポインタである。
vtbl 16 HRESULT getExtentOfChar(INT charnum, ISVGRect** ppResult)
charnumINTin対象文字のゼロ起算インデックスを指定する。
ppResultISVGRect**out指定文字の外接矩形を表す ISVGRect インターフェイスポインタを受け取る出力ポインタである。
vtbl 17 HRESULT getRotationOfChar(INT charnum, FLOAT* pResult)
charnumINTin対象文字のゼロ起算インデックスを指定する。
pResultFLOAT*out指定文字の回転角度 (度) を受け取る FLOAT への出力ポインタである。
vtbl 18 HRESULT getCharNumAtPosition(ISVGPoint* point, INT* pResult)
pointISVGPoint*in判定対象の座標を表す ISVGPoint オブジェクトへのポインタを渡す。
pResultINT*out指定座標に位置する文字のゼロ起算インデックスを受け取る INT への出力ポインタである。該当文字がない場合は -1 が返る。
vtbl 19 HRESULT selectSubString(INT charnum, INT nchars)
charnumINTin選択を開始する文字のゼロ起算インデックスを指定する。
ncharsINTin選択する文字数を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_ISVGTextContentElement "{3051051A-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global ISVGTextContentElement IID_ISVGTextContentElement "{305105DD-98B5-11CF-BB82-00AA00BDCE0B}"
#comfunc global ISVGTextContentElement_putref_textLength       7 sptr
#comfunc global ISVGTextContentElement_get_textLength          8 sptr
#comfunc global ISVGTextContentElement_putref_lengthAdjust     9 sptr
#comfunc global ISVGTextContentElement_get_lengthAdjust        10 sptr
#comfunc global ISVGTextContentElement_getNumberOfChars        11 var
#comfunc global ISVGTextContentElement_getComputedTextLength   12 var
#comfunc global ISVGTextContentElement_getSubStringLength      13 int,int,var
#comfunc global ISVGTextContentElement_getStartPositionOfChar  14 int,sptr
#comfunc global ISVGTextContentElement_getEndPositionOfChar    15 int,sptr
#comfunc global ISVGTextContentElement_getExtentOfChar         16 int,sptr
#comfunc global ISVGTextContentElement_getRotationOfChar       17 int,var
#comfunc global ISVGTextContentElement_getCharNumAtPosition    18 sptr,var
#comfunc global ISVGTextContentElement_selectSubString         19 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。