Recognizer Plug-ins
Un plug-in recognizer est un objet qui surveille le mouvement du stylet tablette pour le mouvement, 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, par exemple un objet StylusUpData pour le 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 module de reconnaissance de mouvement Microsoft 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é CustomStylusData de l’objet CustomDataId est définie sur la valeur GestureRecognitionDataGuid et la propriété Data de l’objet CustomStylusData contient un objet GestureRecognitionData.
Le diagramme suivant montre comment l’objet GestureRecognizer ajoute des données aux données du stylet tablette.
Dans ce diagramme, la lettre en cercle « SD » représente un objet StylusDownData et les cercles en lettres « P » représentent objets PacketsData qui ont déjà été ajoutés à la file d’attente de sortie de l’objetRealTimeStyluset qui n’ont pas encore été envoyés à la collection asynchrone de plug-in. La lettre en cercle « SU » représente un objet StylusUpData que l’objet RealTimeStylus traite actuellement. Il est envoyé à la collection de plug-ins synchrone, puis placé dans la file d’attente de sortie. Les cercles en lettres « GR » représentent des données de stylet personnalisées ajoutées à la file d’attente d’entrée par le plug-in GestureRecognizer réponse à la notification de stylet associée à « SU ». Les données de stylet personnalisées « GR » sont ensuite transmises aux plug-ins synchrones, puis à la file d’attente de sortie avant le traitement des données de stylet de tablette suivantes. Le cercle vide représente la position dans la file d’attente de sortie où les données futures du stylet tablette sont ajoutées.
Par défaut, l’objet GestureRecognizer reconnaît uniquement les mouvements à trait unique ; Toutefois, l’objet GestureRecognizer peut être défini pour reconnaître les mouvements à plusieurs séquences. Pour les mouvements à plusieurs séquences, l’objet CustomStylusData est ajouté à la file d’attente de StylusQueues en réponse à l’objet StylusUpData pour le trait final du mouvement. Lorsque vous reconnaissez des mouvements à plusieurs séquences, vous pouvez recevoir des notifications pour les jeux de traits qui se chevauchent. Par exemple, les premiers traits et secondes ensemble peuvent être reconnus comme un geste et le deuxième trait peut être reconnu comme un geste. Pour plus d’informations sur la reconnaissance des mouvements à plusieurs séquences, consultez la classe GestureRecognizer et la propriété MaxStrokeCount.
Si vous utilisez l’objet GestureRecognizer pour la reconnaissance de mouvements à plusieurs séquences, vous pouvez obtenir des performances optimales à l’aide d’un modèle RealTimeStylus en cascade et d’attacher l’objet GestureRecognizer à l’objet secondaire RealTimeStylus. Pour plus d’informations sur le modèle RealTimeStylus en cascade, consultez Le modèle RealTimeStylus cascade.
Considérations spéciales
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 deux RealTimeStylus objets 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 avertit les plug-ins restants dans ses collections de plug-ins de l’erreur.
- L’objet GestureRecognizer cesse de reconnaître les mouvements.
- L’objetRealTimeStyluslève une exception lorsque sa méthode AddCustomStylusDataToQueue est appelée avec le guid défini sur le paramètre Microsoft.StylusInput.GestureRecognizer.GestureRecognitionDataGuid identificateur global unique (GUID).
- 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 module de reconnaissance personnalisé qui reconnaît l’écriture manuscrite, les mouvements ou d’autres objets par :
- Passage des informations de trait à un objet Recognizer existant et à l’aide de la méthode AddCustomStylusDataToQueue pour ajouter les résultats au flux de données du stylet 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 tablette.
Rubriques connexes
-
chronologie des messages de souris et des événements système