/* SPDX-FileCopyrightText: 2006 Pino Toscano SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef _OKULAR_GENERATOR_TIFF_H_ #define _OKULAR_GENERATOR_TIFF_H_ #include #include #include class TIFFGenerator : public Okular::Generator { Q_OBJECT Q_INTERFACES(Okular::Generator) public: TIFFGenerator(QObject *parent, const QVariantList &args); ~TIFFGenerator() override; bool loadDocument(const QString &fileName, QVector &pagesVector) override; bool loadDocumentFromData(const QByteArray &fileData, QVector &pagesVector) override; Okular::DocumentInfo generateDocumentInfo(const QSet &keys) const override; Okular::Document::PrintError print(QPrinter &printer) override; protected: bool doCloseDocument() override; QImage image(Okular::PixmapRequest *request) override; private: class Private; Private *const d; bool loadTiff(QVector &pagesVector, const char *name); void loadPages(QVector &pagesVector); int mapPage(int page) const; QHash m_pageMapping; }; Q_DECLARE_LOGGING_CATEGORY(OkularTiffDebug) #endif