次の方法で共有


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

こちらもご覧ください

DynamicRenderer クラス

IStrokeBuilder

IStrokeBuilder::AppendPackets メソッド

IStrokeBuilder::CreateStroke メソッド

IStrokeBuilder::EndStroke メソッド

StrokeBuilder クラス