다음을 통해 공유


IStrokeBuilder::BeginStroke 메서드(rtscom.h)

RealTimeStylus Class 개체의 패킷 데이터를 사용하여 잉크 개체에 대한 스트로크를 시작합니다.

구문

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 클래스