Dashboard/Dashboard/Media/GlyphMetrics.cs

49 lines
1.3 KiB
C#

using OpenTK.Mathematics;
namespace Dashboard.Media
{
/// <summary>
/// Glyph properties with metrics based on FreeType glyph metrics.
/// </summary>
public struct GlyphMetrics
{
/// <summary>
/// The code point for the character.
/// </summary>
public int Rune { get; }
/// <summary>
/// Size of the glyph in units.
/// </summary>
public Vector2 Size { get; }
/// <summary>
/// Bearing vector for horizontal layout.
/// </summary>
public Vector2 HorizontalBearing { get; }
/// <summary>
/// Bearing vector for vertical layout.
/// </summary>
public Vector2 VerticalBearing { get; }
/// <summary>
/// Advance vector for vertical and horizontal layouts.
/// </summary>
public Vector2 Advance { get; }
public GlyphMetrics(
int character,
Vector2 size,
Vector2 horizontalBearing,
Vector2 verticalBearing,
Vector2 advance)
{
Rune = character;
Size = size;
HorizontalBearing = horizontalBearing;
VerticalBearing = verticalBearing;
Advance = advance;
}
}
}