Class LineLayout
Represents one laid-out line from a TextBlock.
public sealed class LineLayout
- Inheritance
-
LineLayout
- Inherited Members
Properties
GraphemeMetrics
Gets the grapheme metrics entries for this line in final layout order.
public ReadOnlySpan<GraphemeMetrics> GraphemeMetrics { get; }
Property Value
LineMetrics
Gets the measured line metrics.
public LineMetrics LineMetrics { get; }
Property Value
Methods
GetCaret(CaretPlacement)
Gets an absolute caret position in the laid-out line.
public CaretPosition GetCaret(CaretPlacement placement)
Parameters
placementCaretPlacementThe absolute caret placement.
Returns
- CaretPosition
The caret position in pixel units.
GetCaretPosition(TextHit)
Gets the caret position for the supplied hit.
public CaretPosition GetCaretPosition(TextHit hit)
Parameters
hitTextHitThe hit-tested grapheme position.
Returns
- CaretPosition
The caret position in pixel units.
GetGlyphMetrics()
Gets the positioned metrics of each laid-out glyph entry.
public ReadOnlyMemory<GlyphMetrics> GetGlyphMetrics()
Returns
- ReadOnlyMemory<GlyphMetrics>
A read-only memory region containing per-glyph metrics entries.
GetSelectionBounds(CaretPosition, CaretPosition)
Gets selection bounds between two caret positions.
public ReadOnlyMemory<FontRectangle> GetSelectionBounds(CaretPosition anchor, CaretPosition focus)
Parameters
anchorCaretPositionThe fixed selection endpoint.
focusCaretPositionThe active selection endpoint.
Returns
- ReadOnlyMemory<FontRectangle>
A read-only memory region containing the selection bounds in visual order and pixel units.
GetSelectionBounds(GraphemeMetrics)
Gets line-local selection bounds for the supplied grapheme metrics.
public ReadOnlyMemory<FontRectangle> GetSelectionBounds(GraphemeMetrics metrics)
Parameters
metricsGraphemeMetricsThe grapheme metrics to select.
Returns
- ReadOnlyMemory<FontRectangle>
A read-only memory region containing the selection bounds in visual order and pixel units.
GetSelectionBounds(TextHit, TextHit)
Gets selection bounds between two hit-tested grapheme positions.
public ReadOnlyMemory<FontRectangle> GetSelectionBounds(TextHit anchor, TextHit focus)
Parameters
Returns
- ReadOnlyMemory<FontRectangle>
A read-only memory region containing the selection bounds in visual order and pixel units.
GetSelectionBounds(WordMetrics)
Gets line-local selection bounds for the supplied word metrics.
public ReadOnlyMemory<FontRectangle> GetSelectionBounds(WordMetrics metrics)
Parameters
metricsWordMetricsThe word metrics to select.
Returns
- ReadOnlyMemory<FontRectangle>
A read-only memory region containing the selection bounds in visual order and pixel units.
GetWordMetrics(CaretPosition)
Gets the word metrics for the word-boundary segment containing the supplied caret position.
public WordMetrics GetWordMetrics(CaretPosition caret)
Parameters
caretCaretPositionThe caret position.
Returns
- WordMetrics
The word metrics containing the caret's grapheme insertion index.
GetWordMetrics(TextHit)
Gets the word metrics for the word-boundary segment containing the supplied hit-tested grapheme position.
public WordMetrics GetWordMetrics(TextHit hit)
Parameters
hitTextHitThe hit-tested grapheme position.
Returns
- WordMetrics
The word metrics containing the hit grapheme.
HitTest(Vector2)
Hit tests the supplied point against this line's grapheme advance bounds.
public TextHit HitTest(Vector2 point)
Parameters
pointVector2The point in pixel units.
Returns
- TextHit
The hit-tested grapheme position.
MoveCaret(CaretPosition, CaretMovement)
Moves the supplied caret by the requested operation within this line.
public CaretPosition MoveCaret(CaretPosition caret, CaretMovement movement)
Parameters
caretCaretPositionThe current caret position.
movementCaretMovementThe movement operation.
Returns
- CaretPosition
The moved caret position in pixel units.
RenderTo(IGlyphRenderer)
Renders this line to the supplied glyph renderer.
public void RenderTo(IGlyphRenderer renderer)
Parameters
rendererIGlyphRendererThe target renderer.