From 7f7e6fe30ef4f9ba4507b89174676f57c42c0000 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Sun, 26 Nov 2017 23:36:26 +0100 Subject: Implementation for Structogram iterator and Statement type The interator is not (yet) aware of the scope in which it is iterating. --- src/ui/AsciiRenderer.hpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/ui/AsciiRenderer.hpp (limited to 'src/ui/AsciiRenderer.hpp') 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_ */ -- cgit v1.2.1