Partager via


plug-ins Dynamic-Renderer

Un plug-in de rendu dynamique est un objet qui affiche les données du stylet de la tablette en temps réel, car elles sont gérées par l’objet RealTimeStylus . Plus tard, pour des événements tels qu’une actualisation de formulaire, le plug-in de convertisseur dynamique ou un plug-in de collecteur d’encre peut redessiner l’encre.

Objet DynamicRenderer

L’objet RealTimeStylus implémente l’interface IStylusSyncPlugin . L’objet DynamicRenderer restitue l’entrée manuscrite en temps réel, à mesure qu’elle est dessinée. Lorsque la méthode Refresh est appelée alors que l’objet DynamicRenderer est activé, l’objet DynamicRenderer redessine le trait actuellement collecté. La propriété Enabled de l’objet DynamicRenderer est initialement définie sur FALSE.

Notes

Lorsque vous appelez la méthode Refresh de l’objet DynamicRenderer à partir d’un gestionnaire d’événements Paint en code managé, définissez la propriété ClipRectangle de l’objet DynamicRenderer sur la propriété ClipRectangle de l’objet PaintEventArgs.

 

L’objet DynamicRenderer peut mettre temporairement en cache les données manuscrites. Pour utiliser cette fonctionnalité dans le code managé, définissez la propriété EnableDataCache sur TRUE. Lorsque l’objet DynamicRenderer reçoit un appel à sa méthode IStylusSyncPlugin.StylusUp , il met en cache les données de trait et ajoute des données de stylet personnalisées à la file d’attente Input en réponse à l’objet StylusUpData pour le trait. La propriété CustomDataId de l’objet CustomStylusData est définie sur la valeur DynamicRendererCachedDataGuid et la propriété Data de l’objet CustomStylusData contient un objet DynamicRendererCachedData. Appelez la méthode ReleaseCachedData de l’objet DynamicRenderer une fois que le trait a été collecté et peut être rendu de manière statique. Lorsque la méthode Refresh est appelée alors que l’objet DynamicRenderer est activé, l’objet DynamicRenderer redessine tous les traits mis en cache. Lorsque la propriété DataCacheEnabled a la valeur false, les données de trait mises en cache sont supprimées.

Le diagramme suivant illustre la façon dont l’objet DynamicRenderer ajoute des données aux données du stylet de tablette lorsque la propriété DataCacheEnabled de l’objet DynamicRenderer est définie.

illustration montrant le flux de données dynamicrenderer

Dans ce diagramme, le cercle « SD » représente un objet StylusDown et les cercles avec la lettre « P » représentent des objets Packets 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 StylusUp 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 portant la lettre « DR » représentent des données de stylet personnalisées qui sont ajoutées à la file d’attente d’entrée par le plug-in DynamicRenderer en réponse à la notification du stylet associé à « SU ». Les données de stylet personnalisées avec la lettre « DR » sont ensuite passées aux plug-ins synchrones, puis à la file d’attente de sortie avant le traitement des données du stylet de la tablette suivante. Le cercle vide représente la position dans la file d’attente de sortie où les données futures du stylet de tablette sont ajoutées. Le plug-in ink-collector appelle également la méthode ReleaseCachedData de l’objet DynamicRenderer pour libérer les données de trait mises en cache après que le plug-in de collection d’encre a traité le trait.

Points particuliers à prendre en compte

La liste suivante décrit d’autres points à prendre en compte lors de l’utilisation de l’objet DynamicRenderer .

Rendu personnalisé

Vous pouvez créer votre propre plug-in de rendu dynamique en créant un plug-in synchrone qui s’abonne aux notifications StylusDown, Packets et StylusUp . Votre plug-in peut ensuite afficher le trait au fur et à mesure qu’il est dessiné. Il peut s’agir d’une façon d’implémenter un outil de sélection qui utilise une sélection de forme libre ou une zone de sélection, par exemple.