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

ISVGPathElement

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

メソッド 24

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

vtbl 7 HRESULT putref_pathLength(ISVGAnimatedNumber* v)
vISVGAnimatedNumber*inパスの全長を表す pathLength 属性を表す ISVGAnimatedNumber への参照を設定する。
vtbl 8 HRESULT get_pathLength(ISVGAnimatedNumber** p)
pISVGAnimatedNumber**outパスの全長を表す pathLength 属性を表す ISVGAnimatedNumber を受け取る出力ポインタである。
vtbl 9 HRESULT getTotalLength(FLOAT* pfltResult)
pfltResultFLOAT*outパスの全長(計算値)を受け取る出力ポインタである。
vtbl 10 HRESULT getPointAtLength(FLOAT fltdistance, ISVGPoint** ppPointResult)
fltdistanceFLOATinパスの始点からの距離を指定する。
ppPointResultISVGPoint**out指定距離におけるパス上の点を表す ISVGPoint を受け取る出力ポインタである。
vtbl 11 HRESULT getPathSegAtLength(FLOAT fltdistance, INT* plResult)
fltdistanceFLOATinパスの始点からの距離を指定する。
plResultINT*out指定距離に対応するパスセグメントのインデックスを受け取る出力ポインタである。
vtbl 12 HRESULT createSVGPathSegClosePath(ISVGPathSegClosePath** ppResult)
ppResultISVGPathSegClosePath**out新しく作成した closepath(Z)セグメントを表す ISVGPathSegClosePath を受け取る出力ポインタである。
vtbl 13 HRESULT createSVGPathSegMovetoAbs(FLOAT x, FLOAT y, ISVGPathSegMovetoAbs** ppResult)
xFLOATin移動先の絶対 x 座標を指定する。
yFLOATin移動先の絶対 y 座標を指定する。
ppResultISVGPathSegMovetoAbs**out新しく作成した絶対 moveto(M)セグメントを表す ISVGPathSegMovetoAbs を受け取る出力ポインタである。
vtbl 14 HRESULT createSVGPathSegMovetoRel(FLOAT x, FLOAT y, ISVGPathSegMovetoRel** ppResult)
xFLOATin移動先の相対 x 座標を指定する。
yFLOATin移動先の相対 y 座標を指定する。
ppResultISVGPathSegMovetoRel**out新しく作成した相対 moveto(m)セグメントを表す ISVGPathSegMovetoRel を受け取る出力ポインタである。
vtbl 15 HRESULT createSVGPathSegLinetoAbs(FLOAT x, FLOAT y, ISVGPathSegLinetoAbs** ppResult)
xFLOATin直線の終点の絶対 x 座標を指定する。
yFLOATin直線の終点の絶対 y 座標を指定する。
ppResultISVGPathSegLinetoAbs**out新しく作成した絶対 lineto(L)セグメントを表す ISVGPathSegLinetoAbs を受け取る出力ポインタである。
vtbl 16 HRESULT createSVGPathSegLinetoRel(FLOAT x, FLOAT y, ISVGPathSegLinetoRel** ppResult)
xFLOATin直線の終点の相対 x 座標を指定する。
yFLOATin直線の終点の相対 y 座標を指定する。
ppResultISVGPathSegLinetoRel**out新しく作成した相対 lineto(l)セグメントを表す ISVGPathSegLinetoRel を受け取る出力ポインタである。
vtbl 17 HRESULT createSVGPathSegCurvetoCubicAbs(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicAbs** ppResult)
xFLOATin3 次ベジェ曲線の終点の絶対 x 座標を指定する。
yFLOATin3 次ベジェ曲線の終点の絶対 y 座標を指定する。
x1FLOATin始点側の制御点の絶対 x 座標を指定する。
y1FLOATin始点側の制御点の絶対 y 座標を指定する。
x2FLOATin終点側の制御点の絶対 x 座標を指定する。
y2FLOATin終点側の制御点の絶対 y 座標を指定する。
ppResultISVGPathSegCurvetoCubicAbs**out新しく作成した絶対 3 次ベジェ曲線(C)セグメントを表す ISVGPathSegCurvetoCubicAbs を受け取る出力ポインタである。
vtbl 18 HRESULT createSVGPathSegCurvetoCubicRel(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicRel** ppResult)
xFLOATin3 次ベジェ曲線の終点の相対 x 座標を指定する。
yFLOATin3 次ベジェ曲線の終点の相対 y 座標を指定する。
x1FLOATin始点側の制御点の相対 x 座標を指定する。
y1FLOATin始点側の制御点の相対 y 座標を指定する。
x2FLOATin終点側の制御点の相対 x 座標を指定する。
y2FLOATin終点側の制御点の相対 y 座標を指定する。
ppResultISVGPathSegCurvetoCubicRel**out新しく作成した相対 3 次ベジェ曲線(c)セグメントを表す ISVGPathSegCurvetoCubicRel を受け取る出力ポインタである。
vtbl 19 HRESULT createSVGPathSegCurvetoQuadraticAbs(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, ISVGPathSegCurvetoQuadraticAbs** ppResult)
xFLOATin2 次ベジェ曲線の終点の絶対 x 座標を指定する。
yFLOATin2 次ベジェ曲線の終点の絶対 y 座標を指定する。
x1FLOATin制御点の絶対 x 座標を指定する。
y1FLOATin制御点の絶対 y 座標を指定する。
ppResultISVGPathSegCurvetoQuadraticAbs**out新しく作成した絶対 2 次ベジェ曲線(Q)セグメントを表す ISVGPathSegCurvetoQuadraticAbs を受け取る出力ポインタである。
vtbl 20 HRESULT createSVGPathSegCurvetoQuadraticRel(FLOAT x, FLOAT y, FLOAT x1, FLOAT y1, ISVGPathSegCurvetoQuadraticRel** ppResult)
xFLOATin2 次ベジェ曲線の終点の相対 x 座標を指定する。
yFLOATin2 次ベジェ曲線の終点の相対 y 座標を指定する。
x1FLOATin制御点の相対 x 座標を指定する。
y1FLOATin制御点の相対 y 座標を指定する。
ppResultISVGPathSegCurvetoQuadraticRel**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)
xFLOATin円弧の終点の絶対 x 座標を指定する。
yFLOATin円弧の終点の絶対 y 座標を指定する。
r1FLOATin楕円弧の x 軸方向の半径を指定する。
r2FLOATin楕円弧の y 軸方向の半径を指定する。
angleFLOATin楕円の x 軸を回転させる角度(度)を指定する。
largeArcFlagVARIANT_BOOLin大きい方の円弧を描くかどうかを示す large-arc フラグを指定する。
sweepFlagVARIANT_BOOLin円弧を時計回りに描くかどうかを示す sweep フラグを指定する。
ppResultISVGPathSegArcAbs**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)
xFLOATin円弧の終点の相対 x 座標を指定する。
yFLOATin円弧の終点の相対 y 座標を指定する。
r1FLOATin楕円弧の x 軸方向の半径を指定する。
r2FLOATin楕円弧の y 軸方向の半径を指定する。
angleFLOATin楕円の x 軸を回転させる角度(度)を指定する。
largeArcFlagVARIANT_BOOLin大きい方の円弧を描くかどうかを示す large-arc フラグを指定する。
sweepFlagVARIANT_BOOLin円弧を時計回りに描くかどうかを示す sweep フラグを指定する。
ppResultISVGPathSegArcRel**out新しく作成した相対円弧(a)セグメントを表す ISVGPathSegArcRel を受け取る出力ポインタである。
vtbl 23 HRESULT createSVGPathSegLinetoHorizontalAbs(FLOAT x, ISVGPathSegLinetoHorizontalAbs** ppResult)
xFLOATin水平線の終点の絶対 x 座標を指定する。
ppResultISVGPathSegLinetoHorizontalAbs**out新しく作成した絶対水平線(H)セグメントを表す ISVGPathSegLinetoHorizontalAbs を受け取る出力ポインタである。
vtbl 24 HRESULT createSVGPathSegLinetoHorizontalRel(FLOAT x, ISVGPathSegLinetoHorizontalRel** ppResult)
xFLOATin水平線の終点の相対 x 座標を指定する。
ppResultISVGPathSegLinetoHorizontalRel**out新しく作成した相対水平線(h)セグメントを表す ISVGPathSegLinetoHorizontalRel を受け取る出力ポインタである。
vtbl 25 HRESULT createSVGPathSegLinetoVerticalAbs(FLOAT y, ISVGPathSegLinetoVerticalAbs** ppResult)
yFLOATin垂直線の終点の絶対 y 座標を指定する。
ppResultISVGPathSegLinetoVerticalAbs**out新しく作成した絶対垂直線(V)セグメントを表す ISVGPathSegLinetoVerticalAbs を受け取る出力ポインタである。
vtbl 26 HRESULT createSVGPathSegLinetoVerticalRel(FLOAT y, ISVGPathSegLinetoVerticalRel** ppResult)
yFLOATin垂直線の終点の相対 y 座標を指定する。
ppResultISVGPathSegLinetoVerticalRel**out新しく作成した相対垂直線(v)セグメントを表す ISVGPathSegLinetoVerticalRel を受け取る出力ポインタである。
vtbl 27 HRESULT createSVGPathSegCurvetoCubicSmoothAbs(FLOAT x, FLOAT y, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicSmoothAbs** ppResult)
xFLOATinスムーズ 3 次ベジェ曲線の終点の絶対 x 座標を指定する。
yFLOATinスムーズ 3 次ベジェ曲線の終点の絶対 y 座標を指定する。
x2FLOATin終点側の制御点の絶対 x 座標を指定する。
y2FLOATin終点側の制御点の絶対 y 座標を指定する。
ppResultISVGPathSegCurvetoCubicSmoothAbs**out新しく作成した絶対スムーズ 3 次ベジェ曲線(S)セグメントを表す ISVGPathSegCurvetoCubicSmoothAbs を受け取る出力ポインタである。
vtbl 28 HRESULT createSVGPathSegCurvetoCubicSmoothRel(FLOAT x, FLOAT y, FLOAT x2, FLOAT y2, ISVGPathSegCurvetoCubicSmoothRel** ppResult)
xFLOATinスムーズ 3 次ベジェ曲線の終点の相対 x 座標を指定する。
yFLOATinスムーズ 3 次ベジェ曲線の終点の相対 y 座標を指定する。
x2FLOATin終点側の制御点の相対 x 座標を指定する。
y2FLOATin終点側の制御点の相対 y 座標を指定する。
ppResultISVGPathSegCurvetoCubicSmoothRel**out新しく作成した相対スムーズ 3 次ベジェ曲線(s)セグメントを表す ISVGPathSegCurvetoCubicSmoothRel を受け取る出力ポインタである。
vtbl 29 HRESULT createSVGPathSegCurvetoQuadraticSmoothAbs(FLOAT x, FLOAT y, ISVGPathSegCurvetoQuadraticSmoothAbs** ppResult)
xFLOATinスムーズ 2 次ベジェ曲線の終点の絶対 x 座標を指定する。
yFLOATinスムーズ 2 次ベジェ曲線の終点の絶対 y 座標を指定する。
ppResultISVGPathSegCurvetoQuadraticSmoothAbs**out新しく作成した絶対スムーズ 2 次ベジェ曲線(T)セグメントを表す ISVGPathSegCurvetoQuadraticSmoothAbs を受け取る出力ポインタである。
vtbl 30 HRESULT createSVGPathSegCurvetoQuadraticSmoothRel(FLOAT x, FLOAT y, ISVGPathSegCurvetoQuadraticSmoothRel** ppResult)
xFLOATinスムーズ 2 次ベジェ曲線の終点の相対 x 座標を指定する。
yFLOATinスムーズ 2 次ベジェ曲線の終点の相対 y 座標を指定する。
ppResultISVGPathSegCurvetoQuadraticSmoothRel**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 不要)。