File indexing completed on 2024-05-12 16:28:29

0001 /* This file is part of the KDE project
0002    Copyright (C) 2010 Sven Langkamp <sven.langkamp@gmail.com>
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018 */
0019 
0020 #ifndef OKULARODPGENERATOR_H
0021 #define OKULARODPGENERATOR_H
0022 
0023 #include "kookulargenerator_odp_export.h"
0024 
0025 #include <okular/core/generator.h>
0026 #include <okular/core/document.h>
0027 #include <okular/core/version.h>
0028 
0029 class KoPADocument;
0030 
0031 class KOOKULARGENERATOR_ODP_EXPORT OkularOdpGenerator : public Okular::Generator
0032 {
0033     Q_OBJECT
0034     Q_INTERFACES( Okular::Generator )
0035 
0036 public:
0037     OkularOdpGenerator( QObject *parent, const QVariantList &args );
0038     ~OkularOdpGenerator();
0039 
0040     bool loadDocument( const QString &fileName, QVector<Okular::Page*> &pages );
0041 
0042     bool canGeneratePixmap() const;
0043     void generatePixmap( Okular::PixmapRequest *request );
0044 
0045     Okular::DocumentInfo generateDocumentInfo( const QSet<Okular::DocumentInfo::Key> &keys ) const;
0046 
0047 protected:
0048     bool doCloseDocument();
0049 
0050 private:
0051     const KoPADocument* m_doc;
0052 
0053     Okular::DocumentInfo m_documentInfo;
0054 };
0055 
0056 #endif