Browse Source

Docs update.

Steve Thielemann 3 years ago
parent
commit
0084e8c115
100 changed files with 2322 additions and 1183 deletions
  1. 12 11
      ansicolor_8cpp.html
  2. 12 11
      ansicolor_8cpp__incl.map
  3. 1 1
      ansicolor_8cpp__incl.md5
  4. BIN
      ansicolor_8cpp__incl.png
  5. 7 7
      classdoor_1_1ANSIColor-members.html
  6. 366 68
      classdoor_1_1ANSIColor.html
  7. 39 43
      classdoor_1_1Door-members.html
  8. 615 77
      classdoor_1_1Door.html
  9. 2 2
      classdoor_1_1Line.html
  10. 2 2
      classdoor_1_1Menu.html
  11. 3 4
      classdoor_1_1Panel.html
  12. 3 3
      classdoor_1_1Screen.html
  13. 29 26
      door_8cpp.html
  14. 24 23
      door_8cpp__incl.map
  15. 1 1
      door_8cpp__incl.md5
  16. BIN
      door_8cpp__incl.png
  17. 633 616
      door_8h_source.html
  18. 0 2
      examples.html
  19. 3 4
      files.html
  20. 113 4
      functions.html
  21. 35 2
      functions_func.html
  22. 84 0
      functions_vars.html
  23. 9 9
      index.html
  24. 14 13
      lines_8cpp.html
  25. 14 13
      lines_8cpp__incl.map
  26. 1 1
      lines_8cpp__incl.md5
  27. BIN
      lines_8cpp__incl.png
  28. 10 10
      menu-example_8cpp-example.html
  29. 6 6
      menudata.js
  30. 37 18
      namespacedoor.html
  31. 8 1
      namespacemembers.html
  32. 3 0
      namespacemembers_vars.html
  33. 10 9
      panel_8cpp.html
  34. 10 9
      panel_8cpp__incl.map
  35. 1 1
      panel_8cpp__incl.md5
  36. BIN
      panel_8cpp__incl.png
  37. 1 1
      search/all_0.js
  38. 4 6
      search/all_1.js
  39. 11 7
      search/all_10.js
  40. 7 7
      search/all_11.js
  41. 2 1
      search/all_12.js
  42. 2 2
      search/all_13.js
  43. 2 2
      search/all_14.js
  44. 11 10
      search/all_2.js
  45. 13 7
      search/all_3.js
  46. 3 3
      search/all_4.js
  47. 8 7
      search/all_5.js
  48. 6 2
      search/all_6.js
  49. 4 3
      search/all_7.js
  50. 2 2
      search/all_8.js
  51. 9 7
      search/all_9.js
  52. 5 5
      search/all_a.js
  53. 4 3
      search/all_b.js
  54. 7 6
      search/all_c.js
  55. 8 7
      search/all_d.js
  56. 7 8
      search/all_e.js
  57. 19 14
      search/all_f.js
  58. 1 1
      search/classes_0.js
  59. 1 1
      search/classes_1.js
  60. 2 2
      search/classes_2.js
  61. 1 1
      search/classes_3.js
  62. 1 1
      search/classes_4.js
  63. 1 1
      search/classes_5.js
  64. 1 1
      search/classes_6.js
  65. 1 1
      search/classes_7.js
  66. 1 1
      search/classes_8.js
  67. 1 1
      search/classes_9.js
  68. 1 1
      search/classes_a.js
  69. 1 1
      search/classes_b.js
  70. 1 1
      search/enums_0.js
  71. 1 1
      search/enums_1.js
  72. 1 1
      search/enums_2.js
  73. 1 1
      search/enums_3.js
  74. 7 7
      search/enumvalues_0.js
  75. 1 1
      search/enumvalues_1.js
  76. 2 2
      search/enumvalues_2.js
  77. 1 1
      search/enumvalues_3.js
  78. 1 1
      search/enumvalues_4.js
  79. 1 1
      search/enumvalues_5.js
  80. 1 1
      search/enumvalues_6.js
  81. 2 2
      search/enumvalues_7.js
  82. 2 2
      search/enumvalues_8.js
  83. 1 1
      search/enumvalues_9.js
  84. 1 1
      search/enumvalues_a.js
  85. 1 1
      search/files_0.js
  86. 1 1
      search/files_1.js
  87. 1 1
      search/files_2.js
  88. 1 1
      search/files_3.js
  89. 4 4
      search/functions_0.js
  90. 5 5
      search/functions_1.js
  91. 3 1
      search/functions_2.js
  92. 1 1
      search/functions_3.js
  93. 7 5
      search/functions_4.js
  94. 2 1
      search/functions_5.js
  95. 2 2
      search/functions_6.js
  96. 4 4
      search/functions_7.js
  97. 2 2
      search/functions_8.js
  98. 1 1
      search/functions_9.js
  99. 5 5
      search/functions_a.js
  100. 3 4
      search/functions_b.js

+ 12 - 11
ansicolor_8cpp.html

@@ -78,23 +78,24 @@ Include dependency graph for ansicolor.cpp:</div>
 <div class="dyncontent">
 <div class="center"><img src="ansicolor_8cpp__incl.png" border="0" usemap="#ansicolor_8cpp" alt=""/></div>
 <map name="ansicolor_8cpp" id="ansicolor_8cpp">
-<area shape="rect" title="ANSIColor." alt="" coords="639,5,746,32"/>
-<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="557,80,620,107"/>
+<area shape="rect" title="ANSIColor." alt="" coords="669,5,775,32"/>
+<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="587,80,649,107"/>
 <area shape="rect" title=" " alt="" coords="5,155,79,181"/>
-<area shape="rect" title=" " alt="" coords="1093,155,1173,181"/>
-<area shape="rect" title=" " alt="" coords="695,80,762,107"/>
-<area shape="rect" title=" " alt="" coords="787,80,857,107"/>
-<area shape="rect" title=" " alt="" coords="882,80,941,107"/>
+<area shape="rect" title=" " alt="" coords="1159,155,1239,181"/>
+<area shape="rect" title=" " alt="" coords="725,80,791,107"/>
+<area shape="rect" title=" " alt="" coords="816,80,887,107"/>
+<area shape="rect" title=" " alt="" coords="911,80,970,107"/>
 <area shape="rect" title=" " alt="" coords="103,155,202,181"/>
 <area shape="rect" title=" " alt="" coords="226,155,293,181"/>
 <area shape="rect" title=" " alt="" coords="317,155,375,181"/>
 <area shape="rect" title=" " alt="" coords="400,155,487,181"/>
 <area shape="rect" title=" " alt="" coords="511,155,573,181"/>
-<area shape="rect" title=" " alt="" coords="597,155,674,181"/>
-<area shape="rect" title=" " alt="" coords="699,155,775,181"/>
-<area shape="rect" title=" " alt="" coords="799,155,861,181"/>
-<area shape="rect" title=" " alt="" coords="885,155,969,181"/>
-<area shape="rect" title=" " alt="" coords="994,155,1069,181"/>
+<area shape="rect" title=" " alt="" coords="597,155,639,181"/>
+<area shape="rect" title=" " alt="" coords="663,155,741,181"/>
+<area shape="rect" title=" " alt="" coords="765,155,841,181"/>
+<area shape="rect" title=" " alt="" coords="865,155,928,181"/>
+<area shape="rect" title=" " alt="" coords="952,155,1036,181"/>
+<area shape="rect" title=" " alt="" coords="1061,155,1135,181"/>
 </map>
 </div>
 </div><table class="memberdecls">

+ 12 - 11
ansicolor_8cpp__incl.map

@@ -1,19 +1,20 @@
 <map id="ansicolor.cpp" name="ansicolor.cpp">
-<area shape="rect" id="node1" title="ANSIColor." alt="" coords="639,5,746,32"/>
-<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="557,80,620,107"/>
+<area shape="rect" id="node1" title="ANSIColor." alt="" coords="669,5,775,32"/>
+<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="587,80,649,107"/>
 <area shape="rect" id="node6" title=" " alt="" coords="5,155,79,181"/>
-<area shape="rect" id="node9" title=" " alt="" coords="1093,155,1173,181"/>
-<area shape="rect" id="node15" title=" " alt="" coords="695,80,762,107"/>
-<area shape="rect" id="node16" title=" " alt="" coords="787,80,857,107"/>
-<area shape="rect" id="node17" title=" " alt="" coords="882,80,941,107"/>
+<area shape="rect" id="node9" title=" " alt="" coords="1159,155,1239,181"/>
+<area shape="rect" id="node16" title=" " alt="" coords="725,80,791,107"/>
+<area shape="rect" id="node17" title=" " alt="" coords="816,80,887,107"/>
+<area shape="rect" id="node18" title=" " alt="" coords="911,80,970,107"/>
 <area shape="rect" id="node3" title=" " alt="" coords="103,155,202,181"/>
 <area shape="rect" id="node4" title=" " alt="" coords="226,155,293,181"/>
 <area shape="rect" id="node5" title=" " alt="" coords="317,155,375,181"/>
 <area shape="rect" id="node7" title=" " alt="" coords="400,155,487,181"/>
 <area shape="rect" id="node8" title=" " alt="" coords="511,155,573,181"/>
-<area shape="rect" id="node10" title=" " alt="" coords="597,155,674,181"/>
-<area shape="rect" id="node11" title=" " alt="" coords="699,155,775,181"/>
-<area shape="rect" id="node12" title=" " alt="" coords="799,155,861,181"/>
-<area shape="rect" id="node13" title=" " alt="" coords="885,155,969,181"/>
-<area shape="rect" id="node14" title=" " alt="" coords="994,155,1069,181"/>
+<area shape="rect" id="node10" title=" " alt="" coords="597,155,639,181"/>
+<area shape="rect" id="node11" title=" " alt="" coords="663,155,741,181"/>
+<area shape="rect" id="node12" title=" " alt="" coords="765,155,841,181"/>
+<area shape="rect" id="node13" title=" " alt="" coords="865,155,928,181"/>
+<area shape="rect" id="node14" title=" " alt="" coords="952,155,1036,181"/>
+<area shape="rect" id="node15" title=" " alt="" coords="1061,155,1135,181"/>
 </map>

+ 1 - 1
ansicolor_8cpp__incl.md5

@@ -1 +1 @@
-f1e48e7b9d3c7a31928092bef88a7bdd
+816127947aa47051d49813cf56651fb6

BIN
ansicolor_8cpp__incl.png


+ 7 - 7
classdoor_1_1ANSIColor-members.html

@@ -81,14 +81,14 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#ae443d34754082a6217dbb7311f601385">ANSIColor</a>(COLOR f, COLOR b, ATTR a)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a1723651e98446b8d3a7e9f20091de840">ANSIColor</a>(COLOR f, COLOR b, ATTR a1, ATTR a2)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">Attr</a>(ATTR a)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>attr</b>(ATTR a) (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">attr</a>(ATTR a)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">blink</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">bold</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>debug</b>(void) (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">debug</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>getBg</b>() (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getFg</b>() (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">getBg</a>()</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">getFg</a>()</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">inverse</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">operator!=</a>(const ANSIColor &amp;c) const</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822">operator&lt;&lt;</a>(std::ostream &amp;os, const ANSIColor &amp;c)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">friend</span></td></tr>
@@ -96,9 +96,9 @@ $(function() {
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a>(void) const</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e">output</a>(ANSIColor &amp;previous) const</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">reset</a></td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setBg</b>(COLOR b) (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>setFg</b>(COLOR f) (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>setFg</b>(COLOR f, ATTR a) (defined in <a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a>)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">setBg</a>(COLOR b)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">setFg</a>(COLOR f)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html#ae6c5802a97d8a4f1b2a592da678845af">setFg</a>(COLOR f, ATTR a)</td><td class="entry"><a class="el" href="classdoor_1_1ANSIColor.html">door::ANSIColor</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 366 - 68
classdoor_1_1ANSIColor.html

@@ -104,57 +104,43 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:aa198707d0103967b7a4bc4f502a0ba87"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5d2d818d1922bcb8b73ccdaf639ca2cd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">operator!=</a> (const <a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c) const</td></tr>
 <tr class="separator:a5d2d818d1922bcb8b73ccdaf639ca2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a43c2ea9694f74c60f7ac2a396727bd15"><td class="memItemLeft" align="right" valign="top"><a id="a43c2ea9694f74c60f7ac2a396727bd15"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setFg</b> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f)</td></tr>
+<tr class="memitem:a43c2ea9694f74c60f7ac2a396727bd15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">setFg</a> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f)</td></tr>
+<tr class="memdesc:a43c2ea9694f74c60f7ac2a396727bd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set foreground color.  <a href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">More...</a><br /></td></tr>
 <tr class="separator:a43c2ea9694f74c60f7ac2a396727bd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae6c5802a97d8a4f1b2a592da678845af"><td class="memItemLeft" align="right" valign="top"><a id="ae6c5802a97d8a4f1b2a592da678845af"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setFg</b> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a)</td></tr>
+<tr class="memitem:ae6c5802a97d8a4f1b2a592da678845af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#ae6c5802a97d8a4f1b2a592da678845af">setFg</a> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a)</td></tr>
+<tr class="memdesc:ae6c5802a97d8a4f1b2a592da678845af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set foreground color and attribute.  <a href="classdoor_1_1ANSIColor.html#ae6c5802a97d8a4f1b2a592da678845af">More...</a><br /></td></tr>
 <tr class="separator:ae6c5802a97d8a4f1b2a592da678845af"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb4561a6482b66b7efcd18b3257102f1"><td class="memItemLeft" align="right" valign="top"><a id="adb4561a6482b66b7efcd18b3257102f1"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>setBg</b> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b)</td></tr>
+<tr class="memitem:adb4561a6482b66b7efcd18b3257102f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">setBg</a> (<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b)</td></tr>
+<tr class="memdesc:adb4561a6482b66b7efcd18b3257102f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set background color.  <a href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">More...</a><br /></td></tr>
 <tr class="separator:adb4561a6482b66b7efcd18b3257102f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3f724fb65d51b13e4c086e5fa90a5d35"><td class="memItemLeft" align="right" valign="top"><a id="a3f724fb65d51b13e4c086e5fa90a5d35"></a>
-<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getFg</b> ()</td></tr>
+<tr class="memitem:a3f724fb65d51b13e4c086e5fa90a5d35"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">getFg</a> ()</td></tr>
 <tr class="separator:a3f724fb65d51b13e4c086e5fa90a5d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aca2261a9b173cc87586db6784e03e6b5"><td class="memItemLeft" align="right" valign="top"><a id="aca2261a9b173cc87586db6784e03e6b5"></a>
-<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getBg</b> ()</td></tr>
+<tr class="memitem:aca2261a9b173cc87586db6784e03e6b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">getBg</a> ()</td></tr>
 <tr class="separator:aca2261a9b173cc87586db6784e03e6b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a46b5dc8b9d373233000bbc0e45c33825"><td class="memItemLeft" align="right" valign="top"><a id="a46b5dc8b9d373233000bbc0e45c33825"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>attr</b> (<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a)</td></tr>
+<tr class="memitem:a46b5dc8b9d373233000bbc0e45c33825"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">attr</a> (<a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a)</td></tr>
+<tr class="memdesc:a46b5dc8b9d373233000bbc0e45c33825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set attribute.  <a href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">More...</a><br /></td></tr>
 <tr class="separator:a46b5dc8b9d373233000bbc0e45c33825"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a24c97bd59b2a17cca37512dea5d21505"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a> (void) const</td></tr>
 <tr class="separator:a24c97bd59b2a17cca37512dea5d21505"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a027158ac3cd42c2c72f86c0b57db5c84"><td class="memItemLeft" align="right" valign="top"><a id="a027158ac3cd42c2c72f86c0b57db5c84"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>debug</b> (void)</td></tr>
+<tr class="memitem:a027158ac3cd42c2c72f86c0b57db5c84"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">debug</a> (void)</td></tr>
+<tr class="memdesc:a027158ac3cd42c2c72f86c0b57db5c84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output debug string for <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>.  <a href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">More...</a><br /></td></tr>
 <tr class="separator:a027158ac3cd42c2c72f86c0b57db5c84"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ae930abd27910b37e4ade719d10ae3a0e"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e">output</a> (<a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;previous) const</td></tr>
 <tr class="separator:ae930abd27910b37e4ade719d10ae3a0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
 Private Attributes</h2></td></tr>
-<tr class="memitem:aa11de87d84c864dcb1ee26042a28e519"><td class="memItemLeft" align="right" valign="top"><a id="aa11de87d84c864dcb1ee26042a28e519"></a>
-<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a></td></tr>
-<tr class="memdesc:aa11de87d84c864dcb1ee26042a28e519"><td class="mdescLeft">&#160;</td><td class="mdescRight">Foreground color. <br /></td></tr>
+<tr class="memitem:aa11de87d84c864dcb1ee26042a28e519"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a></td></tr>
 <tr class="separator:aa11de87d84c864dcb1ee26042a28e519"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ade7213fff53121cefba77d4f8a187a64"><td class="memItemLeft" align="right" valign="top"><a id="ade7213fff53121cefba77d4f8a187a64"></a>
-<a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a></td></tr>
-<tr class="memdesc:ade7213fff53121cefba77d4f8a187a64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Background color. <br /></td></tr>
+<tr class="memitem:ade7213fff53121cefba77d4f8a187a64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a></td></tr>
 <tr class="separator:ade7213fff53121cefba77d4f8a187a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aae86353583a08ca1d9fa4f7bb366a805"><td class="memItemLeft" align="right" valign="top"><a id="aae86353583a08ca1d9fa4f7bb366a805"></a>
-unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">reset</a>: 1</td></tr>
-<tr class="memdesc:aae86353583a08ca1d9fa4f7bb366a805"><td class="mdescLeft">&#160;</td><td class="mdescRight">reset flag / always send color and attributes <br /></td></tr>
+<tr class="memitem:aae86353583a08ca1d9fa4f7bb366a805"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">reset</a>: 1</td></tr>
 <tr class="separator:aae86353583a08ca1d9fa4f7bb366a805"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a0d990141b78cb8264de9cab06dc1e8cf"><td class="memItemLeft" align="right" valign="top"><a id="a0d990141b78cb8264de9cab06dc1e8cf"></a>
-unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">bold</a>: 1</td></tr>
-<tr class="memdesc:a0d990141b78cb8264de9cab06dc1e8cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">bold / bright flag <br /></td></tr>
+<tr class="memitem:a0d990141b78cb8264de9cab06dc1e8cf"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">bold</a>: 1</td></tr>
 <tr class="separator:a0d990141b78cb8264de9cab06dc1e8cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af0c0998c248520613f87638f02ef48d8"><td class="memItemLeft" align="right" valign="top"><a id="af0c0998c248520613f87638f02ef48d8"></a>
-unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">blink</a>: 1</td></tr>
-<tr class="memdesc:af0c0998c248520613f87638f02ef48d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">blink slow blinking text <br /></td></tr>
+<tr class="memitem:af0c0998c248520613f87638f02ef48d8"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">blink</a>: 1</td></tr>
 <tr class="separator:af0c0998c248520613f87638f02ef48d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9413c8c99a7ff96f1374e886946791a5"><td class="memItemLeft" align="right" valign="top"><a id="a9413c8c99a7ff96f1374e886946791a5"></a>
-unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">inverse</a>: 1</td></tr>
-<tr class="memdesc:a9413c8c99a7ff96f1374e886946791a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">inverse <br /></td></tr>
+<tr class="memitem:a9413c8c99a7ff96f1374e886946791a5"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">inverse</a>: 1</td></tr>
 <tr class="separator:a9413c8c99a7ff96f1374e886946791a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
@@ -165,7 +151,7 @@ Friends</h2></td></tr>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>Foreground, Background and Attributes. </p>
 <p>This holds foreground, background and ANSI-BBS attribute information. The special attribute RESET forces attribute and color output always. </p>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#_a4">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#_a6">menu-example.cpp</a>.</dd>
+<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#_a6">menu-example.cpp</a>.</dd>
 </dl>
 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a id="abfa527e4328dc5168256da2ba21f5a50"></a>
@@ -204,7 +190,7 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with attribute set.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">a</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
@@ -229,7 +215,7 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with a foreground color.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>COLOR </td></tr>
   </table>
   </dd>
 </dl>
@@ -264,8 +250,8 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with a foreground color and attribute.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
-    <tr><td class="paramname">a</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
@@ -306,9 +292,9 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with a foreground color and attributes.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
-    <tr><td class="paramname">a1</td><td>ATTR </td></tr>
-    <tr><td class="paramname">a2</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a1</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a2</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
@@ -343,8 +329,8 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with a foreground and background color.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
-    <tr><td class="paramname">b</td><td>COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>foreground COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>background COLOR </td></tr>
   </table>
   </dd>
 </dl>
@@ -385,9 +371,9 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with a foreground color, background color, and attribute.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
-    <tr><td class="paramname">b</td><td>COLOR </td></tr>
-    <tr><td class="paramname">a</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>foreground COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>background COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
@@ -434,10 +420,10 @@ Friends</h2></td></tr>
 <p>Construct a new <a class="el" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor::ANSIColor</a> object with foreground, background color and attributes.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">f</td><td>COLOR </td></tr>
-    <tr><td class="paramname">b</td><td>COLOR </td></tr>
-    <tr><td class="paramname">a1</td><td>ATTR </td></tr>
-    <tr><td class="paramname">a2</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>foreground COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>background COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a1</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a2</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
@@ -463,12 +449,112 @@ Friends</h2></td></tr>
 <p>Set attribute. We return the object so calls can be chained.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">a</td><td>ATTR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd><a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>&amp; </dd></dl>
 
+</div>
+</div>
+<a id="a46b5dc8b9d373233000bbc0e45c33825"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a46b5dc8b9d373233000bbc0e45c33825">&#9670;&nbsp;</a></span>attr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void door::ANSIColor::attr </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a>&#160;</td>
+          <td class="paramname"><em>a</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set attribute. </p>
+<p>This clears all the attributes before setting the selected ATTR.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a027158ac3cd42c2c72f86c0b57db5c84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a027158ac3cd42c2c72f86c0b57db5c84">&#9670;&nbsp;</a></span>debug()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::ANSIColor::debug </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Output debug string for <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a>. </p>
+<dl class="section return"><dt>Returns</dt><dd>std::string </dd></dl>
+
+</div>
+</div>
+<a id="aca2261a9b173cc87586db6784e03e6b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aca2261a9b173cc87586db6784e03e6b5">&#9670;&nbsp;</a></span>getBg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> door::ANSIColor::getBg </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Get the background color </p><dl class="section return"><dt>Returns</dt><dd>COLOR </dd></dl>
+
+</div>
+</div>
+<a id="a3f724fb65d51b13e4c086e5fa90a5d35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f724fb65d51b13e4c086e5fa90a5d35">&#9670;&nbsp;</a></span>getFg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> door::ANSIColor::getFg </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Get the foreground color </p><dl class="section return"><dt>Returns</dt><dd>COLOR </dd></dl>
+
 </div>
 </div>
 <a id="a5d2d818d1922bcb8b73ccdaf639ca2cd"></a>
@@ -490,7 +576,7 @@ Friends</h2></td></tr>
 <p>This compares colors and attributes, but ignores reset.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">c</td><td>const <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> &amp; </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>const <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> &amp; </td></tr>
   </table>
   </dd>
 </dl>
@@ -517,7 +603,7 @@ Friends</h2></td></tr>
 <p>This compares colors and attributes, but ignores reset.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">c</td><td>const <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> &amp; </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">c</td><td>const <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> &amp; </td></tr>
   </table>
   </dd>
 </dl>
@@ -540,13 +626,6 @@ Friends</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">previous</td><td>the previous attributes and colors </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>std::string</dd></dl>
 <p>Output only what ANSI attributes and colors have changed. This uses the previous <a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> value to determine what has changed.</p>
 <p>This sets previous to the current upon completion. </p>
 
@@ -567,9 +646,97 @@ Friends</h2></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="section return"><dt>Returns</dt><dd>std::string</dd></dl>
 <p>Output the full ANSI codes for attributes and color. This does not look at the previous values. </p>
 
+</div>
+</div>
+<a id="adb4561a6482b66b7efcd18b3257102f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb4561a6482b66b7efcd18b3257102f1">&#9670;&nbsp;</a></span>setBg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void door::ANSIColor::setBg </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td>
+          <td class="paramname"><em>b</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set background color. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>background COLOR </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a43c2ea9694f74c60f7ac2a396727bd15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43c2ea9694f74c60f7ac2a396727bd15">&#9670;&nbsp;</a></span>setFg() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void door::ANSIColor::setFg </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td>
+          <td class="paramname"><em>f</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set foreground color. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>foreground COLOR </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ae6c5802a97d8a4f1b2a592da678845af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6c5802a97d8a4f1b2a592da678845af">&#9670;&nbsp;</a></span>setFg() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void door::ANSIColor::setFg </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a>&#160;</td>
+          <td class="paramname"><em>f</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a>&#160;</td>
+          <td class="paramname"><em>a</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Set foreground color and attribute. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">f</td><td>foreground COLOR </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>ATTR </td></tr>
+  </table>
+  </dd>
+</dl>
+
 </div>
 </div>
 <h2 class="groupheader">Friends And Related Function Documentation</h2>
@@ -606,16 +773,147 @@ Friends</h2></td></tr>
   </tr>
 </table>
 </div><div class="memdoc">
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">os</td><td>Output stream </td></tr>
-    <tr><td class="paramname">c</td><td><a class="el" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes.">ANSIColor</a> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd>std::ostream&amp;</dd></dl>
 <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>
 
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a id="ade7213fff53121cefba77d4f8a187a64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade7213fff53121cefba77d4f8a187a64">&#9670;&nbsp;</a></span>bg</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> door::ANSIColor::bg</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Background color </p>
+
+</div>
+</div>
+<a id="af0c0998c248520613f87638f02ef48d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af0c0998c248520613f87638f02ef48d8">&#9670;&nbsp;</a></span>blink</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int door::ANSIColor::blink</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>blink slow blinking text </p>
+
+</div>
+</div>
+<a id="a0d990141b78cb8264de9cab06dc1e8cf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d990141b78cb8264de9cab06dc1e8cf">&#9670;&nbsp;</a></span>bold</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int door::ANSIColor::bold</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>bold / bright flag </p>
+
+</div>
+</div>
+<a id="aa11de87d84c864dcb1ee26042a28e519"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa11de87d84c864dcb1ee26042a28e519">&#9670;&nbsp;</a></span>fg</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> door::ANSIColor::fg</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Foreground color </p>
+
+</div>
+</div>
+<a id="a9413c8c99a7ff96f1374e886946791a5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9413c8c99a7ff96f1374e886946791a5">&#9670;&nbsp;</a></span>inverse</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int door::ANSIColor::inverse</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>inverse </p>
+
+</div>
+</div>
+<a id="aae86353583a08ca1d9fa4f7bb366a805"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae86353583a08ca1d9fa4f7bb366a805">&#9670;&nbsp;</a></span>reset</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">unsigned int door::ANSIColor::reset</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>reset flag / always send color and attributes </p>
+
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following files:<ul>

+ 39 - 43
classdoor_1_1Door-members.html

@@ -72,52 +72,48 @@ $(function() {
 
 <p>This is the complete list of members for <a class="el" href="classdoor_1_1Door.html">door::Door</a>, including all inherited members.</p>
 <table class="directory">
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bpos</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>buffer</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>cx</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>cy</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>debug_buffer</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">cx</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">cy</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">debug_buffer</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>debugging</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>detect_unicode_and_screen</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">detect_unicode_and_screen</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a>(std::string dname, int argc, char *argv[])</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a65728f9e00ef3765c65d4f1e2c106fb6">Door</a>(Door &amp;)=delete</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>doorname</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dropfilelines</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>dropfilename</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>get_input</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Door</b>(Door &amp;)=delete (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">doorname</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">dropfilelines</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">dropfilename</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">get_one_of</a>(const char *keys)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>getch</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>getkey</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>handle</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>has_dropfile</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>haskey</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>height</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>inactivity</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>init</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">input_string</a>(int max)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>location</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>logf</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>node</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>opt</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">overflow</a>(int c) override</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>parse_dropfile</b>(const char *filepath) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>seconds_elapsed</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a>(int secs)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>startup</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>stop_thread</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>sysop</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>time_left</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>time_thread</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>time_thread_run</b>(std::future&lt; void &gt; future) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>time_used</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>tio_default</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>track</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>unget</b>(char c) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
-  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>username</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
-  <tr bgcolor="#f0f0f0"><td class="entry"><b>width</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">getch</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">getkey</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">getkey_or_pushback</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">handle</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">has_dropfile</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">haskey</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">height</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">inactivity</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>init</b>(void) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">input_string</a>(int max)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">location</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a>(void)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">logf</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">node</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">opt</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">overflow</a>(int c) override</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>parse_dropfile</b>(const char *filepath) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">seconds_elapsed</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a>(int secs)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr bgcolor="#f0f0f0"><td class="entry"><b>startup</b> (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">stop_thread</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">sysop</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">time_left</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">time_thread</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>time_thread_run</b>(std::future&lt; void &gt; future) (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">time_used</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">tio_default</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">track</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">username</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">width</a></td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">xsputn</a>(const char *s, std::streamsize n) override</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
   <tr bgcolor="#f0f0f0"><td class="entry"><b>~Door</b>() (defined in <a class="el" href="classdoor_1_1Door.html">door::Door</a>)</td><td class="entry"><a class="el" href="classdoor_1_1Door.html">door::Door</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->

+ 615 - 77
classdoor_1_1Door.html

@@ -102,23 +102,20 @@ Collaboration diagram for door::Door:</div>
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
 Public Member Functions</h2></td></tr>
 <tr class="memitem:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a> (std::string dname, int argc, char *argv[])</td></tr>
+<tr class="memdesc:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new <a class="el" href="classdoor_1_1Door.html">Door</a>:: <a class="el" href="classdoor_1_1Door.html">Door</a> object.  <a href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">More...</a><br /></td></tr>
 <tr class="separator:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="memItemLeft" align="right" valign="top"><a id="a65728f9e00ef3765c65d4f1e2c106fb6"></a>
-&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a65728f9e00ef3765c65d4f1e2c106fb6">Door</a> (<a class="el" href="classdoor_1_1Door.html">Door</a> &amp;)=delete</td></tr>
-<tr class="memdesc:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy ctor deleted. <br /></td></tr>
+&#160;</td><td class="memItemRight" valign="bottom"><b>Door</b> (<a class="el" href="classdoor_1_1Door.html">Door</a> &amp;)=delete</td></tr>
 <tr class="separator:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a15d3f18b7165f348479344b897b6ed96"><td class="memItemLeft" align="right" valign="top">ofstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a> (void)</td></tr>
 <tr class="memdesc:a15d3f18b7165f348479344b897b6ed96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Give ofstream handle for logging.  <a href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">More...</a><br /></td></tr>
 <tr class="separator:a15d3f18b7165f348479344b897b6ed96"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a10d40a7089473c72c1acf5a987777404"><td class="memItemLeft" align="right" valign="top"><a id="a10d40a7089473c72c1acf5a987777404"></a>
-signed int&#160;</td><td class="memItemRight" valign="bottom"><b>getkey</b> (void)</td></tr>
+<tr class="memitem:a10d40a7089473c72c1acf5a987777404"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">getkey</a> (void)</td></tr>
+<tr class="memdesc:a10d40a7089473c72c1acf5a987777404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a key routine.  <a href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">More...</a><br /></td></tr>
 <tr class="separator:a10d40a7089473c72c1acf5a987777404"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:adb2006e73645885986d5487eb576fd21"><td class="memItemLeft" align="right" valign="top"><a id="adb2006e73645885986d5487eb576fd21"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>haskey</b> (void)</td></tr>
+<tr class="memitem:adb2006e73645885986d5487eb576fd21"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">haskey</a> (void)</td></tr>
+<tr class="memdesc:adb2006e73645885986d5487eb576fd21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are there any keys in STDIN?  <a href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">More...</a><br /></td></tr>
 <tr class="separator:adb2006e73645885986d5487eb576fd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1facb3e6470d700630e3da5115d25599"><td class="memItemLeft" align="right" valign="top"><a id="a1facb3e6470d700630e3da5115d25599"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>get_input</b> (void)</td></tr>
-<tr class="separator:a1facb3e6470d700630e3da5115d25599"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a> (int secs)</td></tr>
 <tr class="memdesc:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits secs seconds for a keypress.  <a href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">More...</a><br /></td></tr>
 <tr class="separator:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -131,52 +128,38 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>get_input</b> (void)</
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:a7e9aa4c92094271c40d67979b087d36b"><td class="memItemLeft" align="right" valign="top"><a id="a7e9aa4c92094271c40d67979b087d36b"></a>
-AnyOption&#160;</td><td class="memItemRight" valign="bottom"><b>opt</b></td></tr>
+<tr class="memitem:a7e9aa4c92094271c40d67979b087d36b"><td class="memItemLeft" align="right" valign="top">AnyOption&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">opt</a></td></tr>
 <tr class="separator:a7e9aa4c92094271c40d67979b087d36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae0e34a59d92ec9d70720fd90380b4223"><td class="memItemLeft" align="right" valign="top"><a id="ae0e34a59d92ec9d70720fd90380b4223"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>debug_buffer</b></td></tr>
+<tr class="memitem:ae0e34a59d92ec9d70720fd90380b4223"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">debug_buffer</a></td></tr>
 <tr class="separator:ae0e34a59d92ec9d70720fd90380b4223"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:adf76d445797eb513020a60f786f65767"><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="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a></td></tr>
 <tr class="separator:adf76d445797eb513020a60f786f65767"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abc021f4f29b9f78356641ba68df3ee4a"><td class="memItemLeft" align="right" valign="top"><a id="abc021f4f29b9f78356641ba68df3ee4a"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>track</b></td></tr>
+<tr class="memitem:abc021f4f29b9f78356641ba68df3ee4a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">track</a></td></tr>
 <tr class="separator:abc021f4f29b9f78356641ba68df3ee4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memItemLeft" align="right" valign="top"><a id="a18b8c731b27e23d6913c0ad683a37ce7"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>cx</b></td></tr>
+<tr class="memitem:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">cx</a></td></tr>
 <tr class="separator:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae3030f754f5c183c0739ca899f5d351c"><td class="memItemLeft" align="right" valign="top"><a id="ae3030f754f5c183c0739ca899f5d351c"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>cy</b></td></tr>
+<tr class="memitem:ae3030f754f5c183c0739ca899f5d351c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">cy</a></td></tr>
 <tr class="separator:ae3030f754f5c183c0739ca899f5d351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a773004acf25257a8e384bc6333b3e169"><td class="memItemLeft" align="right" valign="top"><a id="a773004acf25257a8e384bc6333b3e169"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>width</b></td></tr>
+<tr class="memitem:a773004acf25257a8e384bc6333b3e169"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">width</a></td></tr>
 <tr class="separator:a773004acf25257a8e384bc6333b3e169"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad6b79329830e41ba0ee960b01804a383"><td class="memItemLeft" align="right" valign="top"><a id="ad6b79329830e41ba0ee960b01804a383"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>height</b></td></tr>
+<tr class="memitem:ad6b79329830e41ba0ee960b01804a383"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">height</a></td></tr>
 <tr class="separator:ad6b79329830e41ba0ee960b01804a383"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9190e804f05c37523aad88e5ebb0f826"><td class="memItemLeft" align="right" valign="top"><a id="a9190e804f05c37523aad88e5ebb0f826"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>inactivity</b></td></tr>
+<tr class="memitem:a9190e804f05c37523aad88e5ebb0f826"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">inactivity</a></td></tr>
+<tr class="memdesc:a9190e804f05c37523aad88e5ebb0f826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of seconds before timing out.  <a href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">More...</a><br /></td></tr>
 <tr class="separator:a9190e804f05c37523aad88e5ebb0f826"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aaeb090ff9afcae8ea0a15416eae84850"><td class="memItemLeft" align="right" valign="top"><a id="aaeb090ff9afcae8ea0a15416eae84850"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>username</b></td></tr>
+<tr class="memitem:aaeb090ff9afcae8ea0a15416eae84850"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">username</a></td></tr>
 <tr class="separator:aaeb090ff9afcae8ea0a15416eae84850"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af9732845ca55a168cb03400486e47a37"><td class="memItemLeft" align="right" valign="top"><a id="af9732845ca55a168cb03400486e47a37"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b></td></tr>
+<tr class="memitem:af9732845ca55a168cb03400486e47a37"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">handle</a></td></tr>
 <tr class="separator:af9732845ca55a168cb03400486e47a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memItemLeft" align="right" valign="top"><a id="a4542fd79a3669c8bf7b2354bebb8d4df"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>location</b></td></tr>
+<tr class="memitem:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">location</a></td></tr>
 <tr class="separator:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memItemLeft" align="right" valign="top"><a id="ad774c3579cd2cff08dcbd5c565bc9b70"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>sysop</b></td></tr>
+<tr class="memitem:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">sysop</a></td></tr>
 <tr class="separator:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac617cee68cc0993ff5c294d06023b19b"><td class="memItemLeft" align="right" valign="top"><a id="ac617cee68cc0993ff5c294d06023b19b"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>node</b></td></tr>
+<tr class="memitem:ac617cee68cc0993ff5c294d06023b19b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">node</a></td></tr>
 <tr class="separator:ac617cee68cc0993ff5c294d06023b19b"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a459531d32a3208856979ebcdeb7c6aed"><td class="memItemLeft" align="right" valign="top"><a id="a459531d32a3208856979ebcdeb7c6aed"></a>
-atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>time_left</b></td></tr>
+<tr class="memitem:a459531d32a3208856979ebcdeb7c6aed"><td class="memItemLeft" align="right" valign="top">atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">time_left</a></td></tr>
 <tr class="separator:a459531d32a3208856979ebcdeb7c6aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aafaad41e8f04b9df6466f512d4893d82"><td class="memItemLeft" align="right" valign="top"><a id="aafaad41e8f04b9df6466f512d4893d82"></a>
-atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>time_used</b></td></tr>
+<tr class="memitem:aafaad41e8f04b9df6466f512d4893d82"><td class="memItemLeft" align="right" valign="top">atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">time_used</a></td></tr>
 <tr class="separator:aafaad41e8f04b9df6466f512d4893d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
@@ -191,17 +174,13 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>parse_dropfile</b> (c
 <tr class="memitem:ab90a3663bd05a3be1caff2584a49ad64"><td class="memItemLeft" align="right" valign="top"><a id="ab90a3663bd05a3be1caff2584a49ad64"></a>
 void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> (void)</td></tr>
 <tr class="separator:ab90a3663bd05a3be1caff2584a49ad64"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a7671e29e45d346657b5bd5d66f569737"><td class="memItemLeft" align="right" valign="top"><a id="a7671e29e45d346657b5bd5d66f569737"></a>
-signed int&#160;</td><td class="memItemRight" valign="bottom"><b>getch</b> (void)</td></tr>
+<tr class="memitem:a7671e29e45d346657b5bd5d66f569737"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">getch</a> (void)</td></tr>
+<tr class="memdesc:a7671e29e45d346657b5bd5d66f569737"><td class="mdescLeft">&#160;</td><td class="mdescRight">low level read key.  <a href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">More...</a><br /></td></tr>
 <tr class="separator:a7671e29e45d346657b5bd5d66f569737"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6548202e5ca9d9e322b93d7685e4d1b9"><td class="memItemLeft" align="right" valign="top"><a id="a6548202e5ca9d9e322b93d7685e4d1b9"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>unget</b> (char c)</td></tr>
-<tr class="separator:a6548202e5ca9d9e322b93d7685e4d1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a57ce5fa6bc0d41e0cbfa46ce4cea4469"><td class="memItemLeft" align="right" valign="top"><a id="a57ce5fa6bc0d41e0cbfa46ce4cea4469"></a>
-char&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (void)</td></tr>
-<tr class="separator:a57ce5fa6bc0d41e0cbfa46ce4cea4469"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac271b0be7c45192f1e5691b33b6703bb"><td class="memItemLeft" align="right" valign="top"><a id="ac271b0be7c45192f1e5691b33b6703bb"></a>
-void&#160;</td><td class="memItemRight" valign="bottom"><b>detect_unicode_and_screen</b> (void)</td></tr>
+<tr class="memitem:a7dd4913cdfb13f0938888adaab363e93"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">getkey_or_pushback</a> (void)</td></tr>
+<tr class="separator:a7dd4913cdfb13f0938888adaab363e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac271b0be7c45192f1e5691b33b6703bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">detect_unicode_and_screen</a> (void)</td></tr>
+<tr class="memdesc:ac271b0be7c45192f1e5691b33b6703bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect unicode/CP437, and screen size.  <a href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">More...</a><br /></td></tr>
 <tr class="separator:ac271b0be7c45192f1e5691b33b6703bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a062d08121d8cfa6e380cedbdad9b9a45"><td class="memItemLeft" align="right" valign="top"><a id="a062d08121d8cfa6e380cedbdad9b9a45"></a>
 void&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread_run</b> (std::future&lt; void &gt; future)</td></tr>
@@ -209,49 +188,34 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread_run</b> (
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
 Private Attributes</h2></td></tr>
-<tr class="memitem:a7660c60172a692036907d431ae2006f8"><td class="memItemLeft" align="right" valign="top"><a id="a7660c60172a692036907d431ae2006f8"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>doorname</b></td></tr>
+<tr class="memitem:a7660c60172a692036907d431ae2006f8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">doorname</a></td></tr>
 <tr class="separator:a7660c60172a692036907d431ae2006f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memItemLeft" align="right" valign="top"><a id="ac5e32daf4c1ed6d7675f2a8bee43a420"></a>
 std::time_t&#160;</td><td class="memItemRight" valign="bottom"><b>startup</b></td></tr>
 <tr class="separator:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memItemLeft" align="right" valign="top"><a id="ac9694a43baa3f7a8c0aaea15910b2afc"></a>
-struct termios&#160;</td><td class="memItemRight" valign="bottom"><b>tio_default</b></td></tr>
+<tr class="memitem:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memItemLeft" align="right" valign="top">struct termios&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">tio_default</a></td></tr>
 <tr class="separator:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af9ec505cd10426909fabacbff1e9a484"><td class="memItemLeft" align="right" valign="top"><a id="af9ec505cd10426909fabacbff1e9a484"></a>
-char&#160;</td><td class="memItemRight" valign="bottom"><b>buffer</b> [5]</td></tr>
-<tr class="separator:af9ec505cd10426909fabacbff1e9a484"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a9d0eee2a9cfc2b459d13f3fb3f9285d5"><td class="memItemLeft" align="right" valign="top"><a id="a9d0eee2a9cfc2b459d13f3fb3f9285d5"></a>
-unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>bpos</b></td></tr>
-<tr class="separator:a9d0eee2a9cfc2b459d13f3fb3f9285d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memItemLeft" align="right" valign="top"><a id="ab72706c45d0d143c30dbe61f4e9f6a68"></a>
-bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_dropfile</b></td></tr>
+<tr class="memitem:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">has_dropfile</a></td></tr>
 <tr class="separator:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memItemLeft" align="right" valign="top"><a id="acbcb8c030207ca3529dc8e9efeb2da8c"></a>
 bool&#160;</td><td class="memItemRight" valign="bottom"><b>debugging</b></td></tr>
 <tr class="separator:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memItemLeft" align="right" valign="top"><a id="acd2e33e65d7ccac7c46e0c7fa6b3a407"></a>
-std::string&#160;</td><td class="memItemRight" valign="bottom"><b>dropfilename</b></td></tr>
+<tr class="memitem:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">dropfilename</a></td></tr>
 <tr class="separator:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a3d83225897fcc51bf883170ba6f6963f"><td class="memItemLeft" align="right" valign="top"><a id="a3d83225897fcc51bf883170ba6f6963f"></a>
-vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dropfilelines</b></td></tr>
+<tr class="memitem:a3d83225897fcc51bf883170ba6f6963f"><td class="memItemLeft" align="right" valign="top">vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">dropfilelines</a></td></tr>
 <tr class="separator:a3d83225897fcc51bf883170ba6f6963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memItemLeft" align="right" valign="top"><a id="a2456a5f520ad5a005ec13bebbfb0774d"></a>
-ofstream&#160;</td><td class="memItemRight" valign="bottom"><b>logf</b></td></tr>
+<tr class="memitem:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memItemLeft" align="right" valign="top">ofstream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">logf</a></td></tr>
 <tr class="separator:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a65e014489e39390328fbf448a304d548"><td class="memItemLeft" align="right" valign="top"><a id="a65e014489e39390328fbf448a304d548"></a>
-std::promise&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>stop_thread</b></td></tr>
+<tr class="memitem:a65e014489e39390328fbf448a304d548"><td class="memItemLeft" align="right" valign="top">std::promise&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">stop_thread</a></td></tr>
 <tr class="separator:a65e014489e39390328fbf448a304d548"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a076ef095ae4e49acdb4afed0b413e430"><td class="memItemLeft" align="right" valign="top"><a id="a076ef095ae4e49acdb4afed0b413e430"></a>
-int&#160;</td><td class="memItemRight" valign="bottom"><b>seconds_elapsed</b></td></tr>
+<tr class="memitem:a076ef095ae4e49acdb4afed0b413e430"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">seconds_elapsed</a></td></tr>
 <tr class="separator:a076ef095ae4e49acdb4afed0b413e430"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memItemLeft" align="right" valign="top"><a id="a76deeffd8b0df5112b6e4d03d9ebdd73"></a>
-std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b></td></tr>
+<tr class="memitem:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memItemLeft" align="right" valign="top">std::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">time_thread</a></td></tr>
 <tr class="separator:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>This handles output to the caller, via ostream. </p>
-<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#_a0">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#_a0">menu-example.cpp</a>.</dd>
+<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#_a0">menu-example.cpp</a>.</dd>
 </dl>
 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a id="a8f7dcac2dafd0e11d42ab227b7d1a2ba"></a>
@@ -285,10 +249,13 @@ std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b
         </tr>
       </table>
 </div><div class="memdoc">
+
+<p>Construct a new <a class="el" href="classdoor_1_1Door.html">Door</a>:: <a class="el" href="classdoor_1_1Door.html">Door</a> object. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">argc</td><td>int </td></tr>
-    <tr><td class="paramname">argv</td><td>char *[] </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">dname</td><td><a class="el" href="classdoor_1_1Door.html">Door</a> name used for logfile </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td></td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td></td></tr>
   </table>
   </dd>
 </dl>
@@ -296,6 +263,39 @@ std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b
 </div>
 </div>
 <h2 class="groupheader">Member Function Documentation</h2>
+<a id="ac271b0be7c45192f1e5691b33b6703bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac271b0be7c45192f1e5691b33b6703bb">&#9670;&nbsp;</a></span>detect_unicode_and_screen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void door::Door::detect_unicode_and_screen </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Detect unicode/CP437, and screen size. </p>
+<p>This sets unicode and full_cp437 flags, width and height.</p>
+<p>This works by clearing the screen and homing the cursor. We then output some CP437 symbols and ask for the cursor position. We send a newline, output a unicode symbol, and query cursor position.</p>
+<p>The CP437 symbols we use are specific. They are the hearts and diamonds symbols, which are commonly mistaken for control codes. If unicode == false and full_cp437 == true, then we do fully support CP437 on this terminal.</p>
+<p>For the screensize, we move the cursor down 999 and move cursor right 999 and query position.</p>
+<p>On failure to detect screensize, width and height are set to 0. </p>
+
+</div>
+</div>
 <a id="aa807fbcea8d7e92f591d9f459f392232"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#aa807fbcea8d7e92f591d9f459f392232">&#9670;&nbsp;</a></span>get_one_of()</h2>
 
@@ -322,6 +322,110 @@ std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>char or &lt; 0 </dd></dl>
 
+</div>
+</div>
+<a id="a7671e29e45d346657b5bd5d66f569737"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7671e29e45d346657b5bd5d66f569737">&#9670;&nbsp;</a></span>getch()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">signed int door::Door::getch </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>low level read key. </p>
+<p>Returns key, or -1 no key available/timeout -2 read error/hang up -3 out of time</p>
+<dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
+
+</div>
+</div>
+<a id="a10d40a7089473c72c1acf5a987777404"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a10d40a7089473c72c1acf5a987777404">&#9670;&nbsp;</a></span>getkey()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">signed int door::Door::getkey </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get a key routine. </p>
+<p>This returns the key received, or XKEY_* values for function keys, etc. If return &lt; 0: -1 timeout/no key -2 hangup -3 out of time</p>
+<dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
+
+</div>
+</div>
+<a id="a7dd4913cdfb13f0938888adaab363e93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7dd4913cdfb13f0938888adaab363e93">&#9670;&nbsp;</a></span>getkey_or_pushback()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">signed int door::Door::getkey_or_pushback </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Call low level getch if the pushback buffer is empty.</p>
+<p>This allows testing of the <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">Door::getkey</a> function.</p>
+<dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
+
+</div>
+</div>
+<a id="adb2006e73645885986d5487eb576fd21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb2006e73645885986d5487eb576fd21">&#9670;&nbsp;</a></span>haskey()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool door::Door::haskey </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Are there any keys in STDIN? </p>
+<p>This uses select to check if we have received any keys. This does not use pushback. </p><dl class="section return"><dt>Returns</dt><dd>true </dd>
+<dd>
+false </dd></dl>
+
 </div>
 </div>
 <a id="a93bbb3d1bfcec623e46ef47e6ba6b470"></a>
@@ -486,6 +590,258 @@ std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b
 </div>
 </div>
 <h2 class="groupheader">Member Data Documentation</h2>
+<a id="a18b8c731b27e23d6913c0ad683a37ce7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a18b8c731b27e23d6913c0ad683a37ce7">&#9670;&nbsp;</a></span>cx</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::cx</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Current cursor X position. </dd></dl>
+
+</div>
+</div>
+<a id="ae3030f754f5c183c0739ca899f5d351c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3030f754f5c183c0739ca899f5d351c">&#9670;&nbsp;</a></span>cy</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::cy</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Current cursor Y position. </dd></dl>
+
+</div>
+</div>
+<a id="ae0e34a59d92ec9d70720fd90380b4223"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae0e34a59d92ec9d70720fd90380b4223">&#9670;&nbsp;</a></span>debug_buffer</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::debug_buffer</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Buffer that holds the output for testing. </p>
+
+</div>
+</div>
+<a id="a7660c60172a692036907d431ae2006f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7660c60172a692036907d431ae2006f8">&#9670;&nbsp;</a></span>doorname</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::doorname</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>The name used for logfile </p>
+
+</div>
+</div>
+<a id="a3d83225897fcc51bf883170ba6f6963f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d83225897fcc51bf883170ba6f6963f">&#9670;&nbsp;</a></span>dropfilelines</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">vector&lt;std::string&gt; door::Door::dropfilelines</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Contents of the dropfile. </p>
+
+</div>
+</div>
+<a id="acd2e33e65d7ccac7c46e0c7fa6b3a407"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd2e33e65d7ccac7c46e0c7fa6b3a407">&#9670;&nbsp;</a></span>dropfilename</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::dropfilename</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Name of the dropfile. </p>
+
+</div>
+</div>
+<a id="af9732845ca55a168cb03400486e47a37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9732845ca55a168cb03400486e47a37">&#9670;&nbsp;</a></span>handle</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::handle</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>BBS Dropfile handle </p>
+
+</div>
+</div>
+<a id="ab72706c45d0d143c30dbe61f4e9f6a68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab72706c45d0d143c30dbe61f4e9f6a68">&#9670;&nbsp;</a></span>has_dropfile</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool door::Door::has_dropfile</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Did we read a dropfile? </p>
+
+</div>
+</div>
+<a id="ad6b79329830e41ba0ee960b01804a383"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad6b79329830e41ba0ee960b01804a383">&#9670;&nbsp;</a></span>height</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::height</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Detected screen height. </p>
+
+</div>
+</div>
+<a id="a9190e804f05c37523aad88e5ebb0f826"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9190e804f05c37523aad88e5ebb0f826">&#9670;&nbsp;</a></span>inactivity</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::inactivity</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Number of seconds before timing out. </p>
+<p>When prompting for user input, this is the number of seconds they have to respond before we give up and timeout on them. (Default 120/2 minutes) </p>
+
+</div>
+</div>
+<a id="a4542fd79a3669c8bf7b2354bebb8d4df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4542fd79a3669c8bf7b2354bebb8d4df">&#9670;&nbsp;</a></span>location</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::location</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>BBS Dropfile location </p>
+
+</div>
+</div>
+<a id="a2456a5f520ad5a005ec13bebbfb0774d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2456a5f520ad5a005ec13bebbfb0774d">&#9670;&nbsp;</a></span>logf</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">ofstream door::Door::logf</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Logfile </p>
+
+</div>
+</div>
+<a id="ac617cee68cc0993ff5c294d06023b19b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac617cee68cc0993ff5c294d06023b19b">&#9670;&nbsp;</a></span>node</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::node</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>BBS Dropfile node number </p>
+
+</div>
+</div>
+<a id="a7e9aa4c92094271c40d67979b087d36b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e9aa4c92094271c40d67979b087d36b">&#9670;&nbsp;</a></span>opt</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">AnyOption door::Door::opt</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Commandline options parser. </p>
+
+</div>
+</div>
 <a id="adf76d445797eb513020a60f786f65767"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#adf76d445797eb513020a60f786f65767">&#9670;&nbsp;</a></span>previous</h2>
 
@@ -497,7 +853,189 @@ std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b
         </tr>
       </table>
 </div><div class="memdoc">
-<p>Previous ANSI-BBS colors and attributes sent. This is used to optimize our output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">ANSIColor::output()</a> </dd></dl>
+<p>Previous ANSI-BBS colors and attributes sent. This is used to optimize ANSI Color output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">ANSIColor::output()</a> </dd></dl>
+
+</div>
+</div>
+<a id="a076ef095ae4e49acdb4afed0b413e430"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a076ef095ae4e49acdb4afed0b413e430">&#9670;&nbsp;</a></span>seconds_elapsed</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::seconds_elapsed</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Used by time_thread to know when a minute has passed. </p>
+
+</div>
+</div>
+<a id="a65e014489e39390328fbf448a304d548"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a65e014489e39390328fbf448a304d548">&#9670;&nbsp;</a></span>stop_thread</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::promise&lt;void&gt; door::Door::stop_thread</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Allow us to stop the time_thread. </p>
+
+</div>
+</div>
+<a id="ad774c3579cd2cff08dcbd5c565bc9b70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad774c3579cd2cff08dcbd5c565bc9b70">&#9670;&nbsp;</a></span>sysop</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::sysop</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>BBS Dropfile sysop name </p>
+
+</div>
+</div>
+<a id="a459531d32a3208856979ebcdeb7c6aed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a459531d32a3208856979ebcdeb7c6aed">&#9670;&nbsp;</a></span>time_left</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">atomic&lt;int&gt; door::Door::time_left</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>time left in minutes </p>
+
+</div>
+</div>
+<a id="a76deeffd8b0df5112b6e4d03d9ebdd73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76deeffd8b0df5112b6e4d03d9ebdd73">&#9670;&nbsp;</a></span>time_thread</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::thread door::Door::time_thread</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Thread used to update time_left and time_used. </p>
+
+</div>
+</div>
+<a id="aafaad41e8f04b9df6466f512d4893d82"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aafaad41e8f04b9df6466f512d4893d82">&#9670;&nbsp;</a></span>time_used</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">atomic&lt;int&gt; door::Door::time_used</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>time used in minutes </p>
+
+</div>
+</div>
+<a id="ac9694a43baa3f7a8c0aaea15910b2afc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac9694a43baa3f7a8c0aaea15910b2afc">&#9670;&nbsp;</a></span>tio_default</h2>
+
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">struct termios door::Door::tio_default</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+<p>Initial terminal defaults. </p>
+
+</div>
+</div>
+<a id="abc021f4f29b9f78356641ba68df3ee4a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc021f4f29b9f78356641ba68df3ee4a">&#9670;&nbsp;</a></span>track</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool door::Door::track</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Enable tracking cursor position. </dd></dl>
+
+</div>
+</div>
+<a id="aaeb090ff9afcae8ea0a15416eae84850"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaeb090ff9afcae8ea0a15416eae84850">&#9670;&nbsp;</a></span>username</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::string door::Door::username</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>BBS Dropfile username </p>
+
+</div>
+</div>
+<a id="a773004acf25257a8e384bc6333b3e169"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a773004acf25257a8e384bc6333b3e169">&#9670;&nbsp;</a></span>width</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int door::Door::width</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Detected screen width. <a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">Door::detect_unicode_and_screen</a> </p>
 
 </div>
 </div>

+ 2 - 2
classdoor_1_1Line.html

@@ -554,7 +554,7 @@ Friends</h2></td></tr>
       </table>
 </div><div class="memdoc">
 <p>set updater function</p>
-<p>This can update the line text when called. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Define an updateFunction. </dd></dl>
+<p>This can update the line text when called. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000008">Todo:</a></b></dt><dd>Define an updateFunction. </dd></dl>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
     <tr><td class="paramname">newUpdater</td><td>updateFunction </td></tr>
@@ -618,7 +618,7 @@ Friends</h2></td></tr>
   </tr>
 </table>
 </div><div class="memdoc">
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>This might be a problem, because const <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a> wouldn't allow me to track "updates". I.E. I send the line, I'd need to change the line's State to "nothing changed". Then, if something did change, the next update request would be able to know that yes, this does indeed need to be sent.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>This might be a problem, because const <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a> wouldn't allow me to track "updates". I.E. I send the line, I'd need to change the line's State to "nothing changed". Then, if something did change, the next update request would be able to know that yes, this does indeed need to be sent.</dd></dl>
 <dl class="bug"><dt><b><a class="el" href="bug.html#_bug000001">Bug:</a></b></dt><dd>This also might cause problems if I display a shared BasicLine (in multiple places), and then update it. It would only update in the first place (the others wouldn't show it needs an update). </dd></dl>
 <p>Output <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a></p>
 <p>This looks for padding and paddingColor. This uses the render function if set.</p>

+ 2 - 2
classdoor_1_1Menu.html

@@ -381,7 +381,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>offset</b></td></tr>
         </tr>
       </table>
 </div><div class="memdoc">
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>Fix this, so it only updates the lines that have been changed when the user selects something. Also, add the "Up/Down Move" maybe to the bottom?</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000009">Todo:</a></b></dt><dd>Fix this, so it only updates the lines that have been changed when the user selects something. Also, add the "Up/Down Move" maybe to the bottom?</dd></dl>
 <p>Needs timeout.</p>
 <p>Should we return the index offset, or return the actual char? (Like in the case of Quit or Help?)</p>
 <dl class="params"><dt>Parameters</dt><dd>
@@ -509,7 +509,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>offset</b></td></tr>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">door::ATTR::BOLD</a></div><div class="ttdeci">@ BOLD</div><div class="ttdoc">BOLD is the same as BRIGHT.</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">door::COLOR::YELLOW</a></div><div class="ttdeci">@ YELLOW</div><div class="ttdoc">YELLOW (3)</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">door::COLOR::WHITE</a></div><div class="ttdeci">@ WHITE</div><div class="ttdoc">WHITE (7)</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:713</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:712</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">door::COLOR::BLUE</a></div><div class="ttdeci">@ BLUE</div><div class="ttdoc">BLUE (4)</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 3 - 4
classdoor_1_1Panel.html

@@ -247,8 +247,7 @@ Friends</h2></td></tr>
 <p>Set the panels X and Y screen position. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">xp</td><td></td></tr>
-    <tr><td class="paramname">yp</td><td></td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">xp,yp</td><td>new screen position </td></tr>
   </table>
   </dd>
 </dl>
@@ -274,7 +273,7 @@ Friends</h2></td></tr>
 <p>Create a spacer line using block drawing characters. </p>
 <p>Return a <a class="el" href="classdoor_1_1Line.html" title="Text and ANSIColor.">Line</a> of single or double characters the width of the panel. </p><dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">single</td><td></td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">single</td><td>make single or double line </td></tr>
   </table>
   </dd>
 </dl>
@@ -381,7 +380,7 @@ false </dd></dl>
   </tr>
 </table>
 </div><div class="memdoc">
-<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Fix this to use shared_ptr. I don't think unique_ptr is the right way to go with this. I want to reuse things, and that means shared_ptr!</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Fix this to use shared_ptr. I don't think unique_ptr is the right way to go with this. I want to reuse things, and that means shared_ptr!</dd></dl>
 
 </div>
 </div>

+ 3 - 3
classdoor_1_1Screen.html

@@ -139,11 +139,11 @@ Friends</h2></td></tr>
 </div><div class="memdoc">
 
 <p>Outputs screen to stream. </p>
-<p>This iterates over the panels, and renders them. See <a class="el" href="classdoor_1_1Panel.html">door::Panel</a></p>
+<p>This iterates over panels, and outputs them. See <a class="el" href="classdoor_1_1Panel.html">door::Panel</a></p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">os</td><td></td></tr>
-    <tr><td class="paramname">s</td><td></td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">os</td><td>Stream </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td><a class="el" href="classdoor_1_1Screen.html">Screen</a> to send </td></tr>
   </table>
   </dd>
 </dl>

+ 29 - 26
door_8cpp.html

@@ -92,30 +92,31 @@ Include dependency graph for door.cpp:</div>
 <div class="dyncontent">
 <div class="center"><img src="door_8cpp__incl.png" border="0" usemap="#door_8cpp" alt=""/></div>
 <map name="door_8cpp" id="door_8cpp">
-<area shape="rect" title="Door." alt="" coords="1200,5,1277,32"/>
-<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="603,80,666,107"/>
+<area shape="rect" title="Door." alt="" coords="1280,5,1357,32"/>
+<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="657,80,719,107"/>
 <area shape="rect" title=" " alt="" coords="5,155,64,181"/>
-<area shape="rect" title=" " alt="" coords="993,155,1073,181"/>
-<area shape="rect" title=" " alt="" coords="1097,155,1172,181"/>
-<area shape="rect" title=" " alt="" coords="956,80,1041,107"/>
-<area shape="rect" title=" " alt="" coords="1065,80,1132,107"/>
-<area shape="rect" title=" " alt="" coords="1157,80,1227,107"/>
-<area shape="rect" title=" " alt="" coords="1251,80,1322,107"/>
-<area shape="rect" title=" " alt="" coords="1347,80,1405,107"/>
-<area shape="rect" title=" " alt="" coords="1429,80,1493,107"/>
-<area shape="rect" title=" " alt="" coords="1517,80,1592,107"/>
-<area shape="rect" title=" " alt="" coords="1616,80,1691,107"/>
-<area shape="rect" title=" " alt="" coords="1715,80,1789,107"/>
-<area shape="rect" title=" " alt="" coords="1813,80,1881,107"/>
-<area shape="rect" title=" " alt="" coords="88,155,187,181"/>
-<area shape="rect" title=" " alt="" coords="211,155,277,181"/>
-<area shape="rect" title=" " alt="" coords="302,155,375,181"/>
-<area shape="rect" title=" " alt="" coords="399,155,486,181"/>
-<area shape="rect" title=" " alt="" coords="511,155,572,181"/>
-<area shape="rect" title=" " alt="" coords="596,155,673,181"/>
-<area shape="rect" title=" " alt="" coords="698,155,774,181"/>
-<area shape="rect" title=" " alt="" coords="798,155,861,181"/>
-<area shape="rect" title=" " alt="" coords="885,155,969,181"/>
+<area shape="rect" title=" " alt="" coords="1061,155,1141,181"/>
+<area shape="rect" title=" " alt="" coords="1165,155,1240,181"/>
+<area shape="rect" title=" " alt="" coords="1036,80,1121,107"/>
+<area shape="rect" title=" " alt="" coords="1145,80,1212,107"/>
+<area shape="rect" title=" " alt="" coords="1237,80,1307,107"/>
+<area shape="rect" title=" " alt="" coords="1331,80,1402,107"/>
+<area shape="rect" title=" " alt="" coords="1427,80,1485,107"/>
+<area shape="rect" title=" " alt="" coords="1509,80,1573,107"/>
+<area shape="rect" title=" " alt="" coords="1597,80,1672,107"/>
+<area shape="rect" title=" " alt="" coords="1696,80,1771,107"/>
+<area shape="rect" title=" " alt="" coords="1795,80,1869,107"/>
+<area shape="rect" title=" " alt="" coords="1893,80,1961,107"/>
+<area shape="rect" title=" " alt="" coords="197,155,296,181"/>
+<area shape="rect" title=" " alt="" coords="320,155,387,181"/>
+<area shape="rect" title=" " alt="" coords="411,155,485,181"/>
+<area shape="rect" title=" " alt="" coords="509,155,595,181"/>
+<area shape="rect" title=" " alt="" coords="620,155,681,181"/>
+<area shape="rect" title=" " alt="" coords="705,155,748,181"/>
+<area shape="rect" title=" " alt="" coords="772,155,849,181"/>
+<area shape="rect" title=" " alt="" coords="874,155,950,181"/>
+<area shape="rect" title=" " alt="" coords="974,155,1037,181"/>
+<area shape="rect" title=" " alt="" coords="89,155,173,181"/>
 </map>
 </div>
 </div><table class="memberdecls">
@@ -137,7 +138,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:afa94e91868d469077e4d3b400dedfd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert string to lowercase  <a href="namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c">More...</a><br /></td></tr>
 <tr class="separator:afa94e91868d469077e4d3b400dedfd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">door::replace</a> (std::string &amp;str, const std::string &amp;from, const std::string &amp;to)</td></tr>
-<tr class="memdesc:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all instances of from with to.  <a href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">More...</a><br /></td></tr>
+<tr class="memdesc:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces one string with another once.  <a href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">More...</a><br /></td></tr>
 <tr class="separator:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">door::replace</a> (std::string &amp;str, const char *from, const char *to)</td></tr>
 <tr class="memdesc:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all instances of from with to.  <a href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">More...</a><br /></td></tr>
@@ -160,6 +161,9 @@ Functions</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
 Variables</h2></td></tr>
+<tr class="memitem:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memItemLeft" align="right" valign="top">std::list&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">door::pushback</a></td></tr>
+<tr class="memdesc:a64600b79b9b73f4705859ce4efb1a2fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">pushback buffer for keys.  <a href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">More...</a><br /></td></tr>
+<tr class="separator:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1626abff63f7a1b9dc696969c860283b"><td class="memItemLeft" align="right" valign="top"><a id="a1626abff63f7a1b9dc696969c860283b"></a>
 bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">door::unicode</a> = false</td></tr>
 <tr class="memdesc:a1626abff63f7a1b9dc696969c860283b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was unicode detected? <br /></td></tr>
@@ -168,8 +172,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
 <tr class="memdesc:aeade8b521c7f95755fdb166727c2b87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was full CP437 detected?  <a href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">More...</a><br /></td></tr>
 <tr class="separator:aeade8b521c7f95755fdb166727c2b87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac39a1dfdb8dec210d28133625f860bc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">door::debug_capture</a> = false</td></tr>
-<tr class="memdesc:ac39a1dfdb8dec210d28133625f860bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture the output for debugging. <br  />
-  <a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">More...</a><br /></td></tr>
+<tr class="memdesc:ac39a1dfdb8dec210d28133625f860bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture the output for debugging.  <a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">More...</a><br /></td></tr>
 <tr class="separator:ac39a1dfdb8dec210d28133625f860bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac70193caf66e4b9aed1529593727a6eb"><td class="memItemLeft" align="right" valign="top">Clrscr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">door::cls</a></td></tr>
 <tr class="separator:ac70193caf66e4b9aed1529593727a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>

+ 24 - 23
door_8cpp__incl.map

@@ -1,26 +1,27 @@
 <map id="door.cpp" name="door.cpp">
-<area shape="rect" id="node1" title="Door." alt="" coords="1200,5,1277,32"/>
-<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="603,80,666,107"/>
+<area shape="rect" id="node1" title="Door." alt="" coords="1280,5,1357,32"/>
+<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="657,80,719,107"/>
 <area shape="rect" id="node5" title=" " alt="" coords="5,155,64,181"/>
-<area shape="rect" id="node9" title=" " alt="" coords="993,155,1073,181"/>
-<area shape="rect" id="node14" title=" " alt="" coords="1097,155,1172,181"/>
-<area shape="rect" id="node15" title=" " alt="" coords="956,80,1041,107"/>
-<area shape="rect" id="node16" title=" " alt="" coords="1065,80,1132,107"/>
-<area shape="rect" id="node17" title=" " alt="" coords="1157,80,1227,107"/>
-<area shape="rect" id="node18" title=" " alt="" coords="1251,80,1322,107"/>
-<area shape="rect" id="node19" title=" " alt="" coords="1347,80,1405,107"/>
-<area shape="rect" id="node20" title=" " alt="" coords="1429,80,1493,107"/>
-<area shape="rect" id="node21" title=" " alt="" coords="1517,80,1592,107"/>
-<area shape="rect" id="node22" title=" " alt="" coords="1616,80,1691,107"/>
-<area shape="rect" id="node23" title=" " alt="" coords="1715,80,1789,107"/>
-<area shape="rect" id="node24" title=" " alt="" coords="1813,80,1881,107"/>
-<area shape="rect" id="node3" title=" " alt="" coords="88,155,187,181"/>
-<area shape="rect" id="node4" title=" " alt="" coords="211,155,277,181"/>
-<area shape="rect" id="node6" title=" " alt="" coords="302,155,375,181"/>
-<area shape="rect" id="node7" title=" " alt="" coords="399,155,486,181"/>
-<area shape="rect" id="node8" title=" " alt="" coords="511,155,572,181"/>
-<area shape="rect" id="node10" title=" " alt="" coords="596,155,673,181"/>
-<area shape="rect" id="node11" title=" " alt="" coords="698,155,774,181"/>
-<area shape="rect" id="node12" title=" " alt="" coords="798,155,861,181"/>
-<area shape="rect" id="node13" title=" " alt="" coords="885,155,969,181"/>
+<area shape="rect" id="node9" title=" " alt="" coords="1061,155,1141,181"/>
+<area shape="rect" id="node15" title=" " alt="" coords="1165,155,1240,181"/>
+<area shape="rect" id="node16" title=" " alt="" coords="1036,80,1121,107"/>
+<area shape="rect" id="node17" title=" " alt="" coords="1145,80,1212,107"/>
+<area shape="rect" id="node18" title=" " alt="" coords="1237,80,1307,107"/>
+<area shape="rect" id="node19" title=" " alt="" coords="1331,80,1402,107"/>
+<area shape="rect" id="node20" title=" " alt="" coords="1427,80,1485,107"/>
+<area shape="rect" id="node21" title=" " alt="" coords="1509,80,1573,107"/>
+<area shape="rect" id="node22" title=" " alt="" coords="1597,80,1672,107"/>
+<area shape="rect" id="node23" title=" " alt="" coords="1696,80,1771,107"/>
+<area shape="rect" id="node24" title=" " alt="" coords="1795,80,1869,107"/>
+<area shape="rect" id="node25" title=" " alt="" coords="1893,80,1961,107"/>
+<area shape="rect" id="node3" title=" " alt="" coords="197,155,296,181"/>
+<area shape="rect" id="node4" title=" " alt="" coords="320,155,387,181"/>
+<area shape="rect" id="node6" title=" " alt="" coords="411,155,485,181"/>
+<area shape="rect" id="node7" title=" " alt="" coords="509,155,595,181"/>
+<area shape="rect" id="node8" title=" " alt="" coords="620,155,681,181"/>
+<area shape="rect" id="node10" title=" " alt="" coords="705,155,748,181"/>
+<area shape="rect" id="node11" title=" " alt="" coords="772,155,849,181"/>
+<area shape="rect" id="node12" title=" " alt="" coords="874,155,950,181"/>
+<area shape="rect" id="node13" title=" " alt="" coords="974,155,1037,181"/>
+<area shape="rect" id="node14" title=" " alt="" coords="89,155,173,181"/>
 </map>

+ 1 - 1
door_8cpp__incl.md5

@@ -1 +1 @@
-8eca1d70302467f01dc77a47569531cb
+e03f6a35bc558123b732b685a42b18a6

BIN
door_8cpp__incl.png


+ 633 - 616
door_8h_source.html

@@ -75,664 +75,681 @@ $(function() {
 <div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;functional&gt;</span></div>
 <div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;future&gt;</span></div>
 <div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div>
-<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
-<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
-<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
-<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">// raw mode</span></div>
-<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &lt;termios.h&gt;</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
-<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
-<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define CSI &quot;\x1b[&quot;</span></div>
-<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160; </div>
-<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">// getkey definitions</span></div>
-<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#define XKEY_START 0x1000</span></div>
-<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160; </div>
-<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#define XKEY_UP_ARROW 0x1001</span></div>
-<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define XKEY_DOWN_ARROW 0x1002</span></div>
-<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define XKEY_RIGHT_ARROW 0x1003</span></div>
-<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define XKEY_LEFT_ARROW 0x1004</span></div>
-<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
-<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define XKEY_HOME 0x1010</span></div>
-<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define XKEY_END 0x1011</span></div>
-<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define XKEY_PGUP 0x1012</span></div>
-<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define XKEY_PGDN 0x1023</span></div>
-<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define XKEY_INSERT 0x1024</span></div>
-<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define XKEY_DELETE 0x7f</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
-<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#define XKEY_F1 0x1021</span></div>
-<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define XKEY_F2 0x1022</span></div>
-<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define XKEY_F3 0x1023</span></div>
-<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define XKEY_F4 0x1024</span></div>
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define XKEY_F5 0x1025</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define XKEY_F6 0x1026</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define XKEY_F7 0x1027</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define XKEY_F8 0x1028</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define XKEY_F9 0x1029</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define XKEY_F10 0x102a</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define XKEY_F11 0x102b</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define XKEY_F12 0x102c</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
-<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#define XKEY_UNKNOWN 0x1111</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
-<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacedoor.html">door</a> {</div>
-<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
-<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">unicode</a>;</div>
-<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">full_cp437</a>;</div>
-<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">debug_capture</a>;</div>
-<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
-<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="comment">Translate CP437 strings to unicode for output.</span></div>
-<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">if (door::unicode) {</span></div>
-<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment">  // perform translation</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">}</span></div>
-<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">cp437toUnicode</a>(std::string input, std::string &amp;out);</div>
-<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">cp437toUnicode</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *input, std::string &amp;out);</div>
-<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; </div>
-<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">door 2.0</span></div>
-<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">   84</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> : std::int8_t {</div>
-<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965">BLACK</a>,</div>
-<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0">RED</a>,</div>
-<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0">GREEN</a>,</div>
-<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488">BROWN</a>,</div>
-<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">YELLOW</a> = 3,</div>
-<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">BLUE</a>,</div>
-<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61">MAGENTA</a>,</div>
-<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">CYAN</a>,</div>
-<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">WHITE</a></div>
-<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;};</div>
-<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160; </div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">  108</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> : std::int8_t {</div>
-<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">RESET</a>,</div>
-<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">BOLD</a>,</div>
-<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040">BRIGHT</a> = 1,</div>
-<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc">BLINK</a> = 5,</div>
-<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639">INVERSE</a> = 7</div>
-<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;};</div>
-<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
-<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html">  131</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> {</div>
-<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">  133</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a>;</div>
-<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">  135</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a>;</div>
-<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <span class="comment">// Track attributes (ATTR)</span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">  138</a></span>&#160;<span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">reset</a> : 1;</div>
-<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">  140</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">bold</a> : 1;</div>
-<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">  142</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">blink</a> : 1;</div>
-<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">  144</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">inverse</a> : 1;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
-<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;  <span class="comment">// default initialization here</span></div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>();</div>
-<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f);</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a1, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a2);</div>
-<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b);</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a1, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a2);</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;<a class="code" href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">Attr</a>(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87">operator==</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">void</span> setFg(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f);</div>
-<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordtype">void</span> setFg(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">void</span> setBg(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b);</div>
-<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> getFg() { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a>; };</div>
-<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> getBg() { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a>; };</div>
-<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;  <span class="keywordtype">void</span> attr(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
-<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160; </div>
-<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;  std::string <a class="code" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; </div>
-<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  std::string debug(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
-<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  std::string <a class="code" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a>(<a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a> &amp;previous) <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
-<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a> &amp;c);</div>
-<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;};</div>
-<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
-<div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html">  193</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Door.html">Door</a> : <span class="keyword">public</span> std::ostream, <span class="keyword">private</span> std::streambuf {</div>
-<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160; </div>
-<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  std::streamsize <a class="code" href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">xsputn</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, std::streamsize n) <span class="keyword">override</span>;</div>
-<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">overflow</a>(<span class="keywordtype">int</span> c) <span class="keyword">override</span>;</div>
-<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  std::string doorname;</div>
-<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="keywordtype">void</span> parse_dropfile(<span class="keyword">const</span> <span class="keywordtype">char</span> *filepath);</div>
-<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;  <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  std::time_t startup;</div>
-<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="keyword">struct </span>termios <a class="code" href="getkey_8cpp.html#ac317ff25d1fad1066feec2dd66179eec">tio_default</a>;</div>
-<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="comment">// getkey functions</span></div>
-<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="getkey_8cpp.html#abbfe4f963938c288581211cdee6cb818">getch</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="getkey_8cpp.html#a37118b1ee911d1447a495aa49f2926a5">unget</a>(<span class="keywordtype">char</span> c);</div>
-<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  <span class="keywordtype">char</span> <a class="code" href="getkey_8cpp.html#a5a392181fdf6b261a23c6996b6f65765">get</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  <span class="keywordtype">char</span> <a class="code" href="getkey_8cpp.html#a92dfe6e9243e862063a0c3869f784557">buffer</a>[5];</div>
-<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="getkey_8cpp.html#aaa0e5be04b9ee83acfdd443145061f47">bpos</a>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="keywordtype">bool</span> has_dropfile;</div>
-<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <span class="keywordtype">bool</span> debugging;</div>
-<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  std::string dropfilename;</div>
-<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  vector&lt;std::string&gt; dropfilelines;</div>
-<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  ofstream logf;</div>
-<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;  <span class="keywordtype">void</span> detect_unicode_and_screen(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
-<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  <span class="comment">// time thread - time left</span></div>
-<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  std::promise&lt;void&gt; stop_thread;</div>
-<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="comment">// std::future&lt;void&gt; stop_future;</span></div>
-<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
-<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <span class="comment">// atomic seconds_elapsed ?</span></div>
-<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <span class="keywordtype">int</span> seconds_elapsed;</div>
-<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <span class="keywordtype">void</span> time_thread_run(std::future&lt;void&gt; future);</div>
-<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  std::thread time_thread;</div>
-<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160; </div>
-<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;  <a class="code" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a>(std::string dname, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]);</div>
-<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  <a class="code" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a>(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classdoor_1_1Door.html">Door</a>();</div>
-<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;  ofstream &amp;<a class="code" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  <span class="comment">// void log(std::string output);</span></div>
-<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  AnyOption opt;</div>
-<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  std::string debug_buffer;</div>
-<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
-<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">  244</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a>;</div>
-<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  <span class="keywordtype">bool</span> track;</div>
-<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordtype">int</span> cx;</div>
-<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  <span class="keywordtype">int</span> cy;</div>
-<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;  <span class="keywordtype">int</span> width;</div>
-<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;  <span class="keywordtype">int</span> height;</div>
-<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  <span class="keywordtype">int</span> inactivity;</div>
-<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;  std::string username;</div>
-<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  std::string handle;</div>
-<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  std::string location;</div>
-<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;  std::string sysop;</div>
-<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;  <span class="comment">// std::string bbsname;</span></div>
-<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  <span class="keywordtype">int</span> node;</div>
-<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;  atomic&lt;int&gt; time_left;</div>
-<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  atomic&lt;int&gt; time_used;</div>
-<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
-<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="getkey_8cpp.html#a48210bb765c651a12818ca2551ace8e2">getkey</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keywordtype">bool</span> haskey(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  <span class="keywordtype">int</span> get_input(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a>(<span class="keywordtype">int</span> secs);</div>
-<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">input_string</a>(<span class="keywordtype">int</span> max);</div>
-<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">get_one_of</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *keys);</div>
-<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;};</div>
+<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
+<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div>
+<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
+<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
+<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">// raw mode</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &lt;termios.h&gt;</span></div>
+<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
+<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
+<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#define CSI &quot;\x1b[&quot;</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160; </div>
+<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">// getkey definitions</span></div>
+<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#define XKEY_START 0x1000</span></div>
+<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160; </div>
+<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#define XKEY_UP_ARROW 0x1001</span></div>
+<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define XKEY_DOWN_ARROW 0x1002</span></div>
+<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define XKEY_RIGHT_ARROW 0x1003</span></div>
+<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#define XKEY_LEFT_ARROW 0x1004</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
+<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define XKEY_HOME 0x1010</span></div>
+<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#define XKEY_END 0x1011</span></div>
+<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#define XKEY_PGUP 0x1012</span></div>
+<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#define XKEY_PGDN 0x1023</span></div>
+<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define XKEY_INSERT 0x1024</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#define XKEY_DELETE 0x7f</span></div>
+<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
+<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define XKEY_F1 0x1021</span></div>
+<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define XKEY_F2 0x1022</span></div>
+<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#define XKEY_F3 0x1023</span></div>
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define XKEY_F4 0x1024</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define XKEY_F5 0x1025</span></div>
+<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#define XKEY_F6 0x1026</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#define XKEY_F7 0x1027</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#define XKEY_F8 0x1028</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#define XKEY_F9 0x1029</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#define XKEY_F10 0x102a</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#define XKEY_F11 0x102b</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#define XKEY_F12 0x102c</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
+<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#define XKEY_UNKNOWN 0x1111</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacedoor.html">door</a> {</div>
+<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
+<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">unicode</a>;</div>
+<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">full_cp437</a>;</div>
+<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">debug_capture</a>;</div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">extern</span> std::list&lt;char&gt; <a class="code" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">pushback</a>;</div>
+<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
+<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;<span class="comment">Translate CP437 strings to unicode for output.</span></div>
+<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<span class="comment">if (door::unicode) {</span></div>
+<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;<span class="comment">  // perform translation</span></div>
+<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="comment">}</span></div>
+<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">cp437toUnicode</a>(std::string input, std::string &amp;out);</div>
+<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keywordtype">void</span> <a class="code" href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">cp437toUnicode</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *input, std::string &amp;out);</div>
+<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
+<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment">door 2.0</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
+<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">   86</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> : std::int8_t {</div>
+<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965">BLACK</a>,</div>
+<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0">RED</a>,</div>
+<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0">GREEN</a>,</div>
+<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488">BROWN</a>,</div>
+<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">YELLOW</a> = 3,</div>
+<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">BLUE</a>,</div>
+<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61">MAGENTA</a>,</div>
+<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">CYAN</a>,</div>
+<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">WHITE</a></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;};</div>
+<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">  110</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> : std::int8_t {</div>
+<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">RESET</a>,</div>
+<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">BOLD</a>,</div>
+<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040">BRIGHT</a> = 1,</div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc">BLINK</a> = 5,</div>
+<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;  <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639">INVERSE</a> = 7</div>
+<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;};</div>
+<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
+<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html">  133</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> {</div>
+<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">  135</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a>;</div>
+<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">  137</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a>;</div>
+<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;  <span class="comment">// Track attributes (ATTR)</span></div>
+<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">  140</a></span>&#160;<span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">reset</a> : 1;</div>
+<div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">  142</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">bold</a> : 1;</div>
+<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">  144</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">blink</a> : 1;</div>
+<div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">  146</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">inverse</a> : 1;</div>
+<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>();</div>
+<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f);</div>
+<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a1, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a2);</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b);</div>
+<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">ANSIColor</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a1, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a2);</div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;<a class="code" href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">Attr</a>(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87">operator==</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">setFg</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f);</div>
+<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">setFg</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> f, <a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">setBg</a>(<a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> b);</div>
+<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">  167</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">getFg</a>() { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">fg</a>; };</div>
+<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">  172</a></span>&#160;  <a class="code" href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">COLOR</a> <a class="code" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">getBg</a>() { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">bg</a>; };</div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">attr</a>(<a class="code" href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">ATTR</a> a);</div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;  std::string <a class="code" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  std::string <a class="code" href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">debug</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;  std::string <a class="code" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">output</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;previous) <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> &amp;c);</div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;};</div>
+<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160; </div>
+<div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html">  186</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Door.html">Door</a> : <span class="keyword">public</span> std::ostream, <span class="keyword">private</span> std::streambuf {</div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
+<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  std::streamsize <a class="code" href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">xsputn</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s, std::streamsize n) <span class="keyword">override</span>;</div>
+<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">overflow</a>(<span class="keywordtype">int</span> c) <span class="keyword">override</span>;</div>
+<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">  192</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">doorname</a>;</div>
+<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;  <span class="keywordtype">void</span> parse_dropfile(<span class="keyword">const</span> <span class="keywordtype">char</span> *filepath);</div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;  <span class="keywordtype">void</span> init(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  std::time_t startup;</div>
+<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">  197</a></span>&#160;  <span class="keyword">struct </span>termios <a class="code" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">tio_default</a>;</div>
+<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">getch</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">getkey_or_pushback</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">  201</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">has_dropfile</a>;</div>
+<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;  <span class="keywordtype">bool</span> debugging;</div>
+<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">  204</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">dropfilename</a>;</div>
+<div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">  206</a></span>&#160;  vector&lt;std::string&gt; <a class="code" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">dropfilelines</a>;</div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">  208</a></span>&#160;  ofstream <a class="code" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">logf</a>;</div>
+<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">detect_unicode_and_screen</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">  211</a></span>&#160;  std::promise&lt;void&gt; <a class="code" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">stop_thread</a>;</div>
+<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160; </div>
+<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">  214</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">seconds_elapsed</a>;</div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;  <span class="keywordtype">void</span> time_thread_run(std::future&lt;void&gt; future);</div>
+<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">  217</a></span>&#160;  std::thread <a class="code" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">time_thread</a>;</div>
+<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
+<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  <a class="code" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a>(std::string dname, <span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]);</div>
+<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  <a class="code" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a>(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  <span class="keyword">virtual</span> ~<a class="code" href="classdoor_1_1Door.html">Door</a>();</div>
+<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  ofstream &amp;<a class="code" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">  225</a></span>&#160;  AnyOption <a class="code" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">opt</a>;</div>
+<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">  227</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">debug_buffer</a>;</div>
+<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160; </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">  234</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a>;</div>
+<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">  236</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">track</a>;</div>
+<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">  238</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">cx</a>;</div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">  240</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">cy</a>;</div>
+<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">  242</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">width</a>;</div>
+<div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">  244</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">height</a>;</div>
+<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">  251</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">inactivity</a>;</div>
+<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">  253</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">username</a>;</div>
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">  255</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">handle</a>;</div>
+<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">  257</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">location</a>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">  259</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">sysop</a>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;  <span class="comment">// std::string bbsname;</span></div>
+<div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">  262</a></span>&#160;<span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">node</a>;</div>
+<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">  264</a></span>&#160;  atomic&lt;int&gt; <a class="code" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">time_left</a>;</div>
+<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">  266</a></span>&#160;  atomic&lt;int&gt; <a class="code" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">time_used</a>;</div>
 <div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
-<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="comment">// Use this to define the deprecated colorizer  [POC]</span></div>
-<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment">// typedef std::function&lt;void(Door &amp;, std::string &amp;)&gt; colorFunction;</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
-<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html">  279</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1ColorOutput.html">ColorOutput</a> {</div>
-<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;  <a class="code" href="classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b">ColorOutput</a>();</div>
-<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499">reset</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
-<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">  285</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">c</a>;</div>
-<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">  287</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">pos</a>;</div>
-<div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">  289</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">len</a>;</div>
-<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;};</div>
-<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160; </div>
-<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;<span class="comment">No, don&#39;t do this.</span></div>
-<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;<span class="comment">Instead, return an iterator/generator.</span></div>
-<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160; </div>
-<div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html">  307</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Render.html">Render</a> {</div>
-<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;  <a class="code" href="classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00">Render</a>(<span class="keyword">const</span> std::string txt);</div>
-<div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">  311</a></span>&#160;  <span class="keyword">const</span> std::string <a class="code" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">text</a>;</div>
-<div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">  313</a></span>&#160;  std::vector&lt;ColorOutput&gt; <a class="code" href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">outputs</a>;</div>
-<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e">append</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> color, <span class="keywordtype">int</span> len = 1);</div>
-<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b">output</a>(std::ostream &amp;os);</div>
-<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;};</div>
-<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160; </div>
-<div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">  341</a></span>&#160;<span class="keyword">typedef</span> std::function&lt;<a class="code" href="classdoor_1_1Render.html">Render</a>(<span class="keyword">const</span> std::string &amp;)&gt; <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a>;</div>
-<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160; </div>
-<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">  360</a></span>&#160;<span class="keyword">typedef</span> std::function&lt;std::string(<span class="keywordtype">void</span>)&gt; <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a>;</div>
-<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160; </div>
-<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classdoor_1_1Clrscr.html">  367</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> {</div>
-<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;  <a class="code" href="classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a">Clrscr</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;clr);</div>
-<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;};</div>
-<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160; </div>
-<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> <a class="code" href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">cls</a>;</div>
-<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160; </div>
-<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classdoor_1_1NewLine.html">  384</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1NewLine.html">NewLine</a> {</div>
-<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;  <a class="code" href="classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a">NewLine</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1NewLine.html">NewLine</a> &amp;<a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>);</div>
-<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;};</div>
-<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160; </div>
-<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1NewLine.html">NewLine</a> <a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>;</div>
-<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160; </div>
-<div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">  400</a></span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">reset</a>;</div>
+<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">getkey</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">haskey</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  <span class="keywordtype">signed</span> <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a>(<span class="keywordtype">int</span> secs);</div>
+<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;  std::string <a class="code" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">input_string</a>(<span class="keywordtype">int</span> max);</div>
+<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">get_one_of</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *keys);</div>
+<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;};</div>
+<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160; </div>
+<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;<span class="comment">// Use this to define the deprecated colorizer  [POC]</span></div>
+<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="comment">// typedef std::function&lt;void(Door &amp;, std::string &amp;)&gt; colorFunction;</span></div>
+<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160; </div>
+<div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html">  286</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1ColorOutput.html">ColorOutput</a> {</div>
+<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;  <a class="code" href="classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b">ColorOutput</a>();</div>
+<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499">reset</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160; </div>
+<div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">  292</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">c</a>;</div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">  294</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">pos</a>;</div>
+<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">  296</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">len</a>;</div>
+<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;};</div>
+<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160; </div>
+<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">No, don&#39;t do this.</span></div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment">Instead, return an iterator/generator.</span></div>
+<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
+<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html">  314</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Render.html">Render</a> {</div>
+<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;  <a class="code" href="classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00">Render</a>(<span class="keyword">const</span> std::string txt);</div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">  318</a></span>&#160;  <span class="keyword">const</span> std::string <a class="code" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">text</a>;</div>
+<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">  320</a></span>&#160;  std::vector&lt;ColorOutput&gt; <a class="code" href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">outputs</a>;</div>
+<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e">append</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> color, <span class="keywordtype">int</span> len = 1);</div>
+<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b">output</a>(std::ostream &amp;os);</div>
+<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;};</div>
+<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160; </div>
+<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">  348</a></span>&#160;<span class="keyword">typedef</span> std::function&lt;<a class="code" href="classdoor_1_1Render.html">Render</a>(<span class="keyword">const</span> std::string &amp;)&gt; <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a>;</div>
+<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
+<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">  367</a></span>&#160;<span class="keyword">typedef</span> std::function&lt;std::string(<span class="keywordtype">void</span>)&gt; <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a>;</div>
+<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
+<div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classdoor_1_1Clrscr.html">  374</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> {</div>
+<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;  <a class="code" href="classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a">Clrscr</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> &amp;clr);</div>
+<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;};</div>
+<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
+<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1Clrscr.html">Clrscr</a> <a class="code" href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">cls</a>;</div>
+<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160; </div>
+<div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classdoor_1_1NewLine.html">  391</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1NewLine.html">NewLine</a> {</div>
+<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;  <a class="code" href="classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a">NewLine</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1NewLine.html">NewLine</a> &amp;<a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>);</div>
+<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;};</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1NewLine.html">NewLine</a> <a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">nl</a>;</div>
 <div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160; </div>
-<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">  403</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">Justify</a> { NONE, LEFT, RIGHT, CENTER };</div>
-<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160; </div>
-<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html">  411</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Goto.html">Goto</a> {</div>
-<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">  413</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">x</a>;</div>
-<div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">  415</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">y</a>;</div>
-<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160; </div>
-<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;  <a class="code" href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">Goto</a>(<span class="keywordtype">int</span> xpos, <span class="keywordtype">int</span> ypos);</div>
-<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;  <a class="code" href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">Goto</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Goto.html">Goto</a> &amp;) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;  <span class="keywordtype">void</span> set(<span class="keywordtype">int</span> xpos, <span class="keywordtype">int</span> ypos);</div>
-<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Goto.html">Goto</a> &amp;g);</div>
-<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;};</div>
-<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160; </div>
-<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36">SaveCursor</a>[];</div>
-<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811">RestoreCursor</a>[];</div>
-<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160; </div>
-<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;<span class="preprocessor">#ifdef EXPERIMENTAL</span></div>
-<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160; </div>
-<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;<span class="comment">/* should we try to derive a base class, so you can have multilines of</span></div>
-<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;<span class="comment"> * multilines? */</span></div>
-<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
-<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="keyword">class </span>LineBase {</div>
-<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;  <span class="keyword">virtual</span> ~LineBase() = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>) = 0;</div>
-<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;  <span class="comment">// friend std::ostream &amp;operator&lt;&lt;(std::ostream &amp;os, const LineBase &amp;lb) = 0;</span></div>
-<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;};</div>
+<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">  407</a></span>&#160;<span class="keyword">extern</span> <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">reset</a>;</div>
+<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160; </div>
+<div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">  410</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">Justify</a> { NONE, LEFT, RIGHT, CENTER };</div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160; </div>
+<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html">  418</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Goto.html">Goto</a> {</div>
+<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">  420</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">x</a>;</div>
+<div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">  422</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">y</a>;</div>
+<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160; </div>
+<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <a class="code" href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">Goto</a>(<span class="keywordtype">int</span> xpos, <span class="keywordtype">int</span> ypos);</div>
+<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  <a class="code" href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">Goto</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Goto.html">Goto</a> &amp;) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  <span class="keywordtype">void</span> set(<span class="keywordtype">int</span> xpos, <span class="keywordtype">int</span> ypos);</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Goto.html">Goto</a> &amp;g);</div>
+<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;};</div>
+<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160; </div>
+<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36">SaveCursor</a>[];</div>
+<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811">RestoreCursor</a>[];</div>
+<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160; </div>
+<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;<span class="preprocessor">#ifdef EXPERIMENTAL</span></div>
+<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160; </div>
+<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="comment">/* should we try to derive a base class, so you can have multilines of</span></div>
+<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;<span class="comment"> * multilines? */</span></div>
 <div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160; </div>
-<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="keyword">class </span>BasicLine {</div>
-<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  std::string text;</div>
-<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="keywordtype">bool</span> hasColor;</div>
-<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  ANSIColor color;</div>
-<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> render;</div>
-<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;  <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> updater;</div>
-<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
-<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  BasicLine(std::string txt);</div>
-<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;  BasicLine(std::string txt, ANSIColor c);</div>
-<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  BasicLine(<span class="keyword">const</span> BasicLine &amp;rhs) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;  <span class="keyword">virtual</span> ~BasicLine() = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160; </div>
-<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;  <span class="keywordtype">bool</span> hasRender(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;  <span class="keywordtype">void</span> setText(std::string txt);</div>
-<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  <span class="keywordtype">void</span> setColor(ANSIColor c);</div>
-<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  <span class="keywordtype">void</span> setRender(<a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
-<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  <span class="keywordtype">void</span> setUpdater(<a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> uf);</div>
-<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<span class="keyword">class </span>LineBase {</div>
+<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;  <span class="keyword">virtual</span> ~LineBase() = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>) = 0;</div>
+<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;  <span class="comment">// friend std::ostream &amp;operator&lt;&lt;(std::ostream &amp;os, const LineBase &amp;lb) = 0;</span></div>
+<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;};</div>
+<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160; </div>
+<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;<span class="keyword">class </span>BasicLine {</div>
+<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;  std::string text;</div>
+<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;  <span class="keywordtype">bool</span> hasColor;</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;  ANSIColor color;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> render;</div>
+<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;  <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> updater;</div>
+<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160; </div>
+<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;  BasicLine(std::string txt);</div>
+<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;  BasicLine(std::string txt, ANSIColor c);</div>
+<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;  BasicLine(<span class="keyword">const</span> BasicLine &amp;rhs) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;  <span class="keyword">virtual</span> ~BasicLine() = <span class="keywordflow">default</span>;</div>
 <div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160; </div>
-<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> BasicLine &amp;l);</div>
-<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;};</div>
-<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160; </div>
-<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="keyword">class </span>MultiLine {</div>
-<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  std::vector&lt;std::shared_ptr&lt;BasicLine&gt;&gt; lines;</div>
+<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;  <span class="keywordtype">bool</span> hasRender(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;  <span class="keywordtype">void</span> setText(std::string txt);</div>
+<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;  <span class="keywordtype">void</span> setColor(ANSIColor c);</div>
+<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  <span class="keywordtype">void</span> setRender(<a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
+<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  <span class="keywordtype">void</span> setUpdater(<a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> uf);</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;  <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>);</div>
 <div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160; </div>
-<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;  MultiLine();</div>
-<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;  <span class="keywordtype">void</span> append(std::shared_ptr&lt;BasicLine&gt; bl);</div>
-<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160; </div>
-<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;  <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> MultiLine &amp;l);</div>
-<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;};</div>
-<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
-<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160; </div>
-<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html">  488</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Line.html">Line</a> {</div>
-<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00491"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">  491</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">text</a>;</div>
-<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160; </div>
-<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">  494</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">hasColor</a>;</div>
-<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">  496</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">color</a>;</div>
-<div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">  498</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">padding</a>;</div>
-<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">  500</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">paddingColor</a>;</div>
-<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
-<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">  503</a></span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">render</a>;</div>
-<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">  505</a></span>&#160;  <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> <a class="code" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">updater</a>;</div>
-<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160; </div>
-<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;  <span class="keywordtype">int</span> width;</div>
+<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> BasicLine &amp;l);</div>
+<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;};</div>
+<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160; </div>
+<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="keyword">class </span>MultiLine {</div>
+<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;  std::vector&lt;std::shared_ptr&lt;BasicLine&gt;&gt; lines;</div>
+<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160; </div>
+<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;  MultiLine();</div>
+<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;  <span class="keywordtype">void</span> append(std::shared_ptr&lt;BasicLine&gt; bl);</div>
+<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160; </div>
+<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;  <span class="keywordtype">bool</span> update(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> MultiLine &amp;l);</div>
+<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;};</div>
+<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160; </div>
+<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160; </div>
+<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html">  495</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Line.html">Line</a> {</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">  498</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">text</a>;</div>
+<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160; </div>
+<div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">  501</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">hasColor</a>;</div>
+<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">  503</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">color</a>;</div>
+<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">  505</a></span>&#160;  std::string <a class="code" href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">padding</a>;</div>
+<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">  507</a></span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> <a class="code" href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">paddingColor</a>;</div>
 <div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160; </div>
-<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;  <span class="comment">// void makeWidth(int width);</span></div>
+<div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">  510</a></span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">render</a>;</div>
+<div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">  512</a></span>&#160;  <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> <a class="code" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">updater</a>;</div>
 <div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160; </div>
-<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width = 0);</div>
-<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width = 0);</div>
-<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
-<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
-<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
-<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
-<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Line.html">Line</a> &amp;rhs);</div>
-<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<a class="code" href="classdoor_1_1Line.html">Line</a> &amp;&amp;rhs);</div>
-<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <span class="comment">// ~Line();</span></div>
-<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160; </div>
-<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2">hasRender</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994">length</a>(<span class="keywordtype">void</span>); <span class="comment">//  const;</span></div>
-<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3">fit</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">setPadding</a>(std::string &amp;padstring, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> padColor);</div>
-<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">setPadding</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *padstring, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> padcolor);</div>
-<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">setText</a>(std::string &amp;txt);</div>
-<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">setText</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt);</div>
-<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *getText(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">text</a>.c_str(); };</div>
-<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae">setColor</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
-<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce">setRender</a>(<a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
-<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049">setUpdater</a>(<a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> uf);</div>
-<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#a00ec1edb246d442c4dc7ac2dc5876624">update</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
-<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  std::string debug(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160; </div>
-<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Line.html#a702464834d9546f67f1952a62e4038f2">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Line.html">Line</a> &amp;l);</div>
-<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;};</div>
-<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160; </div>
-<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;<span class="keyword">extern</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">rBlueYellow</a>;</div>
-<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160; </div>
-<div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">  570</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> {</div>
-<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">NONE</a>,</div>
-<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8">SINGLE</a>,</div>
-<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229">DOUBLE</a>,</div>
-<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a">SINGLE_DOUBLE</a>,</div>
-<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367">DOUBLE_SINGLE</a>,</div>
-<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7">BLANK</a></div>
-<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;};</div>
-<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
-<div class="line"><a name="l00585"></a><span class="lineno"><a class="line" href="classdoor_1_1Panel.html">  585</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Panel.html">Panel</a> {</div>
-<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<span class="keyword">protected</span>:</div>
-<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;  <span class="keywordtype">int</span> x;</div>
-<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;  <span class="keywordtype">int</span> y;</div>
-<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;  <span class="keywordtype">int</span> width; <span class="comment">// or padding ?</span></div>
-<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> border_style;</div>
-<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> border_color;</div>
-<div class="line"><a name="l00598"></a><span class="lineno"><a class="line" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">  598</a></span>&#160;  std::vector&lt;std::unique_ptr&lt;Line&gt;&gt; <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>;</div>
-<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;  <span class="keywordtype">bool</span> hidden;</div>
-<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;  <span class="comment">// when you show panel, should it mark it as</span></div>
-<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;  <span class="comment">// redisplay everything??  maybe??</span></div>
-<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;  <span class="keywordtype">bool</span> shown_once; <span class="comment">// ?? maybe  shown_once_already ?</span></div>
-<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;  std::unique_ptr&lt;Line&gt; title;</div>
-<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;  <span class="keywordtype">int</span> offset;</div>
-<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160; </div>
-<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width);</div>
-<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<span class="keywordtype">int</span> width);</div>
-<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160; </div>
-<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  <span class="comment">// Panel(const Panel &amp;);</span></div>
-<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<a class="code" href="classdoor_1_1Panel.html">Panel</a> &amp;) = <span class="keyword">delete</span>; <span class="comment">// default;</span></div>
-<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<a class="code" href="classdoor_1_1Panel.html">Panel</a> &amp;&amp;ref);</div>
-<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160; </div>
-<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">set</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
-<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;  <span class="comment">/*</span></div>
-<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;<span class="comment">  void get(int &amp;x, int &amp;y) {</span></div>
-<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;<span class="comment">    x = this-&gt;x;</span></div>
-<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;<span class="comment">    y = this-&gt;y;</span></div>
-<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;<span class="comment">  }; */</span></div>
-<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;  <span class="keywordtype">void</span> setTitle(std::unique_ptr&lt;Line&gt; T, <span class="keywordtype">int</span> off = 1);</div>
-<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  <span class="keywordtype">void</span> setStyle(<a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> bs);</div>
-<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;  <span class="keywordtype">void</span> setColor(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
-<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;  <span class="keywordtype">int</span> getWidth(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> width; };</div>
-<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;  <span class="keywordtype">int</span> getHeight(<span class="keywordtype">void</span>) {</div>
-<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <span class="keywordflow">if</span> (border_style == <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">BorderStyle::NONE</a>)</div>
-<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>.size();</div>
-<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;    <span class="keywordflow">else</span></div>
-<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>.size() + 2;</div>
-<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  };</div>
-<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;  <span class="keywordtype">void</span> hide(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;  <span class="keywordtype">void</span> show(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;  <span class="keywordtype">void</span> addLine(std::unique_ptr&lt;Line&gt; l);</div>
-<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;  <span class="comment">// bool delLine(std::shared_ptr&lt;Line&gt; l); // ?</span></div>
-<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;  <span class="comment">/*</span></div>
-<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;<span class="comment">  void display(void);</span></div>
-<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;<span class="comment">  void update(void);</span></div>
-<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;<span class="comment">  */</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160; </div>
-<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;  <span class="keywordtype">bool</span> update(Door &amp;d);</div>
-<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;  <span class="keywordtype">void</span> update(Door &amp;d, <span class="keywordtype">int</span> line);</div>
-<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;  <span class="keywordtype">void</span> update(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;  <a class="code" href="classdoor_1_1Goto.html">door::Goto</a> gotoEnd(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;  std::unique_ptr&lt;Line&gt; <a class="code" href="classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561">spacer_line</a>(<span class="keywordtype">bool</span> single);</div>
-<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb">lineSetBack</a>(ANSIColor back);</div>
-<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> Panel &amp;p);</div>
-<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;};</div>
-<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160; </div>
-<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;<span class="comment">Menu - defaults to double lines.</span></div>
-<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;<span class="comment">Has colorize for selected item / non-selected.</span></div>
-<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;<span class="comment">Arrow keys + ENTER, or keypress to select an item.</span></div>
-<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;<span class="comment">[O] Option Displayed Here</span></div>
-<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;<span class="comment">[ + ] = c1</span></div>
-<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="comment">O = c2</span></div>
-<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="comment">Remaining UC TEXT = c3</span></div>
-<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="comment">Remaining LC text = c4</span></div>
-<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="comment">// Colors for CS and CU (color selected, color unselected)</span></div>
-<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160; </div>
-<div class="line"><a name="l00672"></a><span class="lineno"><a class="line" href="classdoor_1_1Menu.html">  672</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Menu.html">Menu</a> : <span class="keyword">public</span> <a class="code" href="classdoor_1_1Panel.html">Panel</a> {</div>
-<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> chosen;</div>
-<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;  std::vector&lt;char&gt; options;</div>
-<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> selectedRender;</div>
-<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> unselectedRender;</div>
-<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;  <span class="comment">/*</span></div>
-<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;<span class="comment">  std::function&lt;void(Door &amp;d, std::string &amp;)&gt; selectedColorizer;</span></div>
-<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="comment">  std::function&lt;void(Door &amp;d, std::string &amp;)&gt; unselectedColorizer;</span></div>
-<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;<span class="comment">  */</span></div>
-<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160; </div>
-<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> defaultSelectedRender;</div>
-<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> defaultUnselectedRender;</div>
-<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;  <span class="comment">/*</span></div>
-<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="comment">  static std::function&lt;void(Door &amp;d, std::string &amp;)&gt; defaultSelectedColorizer;</span></div>
-<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="comment">  static std::function&lt;void(Door &amp;d, std::string &amp;)&gt; defaultUnselectedColorizer;</span></div>
-<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="comment">  */</span></div>
-<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160; </div>
-<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width);</div>
-<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keywordtype">int</span> width);</div>
-<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  <span class="comment">// Menu(const Menu &amp;);</span></div>
-<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Menu.html">Menu</a> &amp;) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<a class="code" href="classdoor_1_1Menu.html">Menu</a> &amp;&amp;);</div>
-<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160; </div>
-<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;  <span class="keywordtype">void</span> addSelection(<span class="keywordtype">char</span> c, <span class="keyword">const</span> <span class="keywordtype">char</span> *line);</div>
-<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;  <span class="keywordtype">void</span> addSelection(<span class="keywordtype">char</span> c, <span class="keyword">const</span> <span class="keywordtype">char</span> *line, <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> <a class="code" href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">update</a>);</div>
-<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;  <span class="keywordtype">void</span> defaultSelection(<span class="keywordtype">int</span> d);</div>
-<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;  <span class="keywordtype">void</span> setRender(<span class="keywordtype">bool</span> selected, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> render);</div>
-<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160; </div>
-<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">choose</a>(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;<a class="code" href="namespacedoor.html">door</a>);</div>
-<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;  <span class="keywordtype">char</span> which(<span class="keywordtype">int</span> d);</div>
-<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160; </div>
-<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">makeRender</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c1, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c2, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c3,</div>
-<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;                                   <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c4);</div>
-<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;};</div>
+<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;  <span class="keywordtype">int</span> width;</div>
+<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160; </div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;  <span class="comment">// void makeWidth(int width);</span></div>
+<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160; </div>
+<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width = 0);</div>
+<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width = 0);</div>
+<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
+<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
+<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> std::string &amp;txt, <span class="keywordtype">int</span> width, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
+<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt, <span class="keywordtype">int</span> width, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
+<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Line.html">Line</a> &amp;rhs);</div>
+<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;  <a class="code" href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">Line</a>(<a class="code" href="classdoor_1_1Line.html">Line</a> &amp;&amp;rhs);</div>
+<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;  <span class="comment">// ~Line();</span></div>
+<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160; </div>
+<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2">hasRender</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994">length</a>(<span class="keywordtype">void</span>); <span class="comment">//  const;</span></div>
+<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3">fit</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">setPadding</a>(std::string &amp;padstring, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> padColor);</div>
+<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">setPadding</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *padstring, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> padcolor);</div>
+<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">setText</a>(std::string &amp;txt);</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">setText</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *txt);</div>
+<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *getText(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">text</a>.c_str(); };</div>
+<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae">setColor</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
+<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce">setRender</a>(<a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> rf);</div>
+<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049">setUpdater</a>(<a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> uf);</div>
+<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classdoor_1_1Line.html#a00ec1edb246d442c4dc7ac2dc5876624">update</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; </div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;  std::string debug(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160; </div>
+<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Line.html#a702464834d9546f67f1952a62e4038f2">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Line.html">Line</a> &amp;l);</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;};</div>
+<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160; </div>
+<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="keyword">extern</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">rBlueYellow</a>;</div>
+<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160; </div>
+<div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">  577</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> {</div>
+<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">NONE</a>,</div>
+<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8">SINGLE</a>,</div>
+<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229">DOUBLE</a>,</div>
+<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a">SINGLE_DOUBLE</a>,</div>
+<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367">DOUBLE_SINGLE</a>,</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7">BLANK</a></div>
+<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;};</div>
+<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160; </div>
+<div class="line"><a name="l00592"></a><span class="lineno"><a class="line" href="classdoor_1_1Panel.html">  592</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Panel.html">Panel</a> {</div>
+<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;<span class="keyword">protected</span>:</div>
+<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;  <span class="keywordtype">int</span> x;</div>
+<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;  <span class="keywordtype">int</span> y;</div>
+<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;  <span class="keywordtype">int</span> width; <span class="comment">// or padding ?</span></div>
+<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;  <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> border_style;</div>
+<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;  <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> border_color;</div>
+<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">  605</a></span>&#160;  std::vector&lt;std::unique_ptr&lt;Line&gt;&gt; <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>;</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;  <span class="keywordtype">bool</span> hidden;</div>
+<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;  <span class="comment">// when you show panel, should it mark it as</span></div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;  <span class="comment">// redisplay everything??  maybe??</span></div>
+<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;  <span class="keywordtype">bool</span> shown_once; <span class="comment">// ?? maybe  shown_once_already ?</span></div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;  std::unique_ptr&lt;Line&gt; title;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;  <span class="keywordtype">int</span> offset;</div>
+<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160; </div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width);</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<span class="keywordtype">int</span> width);</div>
+<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160; </div>
+<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;  <span class="comment">// Panel(const Panel &amp;);</span></div>
+<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<a class="code" href="classdoor_1_1Panel.html">Panel</a> &amp;) = <span class="keyword">delete</span>; <span class="comment">// default;</span></div>
+<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;  <a class="code" href="classdoor_1_1Panel.html">Panel</a>(<a class="code" href="classdoor_1_1Panel.html">Panel</a> &amp;&amp;ref);</div>
+<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160; </div>
+<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">set</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
+<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;<span class="comment">  void get(int &amp;x, int &amp;y) {</span></div>
+<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<span class="comment">    x = this-&gt;x;</span></div>
+<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;<span class="comment">    y = this-&gt;y;</span></div>
+<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;<span class="comment">  }; */</span></div>
+<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;  <span class="keywordtype">void</span> setTitle(std::unique_ptr&lt;Line&gt; T, <span class="keywordtype">int</span> off = 1);</div>
+<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;  <span class="keywordtype">void</span> setStyle(<a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">BorderStyle</a> bs);</div>
+<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;  <span class="keywordtype">void</span> setColor(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c);</div>
+<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;  <span class="keywordtype">int</span> getWidth(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> width; };</div>
+<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;  <span class="keywordtype">int</span> getHeight(<span class="keywordtype">void</span>) {</div>
+<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;    <span class="keywordflow">if</span> (border_style == <a class="code" href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">BorderStyle::NONE</a>)</div>
+<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>.size();</div>
+<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    <span class="keywordflow">else</span></div>
+<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">lines</a>.size() + 2;</div>
+<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;  };</div>
+<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;  <span class="keywordtype">void</span> hide(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;  <span class="keywordtype">void</span> show(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;  <span class="keywordtype">void</span> addLine(std::unique_ptr&lt;Line&gt; l);</div>
+<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;  <span class="comment">// bool delLine(std::shared_ptr&lt;Line&gt; l); // ?</span></div>
+<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;<span class="comment">  void display(void);</span></div>
+<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;<span class="comment">  void update(void);</span></div>
+<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;<span class="comment">  */</span></div>
+<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160; </div>
+<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;  <span class="keywordtype">bool</span> update(Door &amp;d);</div>
+<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;  <span class="keywordtype">void</span> update(Door &amp;d, <span class="keywordtype">int</span> line);</div>
+<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;  <span class="keywordtype">void</span> update(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;  <a class="code" href="classdoor_1_1Goto.html">door::Goto</a> gotoEnd(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;  std::unique_ptr&lt;Line&gt; <a class="code" href="classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561">spacer_line</a>(<span class="keywordtype">bool</span> single);</div>
+<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb">lineSetBack</a>(ANSIColor back);</div>
+<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> Panel &amp;p);</div>
+<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;};</div>
+<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160; </div>
+<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;<span class="comment">Menu - defaults to double lines.</span></div>
+<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;<span class="comment">Has colorize for selected item / non-selected.</span></div>
+<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;<span class="comment">Arrow keys + ENTER, or keypress to select an item.</span></div>
+<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;<span class="comment">[O] Option Displayed Here</span></div>
+<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;<span class="comment">[ + ] = c1</span></div>
+<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;<span class="comment">O = c2</span></div>
+<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;<span class="comment">Remaining UC TEXT = c3</span></div>
+<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;<span class="comment">Remaining LC text = c4</span></div>
+<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;<span class="comment">// Colors for CS and CU (color selected, color unselected)</span></div>
+<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160; </div>
+<div class="line"><a name="l00679"></a><span class="lineno"><a class="line" href="classdoor_1_1Menu.html">  679</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Menu.html">Menu</a> : <span class="keyword">public</span> <a class="code" href="classdoor_1_1Panel.html">Panel</a> {</div>
+<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> chosen;</div>
+<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;  std::vector&lt;char&gt; options;</div>
+<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> selectedRender;</div>
+<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;  <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> unselectedRender;</div>
+<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;<span class="comment">  std::function&lt;void(Door &amp;d, std::string &amp;)&gt; selectedColorizer;</span></div>
+<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;<span class="comment">  std::function&lt;void(Door &amp;d, std::string &amp;)&gt; unselectedColorizer;</span></div>
+<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="comment">  */</span></div>
+<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160; </div>
+<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> defaultSelectedRender;</div>
+<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> defaultUnselectedRender;</div>
+<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;<span class="comment">  static std::function&lt;void(Door &amp;d, std::string &amp;)&gt; defaultSelectedColorizer;</span></div>
+<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;<span class="comment">  static std::function&lt;void(Door &amp;d, std::string &amp;)&gt; defaultUnselectedColorizer;</span></div>
+<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;<span class="comment">  */</span></div>
+<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160; </div>
+<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y, <span class="keywordtype">int</span> width);</div>
+<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keywordtype">int</span> width);</div>
+<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;  <span class="comment">// Menu(const Menu &amp;);</span></div>
+<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<span class="keyword">const</span> <a class="code" href="classdoor_1_1Menu.html">Menu</a> &amp;) = <span class="keyword">delete</span>;</div>
+<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;  <a class="code" href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">Menu</a>(<a class="code" href="classdoor_1_1Menu.html">Menu</a> &amp;&amp;);</div>
+<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160; </div>
+<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;  <span class="keywordtype">void</span> addSelection(<span class="keywordtype">char</span> c, <span class="keyword">const</span> <span class="keywordtype">char</span> *line);</div>
+<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;  <span class="keywordtype">void</span> addSelection(<span class="keywordtype">char</span> c, <span class="keyword">const</span> <span class="keywordtype">char</span> *line, <a class="code" href="namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e">updateFunction</a> <a class="code" href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">update</a>);</div>
+<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;  <span class="keywordtype">void</span> defaultSelection(<span class="keywordtype">int</span> d);</div>
+<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;  <span class="keywordtype">void</span> setRender(<span class="keywordtype">bool</span> selected, <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> render);</div>
 <div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160; </div>
-<div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="classdoor_1_1Screen.html">  709</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Screen.html">Screen</a> {</div>
-<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;<span class="keyword">private</span>:</div>
-<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;  <span class="comment">// bool hidden;</span></div>
-<div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">  715</a></span>&#160;<span class="comment"></span>  std::vector&lt;std::unique_ptr&lt;Panel&gt;&gt; <a class="code" href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">panels</a>;</div>
-<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160; </div>
-<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="keyword">public</span>:</div>
-<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;  <a class="code" href="classdoor_1_1Screen.html">Screen</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;  <a class="code" href="classdoor_1_1Screen.html">Screen</a>(<a class="code" href="classdoor_1_1Screen.html">Screen</a> &amp;) = <span class="keywordflow">default</span>;</div>
-<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;  <span class="keywordtype">void</span> addPanel(std::unique_ptr&lt;Panel&gt; p);</div>
-<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;  <span class="comment">/*</span></div>
-<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="comment">bool delPanel(std::shared_ptr&lt;Panel&gt; p);</span></div>
-<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="comment">void hide(void);</span></div>
-<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="comment">void show(void);</span></div>
-<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;<span class="comment">*/</span></div>
-<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;  <span class="keywordtype">bool</span> update(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;d);</div>
-<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  <span class="keywordtype">void</span> update(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160; </div>
-<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Screen.html">Screen</a> &amp;s);</div>
-<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;};</div>
-<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160; </div>
-<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="comment">/*</span></div>
-<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;<span class="comment">screen - contains panels.</span></div>
-<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;<span class="comment">  - default to 1,1 X 80,24</span></div>
-<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;<span class="comment">  - refresh(style) could redraw panels by order they were added,</span></div>
-<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<span class="comment">  or could redraw panels from top to bottom, left to right.</span></div>
-<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;<span class="comment">crazy ideas:</span></div>
-<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="comment">  hide panels / z-order</span></div>
-<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="comment">  how to handle panel on top of other panels?</span></div>
-<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;<span class="comment">  Can I have you win + show animated final score calculations?</span></div>
-<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="comment">panel - has X,Y and width, optional length.  contains lines.</span></div>
-<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="comment">  length could be simply number of &quot;lines&quot;.</span></div>
-<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="comment">  - has optional border.  double/single/Ds/Sd  TOPbottom</span></div>
-<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="comment">  - has optional title.</span></div>
-<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="comment">  - has optional footer.</span></div>
-<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="comment">  addLine()</span></div>
-<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="comment">  append() - Appends another line to current line.</span></div>
-<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="comment">  set(X,Y) - set a &quot;line&quot; at a given X,Y position.</span></div>
-<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="comment">menu - another type of panel, contains menu options/lines.</span></div>
+<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;  <span class="keywordtype">int</span> <a class="code" href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">choose</a>(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;<a class="code" href="namespacedoor.html">door</a>);</div>
+<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;  <span class="keywordtype">char</span> which(<span class="keywordtype">int</span> d);</div>
+<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160; </div>
+<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;  <span class="keyword">static</span> <a class="code" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">renderFunction</a> <a class="code" href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">makeRender</a>(<a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c1, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c2, <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c3,</div>
+<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;                                   <a class="code" href="classdoor_1_1ANSIColor.html">ANSIColor</a> c4);</div>
+<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;};</div>
+<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160; </div>
+<div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="classdoor_1_1Screen.html">  716</a></span>&#160;<span class="keyword">class </span><a class="code" href="classdoor_1_1Screen.html">Screen</a> {</div>
+<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="keyword">private</span>:</div>
+<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;  <span class="comment">// bool hidden;</span></div>
+<div class="line"><a name="l00722"></a><span class="lineno"><a class="line" href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">  722</a></span>&#160;<span class="comment"></span>  std::vector&lt;std::unique_ptr&lt;Panel&gt;&gt; <a class="code" href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">panels</a>;</div>
+<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160; </div>
+<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="keyword">public</span>:</div>
+<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;  <a class="code" href="classdoor_1_1Screen.html">Screen</a>(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;  <a class="code" href="classdoor_1_1Screen.html">Screen</a>(<a class="code" href="classdoor_1_1Screen.html">Screen</a> &amp;) = <span class="keywordflow">default</span>;</div>
+<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;  <span class="keywordtype">void</span> addPanel(std::unique_ptr&lt;Panel&gt; p);</div>
+<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;  <span class="comment">/*</span></div>
+<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="comment">bool delPanel(std::shared_ptr&lt;Panel&gt; p);</span></div>
+<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="comment">void hide(void);</span></div>
+<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="comment">void show(void);</span></div>
+<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;<span class="comment">*/</span></div>
+<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;  <span class="keywordtype">bool</span> update(<a class="code" href="classdoor_1_1Door.html">Door</a> &amp;d);</div>
+<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;  <span class="keywordtype">void</span> update(<span class="keywordtype">void</span>);</div>
+<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160; </div>
+<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;  <span class="keyword">friend</span> std::ostream &amp;<a class="code" href="classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0">operator&lt;&lt;</a>(std::ostream &amp;os, <span class="keyword">const</span> <a class="code" href="classdoor_1_1Screen.html">Screen</a> &amp;s);</div>
+<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;};</div>
+<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160; </div>
+<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;<span class="comment">/*</span></div>
+<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;<span class="comment">screen - contains panels.</span></div>
+<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;<span class="comment">  - default to 1,1 X 80,24</span></div>
+<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;<span class="comment">  - refresh(style) could redraw panels by order they were added,</span></div>
+<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;<span class="comment">  or could redraw panels from top to bottom, left to right.</span></div>
+<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;<span class="comment">crazy ideas:</span></div>
+<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;<span class="comment">  hide panels / z-order</span></div>
+<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;<span class="comment">  how to handle panel on top of other panels?</span></div>
+<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;<span class="comment">  Can I have you win + show animated final score calculations?</span></div>
+<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;<span class="comment">panel - has X,Y and width, optional length.  contains lines.</span></div>
+<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;<span class="comment">  length could be simply number of &quot;lines&quot;.</span></div>
+<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="comment">  - has optional border.  double/single/Ds/Sd  TOPbottom</span></div>
+<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="comment">  - has optional title.</span></div>
+<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;<span class="comment">  - has optional footer.</span></div>
 <div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="comment">lightmenu - like above, but allows arrow keys to select menu options.</span></div>
-<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="comment">line - contains text.</span></div>
-<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="comment">  (Maybe a &quot;dirty&quot; flag is needed here?)</span></div>
-<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="comment">  - has optional (width)</span></div>
-<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="comment">  - has optional (justify - L, R, Center)</span></div>
-<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="comment">  - has optional padding (# of blank chars)</span></div>
-<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="comment">  - has color (of text)</span></div>
-<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="comment">  - has formatter/coloring function (to colorize the text)</span></div>
-<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="comment">  Example would be one that sets capital letters to one color, lower to another.</span></div>
-<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="comment">  Another example would be one that displays Score: XXX, where Score is one</span></div>
-<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="comment">  color, : is another, and XXX is yet another.  Properly padded, of course.</span></div>
-<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="comment">  - has &quot;lambda&quot; function to update the value? (Maybe?)</span></div>
-<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="comment">  Idea would be that I could update the score, and panel.update().  It would</span></div>
-<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="comment">  call all the line.update() functions and only update anything that has</span></div>
-<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="comment">  changed.</span></div>
-<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="comment">  Crazy ideas:</span></div>
-<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="comment">  Can I delete a line, and have it automatically removed from a panel?</span></div>
-<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="comment">lightline - text, changes format/coloring if focus/nofocus is set?</span></div>
-<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="comment"></span> </div>
-<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="comment"> */</span></div>
-<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160; </div>
-<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;} <span class="comment">// namespace door</span></div>
-<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;<span class="comment">  addLine()</span></div>
+<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="comment">  append() - Appends another line to current line.</span></div>
+<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="comment">  set(X,Y) - set a &quot;line&quot; at a given X,Y position.</span></div>
+<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;<span class="comment">menu - another type of panel, contains menu options/lines.</span></div>
+<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="comment">lightmenu - like above, but allows arrow keys to select menu options.</span></div>
+<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="comment">line - contains text.</span></div>
+<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;<span class="comment">  (Maybe a &quot;dirty&quot; flag is needed here?)</span></div>
+<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;<span class="comment">  - has optional (width)</span></div>
+<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="comment">  - has optional (justify - L, R, Center)</span></div>
+<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;<span class="comment">  - has optional padding (# of blank chars)</span></div>
+<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;<span class="comment">  - has color (of text)</span></div>
+<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;<span class="comment">  - has formatter/coloring function (to colorize the text)</span></div>
+<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;<span class="comment">  Example would be one that sets capital letters to one color, lower to another.</span></div>
+<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<span class="comment">  Another example would be one that displays Score: XXX, where Score is one</span></div>
+<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;<span class="comment">  color, : is another, and XXX is yet another.  Properly padded, of course.</span></div>
+<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;<span class="comment">  - has &quot;lambda&quot; function to update the value? (Maybe?)</span></div>
+<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;<span class="comment">  Idea would be that I could update the score, and panel.update().  It would</span></div>
+<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;<span class="comment">  call all the line.update() functions and only update anything that has</span></div>
+<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="comment">  changed.</span></div>
+<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;<span class="comment">  Crazy ideas:</span></div>
+<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="comment">  Can I delete a line, and have it automatically removed from a panel?</span></div>
+<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="comment">lightline - text, changes format/coloring if focus/nofocus is set?</span></div>
+<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;<span class="comment"></span> </div>
+<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160; </div>
+<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;} <span class="comment">// namespace door</span></div>
+<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;<span class="preprocessor">#endif</span></div>
 </div><!-- fragment --></div><!-- contents -->
-<div class="ttc" id="aclassdoor_1_1Goto_html"><div class="ttname"><a href="classdoor_1_1Goto.html">door::Goto</a></div><div class="ttdoc">ANSI Goto X, Y position.</div><div class="ttdef"><b>Definition:</b> door.h:411</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html"><div class="ttname"><a href="classdoor_1_1Goto.html">door::Goto</a></div><div class="ttdoc">ANSI Goto X, Y position.</div><div class="ttdef"><b>Definition:</b> door.h:418</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_ae2f71d1340a75f4b9955e100a9022994"><div class="ttname"><a href="classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994">door::Line::length</a></div><div class="ttdeci">int length(void)</div><div class="ttdef"><b>Definition:</b> lines.cpp:203</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a557866135040c3b225353dc8629f8ea3"><div class="ttname"><a href="classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3">door::Line::fit</a></div><div class="ttdeci">void fit(void)</div><div class="ttdef"><b>Definition:</b> lines.cpp:225</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:193</div></div>
-<div class="ttc" id="aclassdoor_1_1NewLine_html"><div class="ttname"><a href="classdoor_1_1NewLine.html">door::NewLine</a></div><div class="ttdoc">CR+LF.</div><div class="ttdef"><b>Definition:</b> door.h:384</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:186</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a7dd4913cdfb13f0938888adaab363e93"><div class="ttname"><a href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">door::Door::getkey_or_pushback</a></div><div class="ttdeci">signed int getkey_or_pushback(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:726</div></div>
+<div class="ttc" id="aclassdoor_1_1NewLine_html"><div class="ttname"><a href="classdoor_1_1NewLine.html">door::NewLine</a></div><div class="ttdoc">CR+LF.</div><div class="ttdef"><b>Definition:</b> door.h:391</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488">door::COLOR::BROWN</a></div><div class="ttdeci">@ BROWN</div><div class="ttdoc">BROWN (3)</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_a5b5d31a50cce6b5aa9b9e15647bfeddc"><div class="ttname"><a href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">door::Line::paddingColor</a></div><div class="ttdeci">ANSIColor paddingColor</div><div class="ttdoc">Padding color.</div><div class="ttdef"><b>Definition:</b> door.h:500</div></div>
-<div class="ttc" id="aclassdoor_1_1Render_html_ae83a23641dde4dff29b5214ea1921f3b"><div class="ttname"><a href="classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b">door::Render::output</a></div><div class="ttdeci">void output(std::ostream &amp;os)</div><div class="ttdef"><b>Definition:</b> door.cpp:1150</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html_a96cbbca21d2df9181925b121b57bef6b"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b">door::ColorOutput::ColorOutput</a></div><div class="ttdeci">ColorOutput()</div><div class="ttdef"><b>Definition:</b> door.cpp:1118</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a9bc92fe3929de0d16f44ba4fb1837dd7"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">door::ANSIColor::Attr</a></div><div class="ttdeci">ANSIColor &amp; Attr(ATTR a)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:111</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_afe9688b3f58080fe437c0efaf7ab2949"><div class="ttname"><a href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">door::Line::updater</a></div><div class="ttdeci">updateFunction updater</div><div class="ttdoc">updateFunction to use when updating.</div><div class="ttdef"><b>Definition:</b> door.h:505</div></div>
-<div class="ttc" id="agetkey_8cpp_html_a5a392181fdf6b261a23c6996b6f65765"><div class="ttname"><a href="getkey_8cpp.html#a5a392181fdf6b261a23c6996b6f65765">get</a></div><div class="ttdeci">char get(void)</div><div class="ttdoc">get a key from the pushback buffer.</div><div class="ttdef"><b>Definition:</b> getkey.cpp:141</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_a5b5d31a50cce6b5aa9b9e15647bfeddc"><div class="ttname"><a href="classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc">door::Line::paddingColor</a></div><div class="ttdeci">ANSIColor paddingColor</div><div class="ttdoc">Padding color.</div><div class="ttdef"><b>Definition:</b> door.h:507</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_aaeb090ff9afcae8ea0a15416eae84850"><div class="ttname"><a href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">door::Door::username</a></div><div class="ttdeci">std::string username</div><div class="ttdef"><b>Definition:</b> door.h:253</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a027158ac3cd42c2c72f86c0b57db5c84"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">door::ANSIColor::debug</a></div><div class="ttdeci">std::string debug(void)</div><div class="ttdoc">Output debug string for ANSIColor.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:249</div></div>
+<div class="ttc" id="aclassdoor_1_1Render_html_ae83a23641dde4dff29b5214ea1921f3b"><div class="ttname"><a href="classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b">door::Render::output</a></div><div class="ttdeci">void output(std::ostream &amp;os)</div><div class="ttdef"><b>Definition:</b> door.cpp:1192</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html_a96cbbca21d2df9181925b121b57bef6b"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b">door::ColorOutput::ColorOutput</a></div><div class="ttdeci">ColorOutput()</div><div class="ttdef"><b>Definition:</b> door.cpp:1160</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a9bc92fe3929de0d16f44ba4fb1837dd7"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">door::ANSIColor::Attr</a></div><div class="ttdeci">ANSIColor &amp; Attr(ATTR a)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:112</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_afe9688b3f58080fe437c0efaf7ab2949"><div class="ttname"><a href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">door::Line::updater</a></div><div class="ttdeci">updateFunction updater</div><div class="ttdoc">updateFunction to use when updating.</div><div class="ttdef"><b>Definition:</b> door.h:512</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc">door::ATTR::BLINK</a></div><div class="ttdeci">@ BLINK</div><div class="ttdoc">SLOW BLINK.</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">door::ATTR::BOLD</a></div><div class="ttdeci">@ BOLD</div><div class="ttdoc">BOLD is the same as BRIGHT.</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_a15d3f18b7165f348479344b897b6ed96"><div class="ttname"><a href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">door::Door::log</a></div><div class="ttdeci">ofstream &amp; log(void)</div><div class="ttdoc">Give ofstream handle for logging.</div><div class="ttdef"><b>Definition:</b> door.cpp:586</div></div>
-<div class="ttc" id="aclassdoor_1_1Clrscr_html_a0611278ef387fce25ce1a7771b65096a"><div class="ttname"><a href="classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a">door::Clrscr::Clrscr</a></div><div class="ttdeci">Clrscr(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1193</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ab53af885b8b1a296d197866bd4844fb0"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">door::ColorOutput::c</a></div><div class="ttdeci">ANSIColor c</div><div class="ttdoc">Color to use for this fragment.</div><div class="ttdef"><b>Definition:</b> door.h:285</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_a8f7dcac2dafd0e11d42ab227b7d1a2ba"><div class="ttname"><a href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">door::Door::Door</a></div><div class="ttdeci">Door(std::string dname, int argc, char *argv[])</div><div class="ttdef"><b>Definition:</b> door.cpp:218</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aa198707d0103967b7a4bc4f502a0ba87"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87">door::ANSIColor::operator==</a></div><div class="ttdeci">bool operator==(const ANSIColor &amp;c) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:137</div></div>
-<div class="ttc" id="aclassdoor_1_1Goto_html_ad7ec5ef329c85fd0be0110f628a9106a"><div class="ttname"><a href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">door::Goto::x</a></div><div class="ttdeci">int x</div><div class="ttdoc">X-Position.</div><div class="ttdef"><b>Definition:</b> door.h:413</div></div>
-<div class="ttc" id="aclassdoor_1_1Render_html_a9c32f938c06d5d6b87d238ba6072324e"><div class="ttname"><a href="classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e">door::Render::append</a></div><div class="ttdeci">void append(ANSIColor color, int len=1)</div><div class="ttdef"><b>Definition:</b> door.cpp:1165</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_adf76d445797eb513020a60f786f65767"><div class="ttname"><a href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">door::Door::previous</a></div><div class="ttdeci">ANSIColor previous</div><div class="ttdef"><b>Definition:</b> door.h:244</div></div>
-<div class="ttc" id="anamespacedoor_html_aeade8b521c7f95755fdb166727c2b87c"><div class="ttname"><a href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">door::full_cp437</a></div><div class="ttdeci">bool full_cp437</div><div class="ttdoc">Was full CP437 detected?</div><div class="ttdef"><b>Definition:</b> door.cpp:204</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_acc188acc0dfd6127ca4a51a6508b8c62"><div class="ttname"><a href="classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62">door::Panel::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)</div><div class="ttdoc">Output panel to stream.</div><div class="ttdef"><b>Definition:</b> panel.cpp:391</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a15d3f18b7165f348479344b897b6ed96"><div class="ttname"><a href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">door::Door::log</a></div><div class="ttdeci">ofstream &amp; log(void)</div><div class="ttdoc">Give ofstream handle for logging.</div><div class="ttdef"><b>Definition:</b> door.cpp:614</div></div>
+<div class="ttc" id="aclassdoor_1_1Clrscr_html_a0611278ef387fce25ce1a7771b65096a"><div class="ttname"><a href="classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a">door::Clrscr::Clrscr</a></div><div class="ttdeci">Clrscr(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1235</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ab53af885b8b1a296d197866bd4844fb0"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0">door::ColorOutput::c</a></div><div class="ttdeci">ANSIColor c</div><div class="ttdoc">Color to use for this fragment.</div><div class="ttdef"><b>Definition:</b> door.h:292</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a8f7dcac2dafd0e11d42ab227b7d1a2ba"><div class="ttname"><a href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">door::Door::Door</a></div><div class="ttdeci">Door(std::string dname, int argc, char *argv[])</div><div class="ttdoc">Construct a new Door:: Door object.</div><div class="ttdef"><b>Definition:</b> door.cpp:229</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aa198707d0103967b7a4bc4f502a0ba87"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87">door::ANSIColor::operator==</a></div><div class="ttdeci">bool operator==(const ANSIColor &amp;c) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:138</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a18b8c731b27e23d6913c0ad683a37ce7"><div class="ttname"><a href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">door::Door::cx</a></div><div class="ttdeci">int cx</div><div class="ttdef"><b>Definition:</b> door.h:238</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a7660c60172a692036907d431ae2006f8"><div class="ttname"><a href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">door::Door::doorname</a></div><div class="ttdeci">std::string doorname</div><div class="ttdef"><b>Definition:</b> door.h:192</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html_ad7ec5ef329c85fd0be0110f628a9106a"><div class="ttname"><a href="classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a">door::Goto::x</a></div><div class="ttdeci">int x</div><div class="ttdoc">X-Position.</div><div class="ttdef"><b>Definition:</b> door.h:420</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_aafaad41e8f04b9df6466f512d4893d82"><div class="ttname"><a href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">door::Door::time_used</a></div><div class="ttdeci">atomic&lt; int &gt; time_used</div><div class="ttdef"><b>Definition:</b> door.h:266</div></div>
+<div class="ttc" id="aclassdoor_1_1Render_html_a9c32f938c06d5d6b87d238ba6072324e"><div class="ttname"><a href="classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e">door::Render::append</a></div><div class="ttdeci">void append(ANSIColor color, int len=1)</div><div class="ttdef"><b>Definition:</b> door.cpp:1207</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_adf76d445797eb513020a60f786f65767"><div class="ttname"><a href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">door::Door::previous</a></div><div class="ttdeci">ANSIColor previous</div><div class="ttdef"><b>Definition:</b> door.h:234</div></div>
+<div class="ttc" id="anamespacedoor_html_aeade8b521c7f95755fdb166727c2b87c"><div class="ttname"><a href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">door::full_cp437</a></div><div class="ttdeci">bool full_cp437</div><div class="ttdoc">Was full CP437 detected?</div><div class="ttdef"><b>Definition:</b> door.cpp:214</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_acc188acc0dfd6127ca4a51a6508b8c62"><div class="ttname"><a href="classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62">door::Panel::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)</div><div class="ttdoc">Output panel to stream.</div><div class="ttdef"><b>Definition:</b> panel.cpp:390</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">door::COLOR::CYAN</a></div><div class="ttdeci">@ CYAN</div><div class="ttdoc">CYAN (6)</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639">door::ATTR::INVERSE</a></div><div class="ttdeci">@ INVERSE</div><div class="ttdoc">INVERSE is Background on Foreground.</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aa11de87d84c864dcb1ee26042a28e519"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">door::ANSIColor::fg</a></div><div class="ttdeci">COLOR fg</div><div class="ttdoc">Foreground color.</div><div class="ttdef"><b>Definition:</b> door.h:133</div></div>
-<div class="ttc" id="anamespacedoor_html_a5efa4fb96eacd6b90e5cbb0bd985f3fc"><div class="ttname"><a href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">door::cp437toUnicode</a></div><div class="ttdeci">void cp437toUnicode(std::string input, std::string &amp;out)</div><div class="ttdoc">Convert from CP437 to unicode.</div><div class="ttdef"><b>Definition:</b> door.cpp:169</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_a092b281d63bb6ee0a3bee2ba77d78a47"><div class="ttname"><a href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">door::Door::sleep_key</a></div><div class="ttdeci">signed int sleep_key(int secs)</div><div class="ttdoc">Waits secs seconds for a keypress.</div><div class="ttdef"><b>Definition:</b> door.cpp:943</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a9413c8c99a7ff96f1374e886946791a5"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">door::ANSIColor::inverse</a></div><div class="ttdeci">unsigned int inverse</div><div class="ttdoc">inverse</div><div class="ttdef"><b>Definition:</b> door.h:144</div></div>
-<div class="ttc" id="aclassdoor_1_1Render_html_a887fd73649a7e63257cc695e2756bc66"><div class="ttname"><a href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">door::Render::outputs</a></div><div class="ttdeci">std::vector&lt; ColorOutput &gt; outputs</div><div class="ttdoc">Vector of ColorOutput object.</div><div class="ttdef"><b>Definition:</b> door.h:313</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a46b5dc8b9d373233000bbc0e45c33825"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">door::ANSIColor::attr</a></div><div class="ttdeci">void attr(ATTR a)</div><div class="ttdoc">Set attribute.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:194</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aa11de87d84c864dcb1ee26042a28e519"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519">door::ANSIColor::fg</a></div><div class="ttdeci">COLOR fg</div><div class="ttdef"><b>Definition:</b> door.h:135</div></div>
+<div class="ttc" id="anamespacedoor_html_a5efa4fb96eacd6b90e5cbb0bd985f3fc"><div class="ttname"><a href="namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc">door::cp437toUnicode</a></div><div class="ttdeci">void cp437toUnicode(std::string input, std::string &amp;out)</div><div class="ttdoc">Convert from CP437 to unicode.</div><div class="ttdef"><b>Definition:</b> door.cpp:179</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ac617cee68cc0993ff5c294d06023b19b"><div class="ttname"><a href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">door::Door::node</a></div><div class="ttdeci">int node</div><div class="ttdef"><b>Definition:</b> door.h:262</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a092b281d63bb6ee0a3bee2ba77d78a47"><div class="ttname"><a href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">door::Door::sleep_key</a></div><div class="ttdeci">signed int sleep_key(int secs)</div><div class="ttdoc">Waits secs seconds for a keypress.</div><div class="ttdef"><b>Definition:</b> door.cpp:985</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a9413c8c99a7ff96f1374e886946791a5"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">door::ANSIColor::inverse</a></div><div class="ttdeci">unsigned int inverse</div><div class="ttdef"><b>Definition:</b> door.h:146</div></div>
+<div class="ttc" id="aclassdoor_1_1Render_html_a887fd73649a7e63257cc695e2756bc66"><div class="ttname"><a href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">door::Render::outputs</a></div><div class="ttdeci">std::vector&lt; ColorOutput &gt; outputs</div><div class="ttdoc">Vector of ColorOutput object.</div><div class="ttdef"><b>Definition:</b> door.h:320</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040">door::ATTR::BRIGHT</a></div><div class="ttdeci">@ BRIGHT</div><div class="ttdoc">BRIGHT is the same as BOLD.</div></div>
-<div class="ttc" id="agetkey_8cpp_html_ac317ff25d1fad1066feec2dd66179eec"><div class="ttname"><a href="getkey_8cpp.html#ac317ff25d1fad1066feec2dd66179eec">tio_default</a></div><div class="ttdeci">struct termios tio_default</div><div class="ttdoc">Original terminal termios defaults.</div><div class="ttdef"><b>Definition:</b> getkey.cpp:30</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a3d83225897fcc51bf883170ba6f6963f"><div class="ttname"><a href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">door::Door::dropfilelines</a></div><div class="ttdeci">vector&lt; std::string &gt; dropfilelines</div><div class="ttdef"><b>Definition:</b> door.h:206</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a8beaf1f9a1b84524d131a817ad8019ae"><div class="ttname"><a href="classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae">door::Line::setColor</a></div><div class="ttdeci">void setColor(ANSIColor c)</div><div class="ttdef"><b>Definition:</b> lines.cpp:277</div></div>
-<div class="ttc" id="agetkey_8cpp_html_a48210bb765c651a12818ca2551ace8e2"><div class="ttname"><a href="getkey_8cpp.html#a48210bb765c651a12818ca2551ace8e2">getkey</a></div><div class="ttdeci">signed int getkey(void)</div><div class="ttdoc">high level getkey</div><div class="ttdef"><b>Definition:</b> getkey.cpp:159</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_ad7f8494e6382aaacfa46d6da77309481"><div class="ttname"><a href="classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481">door::Line::Line</a></div><div class="ttdeci">Line(const std::string &amp;txt, int width=0)</div><div class="ttdef"><b>Definition:</b> lines.cpp:121</div></div>
-<div class="ttc" id="aclassdoor_1_1NewLine_html_ae6439f66a0444e185cc06dfff1a0f74a"><div class="ttname"><a href="classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a">door::NewLine::NewLine</a></div><div class="ttdeci">NewLine(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1227</div></div>
-<div class="ttc" id="anamespacedoor_html_ae6c40e2e917f64a9c42d977a88fe18fa"><div class="ttname"><a href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">door::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:339</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a5d2d818d1922bcb8b73ccdaf639ca2cd"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">door::ANSIColor::operator!=</a></div><div class="ttdeci">bool operator!=(const ANSIColor &amp;c) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:150</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ae696879b2a42db7a21d698fad19fc918"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">door::ColorOutput::pos</a></div><div class="ttdeci">int pos</div><div class="ttdoc">Starting position of Render.text.</div><div class="ttdef"><b>Definition:</b> door.h:287</div></div>
-<div class="ttc" id="aclassdoor_1_1Goto_html_a21a0915b21cc762dc148f7ba6797229b"><div class="ttname"><a href="classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b">door::Goto::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)</div><div class="ttdef"><b>Definition:</b> door.cpp:1278</div></div>
-<div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">door::COLOR</a></div><div class="ttdeci">COLOR</div><div class="ttdoc">The colors available under ANSI-BBS.</div><div class="ttdef"><b>Definition:</b> door.h:84</div></div>
-<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>
-<div class="ttc" id="aclassdoor_1_1Door_html_a93bbb3d1bfcec623e46ef47e6ba6b470"><div class="ttname"><a href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">door::Door::input_string</a></div><div class="ttdeci">std::string input_string(int max)</div><div class="ttdoc">Input a string of requested max length.</div><div class="ttdef"><b>Definition:</b> door.cpp:992</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_aa807fbcea8d7e92f591d9f459f392232"><div class="ttname"><a href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">door::Door::get_one_of</a></div><div class="ttdeci">int get_one_of(const char *keys)</div><div class="ttdoc">Get one of these keys.</div><div class="ttdef"><b>Definition:</b> door.cpp:1043</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:672</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_a6d12dbae8f1d7f70a32aa1b463bd9f6f"><div class="ttname"><a href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">door::Line::render</a></div><div class="ttdeci">renderFunction render</div><div class="ttdoc">renderFunction to use when rendering Line.</div><div class="ttdef"><b>Definition:</b> door.h:503</div></div>
+<div class="ttc" id="aclassdoor_1_1NewLine_html_ae6439f66a0444e185cc06dfff1a0f74a"><div class="ttname"><a href="classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a">door::NewLine::NewLine</a></div><div class="ttdeci">NewLine(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1269</div></div>
+<div class="ttc" id="anamespacedoor_html_ae6c40e2e917f64a9c42d977a88fe18fa"><div class="ttname"><a href="namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa">door::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:371</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a5d2d818d1922bcb8b73ccdaf639ca2cd"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd">door::ANSIColor::operator!=</a></div><div class="ttdeci">bool operator!=(const ANSIColor &amp;c) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:151</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ae696879b2a42db7a21d698fad19fc918"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918">door::ColorOutput::pos</a></div><div class="ttdeci">int pos</div><div class="ttdoc">Starting position of Render.text.</div><div class="ttdef"><b>Definition:</b> door.h:294</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html_a21a0915b21cc762dc148f7ba6797229b"><div class="ttname"><a href="classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b">door::Goto::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)</div><div class="ttdef"><b>Definition:</b> door.cpp:1320</div></div>
+<div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366">door::COLOR</a></div><div class="ttdeci">COLOR</div><div class="ttdoc">The colors available under ANSI-BBS.</div><div class="ttdef"><b>Definition:</b> door.h:86</div></div>
+<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:133</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a65e014489e39390328fbf448a304d548"><div class="ttname"><a href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">door::Door::stop_thread</a></div><div class="ttdeci">std::promise&lt; void &gt; stop_thread</div><div class="ttdef"><b>Definition:</b> door.h:211</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a93bbb3d1bfcec623e46ef47e6ba6b470"><div class="ttname"><a href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">door::Door::input_string</a></div><div class="ttdeci">std::string input_string(int max)</div><div class="ttdoc">Input a string of requested max length.</div><div class="ttdef"><b>Definition:</b> door.cpp:1034</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_aa807fbcea8d7e92f591d9f459f392232"><div class="ttname"><a href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">door::Door::get_one_of</a></div><div class="ttdeci">int get_one_of(const char *keys)</div><div class="ttdoc">Get one of these keys.</div><div class="ttdef"><b>Definition:</b> door.cpp:1085</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:679</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a4542fd79a3669c8bf7b2354bebb8d4df"><div class="ttname"><a href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">door::Door::location</a></div><div class="ttdeci">std::string location</div><div class="ttdef"><b>Definition:</b> door.h:257</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a3f724fb65d51b13e4c086e5fa90a5d35"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">door::ANSIColor::getFg</a></div><div class="ttdeci">COLOR getFg()</div><div class="ttdef"><b>Definition:</b> door.h:167</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ac9694a43baa3f7a8c0aaea15910b2afc"><div class="ttname"><a href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">door::Door::tio_default</a></div><div class="ttdeci">struct termios tio_default</div><div class="ttdef"><b>Definition:</b> door.h:197</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_a6d12dbae8f1d7f70a32aa1b463bd9f6f"><div class="ttname"><a href="classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f">door::Line::render</a></div><div class="ttdeci">renderFunction render</div><div class="ttdoc">renderFunction to use when rendering Line.</div><div class="ttdef"><b>Definition:</b> door.h:510</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0">door::COLOR::GREEN</a></div><div class="ttdeci">@ GREEN</div><div class="ttdoc">GREEN (2)</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61">door::COLOR::MAGENTA</a></div><div class="ttdeci">@ MAGENTA</div><div class="ttdoc">MAGENTA (5)</div></div>
-<div class="ttc" id="aclassdoor_1_1Goto_html_a2ef887a839d1542dc2b7bbcbc4cd0477"><div class="ttname"><a href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">door::Goto::y</a></div><div class="ttdeci">int y</div><div class="ttdoc">Y-Position.</div><div class="ttdef"><b>Definition:</b> door.h:415</div></div>
-<div class="ttc" id="anamespacedoor_html_ad9c2405adaa0b5168bc53059b3a978c1"><div class="ttname"><a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></div><div class="ttdeci">std::function&lt; Render(const std::string &amp;)&gt; renderFunction</div><div class="ttdoc">Render output function.</div><div class="ttdef"><b>Definition:</b> door.h:341</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a43c2ea9694f74c60f7ac2a396727bd15"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">door::ANSIColor::setFg</a></div><div class="ttdeci">void setFg(COLOR f)</div><div class="ttdoc">Set foreground color.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:161</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ae3030f754f5c183c0739ca899f5d351c"><div class="ttname"><a href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">door::Door::cy</a></div><div class="ttdeci">int cy</div><div class="ttdef"><b>Definition:</b> door.h:240</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_acd2e33e65d7ccac7c46e0c7fa6b3a407"><div class="ttname"><a href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">door::Door::dropfilename</a></div><div class="ttdeci">std::string dropfilename</div><div class="ttdef"><b>Definition:</b> door.h:204</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html_a2ef887a839d1542dc2b7bbcbc4cd0477"><div class="ttname"><a href="classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477">door::Goto::y</a></div><div class="ttdeci">int y</div><div class="ttdoc">Y-Position.</div><div class="ttdef"><b>Definition:</b> door.h:422</div></div>
+<div class="ttc" id="anamespacedoor_html_ad9c2405adaa0b5168bc53059b3a978c1"><div class="ttname"><a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></div><div class="ttdeci">std::function&lt; Render(const std::string &amp;)&gt; renderFunction</div><div class="ttdoc">Render output function.</div><div class="ttdef"><b>Definition:</b> door.h:348</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a2456a5f520ad5a005ec13bebbfb0774d"><div class="ttname"><a href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">door::Door::logf</a></div><div class="ttdeci">ofstream logf</div><div class="ttdef"><b>Definition:</b> door.h:208</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367">door::BorderStyle::DOUBLE_SINGLE</a></div><div class="ttdeci">@ DOUBLE_SINGLE</div><div class="ttdoc">DOUBLE top SINGLE side (4)</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_a3896c3006cac3435613732c29afc60ed"><div class="ttname"><a href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">door::Line::color</a></div><div class="ttdeci">ANSIColor color</div><div class="ttdoc">Line color.</div><div class="ttdef"><b>Definition:</b> door.h:496</div></div>
-<div class="ttc" id="aclassdoor_1_1Render_html_a6540ecf2f2f4a3e9eaeb47cc9c7daa00"><div class="ttname"><a href="classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00">door::Render::Render</a></div><div class="ttdeci">Render(const std::string txt)</div><div class="ttdef"><b>Definition:</b> door.cpp:1139</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_a69a98249e3f33fd20300aa62120b8561"><div class="ttname"><a href="classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561">door::Panel::spacer_line</a></div><div class="ttdeci">std::unique_ptr&lt; Line &gt; spacer_line(bool single)</div><div class="ttdoc">Create a spacer line using block drawing characters.</div><div class="ttdef"><b>Definition:</b> panel.cpp:358</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_a3896c3006cac3435613732c29afc60ed"><div class="ttname"><a href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">door::Line::color</a></div><div class="ttdeci">ANSIColor color</div><div class="ttdoc">Line color.</div><div class="ttdef"><b>Definition:</b> door.h:503</div></div>
+<div class="ttc" id="aclassdoor_1_1Render_html_a6540ecf2f2f4a3e9eaeb47cc9c7daa00"><div class="ttname"><a href="classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00">door::Render::Render</a></div><div class="ttdeci">Render(const std::string txt)</div><div class="ttdef"><b>Definition:</b> door.cpp:1181</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aca2261a9b173cc87586db6784e03e6b5"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">door::ANSIColor::getBg</a></div><div class="ttdeci">COLOR getBg()</div><div class="ttdef"><b>Definition:</b> door.h:172</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_a69a98249e3f33fd20300aa62120b8561"><div class="ttname"><a href="classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561">door::Panel::spacer_line</a></div><div class="ttdeci">std::unique_ptr&lt; Line &gt; spacer_line(bool single)</div><div class="ttdoc">Create a spacer line using block drawing characters.</div><div class="ttdef"><b>Definition:</b> panel.cpp:357</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">door::BorderStyle::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdoc">NONE (0)</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_af0c0998c248520613f87638f02ef48d8"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">door::ANSIColor::blink</a></div><div class="ttdeci">unsigned int blink</div><div class="ttdoc">blink slow blinking text</div><div class="ttdef"><b>Definition:</b> door.h:142</div></div>
-<div class="ttc" id="anamespacedoor_html_ac70193caf66e4b9aed1529593727a6eb"><div class="ttname"><a href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">door::cls</a></div><div class="ttdeci">Clrscr cls</div><div class="ttdef"><b>Definition:</b> door.cpp:1221</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_af0c0998c248520613f87638f02ef48d8"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#af0c0998c248520613f87638f02ef48d8">door::ANSIColor::blink</a></div><div class="ttdeci">unsigned int blink</div><div class="ttdef"><b>Definition:</b> door.h:144</div></div>
+<div class="ttc" id="anamespacedoor_html_ac70193caf66e4b9aed1529593727a6eb"><div class="ttname"><a href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">door::cls</a></div><div class="ttdeci">Clrscr cls</div><div class="ttdef"><b>Definition:</b> door.cpp:1263</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a9487858a23dc53c987e6504e501957e6"><div class="ttname"><a href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">door::Line::setPadding</a></div><div class="ttdeci">void setPadding(std::string &amp;padstring, ANSIColor padColor)</div><div class="ttdef"><b>Definition:</b> lines.cpp:256</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aae86353583a08ca1d9fa4f7bb366a805"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">door::ANSIColor::reset</a></div><div class="ttdeci">unsigned int reset</div><div class="ttdoc">reset flag / always send color and attributes</div><div class="ttdef"><b>Definition:</b> door.h:138</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html"><div class="ttname"><a href="classdoor_1_1Line.html">door::Line</a></div><div class="ttdoc">Text and ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:488</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_aae86353583a08ca1d9fa4f7bb366a805"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805">door::ANSIColor::reset</a></div><div class="ttdeci">unsigned int reset</div><div class="ttdef"><b>Definition:</b> door.h:140</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html"><div class="ttname"><a href="classdoor_1_1Line.html">door::Line</a></div><div class="ttdoc">Text and ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:495</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a702464834d9546f67f1952a62e4038f2"><div class="ttname"><a href="classdoor_1_1Line.html#a702464834d9546f67f1952a62e4038f2">door::Line::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Line &amp;l)</div><div class="ttdef"><b>Definition:</b> lines.cpp:354</div></div>
-<div class="ttc" id="aclassdoor_1_1Render_html_ada0caea3ba255104474a2f0bfa94d6d2"><div class="ttname"><a href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">door::Render::text</a></div><div class="ttdeci">const std::string text</div><div class="ttdoc">Complete text to be rendered.</div><div class="ttdef"><b>Definition:</b> door.h:311</div></div>
-<div class="ttc" id="aclassdoor_1_1Clrscr_html_a1cc056058e52bb52343b17636e6fa5e0"><div class="ttname"><a href="classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0">door::Clrscr::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)</div><div class="ttdef"><b>Definition:</b> door.cpp:1205</div></div>
+<div class="ttc" id="aclassdoor_1_1Render_html_ada0caea3ba255104474a2f0bfa94d6d2"><div class="ttname"><a href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">door::Render::text</a></div><div class="ttdeci">const std::string text</div><div class="ttdoc">Complete text to be rendered.</div><div class="ttdef"><b>Definition:</b> door.h:318</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a7e9aa4c92094271c40d67979b087d36b"><div class="ttname"><a href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">door::Door::opt</a></div><div class="ttdeci">AnyOption opt</div><div class="ttdef"><b>Definition:</b> door.h:225</div></div>
+<div class="ttc" id="aclassdoor_1_1Clrscr_html_a1cc056058e52bb52343b17636e6fa5e0"><div class="ttname"><a href="classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0">door::Clrscr::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)</div><div class="ttdef"><b>Definition:</b> door.cpp:1247</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a76deeffd8b0df5112b6e4d03d9ebdd73"><div class="ttname"><a href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">door::Door::time_thread</a></div><div class="ttdeci">std::thread time_thread</div><div class="ttdef"><b>Definition:</b> door.h:217</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0">door::COLOR::RED</a></div><div class="ttdeci">@ RED</div><div class="ttdoc">RED (1)</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_a34666d486c5a22728e70ca8b43cd644e"><div class="ttname"><a href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">door::Menu::Menu</a></div><div class="ttdeci">Menu(int x, int y, int width)</div><div class="ttdoc">Construct a new Menu object.</div><div class="ttdef"><b>Definition:</b> panel.cpp:580</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_a34666d486c5a22728e70ca8b43cd644e"><div class="ttname"><a href="classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e">door::Menu::Menu</a></div><div class="ttdeci">Menu(int x, int y, int width)</div><div class="ttdoc">Construct a new Menu object.</div><div class="ttdef"><b>Definition:</b> panel.cpp:579</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1">door::ATTR::RESET</a></div><div class="ttdeci">@ RESET</div><div class="ttdoc">RESET forces all attributes (and Colors) to be sent.</div></div>
-<div class="ttc" id="aclassdoor_1_1Screen_html_aa33539627ee3d8a5c4b09ee9401711e0"><div class="ttname"><a href="classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0">door::Screen::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)</div><div class="ttdoc">Outputs screen to stream.</div><div class="ttdef"><b>Definition:</b> panel.cpp:926</div></div>
+<div class="ttc" id="aclassdoor_1_1Screen_html_aa33539627ee3d8a5c4b09ee9401711e0"><div class="ttname"><a href="classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0">door::Screen::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)</div><div class="ttdoc">Outputs screen to stream.</div><div class="ttdef"><b>Definition:</b> panel.cpp:925</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229">door::BorderStyle::DOUBLE</a></div><div class="ttdeci">@ DOUBLE</div><div class="ttdoc">DOUBLE (2)</div></div>
-<div class="ttc" id="agetkey_8cpp_html_abbfe4f963938c288581211cdee6cb818"><div class="ttname"><a href="getkey_8cpp.html#abbfe4f963938c288581211cdee6cb818">getch</a></div><div class="ttdeci">signed int getch(void)</div><div class="ttdoc">low level getch key read</div><div class="ttdef"><b>Definition:</b> getkey.cpp:79</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_ac7db32ec19257344af24bd80536c76d5"><div class="ttname"><a href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">door::Panel::lines</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Line &gt; &gt; lines</div><div class="ttdef"><b>Definition:</b> door.h:598</div></div>
-<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>
-<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1249</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_a57234d5f1d891ed8f9ea9c8c9be7aed4"><div class="ttname"><a href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">door::Panel::update</a></div><div class="ttdeci">bool update(Door &amp;d)</div><div class="ttdoc">Updates a panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:274</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_ac7db32ec19257344af24bd80536c76d5"><div class="ttname"><a href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">door::Panel::lines</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Line &gt; &gt; lines</div><div class="ttdef"><b>Definition:</b> door.h:605</div></div>
+<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:367</div></div>
+<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1291</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_a57234d5f1d891ed8f9ea9c8c9be7aed4"><div class="ttname"><a href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">door::Panel::update</a></div><div class="ttdeci">bool update(Door &amp;d)</div><div class="ttdoc">Updates a panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:273</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a">door::BorderStyle::SINGLE_DOUBLE</a></div><div class="ttdeci">@ SINGLE_DOUBLE</div><div class="ttdoc">SINGLE top DOUBLE side (3)</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a548cd373dbd7ad89eab9acce79d324a2"><div class="ttname"><a href="classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2">door::Line::hasRender</a></div><div class="ttdeci">bool hasRender(void)</div><div class="ttdef"><b>Definition:</b> lines.cpp:188</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a24c97bd59b2a17cca37512dea5d21505"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">door::ANSIColor::output</a></div><div class="ttdeci">std::string output(void) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:180</div></div>
-<div class="ttc" id="anamespacedoor_html_a3274dff22ddb19a3e429a703ee6f3e57"><div class="ttname"><a href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">door::rBlueYellow</a></div><div class="ttdeci">renderFunction rBlueYellow</div><div class="ttdoc">BlueYellow Render example function.</div><div class="ttdef"><b>Definition:</b> door.cpp:1312</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_a2008c67026c41f33bc2c8cb5f9787f3b"><div class="ttname"><a href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">door::Line::text</a></div><div class="ttdeci">std::string text</div><div class="ttdoc">Text of the line.</div><div class="ttdef"><b>Definition:</b> door.h:491</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a24c97bd59b2a17cca37512dea5d21505"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">door::ANSIColor::output</a></div><div class="ttdeci">std::string output(void) const</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:207</div></div>
+<div class="ttc" id="anamespacedoor_html_a3274dff22ddb19a3e429a703ee6f3e57"><div class="ttname"><a href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">door::rBlueYellow</a></div><div class="ttdeci">renderFunction rBlueYellow</div><div class="ttdoc">BlueYellow Render example function.</div><div class="ttdef"><b>Definition:</b> door.cpp:1354</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_a2008c67026c41f33bc2c8cb5f9787f3b"><div class="ttname"><a href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">door::Line::text</a></div><div class="ttdeci">std::string text</div><div class="ttdoc">Text of the line.</div><div class="ttdef"><b>Definition:</b> door.h:498</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">door::COLOR::YELLOW</a></div><div class="ttdeci">@ YELLOW</div><div class="ttdoc">YELLOW (3)</div></div>
-<div class="ttc" id="agetkey_8cpp_html_a92dfe6e9243e862063a0c3869f784557"><div class="ttname"><a href="getkey_8cpp.html#a92dfe6e9243e862063a0c3869f784557">buffer</a></div><div class="ttdeci">char buffer[10]</div><div class="ttdoc">pushback buffer to store keys we're not ready for yet.</div><div class="ttdef"><b>Definition:</b> getkey.cpp:116</div></div>
-<div class="ttc" id="agetkey_8cpp_html_aaa0e5be04b9ee83acfdd443145061f47"><div class="ttname"><a href="getkey_8cpp.html#aaa0e5be04b9ee83acfdd443145061f47">bpos</a></div><div class="ttdeci">int bpos</div><div class="ttdoc">pushback buffer position</div><div class="ttdef"><b>Definition:</b> getkey.cpp:120</div></div>
-<div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">door::ATTR</a></div><div class="ttdeci">ATTR</div><div class="ttdoc">ANSI-BBS text attributes.</div><div class="ttdef"><b>Definition:</b> door.h:108</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_aa5ad389766a5e5c22588dae37cce1d1c"><div class="ttname"><a href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">door::Panel::set</a></div><div class="ttdeci">void set(int x, int y)</div><div class="ttdoc">Set the panels X and Y screen position.</div><div class="ttdef"><b>Definition:</b> panel.cpp:80</div></div>
-<div class="ttc" id="anamespacedoor_html_ae3a70989c43f6cb3522308af748b4481"><div class="ttname"><a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">door::reset</a></div><div class="ttdeci">ANSIColor reset(ATTR::RESET)</div><div class="ttdoc">reset colors to normal</div><div class="ttdef"><b>Definition:</b> door.h:400</div></div>
+<div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52">door::ATTR</a></div><div class="ttdeci">ATTR</div><div class="ttdoc">ANSI-BBS text attributes.</div><div class="ttdef"><b>Definition:</b> door.h:110</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_aa5ad389766a5e5c22588dae37cce1d1c"><div class="ttname"><a href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">door::Panel::set</a></div><div class="ttdeci">void set(int x, int y)</div><div class="ttdoc">Set the panels X and Y screen position.</div><div class="ttdef"><b>Definition:</b> panel.cpp:79</div></div>
+<div class="ttc" id="anamespacedoor_html_ae3a70989c43f6cb3522308af748b4481"><div class="ttname"><a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">door::reset</a></div><div class="ttdeci">ANSIColor reset(ATTR::RESET)</div><div class="ttdoc">reset colors to normal</div><div class="ttdef"><b>Definition:</b> door.h:407</div></div>
 <div class="ttc" id="aclassdoor_1_1ANSIColor_html_abfa527e4328dc5168256da2ba21f5a50"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50">door::ANSIColor::ANSIColor</a></div><div class="ttdeci">ANSIColor()</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:16</div></div>
-<div class="ttc" id="agetkey_8cpp_html_a37118b1ee911d1447a495aa49f2926a5"><div class="ttname"><a href="getkey_8cpp.html#a37118b1ee911d1447a495aa49f2926a5">unget</a></div><div class="ttdeci">void unget(char c)</div><div class="ttdoc">ungets (pushes key back)</div><div class="ttdef"><b>Definition:</b> getkey.cpp:129</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ac271b0be7c45192f1e5691b33b6703bb"><div class="ttname"><a href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">door::Door::detect_unicode_and_screen</a></div><div class="ttdeci">void detect_unicode_and_screen(void)</div><div class="ttdoc">Detect unicode/CP437, and screen size.</div><div class="ttdef"><b>Definition:</b> door.cpp:430</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_adb4561a6482b66b7efcd18b3257102f1"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">door::ANSIColor::setBg</a></div><div class="ttdeci">void setBg(COLOR b)</div><div class="ttdoc">Set background color.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:185</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">door::COLOR::WHITE</a></div><div class="ttdeci">@ WHITE</div><div class="ttdoc">WHITE (7)</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a00ec1edb246d442c4dc7ac2dc5876624"><div class="ttname"><a href="classdoor_1_1Line.html#a00ec1edb246d442c4dc7ac2dc5876624">door::Line::update</a></div><div class="ttdeci">bool update(void)</div><div class="ttdef"><b>Definition:</b> lines.cpp:319</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_ae5630294b780b57aba721969762f50eb"><div class="ttname"><a href="classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb">door::Panel::lineSetBack</a></div><div class="ttdeci">void lineSetBack(ANSIColor back)</div><div class="ttdoc">Set background of all lines in the panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:345</div></div>
-<div class="ttc" id="aclassdoor_1_1Screen_html_a9f93b83a6c0ebab3972dd7340c88675a"><div class="ttname"><a href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">door::Screen::panels</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Panel &gt; &gt; panels</div><div class="ttdoc">vector of panels.</div><div class="ttdef"><b>Definition:</b> door.h:715</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html_a3fab9317af5f86949eb0d6faf1f04653"><div class="ttname"><a href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">door::Line::padding</a></div><div class="ttdeci">std::string padding</div><div class="ttdoc">Padding characters.</div><div class="ttdef"><b>Definition:</b> door.h:498</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a9190e804f05c37523aad88e5ebb0f826"><div class="ttname"><a href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">door::Door::inactivity</a></div><div class="ttdeci">int inactivity</div><div class="ttdoc">Number of seconds before timing out.</div><div class="ttdef"><b>Definition:</b> door.h:251</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_abc021f4f29b9f78356641ba68df3ee4a"><div class="ttname"><a href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">door::Door::track</a></div><div class="ttdeci">bool track</div><div class="ttdef"><b>Definition:</b> door.h:236</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ab72706c45d0d143c30dbe61f4e9f6a68"><div class="ttname"><a href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">door::Door::has_dropfile</a></div><div class="ttdeci">bool has_dropfile</div><div class="ttdef"><b>Definition:</b> door.h:201</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_ae5630294b780b57aba721969762f50eb"><div class="ttname"><a href="classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb">door::Panel::lineSetBack</a></div><div class="ttdeci">void lineSetBack(ANSIColor back)</div><div class="ttdoc">Set background of all lines in the panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:344</div></div>
+<div class="ttc" id="aclassdoor_1_1Screen_html_a9f93b83a6c0ebab3972dd7340c88675a"><div class="ttname"><a href="classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a">door::Screen::panels</a></div><div class="ttdeci">std::vector&lt; std::unique_ptr&lt; Panel &gt; &gt; panels</div><div class="ttdoc">vector of panels.</div><div class="ttdef"><b>Definition:</b> door.h:722</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ad6b79329830e41ba0ee960b01804a383"><div class="ttname"><a href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">door::Door::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition:</b> door.h:244</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_a3fab9317af5f86949eb0d6faf1f04653"><div class="ttname"><a href="classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653">door::Line::padding</a></div><div class="ttdeci">std::string padding</div><div class="ttdoc">Padding characters.</div><div class="ttdef"><b>Definition:</b> door.h:505</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8">door::BorderStyle::SINGLE</a></div><div class="ttdeci">@ SINGLE</div><div class="ttdoc">SINGLE (1)</div></div>
-<div class="ttc" id="anamespacedoor_html_aa6a7c86274470fd22e45676ba6eebb36"><div class="ttname"><a href="namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36">door::SaveCursor</a></div><div class="ttdeci">const char SaveCursor[]</div><div class="ttdoc">ANSI Save Cursor position command.</div><div class="ttdef"><b>Definition:</b> door.cpp:1303</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_aad67bdb165987c4e3133a0f12f2b2b33"><div class="ttname"><a href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">door::Door::xsputn</a></div><div class="ttdeci">std::streamsize xsputn(const char *s, std::streamsize n) override</div><div class="ttdef"><b>Definition:</b> door.cpp:1071</div></div>
-<div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">door::BorderStyle</a></div><div class="ttdeci">BorderStyle</div><div class="ttdef"><b>Definition:</b> door.h:570</div></div>
-<div class="ttc" id="anamespacedoor_html_a1626abff63f7a1b9dc696969c860283b"><div class="ttname"><a href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">door::unicode</a></div><div class="ttdeci">bool unicode</div><div class="ttdoc">Was unicode detected?</div><div class="ttdef"><b>Definition:</b> door.cpp:196</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_ad658a59d371bc8582411ada281c50822"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822">door::ANSIColor::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:339</div></div>
+<div class="ttc" id="anamespacedoor_html_aa6a7c86274470fd22e45676ba6eebb36"><div class="ttname"><a href="namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36">door::SaveCursor</a></div><div class="ttdeci">const char SaveCursor[]</div><div class="ttdoc">ANSI Save Cursor position command.</div><div class="ttdef"><b>Definition:</b> door.cpp:1345</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_af9732845ca55a168cb03400486e47a37"><div class="ttname"><a href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">door::Door::handle</a></div><div class="ttdeci">std::string handle</div><div class="ttdef"><b>Definition:</b> door.h:255</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_aad67bdb165987c4e3133a0f12f2b2b33"><div class="ttname"><a href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">door::Door::xsputn</a></div><div class="ttdeci">std::streamsize xsputn(const char *s, std::streamsize n) override</div><div class="ttdef"><b>Definition:</b> door.cpp:1113</div></div>
+<div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91">door::BorderStyle</a></div><div class="ttdeci">BorderStyle</div><div class="ttdef"><b>Definition:</b> door.h:577</div></div>
+<div class="ttc" id="anamespacedoor_html_a1626abff63f7a1b9dc696969c860283b"><div class="ttname"><a href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">door::unicode</a></div><div class="ttdeci">bool unicode</div><div class="ttdoc">Was unicode detected?</div><div class="ttdef"><b>Definition:</b> door.cpp:206</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_ad658a59d371bc8582411ada281c50822"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822">door::ANSIColor::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:371</div></div>
 <div class="ttc" id="anamespacedoor_html"><div class="ttname"><a href="namespacedoor.html">door</a></div><div class="ttdoc">The BBS door project. This is an attempt at writing a C++ BBS door toolkit.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:9</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7">door::BorderStyle::BLANK</a></div><div class="ttdeci">@ BLANK</div><div class="ttdoc">BLANK (5)</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html_a264d9e4eb0d6eb0e03f60520bcb11dd4"><div class="ttname"><a href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">door::Door::overflow</a></div><div class="ttdeci">int overflow(int c) override</div><div class="ttdef"><b>Definition:</b> door.cpp:1098</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ab82c8458bcfa264fbfd7b7b6f367864d"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">door::ColorOutput::len</a></div><div class="ttdeci">int len</div><div class="ttdoc">Length.</div><div class="ttdef"><b>Definition:</b> door.h:289</div></div>
-<div class="ttc" id="anamespacedoor_html_af025775fb0b68d66dc42ee3299444fb7"><div class="ttname"><a href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">door::Justify</a></div><div class="ttdeci">Justify</div><div class="ttdef"><b>Definition:</b> door.h:403</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_a06da9157cc5984510153a6b93bf2e71e"><div class="ttname"><a href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">door::Menu::choose</a></div><div class="ttdeci">int choose(Door &amp;door)</div><div class="ttdef"><b>Definition:</b> panel.cpp:758</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:713</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ae0e34a59d92ec9d70720fd90380b4223"><div class="ttname"><a href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">door::Door::debug_buffer</a></div><div class="ttdeci">std::string debug_buffer</div><div class="ttdef"><b>Definition:</b> door.h:227</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a264d9e4eb0d6eb0e03f60520bcb11dd4"><div class="ttname"><a href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">door::Door::overflow</a></div><div class="ttdeci">int overflow(int c) override</div><div class="ttdef"><b>Definition:</b> door.cpp:1140</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html_ab82c8458bcfa264fbfd7b7b6f367864d"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d">door::ColorOutput::len</a></div><div class="ttdeci">int len</div><div class="ttdoc">Length.</div><div class="ttdef"><b>Definition:</b> door.h:296</div></div>
+<div class="ttc" id="anamespacedoor_html_af025775fb0b68d66dc42ee3299444fb7"><div class="ttname"><a href="namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7">door::Justify</a></div><div class="ttdeci">Justify</div><div class="ttdef"><b>Definition:</b> door.h:410</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_a06da9157cc5984510153a6b93bf2e71e"><div class="ttname"><a href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">door::Menu::choose</a></div><div class="ttdeci">int choose(Door &amp;door)</div><div class="ttdef"><b>Definition:</b> panel.cpp:757</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:712</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a773004acf25257a8e384bc6333b3e169"><div class="ttname"><a href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">door::Door::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition:</b> door.h:242</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">door::COLOR::BLUE</a></div><div class="ttdeci">@ BLUE</div><div class="ttdoc">BLUE (4)</div></div>
-<div class="ttc" id="aclassdoor_1_1Clrscr_html"><div class="ttname"><a href="classdoor_1_1Clrscr.html">door::Clrscr</a></div><div class="ttdoc">Clear the screen.</div><div class="ttdef"><b>Definition:</b> door.h:367</div></div>
-<div class="ttc" id="anamespacedoor_html_ac39a1dfdb8dec210d28133625f860bc1"><div class="ttname"><a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">door::debug_capture</a></div><div class="ttdeci">bool debug_capture</div><div class="ttdoc">Capture the output for debugging.</div><div class="ttdef"><b>Definition:</b> door.cpp:210</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html_a37a1ffba5df591c2e68d4a491c471499"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499">door::ColorOutput::reset</a></div><div class="ttdeci">void reset(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1126</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_ade7213fff53121cefba77d4f8a187a64"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">door::ANSIColor::bg</a></div><div class="ttdeci">COLOR bg</div><div class="ttdoc">Background color.</div><div class="ttdef"><b>Definition:</b> door.h:135</div></div>
-<div class="ttc" id="aclassdoor_1_1Screen_html"><div class="ttname"><a href="classdoor_1_1Screen.html">door::Screen</a></div><div class="ttdef"><b>Definition:</b> door.h:709</div></div>
-<div class="ttc" id="aclassdoor_1_1Goto_html_a099828631625d5b66bb8789510d849d7"><div class="ttname"><a href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">door::Goto::Goto</a></div><div class="ttdeci">Goto(int xpos, int ypos)</div><div class="ttdef"><b>Definition:</b> door.cpp:1257</div></div>
+<div class="ttc" id="anamespacedoor_html_a64600b79b9b73f4705859ce4efb1a2fd"><div class="ttname"><a href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">door::pushback</a></div><div class="ttdeci">std::list&lt; char &gt; pushback</div><div class="ttdoc">pushback buffer for keys.</div><div class="ttdef"><b>Definition:</b> door.cpp:58</div></div>
+<div class="ttc" id="aclassdoor_1_1Clrscr_html"><div class="ttname"><a href="classdoor_1_1Clrscr.html">door::Clrscr</a></div><div class="ttdoc">Clear the screen.</div><div class="ttdef"><b>Definition:</b> door.h:374</div></div>
+<div class="ttc" id="anamespacedoor_html_ac39a1dfdb8dec210d28133625f860bc1"><div class="ttname"><a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">door::debug_capture</a></div><div class="ttdeci">bool debug_capture</div><div class="ttdoc">Capture the output for debugging.</div><div class="ttdef"><b>Definition:</b> door.cpp:220</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html_a37a1ffba5df591c2e68d4a491c471499"><div class="ttname"><a href="classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499">door::ColorOutput::reset</a></div><div class="ttdeci">void reset(void)</div><div class="ttdef"><b>Definition:</b> door.cpp:1168</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_ade7213fff53121cefba77d4f8a187a64"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#ade7213fff53121cefba77d4f8a187a64">door::ANSIColor::bg</a></div><div class="ttdeci">COLOR bg</div><div class="ttdef"><b>Definition:</b> door.h:137</div></div>
+<div class="ttc" id="aclassdoor_1_1Screen_html"><div class="ttname"><a href="classdoor_1_1Screen.html">door::Screen</a></div><div class="ttdef"><b>Definition:</b> door.h:716</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a7671e29e45d346657b5bd5d66f569737"><div class="ttname"><a href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">door::Door::getch</a></div><div class="ttdeci">signed int getch(void)</div><div class="ttdoc">low level read key.</div><div class="ttdef"><b>Definition:</b> door.cpp:671</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a10d40a7089473c72c1acf5a987777404"><div class="ttname"><a href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">door::Door::getkey</a></div><div class="ttdeci">signed int getkey(void)</div><div class="ttdoc">Get a key routine.</div><div class="ttdef"><b>Definition:</b> door.cpp:747</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html_a099828631625d5b66bb8789510d849d7"><div class="ttname"><a href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">door::Goto::Goto</a></div><div class="ttdeci">Goto(int xpos, int ypos)</div><div class="ttdef"><b>Definition:</b> door.cpp:1299</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_adb2006e73645885986d5487eb576fd21"><div class="ttname"><a href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">door::Door::haskey</a></div><div class="ttdeci">bool haskey(void)</div><div class="ttdoc">Are there any keys in STDIN?</div><div class="ttdef"><b>Definition:</b> door.cpp:629</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a076ef095ae4e49acdb4afed0b413e430"><div class="ttname"><a href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">door::Door::seconds_elapsed</a></div><div class="ttdeci">int seconds_elapsed</div><div class="ttdef"><b>Definition:</b> door.h:214</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a3e7ab2ba2c01dcb323dcfefbdad71784"><div class="ttname"><a href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">door::Line::setText</a></div><div class="ttdeci">void setText(std::string &amp;txt)</div><div class="ttdef"><b>Definition:</b> lines.cpp:243</div></div>
-<div class="ttc" id="anamespacedoor_html_a1ae3caab423b38b35e887d79b5ac1811"><div class="ttname"><a href="namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811">door::RestoreCursor</a></div><div class="ttdeci">const char RestoreCursor[]</div><div class="ttdoc">ANSI Restore Cursor position command.</div><div class="ttdef"><b>Definition:</b> door.cpp:1307</div></div>
+<div class="ttc" id="anamespacedoor_html_a1ae3caab423b38b35e887d79b5ac1811"><div class="ttname"><a href="namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811">door::RestoreCursor</a></div><div class="ttdeci">const char RestoreCursor[]</div><div class="ttdoc">ANSI Restore Cursor position command.</div><div class="ttdef"><b>Definition:</b> door.cpp:1349</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965">door::COLOR::BLACK</a></div><div class="ttdeci">@ BLACK</div><div class="ttdoc">BLACK (0)</div></div>
-<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>
-<div class="ttc" id="aclassdoor_1_1Line_html_ab9603154e50c33245f30dbc5c60bd5c8"><div class="ttname"><a href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">door::Line::hasColor</a></div><div class="ttdeci">bool hasColor</div><div class="ttdoc">Do we have color?</div><div class="ttdef"><b>Definition:</b> door.h:494</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html"><div class="ttname"><a href="classdoor_1_1Panel.html">door::Panel</a></div><div class="ttdef"><b>Definition:</b> door.h:585</div></div>
-<div class="ttc" id="aclassdoor_1_1NewLine_html_afe2e2b066c6b919f9beb22fa6b9f362f"><div class="ttname"><a href="classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f">door::NewLine::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)</div><div class="ttdef"><b>Definition:</b> door.cpp:1235</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_a459531d32a3208856979ebcdeb7c6aed"><div class="ttname"><a href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">door::Door::time_left</a></div><div class="ttdeci">atomic&lt; int &gt; time_left</div><div class="ttdef"><b>Definition:</b> door.h:264</div></div>
+<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:314</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html_ab9603154e50c33245f30dbc5c60bd5c8"><div class="ttname"><a href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">door::Line::hasColor</a></div><div class="ttdeci">bool hasColor</div><div class="ttdoc">Do we have color?</div><div class="ttdef"><b>Definition:</b> door.h:501</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html_ad774c3579cd2cff08dcbd5c565bc9b70"><div class="ttname"><a href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">door::Door::sysop</a></div><div class="ttdeci">std::string sysop</div><div class="ttdef"><b>Definition:</b> door.h:259</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html"><div class="ttname"><a href="classdoor_1_1Panel.html">door::Panel</a></div><div class="ttdef"><b>Definition:</b> door.h:592</div></div>
+<div class="ttc" id="aclassdoor_1_1NewLine_html_afe2e2b066c6b919f9beb22fa6b9f362f"><div class="ttname"><a href="classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f">door::NewLine::operator&lt;&lt;</a></div><div class="ttdeci">friend std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)</div><div class="ttdef"><b>Definition:</b> door.cpp:1277</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a68f6b1bfdaab2ed72f2a13810b166049"><div class="ttname"><a href="classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049">door::Line::setUpdater</a></div><div class="ttdeci">void setUpdater(updateFunction uf)</div><div class="ttdef"><b>Definition:</b> lines.cpp:298</div></div>
-<div class="ttc" id="aclassdoor_1_1ColorOutput_html"><div class="ttname"><a href="classdoor_1_1ColorOutput.html">door::ColorOutput</a></div><div class="ttdoc">This holds an ANSIColor and text position + length.</div><div class="ttdef"><b>Definition:</b> door.h:279</div></div>
-<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a0d990141b78cb8264de9cab06dc1e8cf"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">door::ANSIColor::bold</a></div><div class="ttdeci">unsigned int bold</div><div class="ttdoc">bold / bright flag</div><div class="ttdef"><b>Definition:</b> door.h:140</div></div>
+<div class="ttc" id="aclassdoor_1_1ColorOutput_html"><div class="ttname"><a href="classdoor_1_1ColorOutput.html">door::ColorOutput</a></div><div class="ttdoc">This holds an ANSIColor and text position + length.</div><div class="ttdef"><b>Definition:</b> door.h:286</div></div>
+<div class="ttc" id="aclassdoor_1_1ANSIColor_html_a0d990141b78cb8264de9cab06dc1e8cf"><div class="ttname"><a href="classdoor_1_1ANSIColor.html#a0d990141b78cb8264de9cab06dc1e8cf">door::ANSIColor::bold</a></div><div class="ttdeci">unsigned int bold</div><div class="ttdef"><b>Definition:</b> door.h:142</div></div>
 <div class="ttc" id="aclassdoor_1_1Line_html_a03790e36725784901cd4e802917754ce"><div class="ttname"><a href="classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce">door::Line::setRender</a></div><div class="ttdeci">void setRender(renderFunction rf)</div><div class="ttdef"><b>Definition:</b> lines.cpp:289</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 0 - 2
examples.html

@@ -66,8 +66,6 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 <div class="textblock">Here is a list of all examples:</div><ul>
-<li><a class="el" href="door-example_8cpp-example.html">door-example.cpp</a></li>
-
 <li><a class="el" href="menu-example_8cpp-example.html">menu-example.cpp</a></li>
 
 </ul>

+ 3 - 4
files.html

@@ -70,10 +70,9 @@ $(function() {
 <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="ansicolor_8cpp.html" target="_self">ansicolor.cpp</a></td><td class="desc">ANSIColor </td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="door_8cpp.html" target="_self">door.cpp</a></td><td class="desc">Door </td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="door_8h_source.html"><span class="icondoc"></span></a><b>door.h</b></td><td class="desc"></td></tr>
-<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="getkey_8cpp.html" target="_self">getkey.cpp</a></td><td class="desc">Key and door input routines </td></tr>
-<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lines_8cpp.html" target="_self">lines.cpp</a></td><td class="desc">Line </td></tr>
-<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="panel_8cpp.html" target="_self">panel.cpp</a></td><td class="desc">Panels and Menus </td></tr>
-<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="utf8_8h_source.html"><span class="icondoc"></span></a><b>utf8.h</b></td><td class="desc"></td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="lines_8cpp.html" target="_self">lines.cpp</a></td><td class="desc">Line </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="panel_8cpp.html" target="_self">panel.cpp</a></td><td class="desc">Panels and Menus </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="utf8_8h_source.html"><span class="icondoc"></span></a><b>utf8.h</b></td><td class="desc"></td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->

+ 113 - 4
functions.html

@@ -76,6 +76,9 @@ $(function() {
 <li>Attr()
 : <a class="el" href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">door::ANSIColor</a>
 </li>
+<li>attr()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">door::ANSIColor</a>
+</li>
 </ul>
 
 
@@ -117,13 +120,37 @@ $(function() {
 <li>convert()
 : <a class="el" href="classdoor_1_1IConv.html#a65f19364b9b6a219dd88e8d8f18db8dc">door::IConv</a>
 </li>
+<li>cx
+: <a class="el" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">door::Door</a>
+</li>
+<li>cy
+: <a class="el" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">door::Door</a>
+</li>
 </ul>
 
 
 <h3><a id="index_d"></a>- d -</h3><ul>
+<li>debug()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">door::ANSIColor</a>
+</li>
+<li>debug_buffer
+: <a class="el" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">door::Door</a>
+</li>
+<li>detect_unicode_and_screen()
+: <a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">door::Door</a>
+</li>
 <li>Door()
 : <a class="el" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">door::Door</a>
 </li>
+<li>doorname
+: <a class="el" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">door::Door</a>
+</li>
+<li>dropfilelines
+: <a class="el" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">door::Door</a>
+</li>
+<li>dropfilename
+: <a class="el" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">door::Door</a>
+</li>
 </ul>
 
 
@@ -141,19 +168,46 @@ $(function() {
 <li>get_one_of()
 : <a class="el" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">door::Door</a>
 </li>
+<li>getBg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">door::ANSIColor</a>
+</li>
+<li>getch()
+: <a class="el" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">door::Door</a>
+</li>
+<li>getFg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">door::ANSIColor</a>
+</li>
+<li>getkey()
+: <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">door::Door</a>
+</li>
+<li>getkey_or_pushback()
+: <a class="el" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">door::Door</a>
+</li>
 <li>Goto()
-: <a class="el" href="classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a">door::Goto</a>
+: <a class="el" href="classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7">door::Goto</a>
 </li>
 </ul>
 
 
 <h3><a id="index_h"></a>- h -</h3><ul>
+<li>handle
+: <a class="el" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">door::Door</a>
+</li>
+<li>has_dropfile
+: <a class="el" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">door::Door</a>
+</li>
 <li>hasColor
 : <a class="el" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">door::Line</a>
 </li>
+<li>haskey()
+: <a class="el" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">door::Door</a>
+</li>
 <li>hasRender()
 : <a class="el" href="classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2">door::Line</a>
 </li>
+<li>height
+: <a class="el" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">door::Door</a>
+</li>
 </ul>
 
 
@@ -161,6 +215,9 @@ $(function() {
 <li>IConv()
 : <a class="el" href="classdoor_1_1IConv.html#aa201b347d3982a6b96fc66a9edb36279">door::IConv</a>
 </li>
+<li>inactivity
+: <a class="el" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">door::Door</a>
+</li>
 <li>input_string()
 : <a class="el" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">door::Door</a>
 </li>
@@ -178,7 +235,7 @@ $(function() {
 : <a class="el" href="classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994">door::Line</a>
 </li>
 <li>Line()
-: <a class="el" href="classdoor_1_1Line.html#ab4a8aca94290fdfe126d5dd290a6faf2">door::Line</a>
+: <a class="el" href="classdoor_1_1Line.html#acce7f7ed662df9d0b56b8817eb1e2baa">door::Line</a>
 </li>
 <li>lines
 : <a class="el" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">door::Panel</a>
@@ -186,9 +243,15 @@ $(function() {
 <li>lineSetBack()
 : <a class="el" href="classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb">door::Panel</a>
 </li>
+<li>location
+: <a class="el" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">door::Door</a>
+</li>
 <li>log()
 : <a class="el" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">door::Door</a>
 </li>
+<li>logf
+: <a class="el" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">door::Door</a>
+</li>
 </ul>
 
 
@@ -212,6 +275,9 @@ $(function() {
 <li>NewLine()
 : <a class="el" href="classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a">door::NewLine</a>
 </li>
+<li>node
+: <a class="el" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">door::Door</a>
+</li>
 </ul>
 
 
@@ -231,6 +297,9 @@ $(function() {
 <li>operator==()
 : <a class="el" href="classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87">door::ANSIColor</a>
 </li>
+<li>opt
+: <a class="el" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">door::Door</a>
+</li>
 <li>output()
 : <a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">door::ANSIColor</a>
 , <a class="el" href="classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b">door::Render</a>
@@ -278,20 +347,29 @@ $(function() {
 
 
 <h3><a id="index_s"></a>- s -</h3><ul>
+<li>seconds_elapsed
+: <a class="el" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">door::Door</a>
+</li>
 <li>set()
 : <a class="el" href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">door::Panel</a>
 </li>
+<li>setBg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">door::ANSIColor</a>
+</li>
 <li>setColor()
 : <a class="el" href="classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae">door::Line</a>
 </li>
+<li>setFg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">door::ANSIColor</a>
+</li>
 <li>setPadding()
-: <a class="el" href="classdoor_1_1Line.html#a1a21ca77a2d7f261cf6946c85bd596cb">door::Line</a>
+: <a class="el" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">door::Line</a>
 </li>
 <li>setRender()
 : <a class="el" href="classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce">door::Line</a>
 </li>
 <li>setText()
-: <a class="el" href="classdoor_1_1Line.html#a0d9e536c943d5ba0861195b2d3b491c1">door::Line</a>
+: <a class="el" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">door::Line</a>
 </li>
 <li>setUpdater()
 : <a class="el" href="classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049">door::Line</a>
@@ -305,6 +383,12 @@ $(function() {
 <li>spacer_line()
 : <a class="el" href="classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561">door::Panel</a>
 </li>
+<li>stop_thread
+: <a class="el" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">door::Door</a>
+</li>
+<li>sysop
+: <a class="el" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">door::Door</a>
+</li>
 </ul>
 
 
@@ -313,6 +397,18 @@ $(function() {
 : <a class="el" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">door::Line</a>
 , <a class="el" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">door::Render</a>
 </li>
+<li>time_left
+: <a class="el" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">door::Door</a>
+</li>
+<li>time_thread
+: <a class="el" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">door::Door</a>
+</li>
+<li>time_used
+: <a class="el" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">door::Door</a>
+</li>
+<li>tio_default
+: <a class="el" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">door::Door</a>
+</li>
 <li>tl
 : <a class="el" href="structdoor_1_1box__styles.html#a7072dc5084e6cf1040cd2e3667046ed9">door::box_styles</a>
 </li>
@@ -322,6 +418,9 @@ $(function() {
 <li>tr
 : <a class="el" href="structdoor_1_1box__styles.html#af444f493abe3213724e3ee839871266f">door::box_styles</a>
 </li>
+<li>track
+: <a class="el" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">door::Door</a>
+</li>
 </ul>
 
 
@@ -333,6 +432,16 @@ $(function() {
 <li>updater
 : <a class="el" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">door::Line</a>
 </li>
+<li>username
+: <a class="el" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">door::Door</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>width
+: <a class="el" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">door::Door</a>
+</li>
 </ul>
 
 

+ 35 - 2
functions_func.html

@@ -76,6 +76,9 @@ $(function() {
 <li>Attr()
 : <a class="el" href="classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7">door::ANSIColor</a>
 </li>
+<li>attr()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825">door::ANSIColor</a>
+</li>
 </ul>
 
 
@@ -96,6 +99,12 @@ $(function() {
 
 
 <h3><a id="index_d"></a>- d -</h3><ul>
+<li>debug()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84">door::ANSIColor</a>
+</li>
+<li>detect_unicode_and_screen()
+: <a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">door::Door</a>
+</li>
 <li>Door()
 : <a class="el" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">door::Door</a>
 </li>
@@ -113,6 +122,21 @@ $(function() {
 <li>get_one_of()
 : <a class="el" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">door::Door</a>
 </li>
+<li>getBg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5">door::ANSIColor</a>
+</li>
+<li>getch()
+: <a class="el" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">door::Door</a>
+</li>
+<li>getFg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35">door::ANSIColor</a>
+</li>
+<li>getkey()
+: <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">door::Door</a>
+</li>
+<li>getkey_or_pushback()
+: <a class="el" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">door::Door</a>
+</li>
 <li>Goto()
 : <a class="el" href="classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a">door::Goto</a>
 </li>
@@ -120,6 +144,9 @@ $(function() {
 
 
 <h3><a id="index_h"></a>- h -</h3><ul>
+<li>haskey()
+: <a class="el" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">door::Door</a>
+</li>
 <li>hasRender()
 : <a class="el" href="classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2">door::Line</a>
 </li>
@@ -200,17 +227,23 @@ $(function() {
 <li>set()
 : <a class="el" href="classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c">door::Panel</a>
 </li>
+<li>setBg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1">door::ANSIColor</a>
+</li>
 <li>setColor()
 : <a class="el" href="classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae">door::Line</a>
 </li>
+<li>setFg()
+: <a class="el" href="classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15">door::ANSIColor</a>
+</li>
 <li>setPadding()
-: <a class="el" href="classdoor_1_1Line.html#a1a21ca77a2d7f261cf6946c85bd596cb">door::Line</a>
+: <a class="el" href="classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6">door::Line</a>
 </li>
 <li>setRender()
 : <a class="el" href="classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce">door::Line</a>
 </li>
 <li>setText()
-: <a class="el" href="classdoor_1_1Line.html#a0d9e536c943d5ba0861195b2d3b491c1">door::Line</a>
+: <a class="el" href="classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784">door::Line</a>
 </li>
 <li>setUpdater()
 : <a class="el" href="classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049">door::Line</a>

+ 84 - 0
functions_vars.html

@@ -89,6 +89,28 @@ $(function() {
 <li>color
 : <a class="el" href="classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed">door::Line</a>
 </li>
+<li>cx
+: <a class="el" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">door::Door</a>
+</li>
+<li>cy
+: <a class="el" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">door::Door</a>
+</li>
+</ul>
+
+
+<h3><a id="index_d"></a>- d -</h3><ul>
+<li>debug_buffer
+: <a class="el" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">door::Door</a>
+</li>
+<li>doorname
+: <a class="el" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">door::Door</a>
+</li>
+<li>dropfilelines
+: <a class="el" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">door::Door</a>
+</li>
+<li>dropfilename
+: <a class="el" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">door::Door</a>
+</li>
 </ul>
 
 
@@ -100,13 +122,25 @@ $(function() {
 
 
 <h3><a id="index_h"></a>- h -</h3><ul>
+<li>handle
+: <a class="el" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">door::Door</a>
+</li>
+<li>has_dropfile
+: <a class="el" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">door::Door</a>
+</li>
 <li>hasColor
 : <a class="el" href="classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8">door::Line</a>
 </li>
+<li>height
+: <a class="el" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">door::Door</a>
+</li>
 </ul>
 
 
 <h3><a id="index_i"></a>- i -</h3><ul>
+<li>inactivity
+: <a class="el" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">door::Door</a>
+</li>
 <li>inverse
 : <a class="el" href="classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5">door::ANSIColor</a>
 </li>
@@ -120,6 +154,12 @@ $(function() {
 <li>lines
 : <a class="el" href="classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5">door::Panel</a>
 </li>
+<li>location
+: <a class="el" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">door::Door</a>
+</li>
+<li>logf
+: <a class="el" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">door::Door</a>
+</li>
 </ul>
 
 
@@ -133,7 +173,17 @@ $(function() {
 </ul>
 
 
+<h3><a id="index_n"></a>- n -</h3><ul>
+<li>node
+: <a class="el" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">door::Door</a>
+</li>
+</ul>
+
+
 <h3><a id="index_o"></a>- o -</h3><ul>
+<li>opt
+: <a class="el" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">door::Door</a>
+</li>
 <li>outputs
 : <a class="el" href="classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66">door::Render</a>
 </li>
@@ -170,9 +220,18 @@ $(function() {
 
 
 <h3><a id="index_s"></a>- s -</h3><ul>
+<li>seconds_elapsed
+: <a class="el" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">door::Door</a>
+</li>
 <li>side
 : <a class="el" href="structdoor_1_1box__styles.html#a6460a57a2a209669517babb4ab2f641f">door::box_styles</a>
 </li>
+<li>stop_thread
+: <a class="el" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">door::Door</a>
+</li>
+<li>sysop
+: <a class="el" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">door::Door</a>
+</li>
 </ul>
 
 
@@ -181,6 +240,18 @@ $(function() {
 : <a class="el" href="classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b">door::Line</a>
 , <a class="el" href="classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2">door::Render</a>
 </li>
+<li>time_left
+: <a class="el" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">door::Door</a>
+</li>
+<li>time_thread
+: <a class="el" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">door::Door</a>
+</li>
+<li>time_used
+: <a class="el" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">door::Door</a>
+</li>
+<li>tio_default
+: <a class="el" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">door::Door</a>
+</li>
 <li>tl
 : <a class="el" href="structdoor_1_1box__styles.html#a7072dc5084e6cf1040cd2e3667046ed9">door::box_styles</a>
 </li>
@@ -190,6 +261,9 @@ $(function() {
 <li>tr
 : <a class="el" href="structdoor_1_1box__styles.html#af444f493abe3213724e3ee839871266f">door::box_styles</a>
 </li>
+<li>track
+: <a class="el" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">door::Door</a>
+</li>
 </ul>
 
 
@@ -197,6 +271,16 @@ $(function() {
 <li>updater
 : <a class="el" href="classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949">door::Line</a>
 </li>
+<li>username
+: <a class="el" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">door::Door</a>
+</li>
+</ul>
+
+
+<h3><a id="index_w"></a>- w -</h3><ul>
+<li>width
+: <a class="el" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">door::Door</a>
+</li>
 </ul>
 
 

+ 9 - 9
index.html

@@ -205,22 +205,22 @@ $(function() {
 <div class="line">...</div>
 </div><!-- fragment --> </div></div><!-- PageDoc -->
 </div><!-- contents -->
-<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:193</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:186</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">door::ATTR::BOLD</a></div><div class="ttdeci">@ BOLD</div><div class="ttdoc">BOLD is the same as BRIGHT.</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749">door::COLOR::CYAN</a></div><div class="ttdeci">@ CYAN</div><div class="ttdoc">CYAN (6)</div></div>
-<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>
-<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:672</div></div>
-<div class="ttc" id="anamespacedoor_html_ad9c2405adaa0b5168bc53059b3a978c1"><div class="ttname"><a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></div><div class="ttdeci">std::function&lt; Render(const std::string &amp;)&gt; renderFunction</div><div class="ttdoc">Render output function.</div><div class="ttdef"><b>Definition:</b> door.h:341</div></div>
+<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:133</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:679</div></div>
+<div class="ttc" id="anamespacedoor_html_ad9c2405adaa0b5168bc53059b3a978c1"><div class="ttname"><a href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door::renderFunction</a></div><div class="ttdeci">std::function&lt; Render(const std::string &amp;)&gt; renderFunction</div><div class="ttdoc">Render output function.</div><div class="ttdef"><b>Definition:</b> door.h:348</div></div>
 <div class="ttc" id="anamespacedoor_html_a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693"><div class="ttname"><a href="namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693">door::BorderStyle::NONE</a></div><div class="ttdeci">@ NONE</div><div class="ttdoc">NONE (0)</div></div>
-<div class="ttc" id="aclassdoor_1_1Line_html"><div class="ttname"><a href="classdoor_1_1Line.html">door::Line</a></div><div class="ttdoc">Text and ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:488</div></div>
-<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>
-<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1249</div></div>
+<div class="ttc" id="aclassdoor_1_1Line_html"><div class="ttname"><a href="classdoor_1_1Line.html">door::Line</a></div><div class="ttdoc">Text and ANSIColor.</div><div class="ttdef"><b>Definition:</b> door.h:495</div></div>
+<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:367</div></div>
+<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1291</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">door::COLOR::YELLOW</a></div><div class="ttdeci">@ YELLOW</div><div class="ttdoc">YELLOW (3)</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d">door::COLOR::WHITE</a></div><div class="ttdeci">@ WHITE</div><div class="ttdoc">WHITE (7)</div></div>
 <div class="ttc" id="anamespacedoor_html"><div class="ttname"><a href="namespacedoor.html">door</a></div><div class="ttdoc">The BBS door project. This is an attempt at writing a C++ BBS door toolkit.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:9</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:713</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_aff858b2112970b66917a30ad3c00609d"><div class="ttname"><a href="classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d">door::Menu::makeRender</a></div><div class="ttdeci">static renderFunction makeRender(ANSIColor c1, ANSIColor c2, ANSIColor c3, ANSIColor c4)</div><div class="ttdef"><b>Definition:</b> panel.cpp:712</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">door::COLOR::BLUE</a></div><div class="ttdeci">@ BLUE</div><div class="ttdoc">BLUE (4)</div></div>
-<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>
+<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:314</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 14 - 13
lines_8cpp.html

@@ -78,12 +78,12 @@ Include dependency graph for lines.cpp:</div>
 <div class="dyncontent">
 <div class="center"><img src="lines_8cpp__incl.png" border="0" usemap="#lines_8cpp" alt=""/></div>
 <map name="lines_8cpp" id="lines_8cpp">
-<area shape="rect" title="Line." alt="" coords="1393,5,1473,32"/>
-<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="605,87,667,114"/>
-<area shape="rect" href="utf8_8h_source.html" title=" " alt="" coords="1225,87,1285,114"/>
-<area shape="rect" title=" " alt="" coords="1309,80,1557,121"/>
-<area shape="rect" title=" " alt="" coords="1581,87,1651,114"/>
-<area shape="rect" title=" " alt="" coords="1675,87,1762,114"/>
+<area shape="rect" title="Line." alt="" coords="1460,5,1540,32"/>
+<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="647,87,710,114"/>
+<area shape="rect" href="utf8_8h_source.html" title=" " alt="" coords="1291,87,1351,114"/>
+<area shape="rect" title=" " alt="" coords="1376,80,1624,121"/>
+<area shape="rect" title=" " alt="" coords="1647,87,1718,114"/>
+<area shape="rect" title=" " alt="" coords="1742,87,1829,114"/>
 <area shape="rect" title=" " alt="" coords="5,169,104,196"/>
 <area shape="rect" title=" " alt="" coords="128,169,195,196"/>
 <area shape="rect" title=" " alt="" coords="219,169,277,196"/>
@@ -91,13 +91,14 @@ Include dependency graph for lines.cpp:</div>
 <area shape="rect" title=" " alt="" coords="399,169,486,196"/>
 <area shape="rect" title=" " alt="" coords="511,169,572,196"/>
 <area shape="rect" title=" " alt="" coords="596,169,676,196"/>
-<area shape="rect" title=" " alt="" coords="700,169,777,196"/>
-<area shape="rect" title=" " alt="" coords="802,169,878,196"/>
-<area shape="rect" title=" " alt="" coords="902,169,965,196"/>
-<area shape="rect" title=" " alt="" coords="989,169,1073,196"/>
-<area shape="rect" title=" " alt="" coords="1097,169,1172,196"/>
-<area shape="rect" title=" " alt="" coords="1196,169,1313,196"/>
-<area shape="rect" title=" " alt="" coords="1337,169,1471,196"/>
+<area shape="rect" title=" " alt="" coords="700,169,743,196"/>
+<area shape="rect" title=" " alt="" coords="767,169,844,196"/>
+<area shape="rect" title=" " alt="" coords="869,169,945,196"/>
+<area shape="rect" title=" " alt="" coords="969,169,1031,196"/>
+<area shape="rect" title=" " alt="" coords="1055,169,1139,196"/>
+<area shape="rect" title=" " alt="" coords="1164,169,1239,196"/>
+<area shape="rect" title=" " alt="" coords="1263,169,1380,196"/>
+<area shape="rect" title=" " alt="" coords="1404,169,1537,196"/>
 </map>
 </div>
 </div><table class="memberdecls">

+ 14 - 13
lines_8cpp__incl.map

@@ -1,10 +1,10 @@
 <map id="lines.cpp" name="lines.cpp">
-<area shape="rect" id="node1" title="Line." alt="" coords="1393,5,1473,32"/>
-<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="605,87,667,114"/>
-<area shape="rect" id="node15" href="$utf8_8h_source.html" title=" " alt="" coords="1225,87,1285,114"/>
-<area shape="rect" id="node18" title=" " alt="" coords="1309,80,1557,121"/>
-<area shape="rect" id="node19" title=" " alt="" coords="1581,87,1651,114"/>
-<area shape="rect" id="node20" title=" " alt="" coords="1675,87,1762,114"/>
+<area shape="rect" id="node1" title="Line." alt="" coords="1460,5,1540,32"/>
+<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="647,87,710,114"/>
+<area shape="rect" id="node16" href="$utf8_8h_source.html" title=" " alt="" coords="1291,87,1351,114"/>
+<area shape="rect" id="node19" title=" " alt="" coords="1376,80,1624,121"/>
+<area shape="rect" id="node20" title=" " alt="" coords="1647,87,1718,114"/>
+<area shape="rect" id="node21" title=" " alt="" coords="1742,87,1829,114"/>
 <area shape="rect" id="node3" title=" " alt="" coords="5,169,104,196"/>
 <area shape="rect" id="node4" title=" " alt="" coords="128,169,195,196"/>
 <area shape="rect" id="node5" title=" " alt="" coords="219,169,277,196"/>
@@ -12,11 +12,12 @@
 <area shape="rect" id="node7" title=" " alt="" coords="399,169,486,196"/>
 <area shape="rect" id="node8" title=" " alt="" coords="511,169,572,196"/>
 <area shape="rect" id="node9" title=" " alt="" coords="596,169,676,196"/>
-<area shape="rect" id="node10" title=" " alt="" coords="700,169,777,196"/>
-<area shape="rect" id="node11" title=" " alt="" coords="802,169,878,196"/>
-<area shape="rect" id="node12" title=" " alt="" coords="902,169,965,196"/>
-<area shape="rect" id="node13" title=" " alt="" coords="989,169,1073,196"/>
-<area shape="rect" id="node14" title=" " alt="" coords="1097,169,1172,196"/>
-<area shape="rect" id="node16" title=" " alt="" coords="1196,169,1313,196"/>
-<area shape="rect" id="node17" title=" " alt="" coords="1337,169,1471,196"/>
+<area shape="rect" id="node10" title=" " alt="" coords="700,169,743,196"/>
+<area shape="rect" id="node11" title=" " alt="" coords="767,169,844,196"/>
+<area shape="rect" id="node12" title=" " alt="" coords="869,169,945,196"/>
+<area shape="rect" id="node13" title=" " alt="" coords="969,169,1031,196"/>
+<area shape="rect" id="node14" title=" " alt="" coords="1055,169,1139,196"/>
+<area shape="rect" id="node15" title=" " alt="" coords="1164,169,1239,196"/>
+<area shape="rect" id="node17" title=" " alt="" coords="1263,169,1380,196"/>
+<area shape="rect" id="node18" title=" " alt="" coords="1404,169,1537,196"/>
 </map>

+ 1 - 1
lines_8cpp__incl.md5

@@ -1 +1 @@
-9337a5b897b742006e418152cb8dd06d
+e3635e751f4abde0ba8f276fd337bb24

BIN
lines_8cpp__incl.png


+ 10 - 10
menu-example_8cpp-example.html

@@ -119,19 +119,19 @@ $(function() {
 <div class="line">  <a class="code" href="namespacedoor.html">door</a> &lt;&lt; <a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a> &lt;&lt; <span class="stringliteral">&quot;Returing to BBS... &quot;</span> &lt;&lt; <a class="code" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a>;</div>
 <div class="line">}</div>
 </div><!-- fragment --> </div><!-- contents -->
-<div class="ttc" id="aclassdoor_1_1Goto_html"><div class="ttname"><a href="classdoor_1_1Goto.html">door::Goto</a></div><div class="ttdoc">ANSI Goto X, Y position.</div><div class="ttdef"><b>Definition:</b> door.h:411</div></div>
-<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:193</div></div>
+<div class="ttc" id="aclassdoor_1_1Goto_html"><div class="ttname"><a href="classdoor_1_1Goto.html">door::Goto</a></div><div class="ttdoc">ANSI Goto X, Y position.</div><div class="ttdef"><b>Definition:</b> door.h:418</div></div>
+<div class="ttc" id="aclassdoor_1_1Door_html"><div class="ttname"><a href="classdoor_1_1Door.html">door::Door</a></div><div class="ttdef"><b>Definition:</b> door.h:186</div></div>
 <div class="ttc" id="anamespacedoor_html_add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19"><div class="ttname"><a href="namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19">door::ATTR::BOLD</a></div><div class="ttdeci">@ BOLD</div><div class="ttdoc">BOLD is the same as BRIGHT.</div></div>
-<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>
-<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:672</div></div>
-<div class="ttc" id="anamespacedoor_html_ac70193caf66e4b9aed1529593727a6eb"><div class="ttname"><a href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">door::cls</a></div><div class="ttdeci">Clrscr cls</div><div class="ttdef"><b>Definition:</b> door.cpp:1221</div></div>
-<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>
-<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1249</div></div>
-<div class="ttc" id="aclassdoor_1_1Panel_html_a57234d5f1d891ed8f9ea9c8c9be7aed4"><div class="ttname"><a href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">door::Panel::update</a></div><div class="ttdeci">bool update(Door &amp;d)</div><div class="ttdoc">Updates a panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:274</div></div>
+<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:133</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html"><div class="ttname"><a href="classdoor_1_1Menu.html">door::Menu</a></div><div class="ttdef"><b>Definition:</b> door.h:679</div></div>
+<div class="ttc" id="anamespacedoor_html_ac70193caf66e4b9aed1529593727a6eb"><div class="ttname"><a href="namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb">door::cls</a></div><div class="ttdeci">Clrscr cls</div><div class="ttdef"><b>Definition:</b> door.cpp:1263</div></div>
+<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:367</div></div>
+<div class="ttc" id="anamespacedoor_html_a36352ded72aee66b10e1bda6d3d8efb8"><div class="ttname"><a href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door::nl</a></div><div class="ttdeci">NewLine nl</div><div class="ttdef"><b>Definition:</b> door.cpp:1291</div></div>
+<div class="ttc" id="aclassdoor_1_1Panel_html_a57234d5f1d891ed8f9ea9c8c9be7aed4"><div class="ttname"><a href="classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4">door::Panel::update</a></div><div class="ttdeci">bool update(Door &amp;d)</div><div class="ttdoc">Updates a panel.</div><div class="ttdef"><b>Definition:</b> panel.cpp:273</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e">door::COLOR::YELLOW</a></div><div class="ttdeci">@ YELLOW</div><div class="ttdoc">YELLOW (3)</div></div>
-<div class="ttc" id="anamespacedoor_html_ae3a70989c43f6cb3522308af748b4481"><div class="ttname"><a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">door::reset</a></div><div class="ttdeci">ANSIColor reset(ATTR::RESET)</div><div class="ttdoc">reset colors to normal</div><div class="ttdef"><b>Definition:</b> door.h:400</div></div>
+<div class="ttc" id="anamespacedoor_html_ae3a70989c43f6cb3522308af748b4481"><div class="ttname"><a href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">door::reset</a></div><div class="ttdeci">ANSIColor reset(ATTR::RESET)</div><div class="ttdoc">reset colors to normal</div><div class="ttdef"><b>Definition:</b> door.h:407</div></div>
 <div class="ttc" id="anamespacedoor_html"><div class="ttname"><a href="namespacedoor.html">door</a></div><div class="ttdoc">The BBS door project. This is an attempt at writing a C++ BBS door toolkit.</div><div class="ttdef"><b>Definition:</b> ansicolor.cpp:9</div></div>
-<div class="ttc" id="aclassdoor_1_1Menu_html_a06da9157cc5984510153a6b93bf2e71e"><div class="ttname"><a href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">door::Menu::choose</a></div><div class="ttdeci">int choose(Door &amp;door)</div><div class="ttdef"><b>Definition:</b> panel.cpp:758</div></div>
+<div class="ttc" id="aclassdoor_1_1Menu_html_a06da9157cc5984510153a6b93bf2e71e"><div class="ttname"><a href="classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e">door::Menu::choose</a></div><div class="ttdeci">int choose(Door &amp;door)</div><div class="ttdef"><b>Definition:</b> panel.cpp:757</div></div>
 <div class="ttc" id="anamespacedoor_html_abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f"><div class="ttname"><a href="namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f">door::COLOR::BLUE</a></div><div class="ttdeci">@ BLUE</div><div class="ttdoc">BLUE (4)</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>

+ 6 - 6
menudata.js

@@ -35,6 +35,7 @@ var menudata={children:[
 {text:"j",url:"namespacemembers.html#index_j"},
 {text:"n",url:"namespacemembers.html#index_n"},
 {text:"o",url:"namespacemembers.html#index_o"},
+{text:"p",url:"namespacemembers.html#index_p"},
 {text:"r",url:"namespacemembers.html#index_r"},
 {text:"s",url:"namespacemembers.html#index_s"},
 {text:"t",url:"namespacemembers.html#index_t"},
@@ -66,6 +67,7 @@ var menudata={children:[
 {text:"s",url:"functions.html#index_s"},
 {text:"t",url:"functions.html#index_t"},
 {text:"u",url:"functions.html#index_u"},
+{text:"w",url:"functions.html#index_w"},
 {text:"x",url:"functions.html#index_x"},
 {text:"y",url:"functions.html#index_y"}]},
 {text:"Functions",url:"functions_func.html",children:[
@@ -87,25 +89,23 @@ var menudata={children:[
 {text:"Variables",url:"functions_vars.html",children:[
 {text:"b",url:"functions_vars.html#index_b"},
 {text:"c",url:"functions_vars.html#index_c"},
+{text:"d",url:"functions_vars.html#index_d"},
 {text:"f",url:"functions_vars.html#index_f"},
 {text:"h",url:"functions_vars.html#index_h"},
 {text:"i",url:"functions_vars.html#index_i"},
 {text:"l",url:"functions_vars.html#index_l"},
 {text:"m",url:"functions_vars.html#index_m"},
+{text:"n",url:"functions_vars.html#index_n"},
 {text:"o",url:"functions_vars.html#index_o"},
 {text:"p",url:"functions_vars.html#index_p"},
 {text:"r",url:"functions_vars.html#index_r"},
 {text:"s",url:"functions_vars.html#index_s"},
 {text:"t",url:"functions_vars.html#index_t"},
 {text:"u",url:"functions_vars.html#index_u"},
+{text:"w",url:"functions_vars.html#index_w"},
 {text:"x",url:"functions_vars.html#index_x"},
 {text:"y",url:"functions_vars.html#index_y"}]},
 {text:"Related Functions",url:"functions_rela.html"}]}]},
 {text:"Files",url:"files.html",children:[
-{text:"File List",url:"files.html"},
-{text:"File Members",url:"globals.html",children:[
-{text:"All",url:"globals.html"},
-{text:"Functions",url:"globals_func.html"},
-{text:"Variables",url:"globals_vars.html"},
-{text:"Macros",url:"globals_defs.html"}]}]},
+{text:"File List",url:"files.html"}]},
 {text:"Examples",url:"examples.html"}]}

+ 37 - 18
namespacedoor.html

@@ -175,7 +175,7 @@ Functions</h2></td></tr>
 <tr class="memdesc:afa94e91868d469077e4d3b400dedfd6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert string to lowercase  <a href="namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c">More...</a><br /></td></tr>
 <tr class="separator:afa94e91868d469077e4d3b400dedfd6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">replace</a> (std::string &amp;str, const std::string &amp;from, const std::string &amp;to)</td></tr>
-<tr class="memdesc:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all instances of from with to.  <a href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">More...</a><br /></td></tr>
+<tr class="memdesc:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces one string with another once.  <a href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">More...</a><br /></td></tr>
 <tr class="separator:acba445fc4d33e1b0c1ff2b648cc2899d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">replace</a> (std::string &amp;str, const char *from, const char *to)</td></tr>
 <tr class="memdesc:a5cc0209e9203231d1bdb1e6b7f0876c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace all instances of from with to.  <a href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">More...</a><br /></td></tr>
@@ -209,6 +209,9 @@ Variables</h2></td></tr>
 <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>
 <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>
 <tr class="separator:ae3a70989c43f6cb3522308af748b4481"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memItemLeft" align="right" valign="top">std::list&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">pushback</a></td></tr>
+<tr class="memdesc:a64600b79b9b73f4705859ce4efb1a2fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">pushback buffer for keys.  <a href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">More...</a><br /></td></tr>
+<tr class="separator:a64600b79b9b73f4705859ce4efb1a2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a1626abff63f7a1b9dc696969c860283b"><td class="memItemLeft" align="right" valign="top"><a id="a1626abff63f7a1b9dc696969c860283b"></a>
 bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#a1626abff63f7a1b9dc696969c860283b">unicode</a> = false</td></tr>
 <tr class="memdesc:a1626abff63f7a1b9dc696969c860283b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was unicode detected? <br /></td></tr>
@@ -217,8 +220,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="name
 <tr class="memdesc:aeade8b521c7f95755fdb166727c2b87c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Was full CP437 detected?  <a href="namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c">More...</a><br /></td></tr>
 <tr class="separator:aeade8b521c7f95755fdb166727c2b87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:ac39a1dfdb8dec210d28133625f860bc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">debug_capture</a> = false</td></tr>
-<tr class="memdesc:ac39a1dfdb8dec210d28133625f860bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture the output for debugging. <br  />
-  <a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">More...</a><br /></td></tr>
+<tr class="memdesc:ac39a1dfdb8dec210d28133625f860bc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Capture the output for debugging.  <a href="namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1">More...</a><br /></td></tr>
 <tr class="separator:ac39a1dfdb8dec210d28133625f860bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <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>
 <tr class="separator:ac70193caf66e4b9aed1529593727a6eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -769,11 +771,11 @@ const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href
 </div><div class="memdoc">
 
 <p>Outputs screen to stream. </p>
-<p>This iterates over the panels, and renders them. See <a class="el" href="classdoor_1_1Panel.html">door::Panel</a></p>
+<p>This iterates over panels, and outputs them. See <a class="el" href="classdoor_1_1Panel.html">door::Panel</a></p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">os</td><td></td></tr>
-    <tr><td class="paramname">s</td><td></td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">os</td><td>Stream </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">s</td><td><a class="el" href="classdoor_1_1Screen.html">Screen</a> to send </td></tr>
   </table>
   </dd>
 </dl>
@@ -860,12 +862,13 @@ false </dd></dl>
       </table>
 </div><div class="memdoc">
 
-<p>Replace all instances of from with to. </p>
+<p>Replaces one string with another once. </p>
+<p>Returns true if replaced.</p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">str</td><td></td></tr>
-    <tr><td class="paramname">from</td><td></td></tr>
-    <tr><td class="paramname">to</td><td></td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">str</td><td>String to modify </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">from</td><td>String to search for </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">to</td><td>String to replace with </td></tr>
   </table>
   </dd>
 </dl>
@@ -957,7 +960,7 @@ false </dd></dl>
       </table>
 </div><div class="memdoc">
 <p>Clear the BBS terminal. </p>
-<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>
+<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a2">menu-example.cpp</a>.</dd>
 </dl>
 
 </div>
@@ -974,8 +977,7 @@ false </dd></dl>
       </table>
 </div><div class="memdoc">
 
-<p>Capture the output for debugging. <br  />
- </p>
+<p>Capture the output for debugging. </p>
 <p>This is used by the tests. </p>
 
 </div>
@@ -1034,9 +1036,26 @@ false </dd></dl>
       </table>
 </div><div class="memdoc">
 <p>CRLF </p>
-<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>
+<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a3">menu-example.cpp</a>.</dd>
 </dl>
 
+</div>
+</div>
+<a id="a64600b79b9b73f4705859ce4efb1a2fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64600b79b9b73f4705859ce4efb1a2fd">&#9670;&nbsp;</a></span>pushback</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">std::list&lt; char &gt; door::pushback</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>pushback buffer for keys. </p>
+<p>This allows us to peek ahead and push back characters we're not interested it. It also allows us to test the <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">Door::getkey</a> function. </p>
+
 </div>
 </div>
 <a id="a3274dff22ddb19a3e429a703ee6f3e57"></a>
@@ -1084,7 +1103,7 @@ false </dd></dl>
 
 <p>reset colors to normal </p>
 <p>This resets the colors to normal state. </p>
-<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>
+<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#a1">menu-example.cpp</a>.</dd>
 </dl>
 
 </div>
@@ -1140,9 +1159,9 @@ false </dd></dl>
 </div>
 </div>
 </div><!-- contents -->
-<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>
-<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>
-<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>
+<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:133</div></div>
+<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:367</div></div>
+<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:314</div></div>
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">

+ 8 - 1
namespacemembers.html

@@ -131,6 +131,13 @@ $(function() {
 </ul>
 
 
+<h3><a id="index_p"></a>- p -</h3><ul>
+<li>pushback
+: <a class="el" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">door</a>
+</li>
+</ul>
+
+
 <h3><a id="index_r"></a>- r -</h3><ul>
 <li>rBlueYellow
 : <a class="el" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">door</a>
@@ -139,7 +146,7 @@ $(function() {
 : <a class="el" href="namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1">door</a>
 </li>
 <li>replace()
-: <a class="el" href="namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d">door</a>
+: <a class="el" href="namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3">door</a>
 </li>
 <li>reset
 : <a class="el" href="namespacedoor.html#ae3a70989c43f6cb3522308af748b4481">door</a>

+ 3 - 0
namespacemembers_vars.html

@@ -80,6 +80,9 @@ $(function() {
 <li>nl
 : <a class="el" href="namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8">door</a>
 </li>
+<li>pushback
+: <a class="el" href="namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd">door</a>
+</li>
 <li>rBlueYellow
 : <a class="el" href="namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57">door</a>
 </li>

+ 10 - 9
panel_8cpp.html

@@ -81,10 +81,10 @@ Include dependency graph for panel.cpp:</div>
 <div class="dyncontent">
 <div class="center"><img src="panel_8cpp__incl.png" border="0" usemap="#panel_8cpp" alt=""/></div>
 <map name="panel_8cpp" id="panel_8cpp">
-<area shape="rect" title="Panels and Menus." alt="" coords="623,5,708,32"/>
-<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="557,80,619,107"/>
-<area shape="rect" title=" " alt="" coords="644,80,687,107"/>
-<area shape="rect" title=" " alt="" coords="711,80,782,107"/>
+<area shape="rect" title="Panels and Menus." alt="" coords="671,5,756,32"/>
+<area shape="rect" href="door_8h_source.html" title=" " alt="" coords="605,80,667,107"/>
+<area shape="rect" title=" " alt="" coords="692,80,735,107"/>
+<area shape="rect" title=" " alt="" coords="759,80,830,107"/>
 <area shape="rect" title=" " alt="" coords="5,155,104,181"/>
 <area shape="rect" title=" " alt="" coords="128,155,195,181"/>
 <area shape="rect" title=" " alt="" coords="219,155,277,181"/>
@@ -92,11 +92,12 @@ Include dependency graph for panel.cpp:</div>
 <area shape="rect" title=" " alt="" coords="399,155,486,181"/>
 <area shape="rect" title=" " alt="" coords="511,155,572,181"/>
 <area shape="rect" title=" " alt="" coords="596,155,676,181"/>
-<area shape="rect" title=" " alt="" coords="700,155,777,181"/>
-<area shape="rect" title=" " alt="" coords="802,155,878,181"/>
-<area shape="rect" title=" " alt="" coords="902,155,965,181"/>
-<area shape="rect" title=" " alt="" coords="989,155,1073,181"/>
-<area shape="rect" title=" " alt="" coords="1097,155,1172,181"/>
+<area shape="rect" title=" " alt="" coords="700,155,743,181"/>
+<area shape="rect" title=" " alt="" coords="767,155,844,181"/>
+<area shape="rect" title=" " alt="" coords="869,155,945,181"/>
+<area shape="rect" title=" " alt="" coords="969,155,1031,181"/>
+<area shape="rect" title=" " alt="" coords="1055,155,1139,181"/>
+<area shape="rect" title=" " alt="" coords="1164,155,1239,181"/>
 </map>
 </div>
 </div><table class="memberdecls">

+ 10 - 9
panel_8cpp__incl.map

@@ -1,8 +1,8 @@
 <map id="panel.cpp" name="panel.cpp">
-<area shape="rect" id="node1" title="Panels and Menus." alt="" coords="623,5,708,32"/>
-<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="557,80,619,107"/>
-<area shape="rect" id="node15" title=" " alt="" coords="644,80,687,107"/>
-<area shape="rect" id="node16" title=" " alt="" coords="711,80,782,107"/>
+<area shape="rect" id="node1" title="Panels and Menus." alt="" coords="671,5,756,32"/>
+<area shape="rect" id="node2" href="$door_8h_source.html" title=" " alt="" coords="605,80,667,107"/>
+<area shape="rect" id="node16" title=" " alt="" coords="692,80,735,107"/>
+<area shape="rect" id="node17" title=" " alt="" coords="759,80,830,107"/>
 <area shape="rect" id="node3" title=" " alt="" coords="5,155,104,181"/>
 <area shape="rect" id="node4" title=" " alt="" coords="128,155,195,181"/>
 <area shape="rect" id="node5" title=" " alt="" coords="219,155,277,181"/>
@@ -10,9 +10,10 @@
 <area shape="rect" id="node7" title=" " alt="" coords="399,155,486,181"/>
 <area shape="rect" id="node8" title=" " alt="" coords="511,155,572,181"/>
 <area shape="rect" id="node9" title=" " alt="" coords="596,155,676,181"/>
-<area shape="rect" id="node10" title=" " alt="" coords="700,155,777,181"/>
-<area shape="rect" id="node11" title=" " alt="" coords="802,155,878,181"/>
-<area shape="rect" id="node12" title=" " alt="" coords="902,155,965,181"/>
-<area shape="rect" id="node13" title=" " alt="" coords="989,155,1073,181"/>
-<area shape="rect" id="node14" title=" " alt="" coords="1097,155,1172,181"/>
+<area shape="rect" id="node10" title=" " alt="" coords="700,155,743,181"/>
+<area shape="rect" id="node11" title=" " alt="" coords="767,155,844,181"/>
+<area shape="rect" id="node12" title=" " alt="" coords="869,155,945,181"/>
+<area shape="rect" id="node13" title=" " alt="" coords="969,155,1031,181"/>
+<area shape="rect" id="node14" title=" " alt="" coords="1055,155,1139,181"/>
+<area shape="rect" id="node15" title=" " alt="" coords="1164,155,1239,181"/>
 </map>

+ 1 - 1
panel_8cpp__incl.md5

@@ -1 +1 @@
-8b1c2c1fd49d86d95a1e9d725692dabc
+da676929003c6c295d8ab1f7d55df785

BIN
panel_8cpp__incl.png


+ 1 - 1
search/all_0.js

@@ -4,5 +4,5 @@ var searchData=
   ['ansicolor_1',['ANSIColor',['../classdoor_1_1ANSIColor.html',1,'door::ANSIColor'],['../classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50',1,'door::ANSIColor::ANSIColor()'],['../classdoor_1_1ANSIColor.html#a896a1733336c8d428a75273c42d3c522',1,'door::ANSIColor::ANSIColor(ATTR a)'],['../classdoor_1_1ANSIColor.html#a40613126b2df46cf18eaec22d09d9a5e',1,'door::ANSIColor::ANSIColor(COLOR f)'],['../classdoor_1_1ANSIColor.html#abf47e5ea1fe91c4a3bb0510426409b7a',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a)'],['../classdoor_1_1ANSIColor.html#ab9d4dfb2b6c6185942d3b415e793e167',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a1, ATTR a2)'],['../classdoor_1_1ANSIColor.html#a59952a60cc039b0c101db8fb0a9f0ed4',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b)'],['../classdoor_1_1ANSIColor.html#ae443d34754082a6217dbb7311f601385',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a)'],['../classdoor_1_1ANSIColor.html#a1723651e98446b8d3a7e9f20091de840',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a1, ATTR a2)']]],
   ['ansicolor_2ecpp_2',['ansicolor.cpp',['../ansicolor_8cpp.html',1,'']]],
   ['append_3',['append',['../classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e',1,'door::Render']]],
-  ['attr_4',['Attr',['../classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7',1,'door::ANSIColor::Attr()'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52',1,'door::ATTR()']]]
+  ['attr_4',['Attr',['../classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7',1,'door::ANSIColor::Attr(ATTR a)'],['../classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825',1,'door::ANSIColor::attr(ATTR a)'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52',1,'door::ATTR()']]]
 ];

+ 4 - 6
search/all_1.js

@@ -10,10 +10,8 @@ var searchData=
   ['borderstyle_12',['BorderStyle',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91',1,'door']]],
   ['box_5fstyles_13',['box_styles',['../structdoor_1_1box__styles.html',1,'door']]],
   ['boxes_14',['BOXES',['../namespacedoor.html#a018157cf945eeb22c9a1bc4fefff84ed',1,'door']]],
-  ['bpos_15',['bpos',['../getkey_8cpp.html#aaa0e5be04b9ee83acfdd443145061f47',1,'getkey.cpp']]],
-  ['br_16',['br',['../structdoor_1_1box__styles.html#a1ac4103c69f98b408b295533afecd320',1,'door::box_styles']]],
-  ['bright_17',['BRIGHT',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040',1,'door']]],
-  ['brown_18',['BROWN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488',1,'door']]],
-  ['buffer_19',['buffer',['../getkey_8cpp.html#a92dfe6e9243e862063a0c3869f784557',1,'getkey.cpp']]],
-  ['bug_20list_20',['Bug List',['../bug.html',1,'']]]
+  ['br_15',['br',['../structdoor_1_1box__styles.html#a1ac4103c69f98b408b295533afecd320',1,'door::box_styles']]],
+  ['bright_16',['BRIGHT',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040',1,'door']]],
+  ['brown_17',['BROWN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488',1,'door']]],
+  ['bug_20list_18',['Bug List',['../bug.html',1,'']]]
 ];

+ 11 - 7
search/all_10.js

@@ -1,10 +1,14 @@
 var searchData=
 [
-  ['text_105',['text',['../classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2',1,'door::Render::text()'],['../classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b',1,'door::Line::text()']]],
-  ['tio_5fdefault_106',['tio_default',['../getkey_8cpp.html#ac317ff25d1fad1066feec2dd66179eec',1,'getkey.cpp']]],
-  ['tl_107',['tl',['../structdoor_1_1box__styles.html#a7072dc5084e6cf1040cd2e3667046ed9',1,'door::box_styles']]],
-  ['to_5flower_108',['to_lower',['../namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c',1,'door']]],
-  ['todo_20list_109',['Todo List',['../todo.html',1,'']]],
-  ['top_110',['top',['../structdoor_1_1box__styles.html#aa491626e2734bc75c9c99eeff94c5425',1,'door::box_styles']]],
-  ['tr_111',['tr',['../structdoor_1_1box__styles.html#af444f493abe3213724e3ee839871266f',1,'door::box_styles']]]
+  ['text_125',['text',['../classdoor_1_1Render.html#ada0caea3ba255104474a2f0bfa94d6d2',1,'door::Render::text()'],['../classdoor_1_1Line.html#a2008c67026c41f33bc2c8cb5f9787f3b',1,'door::Line::text()']]],
+  ['time_5fleft_126',['time_left',['../classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed',1,'door::Door']]],
+  ['time_5fthread_127',['time_thread',['../classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73',1,'door::Door']]],
+  ['time_5fused_128',['time_used',['../classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82',1,'door::Door']]],
+  ['tio_5fdefault_129',['tio_default',['../classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc',1,'door::Door']]],
+  ['tl_130',['tl',['../structdoor_1_1box__styles.html#a7072dc5084e6cf1040cd2e3667046ed9',1,'door::box_styles']]],
+  ['to_5flower_131',['to_lower',['../namespacedoor.html#afa94e91868d469077e4d3b400dedfd6c',1,'door']]],
+  ['todo_20list_132',['Todo List',['../todo.html',1,'']]],
+  ['top_133',['top',['../structdoor_1_1box__styles.html#aa491626e2734bc75c9c99eeff94c5425',1,'door::box_styles']]],
+  ['tr_134',['tr',['../structdoor_1_1box__styles.html#af444f493abe3213724e3ee839871266f',1,'door::box_styles']]],
+  ['track_135',['track',['../classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a',1,'door::Door']]]
 ];

+ 7 - 7
search/all_11.js

@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['uboxes_112',['UBOXES',['../namespacedoor.html#aeafa2ff6deb9ddddaab458b89f10c4e6',1,'door']]],
-  ['ujoin_113',['UJOIN',['../namespacedoor.html#ad19e1b85072846f56b4f578410a5587e',1,'door']]],
-  ['unget_114',['unget',['../getkey_8cpp.html#a37118b1ee911d1447a495aa49f2926a5',1,'getkey.cpp']]],
-  ['unicode_115',['unicode',['../namespacedoor.html#a1626abff63f7a1b9dc696969c860283b',1,'door']]],
-  ['update_116',['update',['../classdoor_1_1Line.html#a00ec1edb246d442c4dc7ac2dc5876624',1,'door::Line::update()'],['../classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4',1,'door::Panel::update()']]],
-  ['updatefunction_117',['updateFunction',['../namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e',1,'door']]],
-  ['updater_118',['updater',['../classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949',1,'door::Line']]]
+  ['uboxes_136',['UBOXES',['../namespacedoor.html#aeafa2ff6deb9ddddaab458b89f10c4e6',1,'door']]],
+  ['ujoin_137',['UJOIN',['../namespacedoor.html#ad19e1b85072846f56b4f578410a5587e',1,'door']]],
+  ['unicode_138',['unicode',['../namespacedoor.html#a1626abff63f7a1b9dc696969c860283b',1,'door']]],
+  ['update_139',['update',['../classdoor_1_1Line.html#a00ec1edb246d442c4dc7ac2dc5876624',1,'door::Line::update()'],['../classdoor_1_1Panel.html#a57234d5f1d891ed8f9ea9c8c9be7aed4',1,'door::Panel::update()']]],
+  ['updatefunction_140',['updateFunction',['../namespacedoor.html#adb2697f83f8ce701366e05ed72c97d6e',1,'door']]],
+  ['updater_141',['updater',['../classdoor_1_1Line.html#afe9688b3f58080fe437c0efaf7ab2949',1,'door::Line']]],
+  ['username_142',['username',['../classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850',1,'door::Door']]]
 ];

+ 2 - 1
search/all_12.js

@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['white_119',['WHITE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d',1,'door']]]
+  ['white_143',['WHITE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d',1,'door']]],
+  ['width_144',['width',['../classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169',1,'door::Door']]]
 ];

+ 2 - 2
search/all_13.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['x_120',['x',['../classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a',1,'door::Goto']]],
-  ['xsputn_121',['xsputn',['../classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33',1,'door::Door']]]
+  ['x_145',['x',['../classdoor_1_1Goto.html#ad7ec5ef329c85fd0be0110f628a9106a',1,'door::Goto']]],
+  ['xsputn_146',['xsputn',['../classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33',1,'door::Door']]]
 ];

+ 2 - 2
search/all_14.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['y_122',['y',['../classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477',1,'door::Goto']]],
-  ['yellow_123',['YELLOW',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e',1,'door']]]
+  ['y_147',['y',['../classdoor_1_1Goto.html#a2ef887a839d1542dc2b7bbcbc4cd0477',1,'door::Goto']]],
+  ['yellow_148',['YELLOW',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e',1,'door']]]
 ];

+ 11 - 10
search/all_2.js

@@ -1,13 +1,14 @@
 var searchData=
 [
-  ['c_21',['c',['../classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0',1,'door::ColorOutput']]],
-  ['choose_22',['choose',['../classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e',1,'door::Menu']]],
-  ['clrscr_23',['Clrscr',['../classdoor_1_1Clrscr.html',1,'door::Clrscr'],['../classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a',1,'door::Clrscr::Clrscr()']]],
-  ['cls_24',['cls',['../namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb',1,'door']]],
-  ['color_25',['color',['../classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed',1,'door::Line::color()'],['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366',1,'door::COLOR()']]],
-  ['coloroutput_26',['ColorOutput',['../classdoor_1_1ColorOutput.html',1,'door::ColorOutput'],['../classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b',1,'door::ColorOutput::ColorOutput()']]],
-  ['convert_27',['convert',['../classdoor_1_1IConv.html#a65f19364b9b6a219dd88e8d8f18db8dc',1,'door::IConv']]],
-  ['cp437tounicode_28',['cp437toUnicode',['../namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc',1,'door::cp437toUnicode(std::string input, std::string &amp;out)'],['../namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a',1,'door::cp437toUnicode(const char *input, std::string &amp;out)']]],
-  ['crnl_29',['CRNL',['../getkey_8cpp.html#a05e8779289398e4e8028b7f94f6b8009',1,'getkey.cpp']]],
-  ['cyan_30',['CYAN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749',1,'door']]]
+  ['c_19',['c',['../classdoor_1_1ColorOutput.html#ab53af885b8b1a296d197866bd4844fb0',1,'door::ColorOutput']]],
+  ['choose_20',['choose',['../classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e',1,'door::Menu']]],
+  ['clrscr_21',['Clrscr',['../classdoor_1_1Clrscr.html',1,'door::Clrscr'],['../classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a',1,'door::Clrscr::Clrscr()']]],
+  ['cls_22',['cls',['../namespacedoor.html#ac70193caf66e4b9aed1529593727a6eb',1,'door']]],
+  ['color_23',['color',['../classdoor_1_1Line.html#a3896c3006cac3435613732c29afc60ed',1,'door::Line::color()'],['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366',1,'door::COLOR()']]],
+  ['coloroutput_24',['ColorOutput',['../classdoor_1_1ColorOutput.html',1,'door::ColorOutput'],['../classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b',1,'door::ColorOutput::ColorOutput()']]],
+  ['convert_25',['convert',['../classdoor_1_1IConv.html#a65f19364b9b6a219dd88e8d8f18db8dc',1,'door::IConv']]],
+  ['cp437tounicode_26',['cp437toUnicode',['../namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc',1,'door::cp437toUnicode(std::string input, std::string &amp;out)'],['../namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a',1,'door::cp437toUnicode(const char *input, std::string &amp;out)']]],
+  ['cx_27',['cx',['../classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7',1,'door::Door']]],
+  ['cy_28',['cy',['../classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c',1,'door::Door']]],
+  ['cyan_29',['CYAN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749',1,'door']]]
 ];

+ 13 - 7
search/all_3.js

@@ -1,10 +1,16 @@
 var searchData=
 [
-  ['debug_5fcapture_31',['debug_capture',['../namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1',1,'door']]],
-  ['deprecated_20list_32',['Deprecated List',['../deprecated.html',1,'']]],
-  ['door_33',['Door',['../classdoor_1_1Door.html',1,'door::Door'],['../namespacedoor.html',1,'door'],['../classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba',1,'door::Door::Door(std::string dname, int argc, char *argv[])'],['../classdoor_1_1Door.html#a65728f9e00ef3765c65d4f1e2c106fb6',1,'door::Door::Door(Door &amp;)=delete']]],
-  ['door_2ecpp_34',['door.cpp',['../door_8cpp.html',1,'']]],
-  ['double_35',['DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229',1,'door']]],
-  ['double_5fsingle_36',['DOUBLE_SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367',1,'door']]],
-  ['door_2b_2b_37',['Door++',['../index.html',1,'']]]
+  ['debug_30',['debug',['../classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84',1,'door::ANSIColor']]],
+  ['debug_5fbuffer_31',['debug_buffer',['../classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223',1,'door::Door']]],
+  ['debug_5fcapture_32',['debug_capture',['../namespacedoor.html#ac39a1dfdb8dec210d28133625f860bc1',1,'door']]],
+  ['deprecated_20list_33',['Deprecated List',['../deprecated.html',1,'']]],
+  ['detect_5funicode_5fand_5fscreen_34',['detect_unicode_and_screen',['../classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb',1,'door::Door']]],
+  ['door_35',['Door',['../classdoor_1_1Door.html',1,'door::Door'],['../namespacedoor.html',1,'door'],['../classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba',1,'door::Door::Door()']]],
+  ['door_2ecpp_36',['door.cpp',['../door_8cpp.html',1,'']]],
+  ['doorname_37',['doorname',['../classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8',1,'door::Door']]],
+  ['double_38',['DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229',1,'door']]],
+  ['double_5fsingle_39',['DOUBLE_SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367',1,'door']]],
+  ['dropfilelines_40',['dropfilelines',['../classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f',1,'door::Door']]],
+  ['dropfilename_41',['dropfilename',['../classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407',1,'door::Door']]],
+  ['door_2b_2b_42',['Door++',['../index.html',1,'']]]
 ];

+ 3 - 3
search/all_4.js

@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['fg_38',['fg',['../classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519',1,'door::ANSIColor']]],
-  ['fit_39',['fit',['../classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3',1,'door::Line']]],
-  ['full_5fcp437_40',['full_cp437',['../namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c',1,'door']]]
+  ['fg_43',['fg',['../classdoor_1_1ANSIColor.html#aa11de87d84c864dcb1ee26042a28e519',1,'door::ANSIColor']]],
+  ['fit_44',['fit',['../classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3',1,'door::Line']]],
+  ['full_5fcp437_45',['full_cp437',['../namespacedoor.html#aeade8b521c7f95755fdb166727c2b87c',1,'door']]]
 ];

+ 8 - 7
search/all_5.js

@@ -1,10 +1,11 @@
 var searchData=
 [
-  ['get_41',['get',['../getkey_8cpp.html#a5a392181fdf6b261a23c6996b6f65765',1,'getkey.cpp']]],
-  ['get_5fone_5fof_42',['get_one_of',['../classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232',1,'door::Door']]],
-  ['getch_43',['getch',['../getkey_8cpp.html#abbfe4f963938c288581211cdee6cb818',1,'getkey.cpp']]],
-  ['getkey_44',['getkey',['../getkey_8cpp.html#a48210bb765c651a12818ca2551ace8e2',1,'getkey.cpp']]],
-  ['getkey_2ecpp_45',['getkey.cpp',['../getkey_8cpp.html',1,'']]],
-  ['goto_46',['Goto',['../classdoor_1_1Goto.html',1,'door::Goto'],['../classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7',1,'door::Goto::Goto(int xpos, int ypos)'],['../classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a',1,'door::Goto::Goto(const Goto &amp;)=default']]],
-  ['green_47',['GREEN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0',1,'door']]]
+  ['get_5fone_5fof_46',['get_one_of',['../classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232',1,'door::Door']]],
+  ['getbg_47',['getBg',['../classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5',1,'door::ANSIColor']]],
+  ['getch_48',['getch',['../classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737',1,'door::Door']]],
+  ['getfg_49',['getFg',['../classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35',1,'door::ANSIColor']]],
+  ['getkey_50',['getkey',['../classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404',1,'door::Door']]],
+  ['getkey_5for_5fpushback_51',['getkey_or_pushback',['../classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93',1,'door::Door']]],
+  ['goto_52',['Goto',['../classdoor_1_1Goto.html',1,'door::Goto'],['../classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7',1,'door::Goto::Goto(int xpos, int ypos)'],['../classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a',1,'door::Goto::Goto(const Goto &amp;)=default']]],
+  ['green_53',['GREEN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0',1,'door']]]
 ];

+ 6 - 2
search/all_6.js

@@ -1,5 +1,9 @@
 var searchData=
 [
-  ['hascolor_48',['hasColor',['../classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8',1,'door::Line']]],
-  ['hasrender_49',['hasRender',['../classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2',1,'door::Line']]]
+  ['handle_54',['handle',['../classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37',1,'door::Door']]],
+  ['has_5fdropfile_55',['has_dropfile',['../classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68',1,'door::Door']]],
+  ['hascolor_56',['hasColor',['../classdoor_1_1Line.html#ab9603154e50c33245f30dbc5c60bd5c8',1,'door::Line']]],
+  ['haskey_57',['haskey',['../classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21',1,'door::Door']]],
+  ['hasrender_58',['hasRender',['../classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2',1,'door::Line']]],
+  ['height_59',['height',['../classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383',1,'door::Door']]]
 ];

+ 4 - 3
search/all_7.js

@@ -1,6 +1,7 @@
 var searchData=
 [
-  ['iconv_50',['IConv',['../classdoor_1_1IConv.html',1,'door::IConv'],['../classdoor_1_1IConv.html#aa201b347d3982a6b96fc66a9edb36279',1,'door::IConv::IConv()']]],
-  ['input_5fstring_51',['input_string',['../classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470',1,'door::Door']]],
-  ['inverse_52',['inverse',['../classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5',1,'door::ANSIColor::inverse()'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639',1,'door::INVERSE()']]]
+  ['iconv_60',['IConv',['../classdoor_1_1IConv.html',1,'door::IConv'],['../classdoor_1_1IConv.html#aa201b347d3982a6b96fc66a9edb36279',1,'door::IConv::IConv()']]],
+  ['inactivity_61',['inactivity',['../classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826',1,'door::Door']]],
+  ['input_5fstring_62',['input_string',['../classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470',1,'door::Door']]],
+  ['inverse_63',['inverse',['../classdoor_1_1ANSIColor.html#a9413c8c99a7ff96f1374e886946791a5',1,'door::ANSIColor::inverse()'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639',1,'door::INVERSE()']]]
 ];

+ 2 - 2
search/all_8.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['join_53',['JOIN',['../namespacedoor.html#aa7aaca15a8885a3ef3a6c85cd40ae617',1,'door']]],
-  ['justify_54',['Justify',['../namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7',1,'door']]]
+  ['join_64',['JOIN',['../namespacedoor.html#aa7aaca15a8885a3ef3a6c85cd40ae617',1,'door']]],
+  ['justify_65',['Justify',['../namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7',1,'door']]]
 ];

+ 9 - 7
search/all_9.js

@@ -1,10 +1,12 @@
 var searchData=
 [
-  ['len_55',['len',['../classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d',1,'door::ColorOutput']]],
-  ['length_56',['length',['../classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994',1,'door::Line']]],
-  ['line_57',['Line',['../classdoor_1_1Line.html',1,'door::Line'],['../classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481',1,'door::Line::Line(const std::string &amp;txt, int width=0)'],['../classdoor_1_1Line.html#ab4a8aca94290fdfe126d5dd290a6faf2',1,'door::Line::Line(const char *txt, int width=0)'],['../classdoor_1_1Line.html#acce7f7ed662df9d0b56b8817eb1e2baa',1,'door::Line::Line(const Line &amp;rhs)']]],
-  ['lines_58',['lines',['../classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5',1,'door::Panel']]],
-  ['lines_2ecpp_59',['lines.cpp',['../lines_8cpp.html',1,'']]],
-  ['linesetback_60',['lineSetBack',['../classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb',1,'door::Panel']]],
-  ['log_61',['log',['../classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96',1,'door::Door']]]
+  ['len_66',['len',['../classdoor_1_1ColorOutput.html#ab82c8458bcfa264fbfd7b7b6f367864d',1,'door::ColorOutput']]],
+  ['length_67',['length',['../classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994',1,'door::Line']]],
+  ['line_68',['Line',['../classdoor_1_1Line.html',1,'door::Line'],['../classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481',1,'door::Line::Line(const std::string &amp;txt, int width=0)'],['../classdoor_1_1Line.html#ab4a8aca94290fdfe126d5dd290a6faf2',1,'door::Line::Line(const char *txt, int width=0)'],['../classdoor_1_1Line.html#acce7f7ed662df9d0b56b8817eb1e2baa',1,'door::Line::Line(const Line &amp;rhs)']]],
+  ['lines_69',['lines',['../classdoor_1_1Panel.html#ac7db32ec19257344af24bd80536c76d5',1,'door::Panel']]],
+  ['lines_2ecpp_70',['lines.cpp',['../lines_8cpp.html',1,'']]],
+  ['linesetback_71',['lineSetBack',['../classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb',1,'door::Panel']]],
+  ['location_72',['location',['../classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df',1,'door::Door']]],
+  ['log_73',['log',['../classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96',1,'door::Door']]],
+  ['logf_74',['logf',['../classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d',1,'door::Door']]]
 ];

+ 5 - 5
search/all_a.js

@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['magenta_62',['MAGENTA',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61',1,'door']]],
-  ['makerender_63',['makeRender',['../classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d',1,'door::Menu']]],
-  ['menu_64',['Menu',['../classdoor_1_1Menu.html',1,'door::Menu'],['../classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e',1,'door::Menu::Menu(int x, int y, int width)'],['../classdoor_1_1Menu.html#a97ce6dd2340f2fa4d36647afc19619cd',1,'door::Menu::Menu(int width)']]],
-  ['ml_65',['ml',['../structdoor_1_1box__styles.html#acc2aadc7972404de7d5fe1e12684f17a',1,'door::box_styles']]],
-  ['mr_66',['mr',['../structdoor_1_1box__styles.html#a94ca06e14f6297e62fbc24664f9576ee',1,'door::box_styles']]]
+  ['magenta_75',['MAGENTA',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61',1,'door']]],
+  ['makerender_76',['makeRender',['../classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d',1,'door::Menu']]],
+  ['menu_77',['Menu',['../classdoor_1_1Menu.html',1,'door::Menu'],['../classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e',1,'door::Menu::Menu(int x, int y, int width)'],['../classdoor_1_1Menu.html#a97ce6dd2340f2fa4d36647afc19619cd',1,'door::Menu::Menu(int width)']]],
+  ['ml_78',['ml',['../structdoor_1_1box__styles.html#acc2aadc7972404de7d5fe1e12684f17a',1,'door::box_styles']]],
+  ['mr_79',['mr',['../structdoor_1_1box__styles.html#a94ca06e14f6297e62fbc24664f9576ee',1,'door::box_styles']]]
 ];

+ 4 - 3
search/all_b.js

@@ -1,6 +1,7 @@
 var searchData=
 [
-  ['newline_67',['NewLine',['../classdoor_1_1NewLine.html',1,'door::NewLine'],['../classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a',1,'door::NewLine::NewLine()']]],
-  ['nl_68',['nl',['../namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8',1,'door']]],
-  ['none_69',['NONE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693',1,'door']]]
+  ['newline_80',['NewLine',['../classdoor_1_1NewLine.html',1,'door::NewLine'],['../classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a',1,'door::NewLine::NewLine()']]],
+  ['nl_81',['nl',['../namespacedoor.html#a36352ded72aee66b10e1bda6d3d8efb8',1,'door']]],
+  ['node_82',['node',['../classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b',1,'door::Door']]],
+  ['none_83',['NONE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693',1,'door']]]
 ];

+ 7 - 6
search/all_c.js

@@ -1,9 +1,10 @@
 var searchData=
 [
-  ['operator_21_3d_70',['operator!=',['../classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd',1,'door::ANSIColor']]],
-  ['operator_3c_3c_71',['operator&lt;&lt;',['../classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822',1,'door::ANSIColor::operator&lt;&lt;()'],['../classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0',1,'door::Clrscr::operator&lt;&lt;()'],['../classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f',1,'door::NewLine::operator&lt;&lt;()'],['../classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b',1,'door::Goto::operator&lt;&lt;()'],['../classdoor_1_1Line.html#a702464834d9546f67f1952a62e4038f2',1,'door::Line::operator&lt;&lt;()'],['../classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62',1,'door::Panel::operator&lt;&lt;()'],['../classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0',1,'door::Screen::operator&lt;&lt;()'],['../namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa',1,'door::operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)'],['../namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)'],['../namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94',1,'door::operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)'],['../namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)'],['../namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Line &amp;l)'],['../namespacedoor.html#a10848399ef2da2947ceb98b7707a688f',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)'],['../namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)']]],
-  ['operator_3d_3d_72',['operator==',['../classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87',1,'door::ANSIColor']]],
-  ['output_73',['output',['../classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505',1,'door::ANSIColor::output(void) const'],['../classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e',1,'door::ANSIColor::output(ANSIColor &amp;previous) const'],['../classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b',1,'door::Render::output()']]],
-  ['outputs_74',['outputs',['../classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66',1,'door::Render']]],
-  ['overflow_75',['overflow',['../classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4',1,'door::Door']]]
+  ['operator_21_3d_84',['operator!=',['../classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd',1,'door::ANSIColor']]],
+  ['operator_3c_3c_85',['operator&lt;&lt;',['../classdoor_1_1ANSIColor.html#ad658a59d371bc8582411ada281c50822',1,'door::ANSIColor::operator&lt;&lt;()'],['../classdoor_1_1Clrscr.html#a1cc056058e52bb52343b17636e6fa5e0',1,'door::Clrscr::operator&lt;&lt;()'],['../classdoor_1_1NewLine.html#afe2e2b066c6b919f9beb22fa6b9f362f',1,'door::NewLine::operator&lt;&lt;()'],['../classdoor_1_1Goto.html#a21a0915b21cc762dc148f7ba6797229b',1,'door::Goto::operator&lt;&lt;()'],['../classdoor_1_1Line.html#a702464834d9546f67f1952a62e4038f2',1,'door::Line::operator&lt;&lt;()'],['../classdoor_1_1Panel.html#acc188acc0dfd6127ca4a51a6508b8c62',1,'door::Panel::operator&lt;&lt;()'],['../classdoor_1_1Screen.html#aa33539627ee3d8a5c4b09ee9401711e0',1,'door::Screen::operator&lt;&lt;()'],['../namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa',1,'door::operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)'],['../namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)'],['../namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94',1,'door::operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)'],['../namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)'],['../namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Line &amp;l)'],['../namespacedoor.html#a10848399ef2da2947ceb98b7707a688f',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)'],['../namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)']]],
+  ['operator_3d_3d_86',['operator==',['../classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87',1,'door::ANSIColor']]],
+  ['opt_87',['opt',['../classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b',1,'door::Door']]],
+  ['output_88',['output',['../classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505',1,'door::ANSIColor::output(void) const'],['../classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e',1,'door::ANSIColor::output(ANSIColor &amp;previous) const'],['../classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b',1,'door::Render::output()']]],
+  ['outputs_89',['outputs',['../classdoor_1_1Render.html#a887fd73649a7e63257cc695e2756bc66',1,'door::Render']]],
+  ['overflow_90',['overflow',['../classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4',1,'door::Door']]]
 ];

+ 8 - 7
search/all_d.js

@@ -1,10 +1,11 @@
 var searchData=
 [
-  ['padding_76',['padding',['../classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653',1,'door::Line']]],
-  ['paddingcolor_77',['paddingColor',['../classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc',1,'door::Line']]],
-  ['panel_78',['Panel',['../classdoor_1_1Panel.html',1,'door']]],
-  ['panel_2ecpp_79',['panel.cpp',['../panel_8cpp.html',1,'']]],
-  ['panels_80',['panels',['../classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a',1,'door::Screen']]],
-  ['pos_81',['pos',['../classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918',1,'door::ColorOutput']]],
-  ['previous_82',['previous',['../classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767',1,'door::Door']]]
+  ['padding_91',['padding',['../classdoor_1_1Line.html#a3fab9317af5f86949eb0d6faf1f04653',1,'door::Line']]],
+  ['paddingcolor_92',['paddingColor',['../classdoor_1_1Line.html#a5b5d31a50cce6b5aa9b9e15647bfeddc',1,'door::Line']]],
+  ['panel_93',['Panel',['../classdoor_1_1Panel.html',1,'door']]],
+  ['panel_2ecpp_94',['panel.cpp',['../panel_8cpp.html',1,'']]],
+  ['panels_95',['panels',['../classdoor_1_1Screen.html#a9f93b83a6c0ebab3972dd7340c88675a',1,'door::Screen']]],
+  ['pos_96',['pos',['../classdoor_1_1ColorOutput.html#ae696879b2a42db7a21d698fad19fc918',1,'door::ColorOutput']]],
+  ['previous_97',['previous',['../classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767',1,'door::Door']]],
+  ['pushback_98',['pushback',['../namespacedoor.html#a64600b79b9b73f4705859ce4efb1a2fd',1,'door']]]
 ];

+ 7 - 8
search/all_e.js

@@ -1,11 +1,10 @@
 var searchData=
 [
-  ['raw_83',['raw',['../getkey_8cpp.html#a4d28072fff7bfaa3de3d1a6357fba261',1,'getkey.cpp']]],
-  ['rblueyellow_84',['rBlueYellow',['../namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57',1,'door']]],
-  ['red_85',['RED',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0',1,'door']]],
-  ['render_86',['Render',['../classdoor_1_1Render.html',1,'door::Render'],['../classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f',1,'door::Line::render()'],['../classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00',1,'door::Render::Render()']]],
-  ['renderfunction_87',['renderFunction',['../namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1',1,'door']]],
-  ['replace_88',['replace',['../namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d',1,'door::replace(std::string &amp;str, const std::string &amp;from, const std::string &amp;to)'],['../namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3',1,'door::replace(std::string &amp;str, const char *from, const char *to)']]],
-  ['reset_89',['reset',['../classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805',1,'door::ANSIColor::reset()'],['../classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499',1,'door::ColorOutput::reset()'],['../namespacedoor.html#ae3a70989c43f6cb3522308af748b4481',1,'door::reset()'],['../getkey_8cpp.html#a3aea9deb2a0bfea9ff05a898f4822e31',1,'reset():&#160;getkey.cpp'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1',1,'door::RESET()']]],
-  ['restorecursor_90',['RestoreCursor',['../namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811',1,'door']]]
+  ['rblueyellow_99',['rBlueYellow',['../namespacedoor.html#a3274dff22ddb19a3e429a703ee6f3e57',1,'door']]],
+  ['red_100',['RED',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0',1,'door']]],
+  ['render_101',['Render',['../classdoor_1_1Render.html',1,'door::Render'],['../classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00',1,'door::Render::Render()'],['../classdoor_1_1Line.html#a6d12dbae8f1d7f70a32aa1b463bd9f6f',1,'door::Line::render()']]],
+  ['renderfunction_102',['renderFunction',['../namespacedoor.html#ad9c2405adaa0b5168bc53059b3a978c1',1,'door']]],
+  ['replace_103',['replace',['../namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d',1,'door::replace(std::string &amp;str, const std::string &amp;from, const std::string &amp;to)'],['../namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3',1,'door::replace(std::string &amp;str, const char *from, const char *to)']]],
+  ['reset_104',['reset',['../classdoor_1_1ANSIColor.html#aae86353583a08ca1d9fa4f7bb366a805',1,'door::ANSIColor::reset()'],['../classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499',1,'door::ColorOutput::reset()'],['../namespacedoor.html#ae3a70989c43f6cb3522308af748b4481',1,'door::reset()'],['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1',1,'door::RESET()']]],
+  ['restorecursor_105',['RestoreCursor',['../namespacedoor.html#a1ae3caab423b38b35e887d79b5ac1811',1,'door']]]
 ];

+ 19 - 14
search/all_f.js

@@ -1,17 +1,22 @@
 var searchData=
 [
-  ['savecursor_91',['SaveCursor',['../namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36',1,'door']]],
-  ['screen_92',['Screen',['../classdoor_1_1Screen.html',1,'door']]],
-  ['set_93',['set',['../classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c',1,'door::Panel']]],
-  ['setcolor_94',['setColor',['../classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae',1,'door::Line']]],
-  ['setpadding_95',['setPadding',['../classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6',1,'door::Line::setPadding(std::string &amp;padstring, ANSIColor padColor)'],['../classdoor_1_1Line.html#a1a21ca77a2d7f261cf6946c85bd596cb',1,'door::Line::setPadding(const char *padstring, ANSIColor padcolor)']]],
-  ['setrender_96',['setRender',['../classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce',1,'door::Line']]],
-  ['settext_97',['setText',['../classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784',1,'door::Line::setText(std::string &amp;txt)'],['../classdoor_1_1Line.html#a0d9e536c943d5ba0861195b2d3b491c1',1,'door::Line::setText(const char *txt)']]],
-  ['setupdater_98',['setUpdater',['../classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049',1,'door::Line']]],
-  ['side_99',['side',['../structdoor_1_1box__styles.html#a6460a57a2a209669517babb4ab2f641f',1,'door::box_styles']]],
-  ['sig_5fhandler_100',['sig_handler',['../namespacedoor.html#a4fc2f3f7f1b3908cb71bd1d275594fe9',1,'door']]],
-  ['single_101',['SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8',1,'door']]],
-  ['single_5fdouble_102',['SINGLE_DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a',1,'door']]],
-  ['sleep_5fkey_103',['sleep_key',['../classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47',1,'door::Door']]],
-  ['spacer_5fline_104',['spacer_line',['../classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561',1,'door::Panel']]]
+  ['savecursor_106',['SaveCursor',['../namespacedoor.html#aa6a7c86274470fd22e45676ba6eebb36',1,'door']]],
+  ['screen_107',['Screen',['../classdoor_1_1Screen.html',1,'door']]],
+  ['seconds_5felapsed_108',['seconds_elapsed',['../classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430',1,'door::Door']]],
+  ['set_109',['set',['../classdoor_1_1Panel.html#aa5ad389766a5e5c22588dae37cce1d1c',1,'door::Panel']]],
+  ['setbg_110',['setBg',['../classdoor_1_1ANSIColor.html#adb4561a6482b66b7efcd18b3257102f1',1,'door::ANSIColor']]],
+  ['setcolor_111',['setColor',['../classdoor_1_1Line.html#a8beaf1f9a1b84524d131a817ad8019ae',1,'door::Line']]],
+  ['setfg_112',['setFg',['../classdoor_1_1ANSIColor.html#a43c2ea9694f74c60f7ac2a396727bd15',1,'door::ANSIColor::setFg(COLOR f)'],['../classdoor_1_1ANSIColor.html#ae6c5802a97d8a4f1b2a592da678845af',1,'door::ANSIColor::setFg(COLOR f, ATTR a)']]],
+  ['setpadding_113',['setPadding',['../classdoor_1_1Line.html#a9487858a23dc53c987e6504e501957e6',1,'door::Line::setPadding(std::string &amp;padstring, ANSIColor padColor)'],['../classdoor_1_1Line.html#a1a21ca77a2d7f261cf6946c85bd596cb',1,'door::Line::setPadding(const char *padstring, ANSIColor padcolor)']]],
+  ['setrender_114',['setRender',['../classdoor_1_1Line.html#a03790e36725784901cd4e802917754ce',1,'door::Line']]],
+  ['settext_115',['setText',['../classdoor_1_1Line.html#a3e7ab2ba2c01dcb323dcfefbdad71784',1,'door::Line::setText(std::string &amp;txt)'],['../classdoor_1_1Line.html#a0d9e536c943d5ba0861195b2d3b491c1',1,'door::Line::setText(const char *txt)']]],
+  ['setupdater_116',['setUpdater',['../classdoor_1_1Line.html#a68f6b1bfdaab2ed72f2a13810b166049',1,'door::Line']]],
+  ['side_117',['side',['../structdoor_1_1box__styles.html#a6460a57a2a209669517babb4ab2f641f',1,'door::box_styles']]],
+  ['sig_5fhandler_118',['sig_handler',['../namespacedoor.html#a4fc2f3f7f1b3908cb71bd1d275594fe9',1,'door']]],
+  ['single_119',['SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8',1,'door']]],
+  ['single_5fdouble_120',['SINGLE_DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a',1,'door']]],
+  ['sleep_5fkey_121',['sleep_key',['../classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47',1,'door::Door']]],
+  ['spacer_5fline_122',['spacer_line',['../classdoor_1_1Panel.html#a69a98249e3f33fd20300aa62120b8561',1,'door::Panel']]],
+  ['stop_5fthread_123',['stop_thread',['../classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548',1,'door::Door']]],
+  ['sysop_124',['sysop',['../classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70',1,'door::Door']]]
 ];

+ 1 - 1
search/classes_0.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ansicolor_124',['ANSIColor',['../classdoor_1_1ANSIColor.html',1,'door']]]
+  ['ansicolor_149',['ANSIColor',['../classdoor_1_1ANSIColor.html',1,'door']]]
 ];

+ 1 - 1
search/classes_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['box_5fstyles_125',['box_styles',['../structdoor_1_1box__styles.html',1,'door']]]
+  ['box_5fstyles_150',['box_styles',['../structdoor_1_1box__styles.html',1,'door']]]
 ];

+ 2 - 2
search/classes_2.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['clrscr_126',['Clrscr',['../classdoor_1_1Clrscr.html',1,'door']]],
-  ['coloroutput_127',['ColorOutput',['../classdoor_1_1ColorOutput.html',1,'door']]]
+  ['clrscr_151',['Clrscr',['../classdoor_1_1Clrscr.html',1,'door']]],
+  ['coloroutput_152',['ColorOutput',['../classdoor_1_1ColorOutput.html',1,'door']]]
 ];

+ 1 - 1
search/classes_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['door_128',['Door',['../classdoor_1_1Door.html',1,'door']]]
+  ['door_153',['Door',['../classdoor_1_1Door.html',1,'door']]]
 ];

+ 1 - 1
search/classes_4.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['goto_129',['Goto',['../classdoor_1_1Goto.html',1,'door']]]
+  ['goto_154',['Goto',['../classdoor_1_1Goto.html',1,'door']]]
 ];

+ 1 - 1
search/classes_5.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['iconv_130',['IConv',['../classdoor_1_1IConv.html',1,'door']]]
+  ['iconv_155',['IConv',['../classdoor_1_1IConv.html',1,'door']]]
 ];

+ 1 - 1
search/classes_6.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['line_131',['Line',['../classdoor_1_1Line.html',1,'door']]]
+  ['line_156',['Line',['../classdoor_1_1Line.html',1,'door']]]
 ];

+ 1 - 1
search/classes_7.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['menu_132',['Menu',['../classdoor_1_1Menu.html',1,'door']]]
+  ['menu_157',['Menu',['../classdoor_1_1Menu.html',1,'door']]]
 ];

+ 1 - 1
search/classes_8.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['newline_133',['NewLine',['../classdoor_1_1NewLine.html',1,'door']]]
+  ['newline_158',['NewLine',['../classdoor_1_1NewLine.html',1,'door']]]
 ];

+ 1 - 1
search/classes_9.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['panel_134',['Panel',['../classdoor_1_1Panel.html',1,'door']]]
+  ['panel_159',['Panel',['../classdoor_1_1Panel.html',1,'door']]]
 ];

+ 1 - 1
search/classes_a.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['render_135',['Render',['../classdoor_1_1Render.html',1,'door']]]
+  ['render_160',['Render',['../classdoor_1_1Render.html',1,'door']]]
 ];

+ 1 - 1
search/classes_b.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['screen_136',['Screen',['../classdoor_1_1Screen.html',1,'door']]]
+  ['screen_161',['Screen',['../classdoor_1_1Screen.html',1,'door']]]
 ];

+ 1 - 1
search/enums_0.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['attr_238',['ATTR',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52',1,'door']]]
+  ['attr_289',['ATTR',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52',1,'door']]]
 ];

+ 1 - 1
search/enums_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['borderstyle_239',['BorderStyle',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91',1,'door']]]
+  ['borderstyle_290',['BorderStyle',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91',1,'door']]]
 ];

+ 1 - 1
search/enums_2.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['color_240',['COLOR',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366',1,'door']]]
+  ['color_291',['COLOR',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366',1,'door']]]
 ];

+ 1 - 1
search/enums_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['justify_241',['Justify',['../namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7',1,'door']]]
+  ['justify_292',['Justify',['../namespacedoor.html#af025775fb0b68d66dc42ee3299444fb7',1,'door']]]
 ];

+ 7 - 7
search/enumvalues_0.js

@@ -1,10 +1,10 @@
 var searchData=
 [
-  ['black_242',['BLACK',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965',1,'door']]],
-  ['blank_243',['BLANK',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7',1,'door']]],
-  ['blink_244',['BLINK',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc',1,'door']]],
-  ['blue_245',['BLUE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f',1,'door']]],
-  ['bold_246',['BOLD',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19',1,'door']]],
-  ['bright_247',['BRIGHT',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040',1,'door']]],
-  ['brown_248',['BROWN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488',1,'door']]]
+  ['black_293',['BLACK',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a08d0012388564e95c3b4a7407cf04965',1,'door']]],
+  ['blank_294',['BLANK',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a56f031dd03707d695f76c63ddbf40bd7',1,'door']]],
+  ['blink_295',['BLINK',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ad810ed8e97088a3c987f179dfb88cefc',1,'door']]],
+  ['blue_296',['BLUE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a1b3e1ee9bff86431dea6b181365ba65f',1,'door']]],
+  ['bold_297',['BOLD',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a2909dd0e0336f10b6da9735b859a3d19',1,'door']]],
+  ['bright_298',['BRIGHT',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52aca78b38b9fe41e51b331abe6999a1040',1,'door']]],
+  ['brown_299',['BROWN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a493cacf6f6a2ae4798b319b8b9ba9488',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['cyan_249',['CYAN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749',1,'door']]]
+  ['cyan_300',['CYAN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a344dd8cd533280795b9db82ef0c92749',1,'door']]]
 ];

+ 2 - 2
search/enumvalues_2.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['double_250',['DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229',1,'door']]],
-  ['double_5fsingle_251',['DOUBLE_SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367',1,'door']]]
+  ['double_301',['DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91afd3e4ece78a7d422280d5ed379482229',1,'door']]],
+  ['double_5fsingle_302',['DOUBLE_SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91acc939b66711e314a026eba1532bec367',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['green_252',['GREEN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0',1,'door']]]
+  ['green_303',['GREEN',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a9de0e5dd94e861317e74964bed179fa0',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_4.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['inverse_253',['INVERSE',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639',1,'door']]]
+  ['inverse_304',['INVERSE',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52a1955bdc302911f376074eb9b02e56639',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_5.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['magenta_254',['MAGENTA',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61',1,'door']]]
+  ['magenta_305',['MAGENTA',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ac634ffea7195608364671ac52ee59a61',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_6.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['none_255',['NONE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693',1,'door']]]
+  ['none_306',['NONE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91ab50339a10e1de285ac99d4c3990b8693',1,'door']]]
 ];

+ 2 - 2
search/enumvalues_7.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['red_256',['RED',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0',1,'door']]],
-  ['reset_257',['RESET',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1',1,'door']]]
+  ['red_307',['RED',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366aa2d9547b5d3dd9f05984475f7c926da0',1,'door']]],
+  ['reset_308',['RESET',['../namespacedoor.html#add24f9a933f9a6e613de6d56854e5c52ab5859d8721cfdc0312b2838b9c985bc1',1,'door']]]
 ];

+ 2 - 2
search/enumvalues_8.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['single_258',['SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8',1,'door']]],
-  ['single_5fdouble_259',['SINGLE_DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a',1,'door']]]
+  ['single_309',['SINGLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a0679273e201afd0bf57af3961f8a23b8',1,'door']]],
+  ['single_5fdouble_310',['SINGLE_DOUBLE',['../namespacedoor.html#a08afbc9eecb6efd7d4c741023b11db91a6dfbebc428d74ec8a1552722ceccda3a',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_9.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['white_260',['WHITE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d',1,'door']]]
+  ['white_311',['WHITE',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366ab5bf627e448384cf3a4c35121ca6008d',1,'door']]]
 ];

+ 1 - 1
search/enumvalues_a.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['yellow_261',['YELLOW',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e',1,'door']]]
+  ['yellow_312',['YELLOW',['../namespacedoor.html#abafe0a9e79349883af3ab2a7fb544366a8a568e5f41b7e4da88fe5c4a00aad34e',1,'door']]]
 ];

+ 1 - 1
search/files_0.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['ansicolor_2ecpp_138',['ansicolor.cpp',['../ansicolor_8cpp.html',1,'']]]
+  ['ansicolor_2ecpp_163',['ansicolor.cpp',['../ansicolor_8cpp.html',1,'']]]
 ];

+ 1 - 1
search/files_1.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['door_2ecpp_139',['door.cpp',['../door_8cpp.html',1,'']]]
+  ['door_2ecpp_164',['door.cpp',['../door_8cpp.html',1,'']]]
 ];

+ 1 - 1
search/files_2.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['getkey_2ecpp_140',['getkey.cpp',['../getkey_8cpp.html',1,'']]]
+  ['lines_2ecpp_165',['lines.cpp',['../lines_8cpp.html',1,'']]]
 ];

+ 1 - 1
search/files_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['lines_2ecpp_141',['lines.cpp',['../lines_8cpp.html',1,'']]]
+  ['panel_2ecpp_166',['panel.cpp',['../panel_8cpp.html',1,'']]]
 ];

+ 4 - 4
search/functions_0.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['addselection_143',['addSelection',['../classdoor_1_1Menu.html#a07f4017a58539cb0e986702f024efd6c',1,'door::Menu']]],
-  ['ansicolor_144',['ANSIColor',['../classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50',1,'door::ANSIColor::ANSIColor()'],['../classdoor_1_1ANSIColor.html#a896a1733336c8d428a75273c42d3c522',1,'door::ANSIColor::ANSIColor(ATTR a)'],['../classdoor_1_1ANSIColor.html#a40613126b2df46cf18eaec22d09d9a5e',1,'door::ANSIColor::ANSIColor(COLOR f)'],['../classdoor_1_1ANSIColor.html#abf47e5ea1fe91c4a3bb0510426409b7a',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a)'],['../classdoor_1_1ANSIColor.html#ab9d4dfb2b6c6185942d3b415e793e167',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a1, ATTR a2)'],['../classdoor_1_1ANSIColor.html#a59952a60cc039b0c101db8fb0a9f0ed4',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b)'],['../classdoor_1_1ANSIColor.html#ae443d34754082a6217dbb7311f601385',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a)'],['../classdoor_1_1ANSIColor.html#a1723651e98446b8d3a7e9f20091de840',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a1, ATTR a2)']]],
-  ['append_145',['append',['../classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e',1,'door::Render']]],
-  ['attr_146',['Attr',['../classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7',1,'door::ANSIColor']]]
+  ['addselection_167',['addSelection',['../classdoor_1_1Menu.html#a07f4017a58539cb0e986702f024efd6c',1,'door::Menu']]],
+  ['ansicolor_168',['ANSIColor',['../classdoor_1_1ANSIColor.html#abfa527e4328dc5168256da2ba21f5a50',1,'door::ANSIColor::ANSIColor()'],['../classdoor_1_1ANSIColor.html#a896a1733336c8d428a75273c42d3c522',1,'door::ANSIColor::ANSIColor(ATTR a)'],['../classdoor_1_1ANSIColor.html#a40613126b2df46cf18eaec22d09d9a5e',1,'door::ANSIColor::ANSIColor(COLOR f)'],['../classdoor_1_1ANSIColor.html#abf47e5ea1fe91c4a3bb0510426409b7a',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a)'],['../classdoor_1_1ANSIColor.html#ab9d4dfb2b6c6185942d3b415e793e167',1,'door::ANSIColor::ANSIColor(COLOR f, ATTR a1, ATTR a2)'],['../classdoor_1_1ANSIColor.html#a59952a60cc039b0c101db8fb0a9f0ed4',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b)'],['../classdoor_1_1ANSIColor.html#ae443d34754082a6217dbb7311f601385',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a)'],['../classdoor_1_1ANSIColor.html#a1723651e98446b8d3a7e9f20091de840',1,'door::ANSIColor::ANSIColor(COLOR f, COLOR b, ATTR a1, ATTR a2)']]],
+  ['append_169',['append',['../classdoor_1_1Render.html#a9c32f938c06d5d6b87d238ba6072324e',1,'door::Render']]],
+  ['attr_170',['Attr',['../classdoor_1_1ANSIColor.html#a9bc92fe3929de0d16f44ba4fb1837dd7',1,'door::ANSIColor::Attr(ATTR a)'],['../classdoor_1_1ANSIColor.html#a46b5dc8b9d373233000bbc0e45c33825',1,'door::ANSIColor::attr(ATTR a)']]]
 ];

+ 5 - 5
search/functions_1.js

@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['choose_147',['choose',['../classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e',1,'door::Menu']]],
-  ['clrscr_148',['Clrscr',['../classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a',1,'door::Clrscr']]],
-  ['coloroutput_149',['ColorOutput',['../classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b',1,'door::ColorOutput']]],
-  ['convert_150',['convert',['../classdoor_1_1IConv.html#a65f19364b9b6a219dd88e8d8f18db8dc',1,'door::IConv']]],
-  ['cp437tounicode_151',['cp437toUnicode',['../namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc',1,'door::cp437toUnicode(std::string input, std::string &amp;out)'],['../namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a',1,'door::cp437toUnicode(const char *input, std::string &amp;out)']]]
+  ['choose_171',['choose',['../classdoor_1_1Menu.html#a06da9157cc5984510153a6b93bf2e71e',1,'door::Menu']]],
+  ['clrscr_172',['Clrscr',['../classdoor_1_1Clrscr.html#a0611278ef387fce25ce1a7771b65096a',1,'door::Clrscr']]],
+  ['coloroutput_173',['ColorOutput',['../classdoor_1_1ColorOutput.html#a96cbbca21d2df9181925b121b57bef6b',1,'door::ColorOutput']]],
+  ['convert_174',['convert',['../classdoor_1_1IConv.html#a65f19364b9b6a219dd88e8d8f18db8dc',1,'door::IConv']]],
+  ['cp437tounicode_175',['cp437toUnicode',['../namespacedoor.html#a5efa4fb96eacd6b90e5cbb0bd985f3fc',1,'door::cp437toUnicode(std::string input, std::string &amp;out)'],['../namespacedoor.html#a7e94df0d0af14da619835aa90cfa8f2a',1,'door::cp437toUnicode(const char *input, std::string &amp;out)']]]
 ];

+ 3 - 1
search/functions_2.js

@@ -1,4 +1,6 @@
 var searchData=
 [
-  ['door_152',['Door',['../classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba',1,'door::Door::Door(std::string dname, int argc, char *argv[])'],['../classdoor_1_1Door.html#a65728f9e00ef3765c65d4f1e2c106fb6',1,'door::Door::Door(Door &amp;)=delete']]]
+  ['debug_176',['debug',['../classdoor_1_1ANSIColor.html#a027158ac3cd42c2c72f86c0b57db5c84',1,'door::ANSIColor']]],
+  ['detect_5funicode_5fand_5fscreen_177',['detect_unicode_and_screen',['../classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb',1,'door::Door']]],
+  ['door_178',['Door',['../classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba',1,'door::Door']]]
 ];

+ 1 - 1
search/functions_3.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['fit_153',['fit',['../classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3',1,'door::Line']]]
+  ['fit_179',['fit',['../classdoor_1_1Line.html#a557866135040c3b225353dc8629f8ea3',1,'door::Line']]]
 ];

+ 7 - 5
search/functions_4.js

@@ -1,8 +1,10 @@
 var searchData=
 [
-  ['get_154',['get',['../getkey_8cpp.html#a5a392181fdf6b261a23c6996b6f65765',1,'getkey.cpp']]],
-  ['get_5fone_5fof_155',['get_one_of',['../classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232',1,'door::Door']]],
-  ['getch_156',['getch',['../getkey_8cpp.html#abbfe4f963938c288581211cdee6cb818',1,'getkey.cpp']]],
-  ['getkey_157',['getkey',['../getkey_8cpp.html#a48210bb765c651a12818ca2551ace8e2',1,'getkey.cpp']]],
-  ['goto_158',['Goto',['../classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7',1,'door::Goto::Goto(int xpos, int ypos)'],['../classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a',1,'door::Goto::Goto(const Goto &amp;)=default']]]
+  ['get_5fone_5fof_180',['get_one_of',['../classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232',1,'door::Door']]],
+  ['getbg_181',['getBg',['../classdoor_1_1ANSIColor.html#aca2261a9b173cc87586db6784e03e6b5',1,'door::ANSIColor']]],
+  ['getch_182',['getch',['../classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737',1,'door::Door']]],
+  ['getfg_183',['getFg',['../classdoor_1_1ANSIColor.html#a3f724fb65d51b13e4c086e5fa90a5d35',1,'door::ANSIColor']]],
+  ['getkey_184',['getkey',['../classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404',1,'door::Door']]],
+  ['getkey_5for_5fpushback_185',['getkey_or_pushback',['../classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93',1,'door::Door']]],
+  ['goto_186',['Goto',['../classdoor_1_1Goto.html#a099828631625d5b66bb8789510d849d7',1,'door::Goto::Goto(int xpos, int ypos)'],['../classdoor_1_1Goto.html#a0181dcfef7179657b7401b12ee85ac5a',1,'door::Goto::Goto(const Goto &amp;)=default']]]
 ];

+ 2 - 1
search/functions_5.js

@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['hasrender_159',['hasRender',['../classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2',1,'door::Line']]]
+  ['haskey_187',['haskey',['../classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21',1,'door::Door']]],
+  ['hasrender_188',['hasRender',['../classdoor_1_1Line.html#a548cd373dbd7ad89eab9acce79d324a2',1,'door::Line']]]
 ];

+ 2 - 2
search/functions_6.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['iconv_160',['IConv',['../classdoor_1_1IConv.html#aa201b347d3982a6b96fc66a9edb36279',1,'door::IConv']]],
-  ['input_5fstring_161',['input_string',['../classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470',1,'door::Door']]]
+  ['iconv_189',['IConv',['../classdoor_1_1IConv.html#aa201b347d3982a6b96fc66a9edb36279',1,'door::IConv']]],
+  ['input_5fstring_190',['input_string',['../classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470',1,'door::Door']]]
 ];

+ 4 - 4
search/functions_7.js

@@ -1,7 +1,7 @@
 var searchData=
 [
-  ['length_162',['length',['../classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994',1,'door::Line']]],
-  ['line_163',['Line',['../classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481',1,'door::Line::Line(const std::string &amp;txt, int width=0)'],['../classdoor_1_1Line.html#ab4a8aca94290fdfe126d5dd290a6faf2',1,'door::Line::Line(const char *txt, int width=0)'],['../classdoor_1_1Line.html#acce7f7ed662df9d0b56b8817eb1e2baa',1,'door::Line::Line(const Line &amp;rhs)']]],
-  ['linesetback_164',['lineSetBack',['../classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb',1,'door::Panel']]],
-  ['log_165',['log',['../classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96',1,'door::Door']]]
+  ['length_191',['length',['../classdoor_1_1Line.html#ae2f71d1340a75f4b9955e100a9022994',1,'door::Line']]],
+  ['line_192',['Line',['../classdoor_1_1Line.html#ad7f8494e6382aaacfa46d6da77309481',1,'door::Line::Line(const std::string &amp;txt, int width=0)'],['../classdoor_1_1Line.html#ab4a8aca94290fdfe126d5dd290a6faf2',1,'door::Line::Line(const char *txt, int width=0)'],['../classdoor_1_1Line.html#acce7f7ed662df9d0b56b8817eb1e2baa',1,'door::Line::Line(const Line &amp;rhs)']]],
+  ['linesetback_193',['lineSetBack',['../classdoor_1_1Panel.html#ae5630294b780b57aba721969762f50eb',1,'door::Panel']]],
+  ['log_194',['log',['../classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96',1,'door::Door']]]
 ];

+ 2 - 2
search/functions_8.js

@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['makerender_166',['makeRender',['../classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d',1,'door::Menu']]],
-  ['menu_167',['Menu',['../classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e',1,'door::Menu::Menu(int x, int y, int width)'],['../classdoor_1_1Menu.html#a97ce6dd2340f2fa4d36647afc19619cd',1,'door::Menu::Menu(int width)']]]
+  ['makerender_195',['makeRender',['../classdoor_1_1Menu.html#aff858b2112970b66917a30ad3c00609d',1,'door::Menu']]],
+  ['menu_196',['Menu',['../classdoor_1_1Menu.html#a34666d486c5a22728e70ca8b43cd644e',1,'door::Menu::Menu(int x, int y, int width)'],['../classdoor_1_1Menu.html#a97ce6dd2340f2fa4d36647afc19619cd',1,'door::Menu::Menu(int width)']]]
 ];

+ 1 - 1
search/functions_9.js

@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['newline_168',['NewLine',['../classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a',1,'door::NewLine']]]
+  ['newline_197',['NewLine',['../classdoor_1_1NewLine.html#ae6439f66a0444e185cc06dfff1a0f74a',1,'door::NewLine']]]
 ];

+ 5 - 5
search/functions_a.js

@@ -1,8 +1,8 @@
 var searchData=
 [
-  ['operator_21_3d_169',['operator!=',['../classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd',1,'door::ANSIColor']]],
-  ['operator_3c_3c_170',['operator&lt;&lt;',['../namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa',1,'door::operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)'],['../namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)'],['../namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94',1,'door::operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)'],['../namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)'],['../namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Line &amp;l)'],['../namespacedoor.html#a10848399ef2da2947ceb98b7707a688f',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)'],['../namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)']]],
-  ['operator_3d_3d_171',['operator==',['../classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87',1,'door::ANSIColor']]],
-  ['output_172',['output',['../classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505',1,'door::ANSIColor::output(void) const'],['../classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e',1,'door::ANSIColor::output(ANSIColor &amp;previous) const'],['../classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b',1,'door::Render::output()']]],
-  ['overflow_173',['overflow',['../classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4',1,'door::Door']]]
+  ['operator_21_3d_198',['operator!=',['../classdoor_1_1ANSIColor.html#a5d2d818d1922bcb8b73ccdaf639ca2cd',1,'door::ANSIColor']]],
+  ['operator_3c_3c_199',['operator&lt;&lt;',['../namespacedoor.html#ae6c40e2e917f64a9c42d977a88fe18fa',1,'door::operator&lt;&lt;(std::ostream &amp;os, const ANSIColor &amp;c)'],['../namespacedoor.html#ad5d6277de5e8274cec970a4633d713b1',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Clrscr &amp;clr)'],['../namespacedoor.html#aa6b909ef984a2aabc5b9a570884dff94',1,'door::operator&lt;&lt;(std::ostream &amp;os, const NewLine &amp;nl)'],['../namespacedoor.html#aae6ca4805185baa51dcc661a69fa801b',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Goto &amp;g)'],['../namespacedoor.html#af3c1c222a45143cfa4e780cfb2e45243',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Line &amp;l)'],['../namespacedoor.html#a10848399ef2da2947ceb98b7707a688f',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Panel &amp;p)'],['../namespacedoor.html#a5ca5f798bc38b4e5dc1e482ace47b7df',1,'door::operator&lt;&lt;(std::ostream &amp;os, const Screen &amp;s)']]],
+  ['operator_3d_3d_200',['operator==',['../classdoor_1_1ANSIColor.html#aa198707d0103967b7a4bc4f502a0ba87',1,'door::ANSIColor']]],
+  ['output_201',['output',['../classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505',1,'door::ANSIColor::output(void) const'],['../classdoor_1_1ANSIColor.html#ae930abd27910b37e4ade719d10ae3a0e',1,'door::ANSIColor::output(ANSIColor &amp;previous) const'],['../classdoor_1_1Render.html#ae83a23641dde4dff29b5214ea1921f3b',1,'door::Render::output()']]],
+  ['overflow_202',['overflow',['../classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4',1,'door::Door']]]
 ];

+ 3 - 4
search/functions_b.js

@@ -1,7 +1,6 @@
 var searchData=
 [
-  ['raw_174',['raw',['../getkey_8cpp.html#a4d28072fff7bfaa3de3d1a6357fba261',1,'getkey.cpp']]],
-  ['render_175',['Render',['../classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00',1,'door::Render']]],
-  ['replace_176',['replace',['../namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d',1,'door::replace(std::string &amp;str, const std::string &amp;from, const std::string &amp;to)'],['../namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3',1,'door::replace(std::string &amp;str, const char *from, const char *to)']]],
-  ['reset_177',['reset',['../classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499',1,'door::ColorOutput::reset()'],['../getkey_8cpp.html#a3aea9deb2a0bfea9ff05a898f4822e31',1,'reset():&#160;getkey.cpp']]]
+  ['render_203',['Render',['../classdoor_1_1Render.html#a6540ecf2f2f4a3e9eaeb47cc9c7daa00',1,'door::Render']]],
+  ['replace_204',['replace',['../namespacedoor.html#acba445fc4d33e1b0c1ff2b648cc2899d',1,'door::replace(std::string &amp;str, const std::string &amp;from, const std::string &amp;to)'],['../namespacedoor.html#a5cc0209e9203231d1bdb1e6b7f0876c3',1,'door::replace(std::string &amp;str, const char *from, const char *to)']]],
+  ['reset_205',['reset',['../classdoor_1_1ColorOutput.html#a37a1ffba5df591c2e68d4a491c471499',1,'door::ColorOutput']]]
 ];

Some files were not shown because too many files changed in this diff