X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=pdf%2Fxpdf%2FPDFDoc.cc;h=e156c3f7232e5c247ba1109ffca4e4d1cac86f75;hb=9315dc40269dcdc854e6aa39c74ff96324b52dc5;hp=ff6cefafcaf45797b4ce56e97edf37d76cdff597;hpb=64676031423465996e83c4a685290f0c3d97a249;p=evince.git diff --git a/pdf/xpdf/PDFDoc.cc b/pdf/xpdf/PDFDoc.cc index ff6cefaf..e156c3f7 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, - int rotate, GBool doLinks, +void PDFDoc::displayPage(OutputDev *out, int page, double hDPI, double vDPI, + int rotate, GBool crop, 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,48 @@ 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, crop, links, catalog, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } else { - p->display(out, zoom, rotate, NULL, catalog, - abortCheckCbk, abortCheckCbkData); + p->display(out, hDPI, vDPI, rotate, crop, 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 crop, 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, crop, doLinks, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } } -void PDFDoc::displayPageSlice(OutputDev *out, int page, double zoom, - int rotate, int sliceX, int sliceY, - int sliceW, int sliceH, +void PDFDoc::displayPageSlice(OutputDev *out, int page, + double hDPI, double vDPI, + int rotate, GBool crop, + 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, crop, + sliceX, sliceY, sliceW, sliceH, + NULL, catalog, + abortCheckCbk, abortCheckCbkData, + annotDisplayDecideCbk, annotDisplayDecideCbkData); } GBool PDFDoc::isLinearized() {