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

ISVGMatrix

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

メソッド 23

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

vtbl 7 HRESULT put_a(FLOAT v)
vFLOATin変換行列の成分 a(水平方向の拡大縮小)を指定する。
vtbl 8 HRESULT get_a(FLOAT* p)
pFLOAT*out変換行列の成分 a を受け取る変数へのポインタである。
vtbl 9 HRESULT put_b(FLOAT v)
vFLOATin変換行列の成分 b(垂直方向の傾斜)を指定する。
vtbl 10 HRESULT get_b(FLOAT* p)
pFLOAT*out変換行列の成分 b を受け取る変数へのポインタである。
vtbl 11 HRESULT put_c(FLOAT v)
vFLOATin変換行列の成分 c(水平方向の傾斜)を指定する。
vtbl 12 HRESULT get_c(FLOAT* p)
pFLOAT*out変換行列の成分 c を受け取る変数へのポインタである。
vtbl 13 HRESULT put_d(FLOAT v)
vFLOATin変換行列の成分 d(垂直方向の拡大縮小)を指定する。
vtbl 14 HRESULT get_d(FLOAT* p)
pFLOAT*out変換行列の成分 d を受け取る変数へのポインタである。
vtbl 15 HRESULT put_e(FLOAT v)
vFLOATin変換行列の成分 e(水平方向の移動)を指定する。
vtbl 16 HRESULT get_e(FLOAT* p)
pFLOAT*out変換行列の成分 e を受け取る変数へのポインタである。
vtbl 17 HRESULT put_f(FLOAT v)
vFLOATin変換行列の成分 f(垂直方向の移動)を指定する。
vtbl 18 HRESULT get_f(FLOAT* p)
pFLOAT*out変換行列の成分 f を受け取る変数へのポインタである。
vtbl 19 HRESULT multiply(ISVGMatrix* secondMatrix, ISVGMatrix** ppResult)
secondMatrixISVGMatrix*in右から乗算する 2 番目の行列を表す ISVGMatrix インターフェイスポインタを渡す。
ppResultISVGMatrix**out現在の行列と secondMatrix を乗算した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 20 HRESULT inverse(ISVGMatrix** ppResult)
ppResultISVGMatrix**out現在の行列の逆行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 21 HRESULT translate(FLOAT x, FLOAT y, ISVGMatrix** ppResult)
xFLOATin平行移動の水平方向成分を指定する。
yFLOATin平行移動の垂直方向成分を指定する。
ppResultISVGMatrix**out平行移動を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 22 HRESULT scale(FLOAT scaleFactor, ISVGMatrix** ppResult)
scaleFactorFLOATin両軸に等しく適用する拡大縮小係数を指定する。
ppResultISVGMatrix**out拡大縮小を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 23 HRESULT scaleNonUniform(FLOAT scaleFactorX, FLOAT scaleFactorY, ISVGMatrix** ppResult)
scaleFactorXFLOATin水平方向の拡大縮小係数を指定する。
scaleFactorYFLOATin垂直方向の拡大縮小係数を指定する。
ppResultISVGMatrix**out非一様な拡大縮小を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 24 HRESULT rotate(FLOAT angle, ISVGMatrix** ppResult)
angleFLOATin回転角を度単位で指定する。
ppResultISVGMatrix**out回転を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 25 HRESULT rotateFromVector(FLOAT x, FLOAT y, ISVGMatrix** ppResult)
xFLOATin回転方向を定めるベクトルの x 成分を指定する。
yFLOATin回転方向を定めるベクトルの y 成分を指定する。
ppResultISVGMatrix**out指定ベクトルに基づく回転を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 26 HRESULT flipX(ISVGMatrix** ppResult)
ppResultISVGMatrix**outx 軸方向に反転した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 27 HRESULT flipY(ISVGMatrix** ppResult)
ppResultISVGMatrix**outy 軸方向に反転した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 28 HRESULT skewX(FLOAT angle, ISVGMatrix** ppResult)
angleFLOATinx 軸方向の傾斜角を度単位で指定する。
ppResultISVGMatrix**outx 方向の傾斜を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。
vtbl 29 HRESULT skewY(FLOAT angle, ISVGMatrix** ppResult)
angleFLOATiny 軸方向の傾斜角を度単位で指定する。
ppResultISVGMatrix**outy 方向の傾斜を適用した結果の行列を表す ISVGMatrix インターフェイスポインタを受け取るアドレスである。

HSP用 COM定義

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

出力引数:
#define global IID_ISVGMatrix "{305104F6-98B5-11CF-BB82-00AA00BDCE0B}"
#usecom global ISVGMatrix IID_ISVGMatrix "{}"
#comfunc global ISVGMatrix_put_a             7 float
#comfunc global ISVGMatrix_get_a             8 var
#comfunc global ISVGMatrix_put_b             9 float
#comfunc global ISVGMatrix_get_b             10 var
#comfunc global ISVGMatrix_put_c             11 float
#comfunc global ISVGMatrix_get_c             12 var
#comfunc global ISVGMatrix_put_d             13 float
#comfunc global ISVGMatrix_get_d             14 var
#comfunc global ISVGMatrix_put_e             15 float
#comfunc global ISVGMatrix_get_e             16 var
#comfunc global ISVGMatrix_put_f             17 float
#comfunc global ISVGMatrix_get_f             18 var
#comfunc global ISVGMatrix_multiply          19 sptr,sptr
#comfunc global ISVGMatrix_inverse           20 sptr
#comfunc global ISVGMatrix_translate         21 float,float,sptr
#comfunc global ISVGMatrix_scale             22 float,sptr
#comfunc global ISVGMatrix_scaleNonUniform   23 float,float,sptr
#comfunc global ISVGMatrix_rotate            24 float,sptr
#comfunc global ISVGMatrix_rotateFromVector  25 float,float,sptr
#comfunc global ISVGMatrix_flipX             26 sptr
#comfunc global ISVGMatrix_flipY             27 sptr
#comfunc global ISVGMatrix_skewX             28 float,sptr
#comfunc global ISVGMatrix_skewY             29 float,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。