using RobotNet.WebApp.Charts.Enums;
using System.Text.Json.Serialization;
namespace RobotNet.WebApp.Charts.Models.Common.Plugins;
public class ChartPluginsLegendLabels
{
///
/// Width of coloured box.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? BoxWidth { get; set; }
///
/// Height of the coloured box
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? BoxHeight { get; set; }
///
/// Override the borderRadius to use.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? BorderRadius { get; set; }
///
/// Color of label and the strikethrough.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Color { get; set; }
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ChartFont? Font { get; set; }
///
/// Padding between rows of colored boxes.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? Padding { get; set; }
///
/// If specified, this style of point is used for the legend. Only used if > is true.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public PointStyle? PointStyle { get; set; }
///
/// If is , the width of the point style used for the legend.
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? PointStyleWidth { get; set; }
///
/// Label borderRadius will match corresponding .
///
public bool UseBorderRadius { get; set; } = false;
///
/// If , Label style will match corresponding point style (size is based on pointStyleWidth or the minimum value between and -> Size).
///
public bool UsePointStyle { get; set; } = false;
///
/// Horizontal alignment of the label text
///
public LegendAlignment TextAlign { get; set; } = LegendAlignment.Center;
}