namespace Terminal.Gui;
/// Defines the standard set of glyphs used to draw checkboxes, lines, borders, etc...
///
///
/// Access with (which is a global using alias for
/// ).
///
///
/// The default glyphs can be changed via the . Within a config.json
/// file The Json property name is the property name prefixed with "Glyphs.".
///
///
/// The JSon property can be either a decimal number or a string. The string may be one of: - A unicode char
/// (e.g. "☑") - A hex value in U+ format (e.g. "U+2611") - A hex value in UTF-16 format (e.g. "\\u2611")
///
///
public class GlyphDefinitions
{
/// File icon. Defaults to ☰ (Trigram For Heaven)
public Rune File { get; set; } = (Rune)'☰';
/// Folder icon. Defaults to ꤉ (Kayah Li Digit Nine)
public Rune Folder { get; set; } = (Rune)'꤉';
/// Horizontal Ellipsis - … U+2026
public Rune HorizontalEllipsis { get; set; } = (Rune)'…';
/// Vertical Four Dots - ⁞ U+205e
public Rune VerticalFourDots { get; set; } = (Rune)'⁞';
#region ----------------- Single Glyphs -----------------
/// Checked indicator (e.g. for and ).
public Rune CheckStateChecked { get; set; } = (Rune)'☑';
/// Not Checked indicator (e.g. for and ).
public Rune CheckStateUnChecked { get; set; } = (Rune)'☐';
/// Null Checked indicator (e.g. for and ).
public Rune CheckStateNone { get; set; } = (Rune)'☒';
/// Selected indicator (e.g. for and ).
public Rune Selected { get; set; } = (Rune)'◉';
/// Not Selected indicator (e.g. for and ).
public Rune UnSelected { get; set; } = (Rune)'○';
/// Horizontal arrow.
public Rune RightArrow { get; set; } = (Rune)'►';
/// Left arrow.
public Rune LeftArrow { get; set; } = (Rune)'◄';
/// Down arrow.
public Rune DownArrow { get; set; } = (Rune)'▼';
/// Vertical arrow.
public Rune UpArrow { get; set; } = (Rune)'▲';
/// Left default indicator (e.g. for .
public Rune LeftDefaultIndicator { get; set; } = (Rune)'►';
/// Horizontal default indicator (e.g. for .
public Rune RightDefaultIndicator { get; set; } = (Rune)'◄';
/// Left Bracket (e.g. for . Default is (U+005B) - [.
public Rune LeftBracket { get; set; } = (Rune)'⟦';
/// Horizontal Bracket (e.g. for . Default is (U+005D) - ].
public Rune RightBracket { get; set; } = (Rune)'⟧';
/// Half block meter segment (e.g. for ).
public Rune BlocksMeterSegment { get; set; } = (Rune)'▌';
/// Continuous block meter segment (e.g. for ).
public Rune ContinuousMeterSegment { get; set; } = (Rune)'█';
/// Stipple pattern (e.g. for ). Default is Light Shade (U+2591) - ░.
public Rune Stipple { get; set; } = (Rune)'░';
/// Diamond (e.g. for . Default is Lozenge (U+25CA) - ◊.
public Rune Diamond { get; set; } = (Rune)'◊';
/// Close. Default is Heavy Ballot X (U+2718) - ✘.
public Rune Close { get; set; } = (Rune)'✘';
/// Minimize. Default is Lower Horizontal Shadowed White Circle (U+274F) - ❏.
public Rune Minimize { get; set; } = (Rune)'❏';
/// Maximize. Default is Upper Horizontal Shadowed White Circle (U+273D) - ✽.
public Rune Maximize { get; set; } = (Rune)'✽';
/// Dot. Default is (U+2219) - ∙.
public Rune Dot { get; set; } = (Rune)'∙';
/// Black Circle . Default is (U+025cf) - ●.
public Rune BlackCircle { get; set; } = (Rune)'●'; // Black Circle - ● U+025cf
/// Expand (e.g. for .
public Rune Expand { get; set; } = (Rune)'+';
/// Expand (e.g. for .
public Rune Collapse { get; set; } = (Rune)'-';
/// Identical To (U+226)
public Rune IdenticalTo { get; set; } = (Rune)'≡';
/// Apple (non-BMP). Because snek. And because it's an example of a non-BMP surrogate pair. See Issue #2610.
public Rune Apple { get; set; } = "🍎".ToRunes () [0]; // nonBMP
/// Apple (BMP). Because snek. See Issue #2610.
public Rune AppleBMP { get; set; } = (Rune)'❦';
/////
///// A nonprintable (low surrogate) that should fail to ctor.
/////
//public Rune InvalidGlyph { get; set; } = (Rune)'\ud83d';
#endregion
#region ----------------- Lines -----------------
/// Box Drawings Horizontal Line - Light (U+2500) - ─
public Rune HLine { get; set; } = (Rune)'─';
/// Box Drawings Vertical Line - Light (U+2502) - │
public Rune VLine { get; set; } = (Rune)'│';
/// Box Drawings Double Horizontal (U+2550) - ═
public Rune HLineDbl { get; set; } = (Rune)'═';
/// Box Drawings Double Vertical (U+2551) - ║
public Rune VLineDbl { get; set; } = (Rune)'║';
/// Box Drawings Heavy Double Dash Horizontal (U+254D) - ╍
public Rune HLineHvDa2 { get; set; } = (Rune)'╍';
/// Box Drawings Heavy Triple Dash Vertical (U+2507) - ┇
public Rune VLineHvDa3 { get; set; } = (Rune)'┇';
/// Box Drawings Heavy Triple Dash Horizontal (U+2505) - ┅
public Rune HLineHvDa3 { get; set; } = (Rune)'┅';
/// Box Drawings Heavy Quadruple Dash Horizontal (U+2509) - ┉
public Rune HLineHvDa4 { get; set; } = (Rune)'┉';
/// Box Drawings Heavy Double Dash Vertical (U+254F) - ╏
public Rune VLineHvDa2 { get; set; } = (Rune)'╏';
/// Box Drawings Heavy Quadruple Dash Vertical (U+250B) - ┋
public Rune VLineHvDa4 { get; set; } = (Rune)'┋';
/// Box Drawings Light Double Dash Horizontal (U+254C) - ╌
public Rune HLineDa2 { get; set; } = (Rune)'╌';
/// Box Drawings Light Triple Dash Vertical (U+2506) - ┆
public Rune VLineDa3 { get; set; } = (Rune)'┆';
/// Box Drawings Light Triple Dash Horizontal (U+2504) - ┄
public Rune HLineDa3 { get; set; } = (Rune)'┄';
/// Box Drawings Light Quadruple Dash Horizontal (U+2508) - ┈
public Rune HLineDa4 { get; set; } = (Rune)'┈';
/// Box Drawings Light Double Dash Vertical (U+254E) - ╎
public Rune VLineDa2 { get; set; } = (Rune)'╎';
/// Box Drawings Light Quadruple Dash Vertical (U+250A) - ┊
public Rune VLineDa4 { get; set; } = (Rune)'┊';
/// Box Drawings Heavy Horizontal (U+2501) - ━
public Rune HLineHv { get; set; } = (Rune)'━';
/// Box Drawings Heavy Vertical (U+2503) - ┃
public Rune VLineHv { get; set; } = (Rune)'┃';
/// Box Drawings Light Left (U+2574) - ╴
public Rune HalfLeftLine { get; set; } = (Rune)'╴';
/// Box Drawings Light Vertical (U+2575) - ╵
public Rune HalfTopLine { get; set; } = (Rune)'╵';
/// Box Drawings Light Horizontal (U+2576) - ╶
public Rune HalfRightLine { get; set; } = (Rune)'╶';
/// Box Drawings Light Down (U+2577) - ╷
public Rune HalfBottomLine { get; set; } = (Rune)'╷';
/// Box Drawings Heavy Left (U+2578) - ╸
public Rune HalfLeftLineHv { get; set; } = (Rune)'╸';
/// Box Drawings Heavy Vertical (U+2579) - ╹
public Rune HalfTopLineHv { get; set; } = (Rune)'╹';
/// Box Drawings Heavy Horizontal (U+257A) - ╺
public Rune HalfRightLineHv { get; set; } = (Rune)'╺';
/// Box Drawings Light Vertical and Horizontal (U+257B) - ╻
public Rune HalfBottomLineLt { get; set; } = (Rune)'╻';
/// Box Drawings Light Horizontal and Heavy Horizontal (U+257C) - ╼
public Rune RightSideLineLtHv { get; set; } = (Rune)'╼';
/// Box Drawings Light Vertical and Heavy Horizontal (U+257D) - ╽
public Rune BottomSideLineLtHv { get; set; } = (Rune)'╽';
/// Box Drawings Heavy Left and Light Horizontal (U+257E) - ╾
public Rune LeftSideLineHvLt { get; set; } = (Rune)'╾';
/// Box Drawings Heavy Vertical and Light Horizontal (U+257F) - ╿
public Rune TopSideLineHvLt { get; set; } = (Rune)'╿';
#endregion
#region ----------------- Upper Left Corners -----------------
/// Box Drawings Upper Left Corner - Light Vertical and Light Horizontal (U+250C) - ┌
public Rune ULCorner { get; set; } = (Rune)'┌';
/// Box Drawings Upper Left Corner - Double (U+2554) - ╔
public Rune ULCornerDbl { get; set; } = (Rune)'╔';
/// Box Drawings Upper Left Corner - Light Arc Down and Horizontal (U+256D) - ╭
public Rune ULCornerR { get; set; } = (Rune)'╭';
/// Box Drawings Heavy Down and Horizontal (U+250F) - ┏
public Rune ULCornerHv { get; set; } = (Rune)'┏';
/// Box Drawings Down Heavy and Horizontal Light (U+251E) - ┎
public Rune ULCornerHvLt { get; set; } = (Rune)'┎';
/// Box Drawings Down Light and Horizontal Heavy (U+250D) - ┎
public Rune ULCornerLtHv { get; set; } = (Rune)'┍';
/// Box Drawings Double Down and Single Horizontal (U+2553) - ╓
public Rune ULCornerDblSingle { get; set; } = (Rune)'╓';
/// Box Drawings Single Down and Double Horizontal (U+2552) - ╒
public Rune ULCornerSingleDbl { get; set; } = (Rune)'╒';
#endregion
#region ----------------- Lower Left Corners -----------------
/// Box Drawings Lower Left Corner - Light Vertical and Light Horizontal (U+2514) - └
public Rune LLCorner { get; set; } = (Rune)'└';
/// Box Drawings Heavy Vertical and Horizontal (U+2517) - ┗
public Rune LLCornerHv { get; set; } = (Rune)'┗';
/// Box Drawings Heavy Vertical and Horizontal Light (U+2516) - ┖
public Rune LLCornerHvLt { get; set; } = (Rune)'┖';
/// Box Drawings Vertical Light and Horizontal Heavy (U+2511) - ┕
public Rune LLCornerLtHv { get; set; } = (Rune)'┕';
/// Box Drawings Double Vertical and Double Left (U+255A) - ╚
public Rune LLCornerDbl { get; set; } = (Rune)'╚';
/// Box Drawings Single Vertical and Double Left (U+2558) - ╘
public Rune LLCornerSingleDbl { get; set; } = (Rune)'╘';
/// Box Drawings Double Down and Single Left (U+2559) - ╙
public Rune LLCornerDblSingle { get; set; } = (Rune)'╙';
/// Box Drawings Upper Left Corner - Light Arc Down and Left (U+2570) - ╰
public Rune LLCornerR { get; set; } = (Rune)'╰';
#endregion
#region ----------------- Upper Right Corners -----------------
/// Box Drawings Upper Horizontal Corner - Light Vertical and Light Horizontal (U+2510) - ┐
public Rune URCorner { get; set; } = (Rune)'┐';
/// Box Drawings Upper Horizontal Corner - Double Vertical and Double Horizontal (U+2557) - ╗
public Rune URCornerDbl { get; set; } = (Rune)'╗';
/// Box Drawings Upper Horizontal Corner - Light Arc Vertical and Horizontal (U+256E) - ╮
public Rune URCornerR { get; set; } = (Rune)'╮';
/// Box Drawings Heavy Down and Left (U+2513) - ┓
public Rune URCornerHv { get; set; } = (Rune)'┓';
/// Box Drawings Heavy Vertical and Left Down Light (U+2511) - ┑
public Rune URCornerHvLt { get; set; } = (Rune)'┑';
/// Box Drawings Down Light and Horizontal Heavy (U+2514) - ┒
public Rune URCornerLtHv { get; set; } = (Rune)'┒';
/// Box Drawings Double Vertical and Single Left (U+2556) - ╖
public Rune URCornerDblSingle { get; set; } = (Rune)'╖';
/// Box Drawings Single Vertical and Double Left (U+2555) - ╕
public Rune URCornerSingleDbl { get; set; } = (Rune)'╕';
#endregion
#region ----------------- Lower Right Corners -----------------
/// Box Drawings Lower Right Corner - Light (U+2518) - ┘
public Rune LRCorner { get; set; } = (Rune)'┘';
/// Box Drawings Lower Right Corner - Double (U+255D) - ╝
public Rune LRCornerDbl { get; set; } = (Rune)'╝';
/// Box Drawings Lower Right Corner - Rounded (U+256F) - ╯
public Rune LRCornerR { get; set; } = (Rune)'╯';
/// Box Drawings Lower Right Corner - Heavy (U+251B) - ┛
public Rune LRCornerHv { get; set; } = (Rune)'┛';
/// Box Drawings Lower Right Corner - Double Vertical and Single Horizontal (U+255C) - ╜
public Rune LRCornerDblSingle { get; set; } = (Rune)'╜';
/// Box Drawings Lower Right Corner - Single Vertical and Double Horizontal (U+255B) - ╛
public Rune LRCornerSingleDbl { get; set; } = (Rune)'╛';
/// Box Drawings Lower Right Corner - Light Vertical and Heavy Horizontal (U+2519) - ┙
public Rune LRCornerLtHv { get; set; } = (Rune)'┙';
/// Box Drawings Lower Right Corner - Heavy Vertical and Light Horizontal (U+251A) - ┚
public Rune LRCornerHvLt { get; set; } = (Rune)'┚';
#endregion
#region ----------------- Tees -----------------
/// Box Drawings Left Tee - Single Vertical and Single Horizontal (U+251C) - ├
public Rune LeftTee { get; set; } = (Rune)'├';
/// Box Drawings Left Tee - Single Vertical and Double Horizontal (U+255E) - ╞
public Rune LeftTeeDblH { get; set; } = (Rune)'╞';
/// Box Drawings Left Tee - Double Vertical and Single Horizontal (U+255F) - ╟
public Rune LeftTeeDblV { get; set; } = (Rune)'╟';
/// Box Drawings Left Tee - Double Vertical and Double Horizontal (U+2560) - ╠
public Rune LeftTeeDbl { get; set; } = (Rune)'╠';
/// Box Drawings Left Tee - Heavy Horizontal and Light Vertical (U+2523) - ┝
public Rune LeftTeeHvH { get; set; } = (Rune)'┝';
/// Box Drawings Left Tee - Light Horizontal and Heavy Vertical (U+252B) - ┠
public Rune LeftTeeHvV { get; set; } = (Rune)'┠';
/// Box Drawings Left Tee - Heavy Vertical and Heavy Horizontal (U+2527) - ┣
public Rune LeftTeeHvDblH { get; set; } = (Rune)'┣';
/// Box Drawings Right Tee - Single Vertical and Single Horizontal (U+2524) - ┤
public Rune RightTee { get; set; } = (Rune)'┤';
/// Box Drawings Right Tee - Single Vertical and Double Horizontal (U+2561) - ╡
public Rune RightTeeDblH { get; set; } = (Rune)'╡';
/// Box Drawings Right Tee - Double Vertical and Single Horizontal (U+2562) - ╢
public Rune RightTeeDblV { get; set; } = (Rune)'╢';
/// Box Drawings Right Tee - Double Vertical and Double Horizontal (U+2563) - ╣
public Rune RightTeeDbl { get; set; } = (Rune)'╣';
/// Box Drawings Right Tee - Heavy Horizontal and Light Vertical (U+2528) - ┥
public Rune RightTeeHvH { get; set; } = (Rune)'┥';
/// Box Drawings Right Tee - Light Horizontal and Heavy Vertical (U+2530) - ┨
public Rune RightTeeHvV { get; set; } = (Rune)'┨';
/// Box Drawings Right Tee - Heavy Vertical and Heavy Horizontal (U+252C) - ┫
public Rune RightTeeHvDblH { get; set; } = (Rune)'┫';
/// Box Drawings Top Tee - Single Vertical and Single Horizontal (U+252C) - ┬
public Rune TopTee { get; set; } = (Rune)'┬';
/// Box Drawings Top Tee - Single Vertical and Double Horizontal (U+2564) - ╤
public Rune TopTeeDblH { get; set; } = (Rune)'╤';
/// Box Drawings Top Tee - Double Vertical and Single Horizontal (U+2565) - ╥
public Rune TopTeeDblV { get; set; } = (Rune)'╥';
/// Box Drawings Top Tee - Double Vertical and Double Horizontal (U+2566) - ╦
public Rune TopTeeDbl { get; set; } = (Rune)'╦';
/// Box Drawings Top Tee - Heavy Horizontal and Light Vertical (U+252F) - ┯
public Rune TopTeeHvH { get; set; } = (Rune)'┯';
/// Box Drawings Top Tee - Light Horizontal and Heavy Vertical (U+2537) - ┰
public Rune TopTeeHvV { get; set; } = (Rune)'┰';
/// Box Drawings Top Tee - Heavy Vertical and Heavy Horizontal (U+2533) - ┳
public Rune TopTeeHvDblH { get; set; } = (Rune)'┳';
/// Box Drawings Bottom Tee - Single Vertical and Single Horizontal (U+2534) - ┴
public Rune BottomTee { get; set; } = (Rune)'┴';
/// Box Drawings Bottom Tee - Single Vertical and Double Horizontal (U+2567) - ╧
public Rune BottomTeeDblH { get; set; } = (Rune)'╧';
/// Box Drawings Bottom Tee - Double Vertical and Single Horizontal (U+2568) - ╨
public Rune BottomTeeDblV { get; set; } = (Rune)'╨';
/// Box Drawings Bottom Tee - Double Vertical and Double Horizontal (U+2569) - ╩
public Rune BottomTeeDbl { get; set; } = (Rune)'╩';
/// Box Drawings Bottom Tee - Heavy Horizontal and Light Vertical (U+2535) - ┷
public Rune BottomTeeHvH { get; set; } = (Rune)'┷';
/// Box Drawings Bottom Tee - Light Horizontal and Heavy Vertical (U+253D) - ┸
public Rune BottomTeeHvV { get; set; } = (Rune)'┸';
/// Box Drawings Bottom Tee - Heavy Vertical and Heavy Horizontal (U+2539) - ┻
public Rune BottomTeeHvDblH { get; set; } = (Rune)'┻';
#endregion
#region ----------------- Crosses -----------------
/// Box Drawings Cross - Single Vertical and Single Horizontal (U+253C) - ┼
public Rune Cross { get; set; } = (Rune)'┼';
/// Box Drawings Cross - Single Vertical and Double Horizontal (U+256A) - ╪
public Rune CrossDblH { get; set; } = (Rune)'╪';
/// Box Drawings Cross - Double Vertical and Single Horizontal (U+256B) - ╫
public Rune CrossDblV { get; set; } = (Rune)'╫';
/// Box Drawings Cross - Double Vertical and Double Horizontal (U+256C) - ╬
public Rune CrossDbl { get; set; } = (Rune)'╬';
/// Box Drawings Cross - Heavy Horizontal and Light Vertical (U+253F) - ┿
public Rune CrossHvH { get; set; } = (Rune)'┿';
/// Box Drawings Cross - Light Horizontal and Heavy Vertical (U+2541) - ╂
public Rune CrossHvV { get; set; } = (Rune)'╂';
/// Box Drawings Cross - Heavy Vertical and Heavy Horizontal (U+254B) - ╋
public Rune CrossHv { get; set; } = (Rune)'╋';
#endregion
#region ----------------- ShadowStyle -----------------
/// Shadow - Vertical Start - Left Half Block - ▌ U+0258c
public Rune ShadowVerticalStart { get; set; } = (Rune)'▖'; // Half: '\u2596' ▖;
/// Shadow - Vertical - Left Half Block - ▌ U+0258c
public Rune ShadowVertical { get; set; } = (Rune)'▌';
/// Shadow - Horizontal Start - Upper Half Block - ▀ U+02580
public Rune ShadowHorizontalStart { get; set; } = (Rune)'▝'; // Half: ▝ U+0259d;
/// Shadow - Horizontal - Upper Half Block - ▀ U+02580
public Rune ShadowHorizontal { get; set; } = (Rune)'▀';
/// Shadow - Horizontal End - Quadrant Upper Left - ▘ U+02598
public Rune ShadowHorizontalEnd { get; set; } = (Rune)'▘';
#endregion
}