Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpdfpagerenderer.h
Go to the documentation of this file.
1// Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Tobias König <tobias.koenig@kdab.com>
2// Copyright (C) 2020 The Qt Company Ltd.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5#ifndef QPDFPAGERENDERER_H
6#define QPDFPAGERENDERER_H
7
8#include <QtPdf/qtpdfglobal.h>
9
10#include <QtCore/qobject.h>
11#include <QtCore/qsize.h>
12#include <QtPdf/qpdfdocument.h>
13#include <QtPdf/qpdfdocumentrenderoptions.h>
14
15QT_BEGIN_NAMESPACE
16
17class QPdfPageRendererPrivate;
18
19class Q_PDF_EXPORT QPdfPageRenderer : public QObject
20{
21 Q_OBJECT
22
23 Q_PROPERTY(QPdfDocument* document READ document WRITE setDocument NOTIFY documentChanged)
24 Q_PROPERTY(RenderMode renderMode READ renderMode WRITE setRenderMode NOTIFY renderModeChanged)
25
26public:
27 enum class RenderMode
28 {
29 MultiThreaded,
30 SingleThreaded
31 };
32 Q_ENUM(RenderMode)
33
34 QPdfPageRenderer() : QPdfPageRenderer(nullptr) {}
35 explicit QPdfPageRenderer(QObject *parent);
36 ~QPdfPageRenderer() override;
37
38 RenderMode renderMode() const;
39 void setRenderMode(RenderMode mode);
40
41 QPdfDocument* document() const;
42 void setDocument(QPdfDocument *document);
43
44 quint64 requestPage(int pageNumber, QSize imageSize,
45 QPdfDocumentRenderOptions options = QPdfDocumentRenderOptions());
46
47Q_SIGNALS:
48 void documentChanged(QPdfDocument *document);
49 void renderModeChanged(QPdfPageRenderer::RenderMode renderMode);
50
51 void pageRendered(int pageNumber, QSize imageSize, const QImage &image,
52 QPdfDocumentRenderOptions options, quint64 requestId);
53
54private:
55 QScopedPointer<QPdfPageRendererPrivate> d_ptr;
56};
57
58QT_END_NAMESPACE
59
60#endif
QList< PageRequest > m_pendingRequests
QList< PageRequest > m_requests
void requestFinished(int page, QSize imageSize, const QImage &image, QPdfDocumentRenderOptions options, quint64 requestId)
QScopedPointer< RenderWorker > m_renderWorker
QPointer< QPdfDocument > m_document
The QPdfPageRenderer class encapsulates the rendering of pages of a PDF document.
void setDocument(QPdfDocument *document)
Q_DECLARE_TYPEINFO(QPdfPageRendererPrivate::PageRequest, Q_PRIMITIVE_TYPE)