PeachBrackets

PeachBrackets.Tagging

IStructureTagSink Interface

What the fragment painter needs from a structure (tagged-PDF) recorder while it walks the page: open the structure element a box maps to, around the marked content it paints. The painter knows nothing about how the structure is stored or written; PeachPDF.PdfFeatures.StructureTagBuilder is the implementation that builds a PDF structure tree. Each Open* call returns a scope whose disposal closes what it opened.

public interface IStructureTagSink
Properties  
IsInMarkedContent Whether content painted now already lands inside a marked-content sequence; marked content must not nest.
Methods  
AttachMathMlSource(StructureNode, string) Attaches the MathML source of a formula to its structure element.
LinkAdded(StructureNode, object) Called by HtmlDocument.PaintLinks for each link it has put on a canvas whose AddLink handed back a handle, with the structure node of the content the link covers, so a tagged format can tie the link to that element. Does nothing by default.
OpenArtifact(Canvas) Opens an artifact sequence on g: content that is not part of the document structure.
OpenContentElement(Canvas, StructureNode, string, string) Opens a content element for node and the marked-content sequence g paints it in.
OpenGroupingElement(StructureNode, string) Opens a grouping element for node that nests everything painted until the scope is disposed.
OpenListItemBodyElement(StructureNode) Opens the body element of a list item, inside its list item element.
OpenPhantomAncestors(IReadOnlyList<PhantomAncestor>) Re-opens the elements of the display: contents ancestors some content was lifted out of (outermost first).