From 46cf76f4f26e82b21c69a1d616c6435e9560e642 Mon Sep 17 00:00:00 2001 From: Remi Cohen-Scali Date: Tue, 13 Jan 2004 01:24:20 +0000 Subject: Added annots display CB. 2004-01-13 Remi Cohen-Scali * xpdf/PDFDoc.h: * xpdf/PDFDoc.cc: Added annots display CB. --- 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; }; -- cgit v0.9.1