mirror of
https://github.com/spectreconsole/spectre.console.git
synced 2025-12-26 15:57:58 +01:00
38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
using System;
|
|
|
|
namespace Spectre.Console.Composition
|
|
{
|
|
/// <summary>
|
|
/// Represents an old school ASCII border.
|
|
/// </summary>
|
|
public sealed class AsciiBorder : Border
|
|
{
|
|
/// <inheritdoc/>
|
|
protected override char GetBoxPart(BorderPart part)
|
|
{
|
|
return part switch
|
|
{
|
|
BorderPart.HeaderTopLeft => '+',
|
|
BorderPart.HeaderTop => '-',
|
|
BorderPart.HeaderTopSeparator => '-',
|
|
BorderPart.HeaderTopRight => '+',
|
|
BorderPart.HeaderLeft => '|',
|
|
BorderPart.HeaderSeparator => '|',
|
|
BorderPart.HeaderRight => '|',
|
|
BorderPart.HeaderBottomLeft => '|',
|
|
BorderPart.HeaderBottom => '-',
|
|
BorderPart.HeaderBottomSeparator => '+',
|
|
BorderPart.HeaderBottomRight => '|',
|
|
BorderPart.CellLeft => '|',
|
|
BorderPart.CellSeparator => '|',
|
|
BorderPart.ColumnRight => '|',
|
|
BorderPart.FooterBottomLeft => '+',
|
|
BorderPart.FooterBottom => '-',
|
|
BorderPart.FooterBottomSeparator => '-',
|
|
BorderPart.FooterBottomRight => '+',
|
|
_ => throw new InvalidOperationException("Unknown box part."),
|
|
};
|
|
}
|
|
}
|
|
}
|