X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2FPDFDoc.cc;h=c92048bd9896392882aec54a8cd6567bf894f946;hb=ad63666daeeda50acc7630132d61fe044634fddd;hp=ff6cefafcaf45797b4ce56e97edf37d76cdff597;hpb=64676031423465996e83c4a685290f0c3d97a249;p=evince.git diff --git a/pdf/xpdf/PDFDoc.cc b/pdf/xpdf/PDFDoc.cc index ff6cefaf..c92048bd 100644 --- a/pdf/xpdf/PDFDoc.cc +++ b/pdf/xpdf/PDFDoc.cc @@ -2,7 +2,7 @@ // // PDFDoc.cc // -// Copyright 1996-2002 Glyph & Cog, LLC +// Copyright 1996-2003 Glyph & Cog, LLC // //======================================================================== @@ -114,6 +114,8 @@ PDFDoc::PDFDoc(BaseStream *strA, GString *ownerPassword, } GBool PDFDoc::setup(GString *ownerPassword, GString *userPassword) { + str->reset(); + // check header checkHeader(); @@ -203,10 +205,12 @@ void PDFDoc::checkHeader() { } } -void PDFDoc::displayPage(OutputDev *out, int page, double zoom, +void PDFDoc::displayPage(OutputDev *out, int page, double hDPI, double vDPI, 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()) { @@ -219,36 +223,46 @@ void PDFDoc::displayPage(OutputDev *out, int page, double zoom, links = NULL; } getLinks(p); - p->display(out, zoom, rotate, links, catalog, - abortCheckCbk, abortCheckCbkData); + p->display(out, hDPI, vDPI, rotate, links, catalog, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } else { - p->display(out, zoom, rotate, NULL, catalog, - abortCheckCbk, abortCheckCbkData); + p->display(out, hDPI, vDPI, rotate, NULL, catalog, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } } void PDFDoc::displayPages(OutputDev *out, int firstPage, int lastPage, - int zoom, int rotate, GBool doLinks, + double hDPI, double vDPI, 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); + displayPage(out, page, hDPI, vDPI, rotate, doLinks, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } } -void PDFDoc::displayPageSlice(OutputDev *out, int page, double zoom, +void PDFDoc::displayPageSlice(OutputDev *out, int page, + double hDPI, double vDPI, 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); + p->displaySlice(out, hDPI, vDPI, rotate, sliceX, sliceY, sliceW, sliceH, + NULL, catalog, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } GBool PDFDoc::isLinearized() {