File indexing completed on 2024-05-19 04:35:22
0001 /* 0002 SPDX-FileCopyrightText: 2006 Pino Toscano <toscano.pino@tiscali.it> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _OKULAR_GENERATOR_TIFF_H_ 0008 #define _OKULAR_GENERATOR_TIFF_H_ 0009 0010 #include <core/generator.h> 0011 0012 #include <QHash> 0013 #include <QLoggingCategory> 0014 0015 class TIFFGenerator : public Okular::Generator 0016 { 0017 Q_OBJECT 0018 Q_INTERFACES(Okular::Generator) 0019 public: 0020 TIFFGenerator(QObject *parent, const QVariantList &args); 0021 ~TIFFGenerator() override; 0022 0023 bool loadDocument(const QString &fileName, QVector<Okular::Page *> &pagesVector) override; 0024 bool loadDocumentFromData(const QByteArray &fileData, QVector<Okular::Page *> &pagesVector) override; 0025 0026 Okular::DocumentInfo generateDocumentInfo(const QSet<Okular::DocumentInfo::Key> &keys) const override; 0027 0028 Okular::Document::PrintError print(QPrinter &printer) override; 0029 0030 protected: 0031 bool doCloseDocument() override; 0032 QImage image(Okular::PixmapRequest *request) override; 0033 0034 private: 0035 class Private; 0036 Private *const d; 0037 0038 bool loadTiff(QVector<Okular::Page *> &pagesVector, const char *name); 0039 void loadPages(QVector<Okular::Page *> &pagesVector); 0040 int mapPage(int page) const; 0041 0042 QHash<int, int> m_pageMapping; 0043 }; 0044 0045 Q_DECLARE_LOGGING_CATEGORY(OkularTiffDebug) 0046 0047 #endif