File indexing completed on 2024-05-12 16:06:43
0001 /* 0002 SPDX-FileCopyrightText: 2005 Albert Astals Cid <aacid@kde.org> 0003 0004 Work sponsored by the LiMux project of the city of Munich: 0005 SPDX-FileCopyrightText: 2017 Klarälvdalens Datakonsult AB a KDAB Group company <info@kdab.com> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef _OKULAR_GENERATOR_KIMGIO_H_ 0011 #define _OKULAR_GENERATOR_KIMGIO_H_ 0012 0013 #include <core/document.h> 0014 #include <core/generator.h> 0015 0016 #include <QImage> 0017 0018 class KIMGIOGenerator : public Okular::Generator 0019 { 0020 Q_OBJECT 0021 Q_INTERFACES(Okular::Generator) 0022 0023 public: 0024 KIMGIOGenerator(QObject *parent, const QVariantList &args); 0025 ~KIMGIOGenerator() override; 0026 0027 // [INHERITED] load a document and fill up the pagesVector 0028 bool loadDocument(const QString &fileName, QVector<Okular::Page *> &pagesVector) override; 0029 bool loadDocumentFromData(const QByteArray &fileData, QVector<Okular::Page *> &pagesVector) override; 0030 SwapBackingFileResult swapBackingFile(QString const &newFileName, QVector<Okular::Page *> &newPagesVector) override; 0031 0032 // [INHERITED] print document using already configured kprinter 0033 Okular::Document::PrintError print(QPrinter &printer) override; 0034 0035 // [INHERITED] document information 0036 Okular::DocumentInfo generateDocumentInfo(const QSet<Okular::DocumentInfo::Key> &keys) const override; 0037 0038 protected: 0039 bool doCloseDocument() override; 0040 QImage image(Okular::PixmapRequest *request) override; 0041 0042 private: 0043 bool loadDocumentInternal(const QByteArray &fileData, const QString &fileName, QVector<Okular::Page *> &pagesVector); 0044 0045 private: 0046 QImage m_img; 0047 Okular::DocumentInfo docInfo; 0048 }; 0049 0050 #endif