49 lines
1.3 KiB
C#
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;
|
|
}
|
|
}
|
|
} |