// 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; }
}
}