LineStyle.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System.Text.Json.Serialization;
  2. namespace Terminal.Gui.Drawing;
  3. /// <summary>Defines the style of lines for a <see cref="LineCanvas"/>.</summary>
  4. [JsonConverter (typeof (JsonStringEnumConverter<LineStyle>))]
  5. public enum LineStyle
  6. {
  7. /// <summary>No border is drawn.</summary>
  8. None,
  9. /// <summary>The border is drawn using thin line Glyphs.</summary>
  10. Single,
  11. /// <summary>The border is drawn using thin line glyphs with dashed (double and triple) straight lines.</summary>
  12. Dashed,
  13. /// <summary>The border is drawn using thin line glyphs with short dashed (triple and quadruple) straight lines.</summary>
  14. Dotted,
  15. /// <summary>The border is drawn using thin double line Glyphs.</summary>
  16. Double,
  17. /// <summary>The border is drawn using heavy line Glyphs.</summary>
  18. Heavy,
  19. /// <summary>The border is drawn using heavy line glyphs with dashed (double and triple) straight lines.</summary>
  20. HeavyDashed,
  21. /// <summary>The border is drawn using heavy line glyphs with short dashed (triple and quadruple) straight lines.</summary>
  22. HeavyDotted,
  23. /// <summary>The border is drawn using thin line glyphs with rounded corners.</summary>
  24. Rounded,
  25. /// <summary>The border is drawn using thin line glyphs with rounded corners and dashed (double and triple) straight lines.</summary>
  26. RoundedDashed,
  27. /// <summary>
  28. /// The border is drawn using thin line glyphs with rounded corners and short dashed (triple and quadruple)
  29. /// straight lines.
  30. /// </summary>
  31. RoundedDotted
  32. // TODO: Support Ruler
  33. ///// <summary>
  34. ///// The border is drawn as a diagnostic ruler ("|123456789...").
  35. ///// </summary>
  36. //Ruler
  37. }