Plug-ins de reconnaissance
Un plug-in de reconnaissance est un objet qui surveille le mouvement du stylet de tablette pour les mouvements, l’écriture manuscrite ou d’autres objets.
Mouvements système
L’objet RealTimeStylus reconnaît les mouvements système. L’objet RealTimeStylus ajoute un objet SystemGestureData à la file d’attente StylusQueues en réponse aux données qui terminent le mouvement, comme un objet StylusUpData pour systemGesture. Pour plus d’informations, consultez Données de plug-in et la classe RealTimeStylus.
Objet GestureRecognizer
L’objet GestureRecognizer implémente les interfaces IStylusSyncPlugin et IStylusAsyncPlugin . L’objet GestureRecognizer reconnaît les mouvements d’application. En interne, l’objet GestureRecognizer utilise le microsoft gesture recognizer pour effectuer la reconnaissance des mouvements.
Lorsque l’objet GestureRecognizer reconnaît un mouvement, il ajoute des données de stylet personnalisées à la file d’attente StylusQueues en réponse à l’objet StylusUpData pour le trait. La propriété CustomDataId de l’objet CustomStylusData est définie sur la valeur GestureRecognitionDataGuid, et la propriété Data de l’objet CustomStylusData contient un objet GestureRecognitionData.
Le diagramme suivant illustre la façon dont l’objet GestureRecognizer ajoute des données aux données du stylet de tablette.
Dans ce diagramme, le cercle « SD » représente un objet StylusDownData et les cercles « P » représentent des objets PacketsData qui ont déjà été ajoutés à la file d’attente de sortie de l’objet RealTimeStylus et qui n’ont pas encore été envoyés à la collection de plug-in asynchrone. Le cercle « SU » représente un objet StylusUpData que l’objet RealTimeStylus traite actuellement. Il est envoyé à la collection de plug-ins synchrones, puis placé dans la file d’attente de sortie. Les cercles « GR » représentent des données de stylet personnalisées ajoutées à la file d’attente d’entrée par le plug-in GestureRecognizer en réponse à la notification de stylet associé à « SU ». Les données de stylet personnalisées en lettres « GR » sont ensuite transmises aux plug-ins synchrones, puis à la file d’attente de sortie avant le traitement des données du stylet tablette suivante. Le cercle vide représente la position dans la file d’attente de sortie où les données du stylet tablette sont ajoutées.
Par défaut, l’objet GestureRecognizer reconnaît uniquement les mouvements d’un seul trait ; toutefois, l’objet GestureRecognizer peut être défini pour reconnaître les mouvements en plusieurs touches. Pour les mouvements à plusieurs coups, l’objet CustomStylusData est ajouté à la file d’attente StylusQueues en réponse à l’objet StylusUpData pour le dernier trait du mouvement. Lorsque vous reconnaissez des mouvements en plusieurs touches, vous pouvez recevoir des notifications pour les jeux de traits qui se chevauchent. Par exemple, le premier et le deuxième trait peuvent être reconnus ensemble comme un seul geste et le deuxième trait à lui seul peut être reconnu comme un geste. Pour plus d’informations sur la reconnaissance des gestes multipoints, consultez la classe GestureRecognizer et la propriété MaxStrokeCount .
Si vous utilisez l’objet GestureRecognizer pour la reconnaissance de mouvements à plusieurs coups, vous pouvez obtenir des performances optimales en utilisant un modèle RealTimeStylus en cascade et en attachant l’objet GestureRecognizer à l’objet RealTimeStylus secondaire. Pour plus d’informations sur le modèle RealTimeStylus en cascade, consultez Le modèle RealTimeStylus en cascade.
Points particuliers à prendre en compte
La liste suivante décrit d’autres points à prendre en compte lors de l’utilisation de l’objet GestureRecognizer .
- Vous ne devez pas attacher un objet GestureRecognizer à plusieurs objets RealTimeStylus . Une fois que deux objets RealTimeStylus auxquels l’objet GestureRecognizer est attaché sont activés, ce qui suit se produit.
- L’objet GestureRecognizer lève une exception en réponse au deuxième appel à sa méthode RealTimeStylusEnabled.
- Le deuxième objet RealTimeStylus activé génère un objet ErrorData et notifie l’erreur aux autres plug-ins de ses collections de plug-ins.
- L’objet GestureRecognizer arrête la reconnaissance des mouvements.
- L’objet RealTimeStylus lève une exception lorsque sa méthode AddCustomStylusDataToQueue est appelée avec le paramètre guid défini sur l’identificateur global unique (GUID) Microsoft.StylusInput.GestureRecognizer.GestureRecognitionDataGuid .
- L’objet GestureRecognizer est implémenté en tant que wrapper COM (Component Object Model) et vous ne pouvez pas appeler directement ses méthodes d’interface IStylusSyncPlugin ou IStylusAsyncPlugin . Pour plus d’informations sur l’implémentation COM et l’objet RealTimeStylus , consultez Notes d’implémentation pour les API StylusInput.
Reconnaissance des mouvements personnalisés
Vous pouvez créer un plug-in de reconnaissance personnalisé qui reconnaît l’écriture manuscrite, les mouvements ou d’autres objets en :
- Transmission des informations de trait à un objet Recognizer existant et utilisation de la méthode AddCustomStylusDataToQueue pour ajouter les résultats au flux de données du stylet de tablette.
- Effectuer la reconnaissance dans votre plug-in et utiliser la méthode AddCustomStylusDataToQueue pour ajouter les résultats au flux de données du stylet de tablette.
Rubriques connexes