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
Metodo IStrokeBuilder::AppendPackets
Metodo IStrokeBuilder::CreateStroke