aboutsummaryrefslogtreecommitdiff
path: root/src/plaintextrenderer.cpp
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2020-06-09 19:32:59 +0200
committerFelix (xq) Queißner <git@mq32.de>2020-06-09 19:32:59 +0200
commit0739bce0be84e8ccebdc632726efd0fd6f612789 (patch)
tree7c6d705c87900a72d13d3924f6b1a59b5f2ea58d /src/plaintextrenderer.cpp
parent18fde8808d0f9febb668ff96714aefba82c0dce2 (diff)
downloadkristall-0739bce0be84e8ccebdc632726efd0fd6f612789.tar.gz
Introduces plain text renderer for improved styling.
Diffstat (limited to 'src/plaintextrenderer.cpp')
-rw-r--r--src/plaintextrenderer.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plaintextrenderer.cpp b/src/plaintextrenderer.cpp
new file mode 100644
index 0000000..37801a4
--- /dev/null
+++ b/src/plaintextrenderer.cpp
@@ -0,0 +1,19 @@
+#include "plaintextrenderer.hpp"
+
+#include <QTextImageFormat>
+#include <QTextCursor>
+
+std::unique_ptr<QTextDocument> PlainTextRenderer::render(const QByteArray &input, const DocumentStyle &style)
+{
+ QTextCharFormat standard;
+ standard.setFont(style.preformatted_font);
+ standard.setForeground(style.preformatted_color);
+
+ std::unique_ptr<QTextDocument> result = std::make_unique<QTextDocument>();
+ result->setDocumentMargin(style.margin);
+
+ QTextCursor cursor { result.get() };
+ cursor.insertText(QString::fromUtf8(input), standard);
+
+ return result;
+}