Back to API Reference
Struct

RangeDecorationContext

sealed

Immutable logical range data supplied while a range-decoration modifier builds final geometry. Fragment spans are borrowed scratch views: consume one before requesting another.

public RangeIdentity Identity{ get }

Stable source-scoped identity shared by every segment of the entity.

public RangeSegment Segment{ get }

The entity segment being decorated, in rendered codepoint space.

public RangeChannel Channel{ get }

Optional semantic channel associated with the entity.

public RangePayloadView Payload{ get }

Optional immutable semantic value associated with the entity.

public RangeSource Source{ get }

The range source that owns this entity.

public TextRevision Revision{ get }

The rendered-text revision against which this segment is valid.

public ModifierParameters Parameters{ get }

Explicit and source-default presentation parameters for this modifier node.

public float RuleWeight{ get }

Normalized weight contributed by a transient modifier application.

public ReadOnlySpan<RangeVisualFragment> LineFragments()

Returns final per-line/BiDi fragments at the requested vertical extent. The span stays valid only until the next fragment query made through this context.

public ReadOnlySpan<RangeVisualFragment> GlyphFragments()

Returns one final fragment per shaped cluster group. Ligatures and multiple glyphs belonging to one cluster produce one fragment. The span stays valid only until the next fragment query.

public ReadOnlySpan<RangeVisualGlyph> VisualGlyphs()

Returns final face quads for every rendered primary or modifier-injected glyph in this segment. Use this finer view when TransformKind is NonUniform. The span stays valid only until the next fragment or glyph query through this context.

public Rect TextBlockBounds()

Returns the union bounds of the entire rendered text block at the requested height.