diff options
author | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 |
---|---|---|
committer | Calvin Morrison <calvin@pobox.com> | 2023-04-05 14:13:39 -0400 |
commit | 835e373b3eeaabcd0621ed6798ab500f37982fae (patch) | |
tree | dfa16b0e2e1b4956b38f693220eac4e607802133 /xpdf-qt/XpdfApp.h |
Diffstat (limited to 'xpdf-qt/XpdfApp.h')
-rw-r--r-- | xpdf-qt/XpdfApp.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/xpdf-qt/XpdfApp.h b/xpdf-qt/XpdfApp.h new file mode 100644 index 0000000..3ac2d2f --- /dev/null +++ b/xpdf-qt/XpdfApp.h @@ -0,0 +1,99 @@ +//======================================================================== +// +// XpdfApp.h +// +// Copyright 2015 Glyph & Cog, LLC +// +//======================================================================== + +#ifndef XPDFAPP_H +#define XPDFAPP_H + +#include <aconf.h> + +#include <QApplication> +#include <QColor> +#include <QDateTime> +#include "gtypes.h" + +class GList; +class XpdfViewer; + +//------------------------------------------------------------------------ + +struct XpdfSavedPageNumber { + XpdfSavedPageNumber(): pageNumber(1) {} + XpdfSavedPageNumber(const QString &fileNameA, int pageNumberA) + : fileName(fileNameA), pageNumber(pageNumberA) {} + QString fileName; + int pageNumber; +}; + +#define maxSavedPageNumbers 100 + +//------------------------------------------------------------------------ +// XpdfApp +//------------------------------------------------------------------------ + +class XpdfApp: public QApplication { + Q_OBJECT + +public: + + XpdfApp(int &argc, char **argv); + virtual ~XpdfApp(); + + int getNumViewers(); + + XpdfViewer *newWindow(GBool fullScreen = gFalse, + const char *remoteServerName = NULL); + + GBool openInNewWindow(QString fileName, int page = 1, + QString dest = QString(), + int rotate = 0, + QString password = QString(), + GBool fullScreen = gFalse, + const char *remoteServerName = NULL); + + void closeWindowOrQuit(XpdfViewer *viewer); + + // Called just before closing one or more PDF files. + void startUpdatePagesFile(); + void updatePagesFile(const QString &fileName, int pageNumber); + void finishUpdatePagesFile(); + + // Return the saved page number for [fileName]. + int getSavedPageNumber(const QString &fileName); + + void quit(); + + //--- for use by XpdfViewer + + int getErrorEventType() { return errorEventType; } + const QColor &getPaperColor() { return paperColor; } + const QColor &getMatteColor() { return matteColor; } + const QColor &getFullScreenMatteColor() { return fsMatteColor; } + const QColor &getSelectionColor() { return selectionColor; } + GBool getReverseVideo() { return reverseVideo; } + +private: + + void readPagesFile(); + void writePagesFile(); + + int errorEventType; + QColor paperColor; + QColor matteColor; + QColor fsMatteColor; + QColor selectionColor; + GBool reverseVideo; + + GList *viewers; // [XpdfViewer] + + QString savedPagesFileName; + QDateTime savedPagesFileTimestamp; + XpdfSavedPageNumber savedPageNumbers[maxSavedPageNumbers]; + GBool savedPagesFileChanged; +}; + +#endif |