IStrokeBuilder::BeginStroke メソッド (rtscom.h)
RealTimeStylus クラス オブジェクトのパケット データを使用して、インク オブジェクトのストロークを開始します。
構文
HRESULT BeginStroke(
[in] TABLET_CONTEXT_ID tcid,
[in] STYLUS_ID sid,
[in] const LONG *pPacket,
[in] ULONG cPacketProperties,
[in] PACKET_PROPERTY *pPacketProperties,
[in] FLOAT fInkToDeviceScaleX,
[in] FLOAT fInkToDeviceScaleY,
[in, out] IInkStrokeDisp **ppIInkStroke
);
パラメーター
[in] tcid
タブレット コンテキスト識別子。
[in] sid
スタイラス識別子。
[in] pPacket
パケット データの開始。 これは読み取り専用です。
[in] cPacketProperties
pPacketProperties バッファー内の LONG の数 (パケットの数にプロパティの数を掛けた値)。
[in] pPacketProperties
パケット のプロパティを含むバッファー。
[in] fInkToDeviceScaleX
インク空間からデジタイザー座標への横軸の水平 (x 軸) 変換係数。
[in] fInkToDeviceScaleY
インク空間からデジタイザー座標への縦軸の垂直方向 (y 軸) 変換係数。
[in, out] ppIInkStroke
新しいストロークへのポインター。 この値には NULL を指定できます。
戻り値
戻り値の説明については、「 RealTimeStylus クラスとインターフェイス」を参照してください。
注釈
IStrokeBuilder::AppendPackets メソッドおよび IStrokeBuilder::EndStroke メソッドメソッドと組み合わせて使用されます。 IStrokeBuilder::BeginStroke メソッド は、ストロークの構築を開始します。 モーションが続行され、追加のパケットが受信されると、 IStrokeBuilder::AppendPackets メソッドメソッド によって、そのストローク データが追加されます。 タブレット ペンがサーフェスから発生し、それ以上受信パケットがない場合は、 IStrokeBuilder::EndStroke メソッドが 呼び出されます。
例
次の C++ の例は、IStylusPlugin Interface オブジェクトに対する IStylusPlugin::StylusDown メソッド メソッドの実装を示しています。 プラグインは StrokeBuilder オブジェクトを使用して新しいインク ストロークを作成します。 IStrokeBuilder::BeginStroke メソッドメソッドは、ストロークの構築を開始するために IStylusPlugin::StylusDown メソッドから呼び出されます。
STDMETHODIMP CStrokeBuilderPlugin::StylusDown(
/* [in] */ IRealTimeStylus *piRtsSrc,
/* [in] */ const StylusInfo *pStylusInfo,
/* [in] */ ULONG cPropCountPerPkt,
/* [size_is][in] */ LONG *pPacket,
/* [out][in] */ LONG **ppInOutPkt)
{
FLOAT fInkToDeviceScaleX;
FLOAT fInkToDeviceScaleY;
ULONG cPacketProperties;
PACKET_PROPERTY* pPacketProperties;
// Get the info we need to call BeginStroke
HRESULT hr = piRtsSrc->GetPacketDescriptionData(pStylusInfo->tcid, &fInkToDeviceScaleX, &fInkToDeviceScaleY,
&cPacketProperties, &pPacketProperties);
if (SUCCEEDED(hr))
{
// Start creating the stroke
hr = m_pStrokeBuilder->BeginStroke(pStylusInfo->tcid, pStylusInfo->cid, pPacket, cPropCountPerPkt,
pPacketProperties, fInkToDeviceScaleX, fInkToDeviceScaleY, &m_piStroke);
}
return hr;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP タブレット PC エディション [デスクトップ アプリのみ] |
サポートされている最小のサーバー | サポートなし |
対象プラットフォーム | Windows |
ヘッダー | rtscom.h |
[DLL] | RTSCom.dll |
こちらもご覧ください
IStrokeBuilder::AppendPackets メソッド
IStrokeBuilder::CreateStroke メソッド