File indexing completed on 2024-05-12 16:06:41
0001 /* 0002 SPDX-FileCopyrightText: 2008 Ely Levy <elylevy@cs.huji.ac.il> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef EPUB_DOCUMENT_H 0008 #define EPUB_DOCUMENT_H 0009 0010 #include <QImage> 0011 #include <QLoggingCategory> 0012 #include <QTextDocument> 0013 #include <QUrl> 0014 #include <QVariant> 0015 #include <epub.h> 0016 0017 namespace Epub 0018 { 0019 class EpubDocument : public QTextDocument 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit EpubDocument(const QString &fileName, const QFont &font); 0025 ~EpubDocument() override; 0026 bool isValid(); 0027 struct epub *getEpub(); 0028 void setCurrentSubDocument(const QString &doc); 0029 int maxContentHeight() const; 0030 int maxContentWidth() const; 0031 enum Multimedia { MovieResource = QTextDocument::UserResource, AudioResource }; 0032 0033 protected: 0034 QVariant loadResource(int type, const QUrl &name) override; 0035 0036 private: 0037 QString checkCSS(const QString &css); 0038 0039 struct epub *mEpub; 0040 QUrl mCurrentSubDocument; 0041 0042 int padding; 0043 QFont mFont; 0044 0045 friend class Converter; 0046 }; 0047 0048 } 0049 Q_DECLARE_LOGGING_CATEGORY(OkularEpuDebug) 0050 #endif