IStrokeBuilder::BeginStroke-Methode (rtscom.h)
Beginnt einen Strich auf einem Freihandobjekt mithilfe von Paketdaten aus einem RealTimeStylus Class-Objekt .
Syntax
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
);
Parameter
[in] tcid
Der Tablet-Kontextbezeichner.
[in] sid
Der Tablettstiftbezeichner.
[in] pPacket
Der Anfang der Paketdaten. Dieses ist schreibgeschützt.
[in] cPacketProperties
Die Anzahl der LONGs, d. h. die Anzahl der Pakete multipliziert mit der Anzahl der Eigenschaften im pPacketProperties-Puffer .
[in] pPacketProperties
Der Puffer, der die Paketeigenschaften enthält.
[in] fInkToDeviceScaleX
Der horizontale Konvertierungsfaktor oder X-Achse für die horizontale Achse vom Freihandraum in die Digitizerkoordinaten.
[in] fInkToDeviceScaleY
Der vertikale Konvertierungsfaktor oder y-Achse für die vertikale Achse vom Freihandraum in die Digitizerkoordinaten.
[in, out] ppIInkStroke
Ein Zeiger auf den neuen Strich. Dieser Wert kann NULL sein.
Rückgabewert
Eine Beschreibung der Rückgabewerte finden Sie unter RealTimeStylus-Klassen und -Schnittstellen.
Hinweise
Wird in Verbindung mit den Methoden IStrokeBuilder::AppendPackets und IStrokeBuilder::EndStroke Method verwendet. Die IStrokeBuilder::BeginStroke-Methode beginnt mit dem Erstellen des Strichs. Wenn die Bewegung fortgesetzt wird und zusätzliche Pakete empfangen werden, fügt die IStrokeBuilder::AppendPackets-Methode diese zusätzlichen Strichdaten hinzu. Wenn der Tablet-Stift von der Oberfläche ausgelöst wird und keine eingehenden Pakete mehr vorhanden sind, wird die IStrokeBuilder::EndStroke-Methode aufgerufen.
Beispiele
Das folgende C++-Beispiel zeigt die Implementierung einer IStylusPlugin::StylusDown-Methode in einem IStylusPlugin Interface-Objekt . Das Plug-In verwendet ein StrokeBuilder-Objekt , um einen neuen Freihandstrich zu erstellen. Die IStrokeBuilder::BeginStroke-Methode wird von der IStylusPlugin::StylusDown-Methode aufgerufen, um die Erstellung eines Strichs zu initiieren.
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP Tablet PC Edition [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Nicht unterstützt |
Zielplattform | Windows |
Kopfzeile | rtscom.h |
DLL | RTSCom.dll |
Weitere Informationen
IStrokeBuilder::AppendPackets-Methode
IStrokeBuilder::CreateStroke-Methode