using System.Text.Json.Serialization;

namespace RobotNet.WebApp.Charts.Models.RadarChart.Axis;

public class AngleLines
{
    /// <summary>
    /// Gets or sets the value indicating whether the angle line is displayed or not.
    /// </summary>
    public bool Display { get; set; } = true;

    /// <summary>
    /// Gets or sets the color of the angled lines.
    /// <para>See <see cref="ColorUtil"/> for working with colors.</para>
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public string? Color { get; set; }

    /// <summary>
    /// Gets or sets the width of the angled lines.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public int? LineWidth { get; set; }

    /// <summary>
    /// Gets or sets the length and spacing of dashes of the angled lines.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public int[]? BorderDash { get; set; }

    /// <summary>
    /// Gets or sets the offset for line dashes.
    /// </summary>
    [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
    public double? BorderDashOffset { get; set; }
}
