InkManager.ProcessPointerUpdate(PointerPoint) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Hinweis
Für universelle Windows-Apps mit XAML (Extensible Application Markup Language) wird empfohlen , InkPresenter und das InkCanvas-Steuerelement anstelle von InkManager zu verwenden.
Verarbeitet Positions- und Zustandseigenschaften wie Druck und Neigung für den angegebenen Zeiger vom letzten Zeigerereignis bis hin zum aktuellen Zeigerereignis. Rufen Sie diese Methode nach ProcessPointerDown und vor ProcessPointerUp auf.
Wichtig
Diese Methode wird in Desktop-Apps nicht unterstützt.
public:
virtual Platform::Object ^ ProcessPointerUpdate(PointerPoint ^ pointerPoint) = ProcessPointerUpdate;
IInspectable ProcessPointerUpdate(PointerPoint const& pointerPoint);
public object ProcessPointerUpdate(PointerPoint pointerPoint);
function processPointerUpdate(pointerPoint)
Public Function ProcessPointerUpdate (pointerPoint As PointerPoint) As Object
Parameter
- pointerPoint
- PointerPoint
Der Eingabezeiger, für den Updates verarbeitet werden sollen.
Gibt zurück
Wenn der aktuelle InkManipulationModeFreihand oder Auswählen ist, gibt diese Methode den Point (Bildschirmposition im Freihandbereich) zurück, der dem letzten ProcessPointerUpdate von pointerPoint zugeordnet ist.
Beispiele
Im folgenden Beispiel wird ein Handler für ein PointerMoved-Ereignis für ein InkCanvas-Ereignis veranschaulicht.
Hier werden die seit der letzten Aktualisierung nicht verarbeiteten Zwischenpunkte (intermediatePoints
) vom InkManager (inkManager
) im ProcessPointerUpdate-Aufruf verarbeitet.
void InkingArea_PointerMoved(object sender, Windows.UI.Xaml.Input.PointerRoutedEventArgs e)
{
var pointerPoint = e.GetCurrentPoint(InkingArea);
if (pointerId == (int)pointerPoint.PointerId)
{
switch (inkManager.Mode)
{
case Windows.UI.Input.Inking.InkManipulationMode.Erasing:
// Check if something has been erased.
// In erase mode, ProcessPointerUpdate returns an
// `invalidateRect` (if it is not degenerate something
// has been erased). In erase mode we don't bother processing
// intermediate points.
var invalidateRect =
(Windows.Foundation.Rect)inkManager.ProcessPointerUpdate(
e.GetCurrentPoint(InkingArea));
if (invalidateRect.Height != 0 && invalidateRect.Width != 0)
{
// We don't know what has been erased so we clear the render
// and add back all the ink saved in the ink manager.
renderer.Clear();
renderer.AddInk(inkManager.GetStrokes());
}
break;
case Windows.UI.Input.Inking.InkManipulationMode.Inking:
case Windows.UI.Input.Inking.InkManipulationMode.Selecting:
// Process intermediate points.
var intermediatePoints = e.GetIntermediatePoints(InkingArea);
for (int i = intermediatePoints.Count - 1; i >= 0; i--)
{
inkManager.ProcessPointerUpdate(intermediatePoints[i]);
}
// Live rendering.
renderer.UpdateLiveRender(pointerPoint);
break;
}
}
}
Gilt für:
Weitere Informationen
- Zeichen- und Eingabestiftinteraktionen
- Erste Schritte: Freihandunterstützung in Ihrer UWP-App
- Freihandanalysebeispiel (Basic) (C#)
- Beispiel für die Freihandschreiberkennung (C#)
- Speichern und Laden von Freihandstrichen aus einer ISF-Datei (Ink Serialized Format)
- Speichern und Laden von Freihandstrichen aus der Zwischenablage
- Beispiel für Position und Ausrichtung der Freihandsymbolleiste (Basic)
- Freihandsymbolleistenposition und Orientierungsbeispiel (dynamisch)
- Malbuchbeispiel
- Familiennotizbeispiel
- Freihandbeispiel (JavaScript)
- Beispiel für einfache Freihandeingaben (C#/C++)
- Beispiel für komplexe Freihandeingaben (C++)
- Freihandanalysebeispiel