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

IInkGesture

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID3bdc0a97-04e5-4e26-b813-18f052d41def継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

ジェスチャ認識から返されたジェスチャの特定のプロパティを照会する機能を表します。

解説(Remarks)

ジェスチャのサポートは、Microsoft ジェスチャ認識エンジンを使用することで組み込まれています。利用可能なジェスチャは InkApplicationGesture 列挙型で定義されています。ジェスチャの詳細については、Using Gestures および Command Input on the Tablet PC を参照してください。

このインターフェイスを実装するクラスを独自に定義した場合、その新しいクラスは Tablet PC のアプリケーション プログラミング インターフェイス (API) と正しく連携しません。

メソッド 3

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

vtbl 7 HRESULT get_Confidence(InkRecognitionConfidence* Confidence)

IInkRecognitionAlternate オブジェクトまたはジェスチャの認識について、認識エンジンが持つ信頼度 (strong、intermediate、poor) を取得します。(IInkGesture.get_Confidence)

ConfidenceInkRecognitionConfidence*outジェスチャ認識の信頼度(強・中・弱)を受け取る InkRecognitionConfidence へのポインタである。

解説(Remarks)

返される可能性のある信頼度の値の一覧については、InkRecognitionConfidence 列挙型を参照してください。

メモ 現在のリリースの Windows XP Tablet PC Edition では、すべてのジェスチャ認識エンジンで信頼度の評価を利用できます。

IInkRecognitionAlternate オブジェクトの場合:

代替候補が語句または文を表す場合、この値はその語句または文に含まれる認識セグメントのうち最も低い信頼度を表します。ただし、代替候補が単語を表す場合、この値はその単語の信頼度を表します。

メモ IInkRecognitionAlternate を生成する IInkRecognizer が信頼度をサポートしていない場合、このプロパティは例外をスローします。
Microsoft の認識エンジンのうち、信頼度をサポートしているのは Microsoft English (US) Handwriting Recognizer と Microsoft Gesture Recognizer のみです。サードパーティ製の認識エンジンは、信頼度をサポートする場合としない場合があります。
vtbl 8 HRESULT get_Id(InkApplicationGesture* Id)

オブジェクトの識別子を取得します。(IInkGesture.get_Id)

IdInkApplicationGesture*out認識されたジェスチャの識別子を受け取る InkApplicationGesture へのポインタである。

解説(Remarks)

オブジェクトの識別子が変化することはありません。

メモ 特定のメッセージ ハンドラー内でこのプロパティにアクセスすると、基になる関数が再入され、予期しない結果を招くことがあります。次のメッセージを処理する際は、再入呼び出しが発生しないように注意してください。WM_ACTIVATEWM_ACTIVATEAPPWM_NCACTIVATEWM_PAINTwParamSC_HOTKEY または SC_TASKLIST が設定されている場合の WM_SYSCOMMAND、および WM_SYSKEYDOWN (ALT+TAB または ALT+ESC のキーの組み合わせを処理する場合)。これはシングルスレッド アパートメント モデルのアプリケーションで発生する問題です。
vtbl 9 HRESULT GetHotPoint(INT* X, INT* Y)

ジェスチャのホット ポイントを、インク空間座標で取得します。

XINT*inoutホット ポイントの X 値 (インク空間座標)。
YINT*inoutホット ポイントの Y 値 (インク空間座標)。

戻り値

このメソッドは次のいずれかの値を返します。

リターン コード 説明
S_OK
エラー情報が提供されます。
E_POINTER
パラメーターに無効なポインターが含まれていました。
E_INK_EXCEPTION
処理中に例外が発生しました。

解説(Remarks)

ホット ポイントとは、ジェスチャを特徴付ける 1 つの点です。通常は、ジェスチャの角にあたる点、または周囲のコンテンツとの関係でジェスチャを作用させる対象となる点です。既知のジェスチャに明確なホット ポイントがない場合は、ジェスチャの開始点がホット ポイントになります。

たとえば、Check ジェスチャのホット ポイントは角にあたる点であり、Curlicue ジェスチャのホット ポイントはそのジェスチャを構成するストロークの開始点です。

ホット ポイントの使用方法の詳細については、Using Gestures を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_IInkGesture "{3BDC0A97-04E5-4E26-B813-18F052D41DEF}"
#usecom global IInkGesture IID_IInkGesture "{}"
#comfunc global IInkGesture_get_Confidence  7 var
#comfunc global IInkGesture_get_Id          8 var
#comfunc global IInkGesture_GetHotPoint     9 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。