RobotNet/RobotNet.WebApp/Charts/Models/BarChart/Axes/ChartAxesTicks.cs
2025-10-15 15:15:53 +07:00

65 lines
2.0 KiB
C#

using RobotNet.WebApp.Charts.Enums;
using RobotNet.WebApp.Charts.Models.Common;
using System.Text.Json.Serialization;
namespace RobotNet.WebApp.Charts.Models.BarChart.Axes;
public class ChartAxesTicks
{
[JsonPropertyName("align")]
public TicksAlignment Alignment { get; set; } = TicksAlignment.Center;
/// <summary>
/// Color of label backdrops
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? BackdropColor { get; set; }
/// <summary>
/// Padding of label backdrop
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? BackdropPadding { get; set; }
/// <summary>
/// Color of ticks
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Color { get; set; }
/// <summary>
/// If <see langword="true" />, show tick labels.
/// </summary>
public bool Display { get; set; } = true;
/// <summary>
/// defines options for the major tick marks that are generated by the axis.
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ChartAxesTicksMajor? Major { get; set; }
/// <summary>
/// Sets the offset of the tick labels from the axis
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public ChartPadding? Padding { get; set; }
/// <summary>
/// If <see langword="true" />, draw a background behind the tick labels.
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? ShowLabelBackdrop { get; set; }
/// <summary>
/// The color of the stroke around the text.
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? TextStrokeColor { get; set; }
/// <summary>
/// Stroke width around the text.
/// </summary>
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public int? TextStrokeWidth { get; set; }
}