#ifndef INCLUDE_NCURSES_ACS_HPP_ #define INCLUDE_NCURSES_ACS_HPP_ #include namespace NCURSES_CPP_NAMESPACE { template 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 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_