aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/AsciiRenderer.hpp
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2017-11-26 23:36:26 +0100
committerNao Pross <naopross@thearcway.org>2017-11-26 23:36:26 +0100
commit7f7e6fe30ef4f9ba4507b89174676f57c42c0000 (patch)
treed6fc1ae62972568a1021c940f372903cda57cceb /src/ui/AsciiRenderer.hpp
parentFirst commit (diff)
downloadOrbitingYeti-7f7e6fe30ef4f9ba4507b89174676f57c42c0000.tar.gz
OrbitingYeti-7f7e6fe30ef4f9ba4507b89174676f57c42c0000.zip
Implementation for Structogram iterator and Statement type
The interator is not (yet) aware of the scope in which it is iterating.
Diffstat (limited to 'src/ui/AsciiRenderer.hpp')
-rw-r--r--src/ui/AsciiRenderer.hpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/ui/AsciiRenderer.hpp b/src/ui/AsciiRenderer.hpp
new file mode 100644
index 0000000..76d6ff5
--- /dev/null
+++ b/src/ui/AsciiRenderer.hpp
@@ -0,0 +1,37 @@
+/*
+ * Renderer.h
+ *
+ * Created on: Nov 23, 2017
+ * Author: naopross
+ */
+
+#ifndef SRC_UI_ASCIIRENDERER_HPP_
+#define SRC_UI_ASCIIRENDERER_HPP_
+
+#include "../diagram/Structogram.hpp"
+
+namespace samb {
+
+/* Sample renderer for debug,
+ *
+ * TODO: implement PdfRenderer, UiRenderer with a common interface
+ */
+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_HPP_ */