Dynamic-Renderer plugin-program

Ett plugin-program för dynamisk återgivning är ett objekt som visar penndata för surfplattor i realtid när de hanteras av RealTimeStylus--objektet. Senare, för händelser som en formuläruppdatering, kan plugin-programmet för dynamisk återgivning eller ett plugin-program för ink-insamlare rita om pennanteckningen.

DynamicRenderer-objektet

Objektet RealTimeStylus implementerar gränssnittet IStylusSyncPlugin. Objektet DynamicRenderer återger pennanteckningen i realtid när den ritas. När metoden Uppdatera anropas medan DynamicRenderer--objektet är aktiverat, ritar DynamicRenderer-objektet om linjen som för närvarande samlas in. Egenskapen DynamicRenderer objektets aktiverade är ursprungligen inställd på FALSE.

Not

När du anropar DynamicRenderer-objektets Refresh-metod inifrån en Paint-händelsehanterare i hanterad kod anger du DynamicRenderer objektets egenskap ClipRectangle till egenskapen PaintEventArgs objektets egenskap ClipRectangle.

 

Objektet DynamicRenderer kan tillfälligt cachelagra pennanteckningsdata. Om du vill använda den här funktionen i hanterad kod anger du egenskapen EnableDataCache till TRUE. När objektet DynamicRenderer tar emot ett anrop till dess IStylusSyncPlugin.StylusUp-metod cachelagrar det linjedata och lägger till anpassade pennadata i indatakön som svar på StylusUpData-objektet för stroken. Egenskapen CustomStylusData-objektets CustomDataId anges till värdet DynamicRendererCachedDataGuid och CustomStylusData-objektets dataegenskap innehåller ett DynamicRendererCachedData-objekt. Anropa metoden DynamicRenderer objektets ReleaseCachedData när stroken har samlats in och kan återges statiskt. När metoden Uppdatera anropas medan DynamicRenderer-objektet är aktiverat, ritar DynamicRenderer-objektet om alla linjer som cachelagras. När egenskapen DataCacheEnabled är inställd på falsetas cachelagrade linjedata bort.

Följande diagram visar hur objektet DynamicRenderer lägger till data i tablet pen-data när egenskapen DynamicRenderer-objektets DataCacheEnabled har angetts.

bild som visar dynamicrenderer-dataflödet

I det här diagrammet representerar cirkeln "SD" ett StylusDown- objekt och cirklarna med bokstaven "P" representerar Paket objekt som redan har lagts till i RealTimeStylus objektets utdatakö och som ännu inte har skickats till den asynkrona plugin-samlingen. Cirkeln med bokstaven "SU" representerar ett StylusUp- objekt som RealTimeStylus-objektet bearbetas för närvarande. Den skickas till den synkrona plugin-samlingen och placeras sedan i utdatakön. Cirklarna med namnet "DR" representerar anpassade pennadata som läggs till i indatakön av DynamicRenderer plugin-program som svar på den penna som är associerad med "SU". De anpassade pennadata med namnet "DR" skickas sedan till de synkrona plugin-programmen och sedan till utdatakön innan nästa tablet pen-data bearbetas. Den tomma cirkeln representerar positionen i utdatakön där framtida penndata för surfplattor läggs till. I diagrammet visas även plugin-programmet ink-collector som anropar DynamicRenderer-objektets ReleaseCachedData-metod för att frigöra cachelagrade linjedata efter att ink-collection-plugin-programmet har bearbetat stroken.

Särskilda överväganden

I följande lista beskrivs andra punkter att ta hänsyn till när du använder DynamicRenderer--objektet.

Anpassad återgivning

Du kan skapa ett eget plugin-program för dynamisk återgivning genom att skapa ett synkront plugin-program som prenumererar på StylusDown, Packetsoch StylusUp-meddelanden. Plugin-programmet kan sedan återge linjen när den ritas. Detta kan vara ett sätt att implementera ett urvalsverktyg som använder en fri formulärmarkering eller markeringsruta, till exempel.