blob: 56863855d3b43cb91f9235ddc12ce183f2201997 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
#ifndef INCLUDE_NCURSES_ACS_HPP_
#define INCLUDE_NCURSES_ACS_HPP_
#include <ncurses/utils/flags.hpp>
namespace NCURSES_CPP_NAMESPACE {
template <char U> class acs_type {
public:
operator chtype() const NCURSES_CPP_NOEXCEPT { return NCURSES_ACS(U); }
};
namespace acs {
static const auto ulcorner = acs_type<'l'>();
static const auto llcorner = acs_type<'m'>();
static const auto urcorner = acs_type<'k'>();
static const auto lrcorner = acs_type<'j'>();
static const auto ltee = acs_type<'t'>();
static const auto rtee = acs_type<'u'>();
static const auto btee = acs_type<'v'>();
static const auto ttee = acs_type<'w'>();
static const auto hline = acs_type<'q'>();
static const auto vline = acs_type<'x'>();
static const auto plus = acs_type<'n'>();
static const auto s1 = acs_type<'o'>();
static const auto s9 = acs_type<'s'>();
static const auto diamond = acs_type<'`'>();
static const auto ckboard = acs_type<'a'>();
static const auto degree = acs_type<'f'>();
static const auto plminus = acs_type<'g'>();
static const auto bullet = acs_type<'~'>();
static const auto larrow = acs_type<','>();
static const auto rarrow = acs_type<'+'>();
static const auto darrow = acs_type<'.'>();
static const auto uarrow = acs_type<'-'>();
static const auto board = acs_type<'h'>();
static const auto lantern = acs_type<'i'>();
static const auto block = acs_type<'0'>();
static const auto s3 = acs_type<'p'>();
static const auto s7 = acs_type<'r'>();
static const auto lequal = acs_type<'y'>();
static const auto gequal = acs_type<'z'>();
static const auto pi = acs_type<'{'>();
static const auto nequal = acs_type<'|'>();
static const auto sterling = acs_type<'}'>();
}; // namespace acs
template <char U> class wacs_type {
public:
// TODO: maybe not const, maybe smart ptr
operator const cchar_t *() const NCURSES_CPP_NOEXCEPT {
return NCURSES_WACS(U);
}
};
namespace wacs {
static const auto bssb = wacs_type<'l'>();
static const auto ssbb = wacs_type<'m'>();
static const auto bbss = wacs_type<'k'>();
static const auto sbbs = wacs_type<'j'>();
static const auto sbss = wacs_type<'u'>();
static const auto sssb = wacs_type<'t'>();
static const auto ssbs = wacs_type<'v'>();
static const auto bsss = wacs_type<'w'>();
static const auto bsbs = wacs_type<'q'>();
static const auto sbsb = wacs_type<'x'>();
static const auto ssss = wacs_type<'n'>();
static const auto ulcorner = bssb;
static const auto llcorner = ssbb;
static const auto urcorner = bbss;
static const auto lrcorner = sbbs;
static const auto rtee = sbss;
static const auto ltee = sssb;
static const auto btee = ssbs;
static const auto ttee = bsss;
static const auto hline = bsbs;
static const auto vline = sbsb;
static const auto plus = ssss;
static const auto s1 = wacs_type<'o'>();
static const auto s9 = wacs_type<'s'>();
static const auto diamond = wacs_type<'`'>();
static const auto ckboard = wacs_type<'a'>();
static const auto degree = wacs_type<'f'>();
static const auto plminus = wacs_type<'g'>();
static const auto bullet = wacs_type<'~'>();
/* Teletype 5410v1 symbols */
static const auto larrow = wacs_type<','>();
static const auto rarrow = wacs_type<'+'>();
static const auto darrow = wacs_type<'.'>();
static const auto uarrow = wacs_type<'-'>();
static const auto board = wacs_type<'h'>();
static const auto lantern = wacs_type<'i'>();
static const auto block = wacs_type<'0'>();
/* ncurses extensions */
static const auto s3 = wacs_type<'p'>();
static const auto s7 = wacs_type<'r'>();
static const auto lequal = wacs_type<'y'>();
static const auto gequal = wacs_type<'z'>();
static const auto pi = wacs_type<'{'>();
static const auto nequal = wacs_type<'|'>();
static const auto sterling = wacs_type<'}'>();
/* double lines */
static const auto bddb = wacs_type<'C'>();
static const auto ddbb = wacs_type<'D'>();
static const auto bbdd = wacs_type<'B'>();
static const auto dbbd = wacs_type<'A'>();
static const auto dbdd = wacs_type<'G'>();
static const auto dddb = wacs_type<'F'>();
static const auto ddbd = wacs_type<'H'>();
static const auto bddd = wacs_type<'I'>();
static const auto bdbd = wacs_type<'R'>();
static const auto dbdb = wacs_type<'Y'>();
static const auto dddd = wacs_type<'E'>();
static const auto d_ulcorner = bddb;
static const auto d_llcorner = ddbb;
static const auto d_urcorner = bbdd;
static const auto d_lrcorner = dbbd;
static const auto d_rtee = dbdd;
static const auto d_ltee = dddb;
static const auto d_btee = ddbd;
static const auto d_ttee = bddd;
static const auto d_hline = bdbd;
static const auto d_vline = dbdb;
static const auto d_plus = dddd;
/* thick lines */
static const auto bttb = wacs_type<'L'>();
static const auto ttbb = wacs_type<'M'>();
static const auto bbtt = wacs_type<'K'>();
static const auto tbbt = wacs_type<'J'>();
static const auto tbtt = wacs_type<'U'>();
static const auto tttb = wacs_type<'T'>();
static const auto ttbt = wacs_type<'V'>();
static const auto bttt = wacs_type<'W'>();
static const auto btbt = wacs_type<'Q'>();
static const auto tbtb = wacs_type<'X'>();
static const auto tttt = wacs_type<'N'>();
static const auto t_ulcorner = bttb;
static const auto t_llcorner = ttbb;
static const auto t_urcorner = bbtt;
static const auto t_lrcorner = tbbt;
static const auto t_rtee = tbtt;
static const auto t_ltee = tttb;
static const auto t_btee = ttbt;
static const auto t_ttee = bttt;
static const auto t_hline = btbt;
static const auto t_vline = tbtb;
static const auto t_plus = tttt;
} // namespace wacs
} // namespace NCURSES_CPP_NAMESPACE
#endif // INCLUDE_NCURSES_ACS_HPP_
|