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
Método IStrokeBuilder::AppendPackets
Método IStrokeBuilder::CreateStroke