]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/PDFDoc.cc
file cursor-hand-open.png was initially added on branch gpdf-modes.
[evince.git] / pdf / xpdf / PDFDoc.cc
index ff6cefafcaf45797b4ce56e97edf37d76cdff597..e156c3f7232e5c247ba1109ffca4e4d1cac86f75 100644 (file)
@@ -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() {