summaryrefslogtreecommitdiff
path: root/src/include/tome/squelch/tree_printer.hpp
diff options
context:
space:
mode:
authorManoj Srivastava <srivasta@debian.org>2016-01-27 12:43:59 -0800
committerManoj Srivastava <srivasta@debian.org>2016-01-27 12:50:09 -0800
commit76fce162659078323fcd5e54b3195dae371faca2 (patch)
treec1d93d415b96238aae3c54eb83cb0815af2e4bca /src/include/tome/squelch/tree_printer.hpp
parentb4456969cd02d75c599a5b86b225c0774697e85d (diff)
parent4aa1a39402c3908e9e8b6eb3fd4e2183d5e5c52e (diff)
Merge branch 'development' into upstream
Signed-off-by: Manoj Srivastava <srivasta@debian.org> # Conflicts: # src/.gitignore # src/maid-x11.c # src/quest.pkg
Diffstat (limited to 'src/include/tome/squelch/tree_printer.hpp')
-rw-r--r--src/include/tome/squelch/tree_printer.hpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/include/tome/squelch/tree_printer.hpp b/src/include/tome/squelch/tree_printer.hpp
new file mode 100644
index 00000000..e8ee1e56
--- /dev/null
+++ b/src/include/tome/squelch/tree_printer.hpp
@@ -0,0 +1,49 @@
+#ifndef H_3d6cc652_c674_4a84_911d_e8ec35cc992a
+#define H_3d6cc652_c674_4a84_911d_e8ec35cc992a
+
+#include <boost/noncopyable.hpp>
+#include <cstdint>
+
+namespace squelch {
+
+/**
+ * Printing trees.
+ */
+class TreePrinter : boost::noncopyable
+{
+public:
+ TreePrinter();
+
+ void indent();
+
+ void dedent();
+
+ void reset();
+
+ void reset_scroll();
+
+ void scroll_up();
+
+ void scroll_down();
+
+ void scroll_left();
+
+ void scroll_right();
+
+ void write(uint8_t color, const char *line);
+
+private:
+ int m_indent;
+ int m_write_out_y;
+ int m_write_out_x;
+ int m_write_out_h;
+ int m_write_out_w;
+ int m_write_y;
+ int m_write_x;
+ int m_write_off_x;
+ int m_write_off_y;
+};
+
+} // namespace
+
+#endif