Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pdf/xpdf/PDFDoc.cc25
-rw-r--r--pdf/xpdf/PDFDoc.h15
2 files changed, 28 insertions, 12 deletions
diff --git a/pdf/xpdf/PDFDoc.cc b/pdf/xpdf/PDFDoc.cc
index 3df9472..9108220 100644
--- a/pdf/xpdf/PDFDoc.cc
+++ b/pdf/xpdf/PDFDoc.cc
@@ -206,7 +206,9 @@ void PDFDoc::checkHeader() {
void PDFDoc::displayPage(OutputDev *out, int page, double zoom,
int rotate, GBool doLinks,
GBool (*abortCheckCbk)(void *data),
- void *abortCheckCbkData) {
+ void *abortCheckCbkData,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data),
+ void *annotDisplayDecideCbkData) {
Page *p;
if (globalParams->getPrintCommands()) {
@@ -220,22 +222,27 @@ void PDFDoc::displayPage(OutputDev *out, int page, double zoom,
}
getLinks(p);
p->display(out, zoom, rotate, links, catalog,
- abortCheckCbk, abortCheckCbkData);
+ abortCheckCbk, abortCheckCbkData,
+ annotDisplayDecideCbk, annotDisplayDecideCbkData);
} else {
p->display(out, zoom, rotate, NULL, catalog,
- abortCheckCbk, abortCheckCbkData);
+ abortCheckCbk, abortCheckCbkData,
+ annotDisplayDecideCbk, annotDisplayDecideCbkData);
}
}
void PDFDoc::displayPages(OutputDev *out, int firstPage, int lastPage,
int zoom, int rotate, GBool doLinks,
GBool (*abortCheckCbk)(void *data),
- void *abortCheckCbkData) {
+ void *abortCheckCbkData,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data),
+ void *annotDisplayDecideCbkData) {
int page;
for (page = firstPage; page <= lastPage; ++page) {
displayPage(out, page, zoom, rotate, doLinks,
- abortCheckCbk, abortCheckCbkData);
+ abortCheckCbk, abortCheckCbkData,
+ annotDisplayDecideCbk, annotDisplayDecideCbkData);
}
}
@@ -243,12 +250,16 @@ void PDFDoc::displayPageSlice(OutputDev *out, int page, double zoom,
int rotate, int sliceX, int sliceY,
int sliceW, int sliceH,
GBool (*abortCheckCbk)(void *data),
- void *abortCheckCbkData) {
+ void *abortCheckCbkData,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data),
+ void *annotDisplayDecideCbkData) {
Page *p;
p = catalog->getPage(page);
p->displaySlice(out, zoom, rotate, sliceX, sliceY, sliceW, sliceH,
- NULL, catalog, abortCheckCbk, abortCheckCbkData);
+ NULL, catalog,
+ abortCheckCbk, abortCheckCbkData,
+ annotDisplayDecideCbk, annotDisplayDecideCbkData);
}
GBool PDFDoc::isLinearized() {
diff --git a/pdf/xpdf/PDFDoc.h b/pdf/xpdf/PDFDoc.h
index 99832f8..ea73282 100644
--- a/pdf/xpdf/PDFDoc.h
+++ b/pdf/xpdf/PDFDoc.h
@@ -20,6 +20,7 @@
#include "Link.h"
#include "Catalog.h"
#include "Page.h"
+#include "Annot.h"
class GString;
class BaseStream;
@@ -82,20 +83,26 @@ public:
void displayPage(OutputDev *out, int page, double zoom,
int rotate, GBool doLinks,
GBool (*abortCheckCbk)(void *data) = NULL,
- void *abortCheckCbkData = NULL);
+ void *abortCheckCbkData = NULL,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
+ void *annotDisplayDecideCbkData = NULL);
// Display a range of pages.
void displayPages(OutputDev *out, int firstPage, int lastPage,
int zoom, int rotate, GBool doLinks,
GBool (*abortCheckCbk)(void *data) = NULL,
- void *abortCheckCbkData = NULL);
+ void *abortCheckCbkData = NULL,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
+ void *annotDisplayDecideCbkData = NULL);
// Display part of a page.
void displayPageSlice(OutputDev *out, int page, double zoom,
int rotate, int sliceX, int sliceY,
int sliceW, int sliceH,
GBool (*abortCheckCbk)(void *data) = NULL,
- void *abortCheckCbkData = NULL);
+ void *abortCheckCbkData = NULL,
+ GBool (*annotDisplayDecideCbk)(Annot *annot, void *user_data) = NULL,
+ void *annotDisplayDecideCbkData = NULL);
// Find a page, given its object ID. Returns page number, or 0 if
// not found.
@@ -144,7 +151,6 @@ public:
// Save this file with another name.
GBool saveAs(GString *name);
-
private:
GBool setup(GString *ownerPassword, GString *userPassword);
@@ -162,7 +168,6 @@ private:
Outline *outline;
#endif
-
GBool ok;
int errCode;
};