InkManager.ProcessPointerUpdate(PointerPoint) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Notes
Pour l’application Windows universelle utilisant XAML (Extensible Application Markup Language), nous vous recommandons d’utiliser InkPresenter et le contrôle InkCanvas au lieu d’InkManager.
Traite les propriétés de position et d’état, telles que la pression et l’inclinaison, pour le pointeur spécifié, à partir du dernier événement de pointeur jusqu’à et y compris l’événement de pointeur actuel. Appelez cette méthode après ProcessPointerDown et avant ProcessPointerUp.
Important
Cette méthode n’est pas prise en charge dans les applications de bureau.
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
Paramètres
- pointerPoint
- PointerPoint
Pointeur d’entrée pour lequel les mises à jour doivent être traitées.
Retours
Lorsque le InkManipulationMode actuel est Entrée manuscrite ou Sélection, cette méthode retourne le Point (position d’écran dans l’espace manuscrit) associé à la dernière mise à jour ProcessPointerUpdate de pointerPoint.
Exemples
L’exemple suivant illustre un gestionnaire pour un événement PointerMoved sur un InkCanvas.
Ici, les points intermédiaires (intermediatePoints
) non traités depuis la dernière mise à jour sont traités par InkManager (inkManager
) dans l’appel ProcessPointerUpdate.
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;
}
}
}
S’applique à
Voir aussi
- Interactions avec le stylo et le stylet
- Prise en main : Prise en charge de l’entrée manuscrite dans votre application UWP
- Exemple d’analyse d’entrée manuscrite (de base) (C#)
- Exemple de reconnaissance de l’écriture manuscrite manuscrite (C#)
- Enregistrer et charger des traits d’encre à partir d’un fichier ISF (Ink Serialized Format)
- Enregistrer et charger des traits d’encre à partir du Presse-papiers
- Exemple d’emplacement et d’orientation de la barre d’outils d’encre (de base)
- Exemple d’emplacement et d’orientation de la barre d’outils Ink (dynamique)
- Exemple de livre de coloriage
- Exemple de notes de famille
- Exemple d’entrée manuscrite (JavaScript)
- Exemple d’entrée manuscrite simple (C#/C++)
- Exemple d’entrée manuscrite complexe (C++)
- Exemple d’analyse de l’entrée manuscrite