Table of Contents

Class LineLayout

Namespace
SixLabors.Fonts
Assembly
SixLabors.Fonts.dll

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

ReadOnlySpan<GraphemeMetrics>

LineMetrics

Gets the measured line metrics.

public LineMetrics LineMetrics { get; }

Property Value

LineMetrics

Methods

GetCaret(CaretPlacement)

Gets an absolute caret position in the laid-out line.

public CaretPosition GetCaret(CaretPlacement placement)

Parameters

placement CaretPlacement

The 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

hit TextHit

The 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

anchor CaretPosition

The fixed selection endpoint.

focus CaretPosition

The 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

metrics GraphemeMetrics

The 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

anchor TextHit

The fixed selection endpoint.

focus TextHit

The active selection endpoint.

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

metrics WordMetrics

The 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

caret CaretPosition

The 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

hit TextHit

The 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

point Vector2

The 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

caret CaretPosition

The current caret position.

movement CaretMovement

The 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

renderer IGlyphRenderer

The target renderer.