namespacedoor.html 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Bugz Door Project: door Namespace Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">Bugz Door Project
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.17 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. </div><!-- top -->
  61. <div class="header">
  62. <div class="summary">
  63. <a href="#nested-classes">Classes</a> &#124;
  64. <a href="#typedef-members">Typedefs</a> &#124;
  65. <a href="#enum-members">Enumerations</a> &#124;
  66. <a href="#func-members">Functions</a> &#124;
  67. <a href="#var-members">Variables</a> </div>
  68. <div class="headertitle">
  69. <div class="title">door Namespace Reference</div> </div>
  70. </div><!--header-->
  71. <div class="contents">
  72. <p>The BBS door project. This is an attempt at writing a C++ BBS door toolkit.
  73. <a href="namespacedoor.html#details">More...</a></p>
  74. <table class="memberdecls">
  75. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  76. Classes</h2></td></tr>
  77. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a></td></tr>
  78. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Foreground, Background and Attributes. <a href="classdoor_1_1ANSIColor.html#details">More...</a><br /></td></tr>
  79. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdoor_1_1box__styles.html">box_styles</a></td></tr>
  81. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a></td></tr>
  83. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the screen. <a href="classdoor_1_1Clrscr.html#details">More...</a><br /></td></tr>
  84. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ColorOutput.html">ColorOutput</a></td></tr>
  86. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This holds an <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> and text position + length. <a href="classdoor_1_1ColorOutput.html#details">More...</a><br /></td></tr>
  87. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html">Door</a></td></tr>
  89. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  90. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Goto.html">Goto</a></td></tr>
  91. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI <a class="el" href="classdoor_1_1Goto.html" title="ANSI Goto X, Y position.">Goto</a> X, Y position. <a href="classdoor_1_1Goto.html#details">More...</a><br /></td></tr>
  92. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  93. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1IConv.html">IConv</a></td></tr>
  94. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Line.html">Line</a></td></tr>
  96. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Text and <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>. <a href="classdoor_1_1Line.html#details">More...</a><br /></td></tr>
  97. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Menu.html">Menu</a></td></tr>
  99. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  100. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a></td></tr>
  101. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">CR+LF. <a href="classdoor_1_1NewLine.html#details">More...</a><br /></td></tr>
  102. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Panel.html">Panel</a></td></tr>
  104. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  105. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Render.html">Render</a></td></tr>
  106. <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rendering a string with <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>. <a href="classdoor_1_1Render.html#details">More...</a><br /></td></tr>
  107. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Screen.html">Screen</a></td></tr>
  109. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. </table><table class="memberdecls">
  111. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  112. Typedefs</h2></td></tr>
  113. <tr class="memitem:ad9c2405adaa0b5168bc53059b3a978c1"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; <a class="el" href="classdoor_1_1Render.html">Render</a>(const std::string &amp;)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a></td></tr>
  114. <tr class="memdesc:ad9c2405adaa0b5168bc53059b3a978c1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> output function. <a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">More...</a><br /></td></tr>
  115. <tr class="separator:ad9c2405adaa0b5168bc53059b3a978c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:adb2697f83f8ce701366e05ed72c97d6e"><td class="memItemLeft" align="right" valign="top">typedef std::function&lt; std::string(void)&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a></td></tr>
  117. <tr class="separator:adb2697f83f8ce701366e05ed72c97d6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. </table><table class="memberdecls">
  119. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
  120. Enumerations</h2></td></tr>
  121. <tr class="memitem:abafe0a9e79349883af3ab2a7fb544366"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> : std::int8_t { <br />
  122. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965">COLOR::BLACK</a>,
  123. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0">COLOR::RED</a>,
  124. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0">COLOR::GREEN</a>,
  125. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488">COLOR::BROWN</a>,
  126. <br />
  127. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">COLOR::YELLOW</a> = 3,
  128. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">COLOR::BLUE</a>,
  129. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61">COLOR::MAGENTA</a>,
  130. <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">COLOR::CYAN</a>,
  131. <br />
  132. &#160;&#160;<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">COLOR::WHITE</a>
  133. <br />
  134. }</td></tr>
  135. <tr class="memdesc:abafe0a9e79349883af3ab2a7fb544366"><td class="mdescLeft">&#160;</td><td class="mdescRight">The colors available under ANSI-BBS. <a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">More...</a><br /></td></tr>
  136. <tr class="separator:abafe0a9e79349883af3ab2a7fb544366"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:add24f9a933f9a6e613de6d56854e5c52"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> : std::int8_t { <br />
  138. &#160;&#160;<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">ATTR::RESET</a>,
  139. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">ATTR::BOLD</a>,
  140. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040">ATTR::BRIGHT</a> = 1,
  141. <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc">ATTR::BLINK</a> = 5,
  142. <br />
  143. &#160;&#160;<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639">ATTR::INVERSE</a> = 7
  144. <br />
  145. }</td></tr>
  146. <tr class="memdesc:add24f9a933f9a6e613de6d56854e5c52"><td class="mdescLeft">&#160;</td><td class="mdescRight">ANSI-BBS text attributes. <a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">More...</a><br /></td></tr>
  147. <tr class="separator:add24f9a933f9a6e613de6d56854e5c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:af025775fb0b68d66dc42ee3299444fb7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">Justify</a> { <b>NONE</b>,
  149. <b>LEFT</b>,
  150. <b>RIGHT</b>,
  151. <b>CENTER</b>
  152. }</td></tr>
  153. <tr class="separator:af025775fb0b68d66dc42ee3299444fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a08afbc9eecb6efd7d4c741023b11db91"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> { <br />
  155. &#160;&#160;<a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">BorderStyle::NONE</a>,
  156. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8">BorderStyle::SINGLE</a>,
  157. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229">BorderStyle::DOUBLE</a>,
  158. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a">BorderStyle::SINGLE_DOUBLE</a>,
  159. <br />
  160. &#160;&#160;<a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367">BorderStyle::DOUBLE_SINGLE</a>,
  161. <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7">BorderStyle::BLANK</a>
  162. <br />
  163. }</td></tr>
  164. <tr class="separator:a08afbc9eecb6efd7d4c741023b11db91"><td class="memSeparator" colspan="2">&#160;</td></tr>
  165. </table><table class="memberdecls">
  166. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  167. Functions</h2></td></tr>
  168. <tr class="memitem:ae6c40e2e917f64a9c42d977a88fe18fa"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c)</td></tr>
  169. <tr class="separator:ae6c40e2e917f64a9c42d977a88fe18fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
  170. <tr class="memitem:afa94e91868d469077e4d3b400dedfd6c"><td class="memItemLeft" align="right" valign="top"><a id="afa94e91868d469077e4d3b400dedfd6c"></a>
  171. void&#160;</td><td class="memItemRight" valign="bottom"><b>to_lower</b> (std::string &amp;text)</td></tr>
  172. <tr class="separator:afa94e91868d469077e4d3b400dedfd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  173. <tr class="memitem:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memItemLeft" align="right" valign="top"><a id="acba445fc4d33e1b0c1ff2b648cc2899d"></a>
  174. bool&#160;</td><td class="memItemRight" valign="bottom"><b>replace</b> (std::string &amp;str, const std::string &amp;from, const std::string &amp;to)</td></tr>
  175. <tr class="separator:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  176. <tr class="memitem:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memItemLeft" align="right" valign="top"><a id="a5cc0209e9203231d1bdb1e6b7f0876c3"></a>
  177. bool&#160;</td><td class="memItemRight" valign="bottom"><b>replace</b> (std::string &amp;str, const char *from, const char *to)</td></tr>
  178. <tr class="separator:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a4fc2f3f7f1b3908cb71bd1d275594fe9"><td class="memItemLeft" align="right" valign="top"><a id="a4fc2f3f7f1b3908cb71bd1d275594fe9"></a>
  180. void&#160;</td><td class="memItemRight" valign="bottom"><b>sig_handler</b> (int signal)</td></tr>
  181. <tr class="separator:a4fc2f3f7f1b3908cb71bd1d275594fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:a5efa4fb96eacd6b90e5cbb0bd985f3fc"><td class="memItemLeft" align="right" valign="top"><a id="a5efa4fb96eacd6b90e5cbb0bd985f3fc"></a>
  183. void&#160;</td><td class="memItemRight" valign="bottom"><b>cp437toUnicode</b> (std::string input, std::string &amp;out)</td></tr>
  184. <tr class="separator:a5efa4fb96eacd6b90e5cbb0bd985f3fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:a7e94df0d0af14da619835aa90cfa8f2a"><td class="memItemLeft" align="right" valign="top"><a id="a7e94df0d0af14da619835aa90cfa8f2a"></a>
  186. void&#160;</td><td class="memItemRight" valign="bottom"><b>cp437toUnicode</b> (const char *input, std::string &amp;out)</td></tr>
  187. <tr class="separator:a7e94df0d0af14da619835aa90cfa8f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:ad5d6277de5e8274cec970a4633d713b1"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;clr)</td></tr>
  189. <tr class="separator:ad5d6277de5e8274cec970a4633d713b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:aa6b909ef984a2aabc5b9a570884dff94"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1NewLine.html">NewLine</a> &amp;<a class="el" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>)</td></tr>
  191. <tr class="separator:aa6b909ef984a2aabc5b9a570884dff94"><td class="memSeparator" colspan="2">&#160;</td></tr>
  192. <tr class="memitem:aae6ca4805185baa51dcc661a69fa801b"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Goto.html">Goto</a> &amp;g)</td></tr>
  193. <tr class="separator:aae6ca4805185baa51dcc661a69fa801b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:af3c1c222a45143cfa4e780cfb2e45243"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Line.html">Line</a> &amp;l)</td></tr>
  195. <tr class="separator:af3c1c222a45143cfa4e780cfb2e45243"><td class="memSeparator" colspan="2">&#160;</td></tr>
  196. <tr class="memitem:a10848399ef2da2947ceb98b7707a688f"><td class="memItemLeft" align="right" valign="top"><a id="a10848399ef2da2947ceb98b7707a688f"></a>
  197. std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Panel.html">Panel</a> &amp;p)</td></tr>
  198. <tr class="separator:a10848399ef2da2947ceb98b7707a688f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  199. <tr class="memitem:a5ca5f798bc38b4e5dc1e482ace47b7df"><td class="memItemLeft" align="right" valign="top"><a id="a5ca5f798bc38b4e5dc1e482ace47b7df"></a>
  200. std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classdoor_1_1Screen.html">Screen</a> &amp;s)</td></tr>
  201. <tr class="separator:a5ca5f798bc38b4e5dc1e482ace47b7df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. </table><table class="memberdecls">
  203. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
  204. Variables</h2></td></tr>
  205. <tr class="memitem:ae3a70989c43f6cb3522308af748b4481"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">reset</a> (<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">ATTR::RESET</a>)</td></tr>
  206. <tr class="memdesc:ae3a70989c43f6cb3522308af748b4481"><td class="mdescLeft">&#160;</td><td class="mdescRight">reset colors to normal <a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">More...</a><br /></td></tr>
  207. <tr class="separator:ae3a70989c43f6cb3522308af748b4481"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a1626abff63f7a1b9dc696969c860283b"><td class="memItemLeft" align="right" valign="top"><a id="a1626abff63f7a1b9dc696969c860283b"></a>
  209. bool&#160;</td><td class="memItemRight" valign="bottom"><b>unicode</b> = false</td></tr>
  210. <tr class="separator:a1626abff63f7a1b9dc696969c860283b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  211. <tr class="memitem:aeade8b521c7f95755fdb166727c2b87c"><td class="memItemLeft" align="right" valign="top"><a id="aeade8b521c7f95755fdb166727c2b87c"></a>
  212. bool&#160;</td><td class="memItemRight" valign="bottom"><b>full_cp437</b> = false</td></tr>
  213. <tr class="separator:aeade8b521c7f95755fdb166727c2b87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  214. <tr class="memitem:ac39a1dfdb8dec210d28133625f860bc1"><td class="memItemLeft" align="right" valign="top"><a id="ac39a1dfdb8dec210d28133625f860bc1"></a>
  215. bool&#160;</td><td class="memItemRight" valign="bottom"><b>debug_capture</b> = false</td></tr>
  216. <tr class="separator:ac39a1dfdb8dec210d28133625f860bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  217. <tr class="memitem:ac70193caf66e4b9aed1529593727a6eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">cls</a></td></tr>
  218. <tr class="separator:ac70193caf66e4b9aed1529593727a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:a36352ded72aee66b10e1bda6d3d8efb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a></td></tr>
  220. <tr class="separator:a36352ded72aee66b10e1bda6d3d8efb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:aa6a7c86274470fd22e45676ba6eebb36"><td class="memItemLeft" align="right" valign="top"><a id="aa6a7c86274470fd22e45676ba6eebb36"></a>
  222. const char&#160;</td><td class="memItemRight" valign="bottom"><b>SaveCursor</b> [] = &quot;\x1b[s&quot;</td></tr>
  223. <tr class="separator:aa6a7c86274470fd22e45676ba6eebb36"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:a1ae3caab423b38b35e887d79b5ac1811"><td class="memItemLeft" align="right" valign="top"><a id="a1ae3caab423b38b35e887d79b5ac1811"></a>
  225. const char&#160;</td><td class="memItemRight" valign="bottom"><b>RestoreCursor</b> [] = &quot;\x1b[u&quot;</td></tr>
  226. <tr class="separator:a1ae3caab423b38b35e887d79b5ac1811"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:a3274dff22ddb19a3e429a703ee6f3e57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">rBlueYellow</a></td></tr>
  228. <tr class="memdesc:a3274dff22ddb19a3e429a703ee6f3e57"><td class="mdescLeft">&#160;</td><td class="mdescRight">BlueYellow <a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> example function. <a href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">More...</a><br /></td></tr>
  229. <tr class="separator:a3274dff22ddb19a3e429a703ee6f3e57"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:aeafa2ff6deb9ddddaab458b89f10c4e6"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#aeafa2ff6deb9ddddaab458b89f10c4e6">UBOXES</a> []</td></tr>
  231. <tr class="separator:aeafa2ff6deb9ddddaab458b89f10c4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  232. <tr class="memitem:a018157cf945eeb22c9a1bc4fefff84ed"><td class="memItemLeft" align="right" valign="top"><a id="a018157cf945eeb22c9a1bc4fefff84ed"></a>
  233. struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a>&#160;</td><td class="memItemRight" valign="bottom"><b>BOXES</b> []</td></tr>
  234. <tr class="separator:a018157cf945eeb22c9a1bc4fefff84ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  235. <tr class="memitem:aa7aaca15a8885a3ef3a6c85cd40ae617"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><b>JOIN</b> [2][2][2]</td></tr>
  236. <tr class="separator:aa7aaca15a8885a3ef3a6c85cd40ae617"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:ad19e1b85072846f56b4f578410a5587e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><b>UJOIN</b> [2][2][2]</td></tr>
  238. <tr class="separator:ad19e1b85072846f56b4f578410a5587e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. </table>
  240. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  241. <div class="textblock"><p>The BBS door project. This is an attempt at writing a C++ BBS door toolkit. </p>
  242. </div><h2 class="groupheader">Typedef Documentation</h2>
  243. <a id="ad9c2405adaa0b5168bc53059b3a978c1"></a>
  244. <h2 class="memtitle"><span class="permalink"><a href="#ad9c2405adaa0b5168bc53059b3a978c1">&#9670;&nbsp;</a></span>renderFunction</h2>
  245. <div class="memitem">
  246. <div class="memproto">
  247. <table class="memname">
  248. <tr>
  249. <td class="memname">typedef std::function&lt;<a class="el" href="classdoor_1_1Render.html">Render</a>(const std::string &amp;)&gt; <a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></td>
  250. </tr>
  251. </table>
  252. </div><div class="memdoc">
  253. <p><a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> output function. </p>
  254. <p>This defines the render output function. Given the line text, we output the color codes needs to display the line.</p>
  255. <div class="fragment"><div class="line"><a class="code" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a> upperColor, lowerColor;</div>
  256. <div class="line"> </div>
  257. <div class="line">door::RenderFunction render = [upperColor, lowerColor]</div>
  258. <div class="line"> (<span class="keyword">const</span> std::string &amp;text) -&gt; <a class="code" href="classdoor_1_1Render.html">door::Render</a> {</div>
  259. <div class="line"> <a class="code" href="classdoor_1_1Render.html">door::Render</a> r(text);</div>
  260. <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">char</span> <span class="keyword">const</span> &amp;c : text) {</div>
  261. <div class="line"> <span class="keywordflow">if</span> (std::isupper(c))</div>
  262. <div class="line"> r.append(upperColor);</div>
  263. <div class="line"> <span class="keywordflow">else</span></div>
  264. <div class="line"> r.append(lowerColor);</div>
  265. <div class="line"> }</div>
  266. <div class="line"> <span class="keywordflow">return</span> r;</div>
  267. <div class="line">};</div>
  268. </div><!-- fragment -->
  269. </div>
  270. </div>
  271. <a id="adb2697f83f8ce701366e05ed72c97d6e"></a>
  272. <h2 class="memtitle"><span class="permalink"><a href="#adb2697f83f8ce701366e05ed72c97d6e">&#9670;&nbsp;</a></span>updateFunction</h2>
  273. <div class="memitem">
  274. <div class="memproto">
  275. <table class="memname">
  276. <tr>
  277. <td class="memname">typedef std::function&lt;std::string(void)&gt; <a class="el" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a></td>
  278. </tr>
  279. </table>
  280. </div><div class="memdoc">
  281. <p>This defines the update function.</p>
  282. <p>This updates the text.</p>
  283. <div class="fragment"><div class="line"><span class="keywordtype">int</span> score = 0;</div>
  284. <div class="line"> </div>
  285. <div class="line"><a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a> updater = [](void) -&gt; std::string {</div>
  286. <div class="line"> std::string text = <span class="stringliteral">&quot;Score: &quot;</span>;</div>
  287. <div class="line"> text += std::to_string(score);</div>
  288. <div class="line"> <span class="keywordflow">return</span> text;</div>
  289. <div class="line">};</div>
  290. <div class="line"> </div>
  291. <div class="line">fancyLine.setUpdater(updater);</div>
  292. </div><!-- fragment -->
  293. </div>
  294. </div>
  295. <h2 class="groupheader">Enumeration Type Documentation</h2>
  296. <a id="add24f9a933f9a6e613de6d56854e5c52"></a>
  297. <h2 class="memtitle"><span class="permalink"><a href="#add24f9a933f9a6e613de6d56854e5c52">&#9670;&nbsp;</a></span>ATTR</h2>
  298. <div class="memitem">
  299. <div class="memproto">
  300. <table class="mlabels">
  301. <tr>
  302. <td class="mlabels-left">
  303. <table class="memname">
  304. <tr>
  305. <td class="memname">enum <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">door::ATTR</a> : std::int8_t</td>
  306. </tr>
  307. </table>
  308. </td>
  309. <td class="mlabels-right">
  310. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  311. </tr>
  312. </table>
  313. </div><div class="memdoc">
  314. <p>ANSI-BBS text attributes. </p>
  315. <table class="fieldtable">
  316. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1"></a>RESET&#160;</td><td class="fielddoc"><p>RESET forces all attributes (and Colors) to be sent. </p>
  317. </td></tr>
  318. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"></a>BOLD&#160;</td><td class="fielddoc"><p>BOLD is the same as BRIGHT. </p>
  319. </td></tr>
  320. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040"></a>BRIGHT&#160;</td><td class="fielddoc"><p>BRIGHT is the same as BOLD. </p>
  321. </td></tr>
  322. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc"></a>BLINK&#160;</td><td class="fielddoc"><p>SLOW BLINK. </p>
  323. </td></tr>
  324. <tr><td class="fieldname"><a id="add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639"></a>INVERSE&#160;</td><td class="fielddoc"><p>INVERSE is Background on Foreground. </p>
  325. </td></tr>
  326. </table>
  327. </div>
  328. </div>
  329. <a id="a08afbc9eecb6efd7d4c741023b11db91"></a>
  330. <h2 class="memtitle"><span class="permalink"><a href="#a08afbc9eecb6efd7d4c741023b11db91">&#9670;&nbsp;</a></span>BorderStyle</h2>
  331. <div class="memitem">
  332. <div class="memproto">
  333. <table class="mlabels">
  334. <tr>
  335. <td class="mlabels-left">
  336. <table class="memname">
  337. <tr>
  338. <td class="memname">enum <a class="el" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">door::BorderStyle</a></td>
  339. </tr>
  340. </table>
  341. </td>
  342. <td class="mlabels-right">
  343. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  344. </tr>
  345. </table>
  346. </div><div class="memdoc">
  347. <p>The different Borders supported by <a class="el" href="classdoor_1_1Panel.html">Panel</a>. </p>
  348. <table class="fieldtable">
  349. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693"></a>NONE&#160;</td><td class="fielddoc"><p>NONE (0) </p>
  350. </td></tr>
  351. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8"></a>SINGLE&#160;</td><td class="fielddoc"><p>SINGLE (1) </p>
  352. </td></tr>
  353. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229"></a>DOUBLE&#160;</td><td class="fielddoc"><p>DOUBLE (2) </p>
  354. </td></tr>
  355. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a"></a>SINGLE_DOUBLE&#160;</td><td class="fielddoc"><p>SINGLE top DOUBLE side (3) </p>
  356. </td></tr>
  357. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367"></a>DOUBLE_SINGLE&#160;</td><td class="fielddoc"><p>DOUBLE top SINGLE side (4) </p>
  358. </td></tr>
  359. <tr><td class="fieldname"><a id="a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7"></a>BLANK&#160;</td><td class="fielddoc"><p>BLANK (5) </p>
  360. </td></tr>
  361. </table>
  362. </div>
  363. </div>
  364. <a id="abafe0a9e79349883af3ab2a7fb544366"></a>
  365. <h2 class="memtitle"><span class="permalink"><a href="#abafe0a9e79349883af3ab2a7fb544366">&#9670;&nbsp;</a></span>COLOR</h2>
  366. <div class="memitem">
  367. <div class="memproto">
  368. <table class="mlabels">
  369. <tr>
  370. <td class="mlabels-left">
  371. <table class="memname">
  372. <tr>
  373. <td class="memname">enum <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">door::COLOR</a> : std::int8_t</td>
  374. </tr>
  375. </table>
  376. </td>
  377. <td class="mlabels-right">
  378. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  379. </tr>
  380. </table>
  381. </div><div class="memdoc">
  382. <p>The colors available under ANSI-BBS. </p>
  383. <p>ANSI Color codes </p>
  384. <table class="fieldtable">
  385. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965"></a>BLACK&#160;</td><td class="fielddoc"><p>BLACK (0) </p>
  386. </td></tr>
  387. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0"></a>RED&#160;</td><td class="fielddoc"><p>RED (1) </p>
  388. </td></tr>
  389. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0"></a>GREEN&#160;</td><td class="fielddoc"><p>GREEN (2) </p>
  390. </td></tr>
  391. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488"></a>BROWN&#160;</td><td class="fielddoc"><p>BROWN (3) </p>
  392. </td></tr>
  393. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"></a>YELLOW&#160;</td><td class="fielddoc"><p>YELLOW (3) </p>
  394. </td></tr>
  395. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"></a>BLUE&#160;</td><td class="fielddoc"><p>BLUE (4) </p>
  396. </td></tr>
  397. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61"></a>MAGENTA&#160;</td><td class="fielddoc"><p>MAGENTA (5) </p>
  398. </td></tr>
  399. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749"></a>CYAN&#160;</td><td class="fielddoc"><p>CYAN (6) </p>
  400. </td></tr>
  401. <tr><td class="fieldname"><a id="abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d"></a>WHITE&#160;</td><td class="fielddoc"><p>WHITE (7) </p>
  402. </td></tr>
  403. </table>
  404. </div>
  405. </div>
  406. <a id="af025775fb0b68d66dc42ee3299444fb7"></a>
  407. <h2 class="memtitle"><span class="permalink"><a href="#af025775fb0b68d66dc42ee3299444fb7">&#9670;&nbsp;</a></span>Justify</h2>
  408. <div class="memitem">
  409. <div class="memproto">
  410. <table class="mlabels">
  411. <tr>
  412. <td class="mlabels-left">
  413. <table class="memname">
  414. <tr>
  415. <td class="memname">enum <a class="el" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">door::Justify</a></td>
  416. </tr>
  417. </table>
  418. </td>
  419. <td class="mlabels-right">
  420. <span class="mlabels"><span class="mlabel">strong</span></span> </td>
  421. </tr>
  422. </table>
  423. </div><div class="memdoc">
  424. <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Not used </dd></dl>
  425. </div>
  426. </div>
  427. <h2 class="groupheader">Function Documentation</h2>
  428. <a id="ae6c40e2e917f64a9c42d977a88fe18fa"></a>
  429. <h2 class="memtitle"><span class="permalink"><a href="#ae6c40e2e917f64a9c42d977a88fe18fa">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/5]</span></h2>
  430. <div class="memitem">
  431. <div class="memproto">
  432. <table class="memname">
  433. <tr>
  434. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  435. <td>(</td>
  436. <td class="paramtype">std::ostream &amp;&#160;</td>
  437. <td class="paramname"><em>os</em>, </td>
  438. </tr>
  439. <tr>
  440. <td class="paramkey"></td>
  441. <td></td>
  442. <td class="paramtype">const <a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;&#160;</td>
  443. <td class="paramname"><em>c</em>&#160;</td>
  444. </tr>
  445. <tr>
  446. <td></td>
  447. <td>)</td>
  448. <td></td><td></td>
  449. </tr>
  450. </table>
  451. </div><div class="memdoc">
  452. <p>This converts ANSI <a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> and <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> to ANSI codes understood by the <a class="el" href="classdoor_1_1Door.html">Door</a> output class. </p>
  453. </div>
  454. </div>
  455. <a id="ad5d6277de5e8274cec970a4633d713b1"></a>
  456. <h2 class="memtitle"><span class="permalink"><a href="#ad5d6277de5e8274cec970a4633d713b1">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/5]</span></h2>
  457. <div class="memitem">
  458. <div class="memproto">
  459. <table class="memname">
  460. <tr>
  461. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  462. <td>(</td>
  463. <td class="paramtype">std::ostream &amp;&#160;</td>
  464. <td class="paramname"><em>os</em>, </td>
  465. </tr>
  466. <tr>
  467. <td class="paramkey"></td>
  468. <td></td>
  469. <td class="paramtype">const <a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;&#160;</td>
  470. <td class="paramname"><em>clr</em>&#160;</td>
  471. </tr>
  472. <tr>
  473. <td></td>
  474. <td>)</td>
  475. <td></td><td></td>
  476. </tr>
  477. </table>
  478. </div><div class="memdoc">
  479. <p>Clear the screen using ANSI codes.</p>
  480. <p>Not all systems home the cursor after clearing the screen. We automatically home the cursor as well.</p>
  481. <dl class="params"><dt>Parameters</dt><dd>
  482. <table class="params">
  483. <tr><td class="paramname">os</td><td>std::ostream&amp; </td></tr>
  484. <tr><td class="paramname">clr</td><td>const <a class="el" href="classdoor_1_1Clrscr.html" title="Clear the screen.">Clrscr</a>&amp; </td></tr>
  485. </table>
  486. </dd>
  487. </dl>
  488. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  489. </div>
  490. </div>
  491. <a id="aae6ca4805185baa51dcc661a69fa801b"></a>
  492. <h2 class="memtitle"><span class="permalink"><a href="#aae6ca4805185baa51dcc661a69fa801b">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[3/5]</span></h2>
  493. <div class="memitem">
  494. <div class="memproto">
  495. <table class="memname">
  496. <tr>
  497. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  498. <td>(</td>
  499. <td class="paramtype">std::ostream &amp;&#160;</td>
  500. <td class="paramname"><em>os</em>, </td>
  501. </tr>
  502. <tr>
  503. <td class="paramkey"></td>
  504. <td></td>
  505. <td class="paramtype">const <a class="el" href="classdoor_1_1Goto.html">Goto</a> &amp;&#160;</td>
  506. <td class="paramname"><em>g</em>&#160;</td>
  507. </tr>
  508. <tr>
  509. <td></td>
  510. <td>)</td>
  511. <td></td><td></td>
  512. </tr>
  513. </table>
  514. </div><div class="memdoc">
  515. <p>Output the ANSI codes to position the cursor to the given y,x position.</p>
  516. <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd><p class="startdd">Optimize the ANSI goto string output. </p>
  517. <p class="enddd">Update the <a class="el" href="classdoor_1_1Door.html">Door</a> object so it know where the cursor is positioned.</p>
  518. </dd></dl>
  519. <dl class="params"><dt>Parameters</dt><dd>
  520. <table class="params">
  521. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  522. <tr><td class="paramname">g</td><td>const <a class="el" href="classdoor_1_1Goto.html" title="ANSI Goto X, Y position.">Goto</a> </td></tr>
  523. </table>
  524. </dd>
  525. </dl>
  526. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  527. </div>
  528. </div>
  529. <a id="af3c1c222a45143cfa4e780cfb2e45243"></a>
  530. <h2 class="memtitle"><span class="permalink"><a href="#af3c1c222a45143cfa4e780cfb2e45243">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[4/5]</span></h2>
  531. <div class="memitem">
  532. <div class="memproto">
  533. <table class="memname">
  534. <tr>
  535. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  536. <td>(</td>
  537. <td class="paramtype">std::ostream &amp;&#160;</td>
  538. <td class="paramname"><em>os</em>, </td>
  539. </tr>
  540. <tr>
  541. <td class="paramkey"></td>
  542. <td></td>
  543. <td class="paramtype">const <a class="el" href="classdoor_1_1Line.html">Line</a> &amp;&#160;</td>
  544. <td class="paramname"><em>l</em>&#160;</td>
  545. </tr>
  546. <tr>
  547. <td></td>
  548. <td>)</td>
  549. <td></td><td></td>
  550. </tr>
  551. </table>
  552. </div><div class="memdoc">
  553. <p>Output <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a></p>
  554. <p>This looks for padding and paddingColor. This uses the render function if set.</p>
  555. <dl class="params"><dt>Parameters</dt><dd>
  556. <table class="params">
  557. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  558. <tr><td class="paramname">l</td><td>const <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a> &amp; </td></tr>
  559. </table>
  560. </dd>
  561. </dl>
  562. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  563. </div>
  564. </div>
  565. <a id="aa6b909ef984a2aabc5b9a570884dff94"></a>
  566. <h2 class="memtitle"><span class="permalink"><a href="#aa6b909ef984a2aabc5b9a570884dff94">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[5/5]</span></h2>
  567. <div class="memitem">
  568. <div class="memproto">
  569. <table class="memname">
  570. <tr>
  571. <td class="memname">std::ostream&amp; door::operator&lt;&lt; </td>
  572. <td>(</td>
  573. <td class="paramtype">std::ostream &amp;&#160;</td>
  574. <td class="paramname"><em>os</em>, </td>
  575. </tr>
  576. <tr>
  577. <td class="paramkey"></td>
  578. <td></td>
  579. <td class="paramtype">const <a class="el" href="classdoor_1_1NewLine.html">NewLine</a> &amp;&#160;</td>
  580. <td class="paramname"><em>nl</em>&#160;</td>
  581. </tr>
  582. <tr>
  583. <td></td>
  584. <td>)</td>
  585. <td></td><td></td>
  586. </tr>
  587. </table>
  588. </div><div class="memdoc">
  589. <p>Output Newline + CarriageReturn </p><dl class="params"><dt>Parameters</dt><dd>
  590. <table class="params">
  591. <tr><td class="paramname">os</td><td>std::ostream </td></tr>
  592. <tr><td class="paramname">nl</td><td>const <a class="el" href="classdoor_1_1NewLine.html" title="CR+LF.">NewLine</a> </td></tr>
  593. </table>
  594. </dd>
  595. </dl>
  596. <dl class="section return"><dt>Returns</dt><dd>std::ostream&amp; </dd></dl>
  597. </div>
  598. </div>
  599. <h2 class="groupheader">Variable Documentation</h2>
  600. <a id="ac70193caf66e4b9aed1529593727a6eb"></a>
  601. <h2 class="memtitle"><span class="permalink"><a href="#ac70193caf66e4b9aed1529593727a6eb">&#9670;&nbsp;</a></span>cls</h2>
  602. <div class="memitem">
  603. <div class="memproto">
  604. <table class="memname">
  605. <tr>
  606. <td class="memname"><a class="el" href="classdoor_1_1Clrscr.html">Clrscr</a> door::cls</td>
  607. </tr>
  608. </table>
  609. </div><div class="memdoc">
  610. <p>Clear the BBS terminal. </p>
  611. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#a2">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#a2">menu-example.cpp</a>.</dd>
  612. </dl>
  613. </div>
  614. </div>
  615. <a id="aa7aaca15a8885a3ef3a6c85cd40ae617"></a>
  616. <h2 class="memtitle"><span class="permalink"><a href="#aa7aaca15a8885a3ef3a6c85cd40ae617">&#9670;&nbsp;</a></span>JOIN</h2>
  617. <div class="memitem">
  618. <div class="memproto">
  619. <table class="memname">
  620. <tr>
  621. <td class="memname">const char* door::JOIN[2][2][2]</td>
  622. </tr>
  623. </table>
  624. </div><div class="memdoc">
  625. <b>Initial value:</b><div class="fragment"><div class="line">= {{</div>
  626. <div class="line"> {<span class="stringliteral">&quot;\xc3&quot;</span>, <span class="stringliteral">&quot;\xb4&quot;</span>}, </div>
  627. <div class="line"> {<span class="stringliteral">&quot;\xc6&quot;</span>, <span class="stringliteral">&quot;\xb5&quot;</span>} </div>
  628. <div class="line"> },</div>
  629. <div class="line"> {</div>
  630. <div class="line"> {<span class="stringliteral">&quot;\xc7&quot;</span>, <span class="stringliteral">&quot;\xb6&quot;</span>}, </div>
  631. <div class="line"> {<span class="stringliteral">&quot;\xcc&quot;</span>, <span class="stringliteral">&quot;\xb9&quot;</span>}, </div>
  632. <div class="line"> }}</div>
  633. </div><!-- fragment -->
  634. </div>
  635. </div>
  636. <a id="a36352ded72aee66b10e1bda6d3d8efb8"></a>
  637. <h2 class="memtitle"><span class="permalink"><a href="#a36352ded72aee66b10e1bda6d3d8efb8">&#9670;&nbsp;</a></span>nl</h2>
  638. <div class="memitem">
  639. <div class="memproto">
  640. <table class="memname">
  641. <tr>
  642. <td class="memname"><a class="el" href="classdoor_1_1NewLine.html">NewLine</a> door::nl</td>
  643. </tr>
  644. </table>
  645. </div><div class="memdoc">
  646. <p>CRLF </p>
  647. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#a3">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#a3">menu-example.cpp</a>.</dd>
  648. </dl>
  649. </div>
  650. </div>
  651. <a id="a3274dff22ddb19a3e429a703ee6f3e57"></a>
  652. <h2 class="memtitle"><span class="permalink"><a href="#a3274dff22ddb19a3e429a703ee6f3e57">&#9670;&nbsp;</a></span>rBlueYellow</h2>
  653. <div class="memitem">
  654. <div class="memproto">
  655. <table class="memname">
  656. <tr>
  657. <td class="memname"><a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> door::rBlueYellow</td>
  658. </tr>
  659. </table>
  660. </div><div class="memdoc">
  661. <b>Initial value:</b><div class="fragment"><div class="line">= [](<span class="keyword">const</span> std::string &amp;txt) -&gt; Render {</div>
  662. <div class="line"> Render r(txt);</div>
  663. <div class="line"> </div>
  664. <div class="line"> ANSIColor blue(COLOR::BLUE, ATTR::BOLD);</div>
  665. <div class="line"> ANSIColor cyan(COLOR::YELLOW, ATTR::BOLD);</div>
  666. <div class="line"> </div>
  667. <div class="line"> <span class="keywordflow">for</span> (<span class="keywordtype">char</span> <span class="keyword">const</span> &amp;c : txt) {</div>
  668. <div class="line"> <span class="keywordflow">if</span> (isupper(c))</div>
  669. <div class="line"> r.append(blue);</div>
  670. <div class="line"> <span class="keywordflow">else</span></div>
  671. <div class="line"> r.append(cyan);</div>
  672. <div class="line"> }</div>
  673. <div class="line"> <span class="keywordflow">return</span> r;</div>
  674. <div class="line">}</div>
  675. </div><!-- fragment -->
  676. <p>BlueYellow <a class="el" href="classdoor_1_1Render.html" title="Rendering a string with ANSIColor.">Render</a> example function. </p>
  677. <p>Example BlueYellow renderFunction. </p>
  678. </div>
  679. </div>
  680. <a id="ae3a70989c43f6cb3522308af748b4481"></a>
  681. <h2 class="memtitle"><span class="permalink"><a href="#ae3a70989c43f6cb3522308af748b4481">&#9670;&nbsp;</a></span>reset</h2>
  682. <div class="memitem">
  683. <div class="memproto">
  684. <table class="memname">
  685. <tr>
  686. <td class="memname"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> door::reset</td>
  687. </tr>
  688. </table>
  689. </div><div class="memdoc">
  690. <p>reset colors to normal </p>
  691. <p>This resets the colors to normal state. </p>
  692. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#a1">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#a1">menu-example.cpp</a>.</dd>
  693. </dl>
  694. </div>
  695. </div>
  696. <a id="aeafa2ff6deb9ddddaab458b89f10c4e6"></a>
  697. <h2 class="memtitle"><span class="permalink"><a href="#aeafa2ff6deb9ddddaab458b89f10c4e6">&#9670;&nbsp;</a></span>UBOXES</h2>
  698. <div class="memitem">
  699. <div class="memproto">
  700. <table class="memname">
  701. <tr>
  702. <td class="memname">struct <a class="el" href="structdoor_1_1box__styles.html">box_styles</a> door::UBOXES[]</td>
  703. </tr>
  704. </table>
  705. </div><div class="memdoc">
  706. <b>Initial value:</b><div class="fragment"><div class="line">= {{<span class="stringliteral">&quot;\u250c&quot;</span>, <span class="stringliteral">&quot;\u2510&quot;</span>, <span class="stringliteral">&quot;\u2500&quot;</span>, <span class="stringliteral">&quot;\u2502&quot;</span>, <span class="stringliteral">&quot;\u2514&quot;</span>,</div>
  707. <div class="line"> <span class="stringliteral">&quot;\u2518&quot;</span>, <span class="stringliteral">&quot;\u251c&quot;</span>, <span class="stringliteral">&quot;\u2524&quot;</span>},</div>
  708. <div class="line"> {<span class="stringliteral">&quot;\u2554&quot;</span>, <span class="stringliteral">&quot;\u2557&quot;</span>, <span class="stringliteral">&quot;\u2550&quot;</span>, <span class="stringliteral">&quot;\u2551&quot;</span>, <span class="stringliteral">&quot;\u255a&quot;</span>,</div>
  709. <div class="line"> <span class="stringliteral">&quot;\u255d&quot;</span>, <span class="stringliteral">&quot;\u2560&quot;</span>, <span class="stringliteral">&quot;\u2563&quot;</span>},</div>
  710. <div class="line"> {<span class="stringliteral">&quot;\u2553&quot;</span>, <span class="stringliteral">&quot;\u2556&quot;</span>, <span class="stringliteral">&quot;\u2500&quot;</span>, <span class="stringliteral">&quot;\u2551&quot;</span>, <span class="stringliteral">&quot;\u2559&quot;</span>,</div>
  711. <div class="line"> <span class="stringliteral">&quot;\u255c&quot;</span>, <span class="stringliteral">&quot;\u255f&quot;</span>, <span class="stringliteral">&quot;\u2562&quot;</span>},</div>
  712. <div class="line"> {<span class="stringliteral">&quot;\u2552&quot;</span>, <span class="stringliteral">&quot;\u2555&quot;</span>, <span class="stringliteral">&quot;\u2550&quot;</span>, <span class="stringliteral">&quot;\u2502&quot;</span>, <span class="stringliteral">&quot;\u2558&quot;</span>,</div>
  713. <div class="line"> <span class="stringliteral">&quot;\u255b&quot;</span>, <span class="stringliteral">&quot;\u255e&quot;</span>, <span class="stringliteral">&quot;\u2561&quot;</span>}}</div>
  714. </div><!-- fragment --><p>use <a href="https://en.wikipedia.org/wiki/Code_page_437">https://en.wikipedia.org/wiki/Code_page_437</a> for translations between CP437 and unicode symbols.</p>
  715. <p>This holds the characters needed to render the different box styles. tl tr top side bl br ml mr </p>
  716. </div>
  717. </div>
  718. <a id="ad19e1b85072846f56b4f578410a5587e"></a>
  719. <h2 class="memtitle"><span class="permalink"><a href="#ad19e1b85072846f56b4f578410a5587e">&#9670;&nbsp;</a></span>UJOIN</h2>
  720. <div class="memitem">
  721. <div class="memproto">
  722. <table class="memname">
  723. <tr>
  724. <td class="memname">const char* door::UJOIN[2][2][2]</td>
  725. </tr>
  726. </table>
  727. </div><div class="memdoc">
  728. <b>Initial value:</b><div class="fragment"><div class="line">= {{</div>
  729. <div class="line"> {<span class="stringliteral">&quot;\u251c&quot;</span>, <span class="stringliteral">&quot;\u2524&quot;</span>}, </div>
  730. <div class="line"> {<span class="stringliteral">&quot;\u255e&quot;</span>, <span class="stringliteral">&quot;\u2561&quot;</span>} </div>
  731. <div class="line"> },</div>
  732. <div class="line"> {</div>
  733. <div class="line"> {<span class="stringliteral">&quot;\u255f&quot;</span>, <span class="stringliteral">&quot;\u2562&quot;</span>}, </div>
  734. <div class="line"> {<span class="stringliteral">&quot;\u2560&quot;</span>, <span class="stringliteral">&quot;\u2563&quot;</span>}, </div>
  735. <div class="line"> }}</div>
  736. </div><!-- fragment -->
  737. </div>
  738. </div>
  739. </div><!-- contents -->
  740. <div class="ttc" id="aclassdoor_1_1ANSIColor_html"><div class="ttname"><a href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></div><div class="ttdoc">Foreground, Background and Attributes.</div><div class="ttdef"><b>Definition:</b> door.h:131</div></div>
  741. <div class="ttc" id="anamespacedoor_html_adb2697f83f8ce701366e05ed72c97d6e"><div class="ttname"><a href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">door::updateFunction</a></div><div class="ttdeci">std::function&lt; std::string(void)&gt; updateFunction</div><div class="ttdef"><b>Definition:</b> door.h:360</div></div>
  742. <div class="ttc" id="aclassdoor_1_1Render_html"><div class="ttname"><a href="classdoor_1_1Render.html">door::Render</a></div><div class="ttdoc">Rendering a string with ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:307</div></div>
  743. <!-- start footer part -->
  744. <hr class="footer"/><address class="footer"><small>
  745. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  746. <img class="footer" src="doxygen.png" alt="doxygen"/>
  747. </a> 1.8.17
  748. </small></address>
  749. </body>
  750. </html>