File indexing completed on 2024-05-19 04:35:22
0001 /* 0002 SPDX-FileCopyrightText: 2007 Albert Astals Cid <aacid@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef _OKULAR_GENERATOR_GHOSTVIEW_H_ 0008 #define _OKULAR_GENERATOR_GHOSTVIEW_H_ 0009 0010 #include <core/generator.h> 0011 #include <interfaces/configinterface.h> 0012 0013 #include <libspectre/spectre.h> 0014 0015 class GSGenerator : public Okular::Generator, public Okular::ConfigInterface 0016 { 0017 Q_OBJECT 0018 Q_INTERFACES(Okular::Generator) 0019 Q_INTERFACES(Okular::ConfigInterface) 0020 0021 public: 0022 /** virtual methods to reimplement **/ 0023 // load a document and fill up the pagesVector 0024 bool loadDocument(const QString &fileName, QVector<Okular::Page *> &pagesVector) override; 0025 0026 // Document description and Table of contents 0027 Okular::DocumentInfo generateDocumentInfo(const QSet<Okular::DocumentInfo::Key> &keys) const override; 0028 const Okular::DocumentSynopsis *generateDocumentSynopsis() override 0029 { 0030 return nullptr; 0031 } 0032 const Okular::DocumentFonts *generateDocumentFonts() 0033 { 0034 return nullptr; 0035 } 0036 0037 // page contents generation 0038 bool canGeneratePixmap() const override; 0039 void generatePixmap(Okular::PixmapRequest *request) override; 0040 0041 QVariant metaData(const QString &key, const QVariant &option) const override; 0042 0043 // print document using already configured kprinter 0044 Okular::Document::PrintError print(QPrinter & /*printer*/) override; 0045 QString fileName() const; 0046 0047 bool reparseConfig() override; 0048 void addPages(KConfigDialog *dlg) override; 0049 0050 /** constructor **/ 0051 GSGenerator(QObject *parent, const QVariantList &args); 0052 ~GSGenerator() override; 0053 0054 public Q_SLOTS: 0055 void slotImageGenerated(QImage *img, Okular::PixmapRequest *request); 0056 0057 protected: 0058 bool doCloseDocument() override; 0059 0060 private: 0061 bool loadPages(QVector<Okular::Page *> &pagesVector); 0062 Okular::Rotation orientation(SpectreOrientation orientation) const; 0063 0064 // backendish stuff 0065 SpectreDocument *m_internalDocument; 0066 0067 Okular::PixmapRequest *m_request; 0068 0069 bool cache_AAtext; 0070 bool cache_AAgfx; 0071 }; 0072 0073 #endif