AnnotationLayer Class

Definition

The viewer's model of the annotations, links and form fields on its pages, independent of any UI framework: hit-testing, hover, selection and keyboard focus with page rectangles for the shell to draw; link activation (raised as ActionRequested, never performed); notes and popups; field editing through the form API; and annotation creation, moving and deletion through the annotation API. Every edit redraws only the tiles it touches (Invalidate(Int32, PdfRectangle, DisplayLayers)).

public sealed class AnnotationLayer : IAccessibleElementProvider

Remarks

Spec #33 viewer capability 6; ISO 32000-2 §12.5 (annotations), §12.6 (actions), §12.7 (interactive forms). The shell maps pointer positions with TryGetPageAt(in Viewport, Double, Double, out PagePoint), sends PointerDown(in PagePoint), PointerMove(in PagePoint) and PointerUp(in PagePoint) before its own panning or text selection (a press that returns true is the layer's), and draws hover, selection and focus from GetScreenRectangle(AnnotationTarget, PageLayout, in Viewport) when Changed fires.

Like the document, the layer is single-threaded: call it from the shell's UI thread. A page takes part once LoadPageAsync(Int32, CancellationToken) has loaded it. Pointer moves allocate nothing.

Tip: use kind:method, kind:property, kind:ctor. Press Esc to clear.

Constructors (1)

Fields (1)

Properties (8)

Methods (29)

Events (3)