Condividi tramite


Metodo IStrokeBuilder::BeginStroke (rtscom.h)

Avvia un tratto su un oggetto input penna utilizzando i dati dei pacchetti di un oggetto Classe RealTimeStylus .

Sintassi

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

Parametri

[in] tcid

Identificatore del contesto del tablet.

[in] sid

Identificatore dello stilo.

[in] pPacket

Inizio dei dati del pacchetto. È di sola lettura.

[in] cPacketProperties

Numero di LONG, ovvero il numero di pacchetti moltiplicati per il numero di proprietà, nel buffer pPacketProperties .

[in] pPacketProperties

Buffer contenente le proprietà del pacchetto.

[in] fInkToDeviceScaleX

Fattore di conversione orizzontale, o asse x, per l'asse orizzontale dallo spazio input penna alle coordinate del digitalizzatore.

[in] fInkToDeviceScaleY

Fattore di conversione verticale, o asse y, per l'asse verticale dallo spazio input penna alle coordinate del digitalizzatore.

[in, out] ppIInkStroke

Puntatore al nuovo tratto. Questo valore può essere NULL.

Valore restituito

Per una descrizione dei valori restituiti, vedere Classi e interfacce RealTimeStylus.

Commenti

Usato insieme ai metodi IStrokeBuilder::AppendPackets e IStrokeBuilder::EndStroke Method . Il metodo IStrokeBuilder::BeginStroke inizia a creare il tratto. Man mano che il movimento continua e vengono ricevuti pacchetti aggiuntivi, il metodo IStrokeBuilder::AppendPackets aggiunge i dati aggiuntivi del tratto. Quando la penna del tablet viene generata dalla superficie e non sono presenti altri pacchetti in ingresso, viene chiamato il metodo IStrokeBuilder::EndStroke Method .

Esempio

L'esempio C++ seguente illustra l'implementazione di un metodo IStylusPlugin::StylusDown Su un oggetto Interfaccia IStylusPlugin . Il plug-in usa un oggetto StrokeBuilder per creare un nuovo tratto input penna. Il metodo IStrokeBuilder::BeginStroke Method viene chiamato dal metodo IStylusPlugin::StylusDown per avviare la costruzione di un tratto.

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP Tablet PC Edition [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione rtscom.h
DLL RTSCom.dll

Vedi anche

Classe DynamicRenderer

IStrokeBuilder

Metodo IStrokeBuilder::AppendPackets

Metodo IStrokeBuilder::CreateStroke

Metodo IStrokeBuilder::EndStroke

Classe StrokeBuilder