ホーム › Web.MsHtml › ISVGPathElement
ISVGPathElement
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 24
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT putref_pathLength(ISVGAnimatedNumber* v)
| v | ISVGAnimatedNumber* | in | パスの全長を表す pathLength 属性を表す ISVGAnimatedNumber への参照を設定する。 |
vtbl 8 HRESULT get_pathLength(ISVGAnimatedNumber** p)
| p | ISVGAnimatedNumber** | out | パスの全長を表す pathLength 属性を表す ISVGAnimatedNumber を受け取る出力ポインタである。 |
| pfltResult | FLOAT* | out | パスの全長(計算値)を受け取る出力ポインタである。 |
| fltdistance | FLOAT | in | パスの始点からの距離を指定する。 |
| ppPointResult | ISVGPoint** | out | 指定距離におけるパス上の点を表す ISVGPoint を受け取る出力ポインタである。 |
| fltdistance | FLOAT | in | パスの始点からの距離を指定する。 |
| plResult | INT* | out | 指定距離に対応するパスセグメントのインデックスを受け取る出力ポインタである。 |
vtbl 12 HRESULT createSVGPathSegClosePath(ISVGPathSegClosePath** ppResult)
| ppResult | ISVGPathSegClosePath** | out | 新しく作成した closepath(Z)セグメントを表す ISVGPathSegClosePath を受け取る出力ポインタである。 |
vtbl 13 HRESULT createSVGPathSegMovetoAbs(FLOAT x, FLOAT y, ISVGPathSegMovetoAbs** ppResult)
| x | FLOAT | in | 移動先の絶対 x 座標を指定する。 |
| y | FLOAT | in | 移動先の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegMovetoAbs** | out | 新しく作成した絶対 moveto(M)セグメントを表す ISVGPathSegMovetoAbs を受け取る出力ポインタである。 |
vtbl 14 HRESULT createSVGPathSegMovetoRel(FLOAT x, FLOAT y, ISVGPathSegMovetoRel** ppResult)
| x | FLOAT | in | 移動先の相対 x 座標を指定する。 |
| y | FLOAT | in | 移動先の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegMovetoRel** | out | 新しく作成した相対 moveto(m)セグメントを表す ISVGPathSegMovetoRel を受け取る出力ポインタである。 |
vtbl 15 HRESULT createSVGPathSegLinetoAbs(FLOAT x, FLOAT y, ISVGPathSegLinetoAbs** ppResult)
| x | FLOAT | in | 直線の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | 直線の終点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegLinetoAbs** | out | 新しく作成した絶対 lineto(L)セグメントを表す ISVGPathSegLinetoAbs を受け取る出力ポインタである。 |
vtbl 16 HRESULT createSVGPathSegLinetoRel(FLOAT x, FLOAT y, ISVGPathSegLinetoRel** ppResult)
| x | FLOAT | in | 直線の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | 直線の終点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegLinetoRel** | out | 新しく作成した相対 lineto(l)セグメントを表す ISVGPathSegLinetoRel を受け取る出力ポインタである。 |
vtbl 17 HRESULT createSVGPathSegCurvetoCubicAbs(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicAbs** ppResult)
| x | FLOAT | in | 3 次ベジェ曲線の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | 3 次ベジェ曲線の終点の絶対 y 座標を指定する。 |
| x1 | FLOAT | in | 始点側の制御点の絶対 x 座標を指定する。 |
| y1 | FLOAT | in | 始点側の制御点の絶対 y 座標を指定する。 |
| x2 | FLOAT | in | 終点側の制御点の絶対 x 座標を指定する。 |
| y2 | FLOAT | in | 終点側の制御点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoCubicAbs** | out | 新しく作成した絶対 3 次ベジェ曲線(C)セグメントを表す ISVGPathSegCurvetoCubicAbs を受け取る出力ポインタである。 |
vtbl 18 HRESULT createSVGPathSegCurvetoCubicRel(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicRel** ppResult)
| x | FLOAT | in | 3 次ベジェ曲線の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | 3 次ベジェ曲線の終点の相対 y 座標を指定する。 |
| x1 | FLOAT | in | 始点側の制御点の相対 x 座標を指定する。 |
| y1 | FLOAT | in | 始点側の制御点の相対 y 座標を指定する。 |
| x2 | FLOAT | in | 終点側の制御点の相対 x 座標を指定する。 |
| y2 | FLOAT | in | 終点側の制御点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoCubicRel** | out | 新しく作成した相対 3 次ベジェ曲線(c)セグメントを表す ISVGPathSegCurvetoCubicRel を受け取る出力ポインタである。 |
vtbl 19 HRESULT createSVGPathSegCurvetoQuadraticAbs(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, ISVGPathSegCurvetoQuadraticAbs** ppResult)
| x | FLOAT | in | 2 次ベジェ曲線の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | 2 次ベジェ曲線の終点の絶対 y 座標を指定する。 |
| x1 | FLOAT | in | 制御点の絶対 x 座標を指定する。 |
| y1 | FLOAT | in | 制御点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoQuadraticAbs** | out | 新しく作成した絶対 2 次ベジェ曲線(Q)セグメントを表す ISVGPathSegCurvetoQuadraticAbs を受け取る出力ポインタである。 |
vtbl 20 HRESULT createSVGPathSegCurvetoQuadraticRel(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, ISVGPathSegCurvetoQuadraticRel** ppResult)
| x | FLOAT | in | 2 次ベジェ曲線の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | 2 次ベジェ曲線の終点の相対 y 座標を指定する。 |
| x1 | FLOAT | in | 制御点の相対 x 座標を指定する。 |
| y1 | FLOAT | in | 制御点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoQuadraticRel** | out | 新しく作成した相対 2 次ベジェ曲線(q)セグメントを表す ISVGPathSegCurvetoQuadraticRel を受け取る出力ポインタである。 |
vtbl 21 HRESULT createSVGPathSegArcAbs(FLOAT x, FLOAT y, FLOAT r1, FLOAT r2, FLOAT angle, VARIANT_BOOL largeArcFlag, VARIANT_BOOL sweepFlag, ISVGPathSegArcAbs** ppResult)
| x | FLOAT | in | 円弧の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | 円弧の終点の絶対 y 座標を指定する。 |
| r1 | FLOAT | in | 楕円弧の x 軸方向の半径を指定する。 |
| r2 | FLOAT | in | 楕円弧の y 軸方向の半径を指定する。 |
| angle | FLOAT | in | 楕円の x 軸を回転させる角度(度)を指定する。 |
| largeArcFlag | VARIANT_BOOL | in | 大きい方の円弧を描くかどうかを示す large-arc フラグを指定する。 |
| sweepFlag | VARIANT_BOOL | in | 円弧を時計回りに描くかどうかを示す sweep フラグを指定する。 |
| ppResult | ISVGPathSegArcAbs** | out | 新しく作成した絶対円弧(A)セグメントを表す ISVGPathSegArcAbs を受け取る出力ポインタである。 |
vtbl 22 HRESULT createSVGPathSegArcRel(FLOAT x, FLOAT y, FLOAT r1, FLOAT r2, FLOAT angle, VARIANT_BOOL largeArcFlag, VARIANT_BOOL sweepFlag, ISVGPathSegArcRel** ppResult)
| x | FLOAT | in | 円弧の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | 円弧の終点の相対 y 座標を指定する。 |
| r1 | FLOAT | in | 楕円弧の x 軸方向の半径を指定する。 |
| r2 | FLOAT | in | 楕円弧の y 軸方向の半径を指定する。 |
| angle | FLOAT | in | 楕円の x 軸を回転させる角度(度)を指定する。 |
| largeArcFlag | VARIANT_BOOL | in | 大きい方の円弧を描くかどうかを示す large-arc フラグを指定する。 |
| sweepFlag | VARIANT_BOOL | in | 円弧を時計回りに描くかどうかを示す sweep フラグを指定する。 |
| ppResult | ISVGPathSegArcRel** | out | 新しく作成した相対円弧(a)セグメントを表す ISVGPathSegArcRel を受け取る出力ポインタである。 |
vtbl 23 HRESULT createSVGPathSegLinetoHorizontalAbs(FLOAT x, ISVGPathSegLinetoHorizontalAbs** ppResult)
| x | FLOAT | in | 水平線の終点の絶対 x 座標を指定する。 |
| ppResult | ISVGPathSegLinetoHorizontalAbs** | out | 新しく作成した絶対水平線(H)セグメントを表す ISVGPathSegLinetoHorizontalAbs を受け取る出力ポインタである。 |
vtbl 24 HRESULT createSVGPathSegLinetoHorizontalRel(FLOAT x, ISVGPathSegLinetoHorizontalRel** ppResult)
| x | FLOAT | in | 水平線の終点の相対 x 座標を指定する。 |
| ppResult | ISVGPathSegLinetoHorizontalRel** | out | 新しく作成した相対水平線(h)セグメントを表す ISVGPathSegLinetoHorizontalRel を受け取る出力ポインタである。 |
vtbl 25 HRESULT createSVGPathSegLinetoVerticalAbs(FLOAT y, ISVGPathSegLinetoVerticalAbs** ppResult)
| y | FLOAT | in | 垂直線の終点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegLinetoVerticalAbs** | out | 新しく作成した絶対垂直線(V)セグメントを表す ISVGPathSegLinetoVerticalAbs を受け取る出力ポインタである。 |
vtbl 26 HRESULT createSVGPathSegLinetoVerticalRel(FLOAT y, ISVGPathSegLinetoVerticalRel** ppResult)
| y | FLOAT | in | 垂直線の終点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegLinetoVerticalRel** | out | 新しく作成した相対垂直線(v)セグメントを表す ISVGPathSegLinetoVerticalRel を受け取る出力ポインタである。 |
vtbl 27 HRESULT createSVGPathSegCurvetoCubicSmoothAbs(FLOAT x, FLOAT y, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicSmoothAbs** ppResult)
| x | FLOAT | in | スムーズ 3 次ベジェ曲線の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | スムーズ 3 次ベジェ曲線の終点の絶対 y 座標を指定する。 |
| x2 | FLOAT | in | 終点側の制御点の絶対 x 座標を指定する。 |
| y2 | FLOAT | in | 終点側の制御点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoCubicSmoothAbs** | out | 新しく作成した絶対スムーズ 3 次ベジェ曲線(S)セグメントを表す ISVGPathSegCurvetoCubicSmoothAbs を受け取る出力ポインタである。 |
vtbl 28 HRESULT createSVGPathSegCurvetoCubicSmoothRel(FLOAT x, FLOAT y, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicSmoothRel** ppResult)
| x | FLOAT | in | スムーズ 3 次ベジェ曲線の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | スムーズ 3 次ベジェ曲線の終点の相対 y 座標を指定する。 |
| x2 | FLOAT | in | 終点側の制御点の相対 x 座標を指定する。 |
| y2 | FLOAT | in | 終点側の制御点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoCubicSmoothRel** | out | 新しく作成した相対スムーズ 3 次ベジェ曲線(s)セグメントを表す ISVGPathSegCurvetoCubicSmoothRel を受け取る出力ポインタである。 |
vtbl 29 HRESULT createSVGPathSegCurvetoQuadraticSmoothAbs(FLOAT x, FLOAT y, ISVGPathSegCurvetoQuadraticSmoothAbs** ppResult)
| x | FLOAT | in | スムーズ 2 次ベジェ曲線の終点の絶対 x 座標を指定する。 |
| y | FLOAT | in | スムーズ 2 次ベジェ曲線の終点の絶対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoQuadraticSmoothAbs** | out | 新しく作成した絶対スムーズ 2 次ベジェ曲線(T)セグメントを表す ISVGPathSegCurvetoQuadraticSmoothAbs を受け取る出力ポインタである。 |
vtbl 30 HRESULT createSVGPathSegCurvetoQuadraticSmoothRel(FLOAT x, FLOAT y, ISVGPathSegCurvetoQuadraticSmoothRel** ppResult)
| x | FLOAT | in | スムーズ 2 次ベジェ曲線の終点の相対 x 座標を指定する。 |
| y | FLOAT | in | スムーズ 2 次ベジェ曲線の終点の相対 y 座標を指定する。 |
| ppResult | ISVGPathSegCurvetoQuadraticSmoothRel** | out | 新しく作成した相対スムーズ 2 次ベジェ曲線(t)セグメントを表す ISVGPathSegCurvetoQuadraticSmoothRel を受け取る出力ポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ISVGPathElement "{30510512-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global ISVGPathElement IID_ISVGPathElement "{305105B2-98B5-11CF-BB82-00AA00BDCE0B}" #comfunc global ISVGPathElement_putref_pathLength 7 sptr #comfunc global ISVGPathElement_get_pathLength 8 sptr #comfunc global ISVGPathElement_getTotalLength 9 var #comfunc global ISVGPathElement_getPointAtLength 10 float,sptr #comfunc global ISVGPathElement_getPathSegAtLength 11 float,var #comfunc global ISVGPathElement_createSVGPathSegClosePath 12 sptr #comfunc global ISVGPathElement_createSVGPathSegMovetoAbs 13 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegMovetoRel 14 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoAbs 15 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoRel 16 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicAbs 17 float,float,float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicRel 18 float,float,float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticAbs 19 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticRel 20 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegArcAbs 21 float,float,float,float,float,int,int,sptr #comfunc global ISVGPathElement_createSVGPathSegArcRel 22 float,float,float,float,float,int,int,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoHorizontalAbs 23 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoHorizontalRel 24 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoVerticalAbs 25 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoVerticalRel 26 float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicSmoothAbs 27 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicSmoothRel 28 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothAbs 29 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothRel 30 float,float,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ISVGPathElement "{30510512-98B5-11CF-BB82-00AA00BDCE0B}" #usecom global ISVGPathElement IID_ISVGPathElement "{305105B2-98B5-11CF-BB82-00AA00BDCE0B}" #comfunc global ISVGPathElement_putref_pathLength 7 sptr #comfunc global ISVGPathElement_get_pathLength 8 sptr #comfunc global ISVGPathElement_getTotalLength 9 sptr #comfunc global ISVGPathElement_getPointAtLength 10 float,sptr #comfunc global ISVGPathElement_getPathSegAtLength 11 float,sptr #comfunc global ISVGPathElement_createSVGPathSegClosePath 12 sptr #comfunc global ISVGPathElement_createSVGPathSegMovetoAbs 13 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegMovetoRel 14 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoAbs 15 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoRel 16 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicAbs 17 float,float,float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicRel 18 float,float,float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticAbs 19 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticRel 20 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegArcAbs 21 float,float,float,float,float,int,int,sptr #comfunc global ISVGPathElement_createSVGPathSegArcRel 22 float,float,float,float,float,int,int,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoHorizontalAbs 23 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoHorizontalRel 24 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoVerticalAbs 25 float,sptr #comfunc global ISVGPathElement_createSVGPathSegLinetoVerticalRel 26 float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicSmoothAbs 27 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoCubicSmoothRel 28 float,float,float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothAbs 29 float,float,sptr #comfunc global ISVGPathElement_createSVGPathSegCurvetoQuadraticSmoothRel 30 float,float,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。