Win32 API 日本語リファレンス
ホームUI.TabletPC › IInkTransform

IInkTransform

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID615f1d43-8703-4565-88e2-8201d2ecd7b7継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 22

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

vtbl 7 HRESULT Reset()
vtbl 8 HRESULT Translate(FLOAT HorizontalComponent, FLOAT VerticalComponent)
HorizontalComponentFLOATin水平方向の平行移動量を指定する。
VerticalComponentFLOATin垂直方向の平行移動量を指定する。
vtbl 9 HRESULT Rotate(FLOAT Degrees, FLOAT x, FLOAT y)
DegreesFLOATin回転角度を度単位で指定する。
xFLOATin回転中心の X 座標を指定する。
yFLOATin回転中心の Y 座標を指定する。
vtbl 10 HRESULT Reflect(VARIANT_BOOL Horizontally, VARIANT_BOOL Vertically)
HorizontallyVARIANT_BOOLin水平方向(X 軸に対する反転)に反射させるかどうかを指定する VARIANT_BOOL である。
VerticallyVARIANT_BOOLin垂直方向(Y 軸に対する反転)に反射させるかどうかを指定する VARIANT_BOOL である。
vtbl 11 HRESULT Shear(FLOAT HorizontalComponent, FLOAT VerticalComponent)
HorizontalComponentFLOATin水平方向のせん断係数を指定する。
VerticalComponentFLOATin垂直方向のせん断係数を指定する。
vtbl 12 HRESULT ScaleTransform(FLOAT HorizontalMultiplier, FLOAT VerticalMultiplier)
HorizontalMultiplierFLOATin水平方向の拡大縮小倍率を指定する。
VerticalMultiplierFLOATin垂直方向の拡大縮小倍率を指定する。
vtbl 13 HRESULT GetTransform(FLOAT* eM11, FLOAT* eM12, FLOAT* eM21, FLOAT* eM22, FLOAT* eDx, FLOAT* eDy)
eM11FLOAT*out変換行列の M11 要素(水平方向のスケール)を受け取るポインタである。
eM12FLOAT*out変換行列の M12 要素を受け取るポインタである。
eM21FLOAT*out変換行列の M21 要素を受け取るポインタである。
eM22FLOAT*out変換行列の M22 要素(垂直方向のスケール)を受け取るポインタである。
eDxFLOAT*out変換行列の水平方向の平行移動量を受け取るポインタである。
eDyFLOAT*out変換行列の垂直方向の平行移動量を受け取るポインタである。
vtbl 14 HRESULT SetTransform(FLOAT eM11, FLOAT eM12, FLOAT eM21, FLOAT eM22, FLOAT eDx, FLOAT eDy)
eM11FLOATin設定する変換行列の M11 要素(水平方向のスケール)を指定する。
eM12FLOATin設定する変換行列の M12 要素を指定する。
eM21FLOATin設定する変換行列の M21 要素を指定する。
eM22FLOATin設定する変換行列の M22 要素(垂直方向のスケール)を指定する。
eDxFLOATin設定する変換行列の水平方向の平行移動量を指定する。
eDyFLOATin設定する変換行列の垂直方向の平行移動量を指定する。
vtbl 15 HRESULT get_eM11(FLOAT* Value)
ValueFLOAT*out変換行列の M11 要素の現在値を受け取るポインタである。
vtbl 16 HRESULT put_eM11(FLOAT Value)
ValueFLOATin変換行列の M11 要素に設定する値を指定する。
vtbl 17 HRESULT get_eM12(FLOAT* Value)
ValueFLOAT*out変換行列の M12 要素の現在値を受け取るポインタである。
vtbl 18 HRESULT put_eM12(FLOAT Value)
ValueFLOATin変換行列の M12 要素に設定する値を指定する。
vtbl 19 HRESULT get_eM21(FLOAT* Value)
ValueFLOAT*out変換行列の M21 要素の現在値を受け取るポインタである。
vtbl 20 HRESULT put_eM21(FLOAT Value)
ValueFLOATin変換行列の M21 要素に設定する値を指定する。
vtbl 21 HRESULT get_eM22(FLOAT* Value)
ValueFLOAT*out変換行列の M22 要素の現在値を受け取るポインタである。
vtbl 22 HRESULT put_eM22(FLOAT Value)
ValueFLOATin変換行列の M22 要素に設定する値を指定する。
vtbl 23 HRESULT get_eDx(FLOAT* Value)
ValueFLOAT*out変換行列の水平方向の平行移動量の現在値を受け取るポインタである。
vtbl 24 HRESULT put_eDx(FLOAT Value)
ValueFLOATin変換行列の水平方向の平行移動量に設定する値を指定する。
vtbl 25 HRESULT get_eDy(FLOAT* Value)
ValueFLOAT*out変換行列の垂直方向の平行移動量の現在値を受け取るポインタである。
vtbl 26 HRESULT put_eDy(FLOAT Value)
ValueFLOATin変換行列の垂直方向の平行移動量に設定する値を指定する。
vtbl 27 HRESULT get_Data(XFORM* XForm)
XFormXFORM*out変換全体を表す XFORM 構造体を受け取るポインタである。
vtbl 28 HRESULT put_Data(XFORM XForm)
XFormXFORMin設定する変換を表す XFORM 構造体である。

HSP用 COM定義

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

出力引数:
#define global IID_IInkTransform "{615F1D43-8703-4565-88E2-8201D2ECD7B7}"
#usecom global IInkTransform IID_IInkTransform "{E3D5D93C-1663-4A78-A1A7-22375DFEBAEE}"
#comfunc global IInkTransform_Reset           7
#comfunc global IInkTransform_Translate       8 float,float
#comfunc global IInkTransform_Rotate          9 float,float,float
#comfunc global IInkTransform_Reflect         10 int,int
#comfunc global IInkTransform_Shear           11 float,float
#comfunc global IInkTransform_ScaleTransform  12 float,float
#comfunc global IInkTransform_GetTransform    13 var,var,var,var,var,var
#comfunc global IInkTransform_SetTransform    14 float,float,float,float,float,float
#comfunc global IInkTransform_get_eM11        15 var
#comfunc global IInkTransform_put_eM11        16 float
#comfunc global IInkTransform_get_eM12        17 var
#comfunc global IInkTransform_put_eM12        18 float
#comfunc global IInkTransform_get_eM21        19 var
#comfunc global IInkTransform_put_eM21        20 float
#comfunc global IInkTransform_get_eM22        21 var
#comfunc global IInkTransform_put_eM22        22 float
#comfunc global IInkTransform_get_eDx         23 var
#comfunc global IInkTransform_put_eDx         24 float
#comfunc global IInkTransform_get_eDy         25 var
#comfunc global IInkTransform_put_eDy         26 float
#comfunc global IInkTransform_get_Data        27 var
#comfunc global IInkTransform_put_Data        28 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。