Поделиться через


Метод 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

Количество LONG, то есть количество пакетов, умноженное на количество свойств, в буфере pPacketProperties .

[in] pPacketProperties

Буфер, содержащий свойства пакета.

[in] fInkToDeviceScaleX

Коэффициент преобразования по горизонтали или оси X для горизонтальной оси из пространства рукописного ввода в координаты дигитайзера.

[in] fInkToDeviceScaleY

Коэффициент преобразования вертикальной оси (Y) для вертикальной оси из пространства рукописного ввода в координаты дигитайзера.

[in, out] ppIInkStroke

Указатель на новый росчерк. Это значение может иметь значение NULL.

Возвращаемое значение

Описание возвращаемых значений см. в разделе Классы и интерфейсы RealTimeStylus.

Комментарии

Используется в сочетании с методами IStrokeBuilder::AppendPackets и IStrokeBuilder::EndStroke Method . Метод IStrokeBuilder::BeginStroke начинает построение росчерка. По мере продолжения движения и получения дополнительных пакетов метод IStrokeBuilder::AppendPackets добавляет эти дополнительные данные обводки. Если перо планшета поднимается с поверхности и входящие пакеты больше не отображаются, вызывается метод IStrokeBuilder::EndStroke Method .

Примеры

В следующем примере C++ показана реализация метода метода IStylusPlugin::StylusDown в объекте интерфейса IStylusPlugin . Подключаемый модуль использует объект 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 Tablet PC Edition [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header rtscom.h
DLL RTSCom.dll

См. также раздел

Класс DynamicRenderer

IStrokeBuilder

Метод IStrokeBuilder::AppendPackets

Метод IStrokeBuilder::CreateStroke

Метод IStrokeBuilder::EndStroke

Класс StrokeBuilder