Compartilhar via


Método IStrokeBuilder::BeginStroke (rtscom.h)

Inicia um traço em um objeto de tinta usando dados de pacote de um objeto Classe RealTimeStylus .

Sintaxe

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
);

Parâmetros

[in] tcid

O identificador de contexto do tablet.

[in] sid

O identificador de caneta.

[in] pPacket

O início dos dados do pacote. Ela é somente leitura.

[in] cPacketProperties

A contagem de LONGs, que é o número de pacotes multiplicados pelo número de propriedades, no buffer pPacketProperties .

[in] pPacketProperties

O buffer que contém as propriedades do pacote.

[in] fInkToDeviceScaleX

O fator de conversão horizontal, ou eixo x, para o eixo horizontal, do espaço à tinta para as coordenadas do digitalizador.

[in] fInkToDeviceScaleY

O fator de conversão vertical ou do eixo y para o eixo vertical, do espaço à tinta para as coordenadas do digitalizador.

[in, out] ppIInkStroke

Um ponteiro para o novo traço. Esse valor pode ser NULL.

Retornar valor

Para obter uma descrição dos valores retornados, consulte Classes e Interfaces RealTimeStylus.

Comentários

Usado em conjunto com os métodos Método IStrokeBuilder::AppendPackets e Método IStrokeBuilder::EndStroke . O Método IStrokeBuilder::BeginStroke começa a criar o traço. À medida que o movimento continua e pacotes adicionais são recebidos, o método método IStrokeBuilder::AppendPackets adiciona esses dados adicionais de traço. Quando a caneta tablet é gerada da superfície e não há mais pacotes de entrada, o método método IStrokeBuilder::EndStroke é chamado.

Exemplos

O exemplo C++ a seguir mostra a implementação de um método IStylusPlugin::StylusDown em um objeto interface IStylusPlugin . O plug-in usa um objeto StrokeBuilder para criar um novo traço de tinta. O método IStrokeBuilder::BeginStroke é chamado do Método IStylusPlugin::StylusDown para iniciar a construção de um traço.

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;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho rtscom.h
DLL RTSCom.dll

Confira também

Classe DynamicRenderer

IStrokeBuilder

Método IStrokeBuilder::AppendPackets

Método IStrokeBuilder::CreateStroke

Método IStrokeBuilder::EndStroke

Classe StrokeBuilder