Class RichTextProjection
- Namespace
- RichEdit.Core
- Assembly
- RichEdit.Core.dll
An explicit plain-text projection of a rich subtree, with mappings tied to exactly one immutable snapshot.
public sealed class RichTextProjection
- Inheritance
-
RichTextProjection
- Inherited Members
Properties
Blocks
Gets the exact top-level blocks included in this projection.
public ImmutableArray<RichNodeId> Blocks { get; }
Property Value
Objects
Gets authored object positions, distinguishing them from literal placeholder characters in text.
public ImmutableArray<RichProjectedObject> Objects { get; }
Property Value
Paragraphs
Gets paragraphs in projection order.
public ImmutableArray<RichProjectedParagraph> Paragraphs { get; }
Property Value
Root
Gets the projected story, block, table cell, or list item. Addresses still belong to the owning story.
public RichNodeId Root { get; }
Property Value
Separators
Gets structural separator positions and kinds.
public ImmutableArray<RichProjectedSeparator> Separators { get; }
Property Value
Snapshot
Gets the immutable snapshot described by this mapping.
public RichDocumentSnapshot Snapshot { get; }
Property Value
Story
Gets the projected story identity.
public RichNodeId Story { get; }
Property Value
Text
Gets explicit plain text, including paragraph, cell, row, and soft-break separators.
public TextSnapshot Text { get; }
Property Value
Methods
GetOffset(RichTextPoint)
Maps a validated structural point into this snapshot's explicit text projection.
public int GetOffset(RichTextPoint point)
Parameters
pointRichTextPoint
Returns
GetPoint(int, CaretAffinity)
Maps a projection boundary to a paragraph point. Structural-only gaps return null.
public RichTextPoint? GetPoint(int offset, CaretAffinity affinity = CaretAffinity.Downstream)
Parameters
offsetintaffinityCaretAffinity