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

IInkStrokes

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

メソッド 20

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

vtbl 7 HRESULT get_Count(INT* Count)
CountINT*outコレクションに含まれるストロークの個数を受け取るポインタである。
vtbl 8 HRESULT get__NewEnum(IUnknown** _NewEnum)
_NewEnumIUnknown**outコレクションを反復処理するための列挙子 (IEnumVARIANT) を受け取る IUnknown ポインタである。
vtbl 9 HRESULT get_Ink(IInkDisp** Ink)
InkIInkDisp**outこれらのストロークが属するインク オブジェクトを受け取るポインタである。
vtbl 10 HRESULT get_RecognitionResult(IInkRecognitionResult** RecognitionResult)
RecognitionResultIInkRecognitionResult**outこのストローク コレクションに関連付けられた認識結果を受け取るポインタである。
vtbl 11 HRESULT ToString(LPWSTR* ToString)
ToStringLPWSTR*outストローク コレクションの認識文字列を受け取るポインタである。
vtbl 12 HRESULT Item(INT Index, IInkStrokeDisp** Stroke)
IndexINTin取得するストロークの 0 から始まるインデックスを指定する。
StrokeIInkStrokeDisp**out指定したインデックスのストローク オブジェクトを受け取るポインタである。
vtbl 13 HRESULT Add(IInkStrokeDisp* InkStroke)
InkStrokeIInkStrokeDisp*inoptionalコレクションに追加するストローク オブジェクトへのポインタである。
vtbl 14 HRESULT AddStrokes(IInkStrokes* InkStrokes)
InkStrokesIInkStrokes*inoptionalコレクションにまとめて追加するストローク コレクションへのポインタである。
vtbl 15 HRESULT Remove(IInkStrokeDisp* InkStroke)
InkStrokeIInkStrokeDisp*inoptionalコレクションから削除するストローク オブジェクトへのポインタである。
vtbl 16 HRESULT RemoveStrokes(IInkStrokes* InkStrokes)
InkStrokesIInkStrokes*inoptionalコレクションからまとめて削除するストローク コレクションへのポインタである。
vtbl 17 HRESULT ModifyDrawingAttributes(IInkDrawingAttributes* DrawAttrs)
DrawAttrsIInkDrawingAttributes*inoptionalコレクション内のすべてのストロークに適用する描画属性オブジェクトへのポインタである。
vtbl 18 HRESULT GetBoundingBox(InkBoundingBoxMode BoundingBoxMode, IInkRectangle** BoundingBox)
BoundingBoxModeInkBoundingBoxModein境界ボックスの算出方法を指定する InkBoundingBoxMode 値である。
BoundingBoxIInkRectangle**outストローク コレクション全体の境界矩形を受け取るポインタである。
vtbl 19 HRESULT Transform(IInkTransform* Transform, VARIANT_BOOL ApplyOnPenWidth)
TransformIInkTransform*inoptionalコレクション内のストロークに適用する変換オブジェクトへのポインタである。
ApplyOnPenWidthVARIANT_BOOLin変換をペン幅にも適用するかどうかを指定する VARIANT_BOOL である。
vtbl 20 HRESULT ScaleToRectangle(IInkRectangle* Rectangle)
RectangleIInkRectangle*inoptionalストローク コレクションを拡大縮小して収める基準となる矩形へのポインタである。
vtbl 21 HRESULT Move(FLOAT HorizontalComponent, FLOAT VerticalComponent)
HorizontalComponentFLOATin水平方向の移動量を指定する。
VerticalComponentFLOATin垂直方向の移動量を指定する。
vtbl 22 HRESULT Rotate(FLOAT Degrees, FLOAT x, FLOAT y)
DegreesFLOATin回転角度を度単位で指定する。
xFLOATin回転中心の X 座標を指定する。
yFLOATin回転中心の Y 座標を指定する。
vtbl 23 HRESULT Shear(FLOAT HorizontalMultiplier, FLOAT VerticalMultiplier)
HorizontalMultiplierFLOATin水平方向のせん断係数を指定する。
VerticalMultiplierFLOATin垂直方向のせん断係数を指定する。
vtbl 24 HRESULT ScaleTransform(FLOAT HorizontalMultiplier, FLOAT VerticalMultiplier)
HorizontalMultiplierFLOATin水平方向の拡大縮小倍率を指定する。
VerticalMultiplierFLOATin垂直方向の拡大縮小倍率を指定する。
vtbl 25 HRESULT Clip(IInkRectangle* Rectangle)
RectangleIInkRectangle*inoptionalストローク コレクションを切り取る境界となる矩形へのポインタである。
vtbl 26 HRESULT RemoveRecognitionResult()

HSP用 COM定義

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

出力引数:
#define global IID_IInkStrokes "{F1F4C9D8-590A-4963-B3AE-1935671BB6F3}"
#usecom global IInkStrokes IID_IInkStrokes "{48F491BC-240E-4860-B079-A1E94D3D2C86}"
#comfunc global IInkStrokes_get_Count                7 var
#comfunc global IInkStrokes_get__NewEnum             8 sptr
#comfunc global IInkStrokes_get_Ink                  9 sptr
#comfunc global IInkStrokes_get_RecognitionResult    10 sptr
#comfunc global IInkStrokes_ToString                 11 var
#comfunc global IInkStrokes_Item                     12 int,sptr
#comfunc global IInkStrokes_Add                      13 sptr
#comfunc global IInkStrokes_AddStrokes               14 sptr
#comfunc global IInkStrokes_Remove                   15 sptr
#comfunc global IInkStrokes_RemoveStrokes            16 sptr
#comfunc global IInkStrokes_ModifyDrawingAttributes  17 sptr
#comfunc global IInkStrokes_GetBoundingBox           18 int,sptr
#comfunc global IInkStrokes_Transform                19 sptr,int
#comfunc global IInkStrokes_ScaleToRectangle         20 sptr
#comfunc global IInkStrokes_Move                     21 float,float
#comfunc global IInkStrokes_Rotate                   22 float,float,float
#comfunc global IInkStrokes_Shear                    23 float,float
#comfunc global IInkStrokes_ScaleTransform           24 float,float
#comfunc global IInkStrokes_Clip                     25 sptr
#comfunc global IInkStrokes_RemoveRecognitionResult  26
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。