using System.Text.Json.Serialization;

namespace Engine.Asset.Font.Metadata;

[JsonSerializable(typeof(Metrics))]
[Serializable]
public record Metrics
{
  [JsonPropertyName("emSize")]
  [JsonInclude]
  public float EmSize { get; private set; }

  [JsonPropertyName("lineHeight")]
  [JsonInclude]
  public float LineHeight { get; private set; }

  [JsonPropertyName("ascender")]
  [JsonInclude]
  public float Ascender { get; private set; }

  [JsonPropertyName("descender")]
  [JsonInclude]
  public float Descender { get; private set; }

  [JsonPropertyName("underlineY")]
  [JsonInclude]
  public float UnderlineY { get; private set; }

  [JsonPropertyName("underlineThickness")]
  public float UnderlineThickness { get; private set; }
}