// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using SixLabors.Fonts.Unicode;
using System.Collections.Generic;
namespace SixLabors.Fonts {
///
/// Contains the width-independent result of shaping text before logical line composition.
///
internal readonly struct ShapedText
{
///
/// Initializes a new instance of the struct.
///
/// The positioned glyph shaping collection.
/// The resolved bidi runs covering the shaped text.
/// The code point to bidi-run mapping built during shaping.
/// The layout mode used while shaping.
public ShapedText(
GlyphPositioningCollection positionings,
BidiRun[] bidiRuns,
Dictionary bidiMap,
LayoutMode layoutMode)
{
this.Positionings = positionings;
this.BidiRuns = bidiRuns;
this.BidiMap = bidiMap;
this.LayoutMode = layoutMode;
}
///
/// Gets the positioned glyph shaping collection.
///
public GlyphPositioningCollection Positionings { get; }
///
/// Gets the resolved bidi runs covering the shaped text.
///
public BidiRun[] BidiRuns { get; }
///
/// Gets the code point to bidi-run mapping built during shaping.
///
public Dictionary BidiMap { get; }
///
/// Gets the layout mode used while shaping.
///
public LayoutMode LayoutMode { get; }
}
}