aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/AsciiRenderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/AsciiRenderer.h')
-rw-r--r--src/ui/AsciiRenderer.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/ui/AsciiRenderer.h b/src/ui/AsciiRenderer.h
new file mode 100644
index 0000000..4f9020a
--- /dev/null
+++ b/src/ui/AsciiRenderer.h
@@ -0,0 +1,33 @@
+/*
+ * Renderer.h
+ *
+ * Created on: Nov 23, 2017
+ * Author: naopross
+ */
+
+#ifndef SRC_UI_ASCIIRENDERER_H_
+#define SRC_UI_ASCIIRENDERER_H_
+
+#include "../diagram/Structogram.h"
+
+namespace samb {
+
+class AsciiRenderer {
+private:
+ Structogram m_structogram;
+ const unsigned int m_width;
+
+ void drawPadding(unsigned int amt);
+ void drawLine() const;
+ void drawText(std::string text, unsigned int width = 0, std::string before = "|", std::string after = "|") const;
+ void drawDecision(std::string condition, std::string trueText, std::string falseText, unsigned int width = 0) const;
+public:
+ AsciiRenderer(Structogram& structogram, unsigned int width);
+ ~AsciiRenderer();
+
+ void render();
+};
+
+} /* namespace samb */
+
+#endif /* SRC_UI_ASCIIRENDERER_H_ */