]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/PDFDoc.h
Scroll at the top of the page when changing page
[evince.git] / pdf / xpdf / PDFDoc.h
index 99832f81b6f688150c4d7b89e52341c8ea0ad4f3..57e37a2afb7d4847904fb0e22ecd07415b5d52d5 100644 (file)
@@ -20,6 +20,7 @@
 #include "Link.h"
 #include "Catalog.h"
 #include "Page.h"
+#include "Annot.h"
 
 class GString;
 class BaseStream;
@@ -79,23 +80,31 @@ public:
   Object *getStructTreeRoot() { return catalog->getStructTreeRoot(); }
 
   // Display a page.
-  void displayPage(OutputDev *out, int page, double zoom,
-                  int rotate, GBool doLinks,
+  void displayPage(OutputDev *out, int page, double hDPI, double vDPI,
+                  int rotate, GBool crop, 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,
+                   double hDPI, double vDPI, int rotate,
+                   GBool crop, 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,
+  void 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) = 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.
@@ -103,7 +112,8 @@ public:
 
   // If point <x>,<y> is in a link, return the associated action;
   // else return NULL.
-  LinkAction *findLink(double x, double y) { return links->find(x, y); }
+  LinkAction *findLink(double x, double y)
+    { return links ? links->find(x, y) : (LinkAction *)NULL; }
 
   // Return true if <x>,<y> is in a link.
   GBool onLink(double x, double y) { return links->onLink(x, y); }
@@ -144,7 +154,6 @@ public:
   // Save this file with another name.
   GBool saveAs(GString *name);
 
-
 private:
 
   GBool setup(GString *ownerPassword, GString *userPassword);
@@ -162,7 +171,6 @@ private:
   Outline *outline;
 #endif
 
-
   GBool ok;
   int errCode;
 };