blob: 7173d50840b6f3807ad2766a53fa16e04410abfc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef GEMINIRENDERER_HPP
#define GEMINIRENDERER_HPP
#include <memory>
#include <QTextDocument>
#include <QColor>
#include <QSettings>
#include "documentoutlinemodel.hpp"
#include "documentstyle.hpp"
class GeminiDocument :
public QTextDocument
{
Q_OBJECT
public:
explicit GeminiDocument(QObject * parent = nullptr);
~GeminiDocument() override;
QColor background_color;
};
struct GeminiRenderer
{
GeminiRenderer() = delete;
//! Renders the given byte sequence into a GeminiDocument.
//! @param input The utf8 encoded input string
//! @param root_url The url that is used to resolve relative links
//! @param style The style which is used to render the document
//! @param outline The extracted outline from the document
static std::unique_ptr<GeminiDocument> render(
QByteArray const & input,
QUrl const & root_url,
DocumentStyle const & style,
DocumentOutlineModel & outline
);
};
#endif // GEMINIRENDERER_HPP
|