// Copyright (c) Six Labors. // Licensed under the Six Labors Split License. using SixLabors.Fonts.Unicode; using System.Collections.Generic; namespace SixLabors.Fonts { /// /// Contains a composed logical text line and its width-independent line break opportunities. /// internal readonly struct LogicalTextLine { /// /// Initializes a new instance of the struct. /// /// The composed logical text line. /// The collected line break opportunities. /// The collected word-boundary segment runs. /// The visible hyphenation markers created for soft hyphen entries. public LogicalTextLine( TextLine textLine, List lineBreaks, List wordSegments, List hyphenationMarkers) { this.TextLine = textLine; this.LineBreaks = lineBreaks; this.WordSegments = wordSegments; this.HyphenationMarkers = hyphenationMarkers; } /// /// Gets the composed logical text line. /// public TextLine TextLine { get; } /// /// Gets the collected line break opportunities. /// public List LineBreaks { get; } /// /// Gets the collected word-boundary segment runs. /// public List WordSegments { get; } /// /// Gets the visible hyphenation markers created for soft hyphen entries. /// public List HyphenationMarkers { get; } } }