]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/XPDFCore.h
Add a few more toolbar items.
[evince.git] / pdf / xpdf / XPDFCore.h
index 64357362375111392720c9d21611b2642d626b14..59fc19c5270715b0e8c81b5d2570630deedb60ee 100644 (file)
@@ -21,6 +21,7 @@
 #include <aconf.h>
 #include "gtypes.h"
 #include "gfile.h" // for time_t
+#include "SplashTypes.h"
 
 class GString;
 class GList;
@@ -28,17 +29,15 @@ class BaseStream;
 class PDFDoc;
 class LinkAction;
 class LinkDest;
-class XPixmapOutputDev;
+class XSplashOutputDev;
 
 //------------------------------------------------------------------------
 // zoom factor
 //------------------------------------------------------------------------
 
-#define minZoom    -5
-#define maxZoom     5
-#define zoomPage  100
-#define zoomWidth 101
-#define defZoom     1
+#define zoomPage  -1
+#define zoomWidth -2
+#define defZoom   125
 
 //------------------------------------------------------------------------
 // XPDFHistory
@@ -58,8 +57,8 @@ struct XPDFHistory {
 struct XPDFRegion {
   int page;
   double xMin, yMin, xMax, yMax;
-  Gulong color;
-  Gulong selectColor;
+  SplashRGB8 color;
+  SplashRGB8 selectColor;
   GBool selectable;
 };
 
@@ -88,8 +87,8 @@ public:
 
   // Create viewer core inside <parentWidgetA>.
   XPDFCore(Widget shellA, Widget parentWidgetA,
-          Gulong paperColorA, GBool fullScreenA, GBool reverseVideo,
-          GBool installCmap, int rgbCubeSize);
+          SplashRGB8 paperColorA, GBool fullScreenA,
+          GBool reverseVideo, GBool installCmap, int rgbCubeSize);
 
   ~XPDFCore();
 
@@ -114,11 +113,11 @@ public:
   // set, the window is vertically scrolled to the top; otherwise, no
   // scrolling is done.  If <addToHist> is set, this page change is
   // added to the history list.
-  void displayPage(int pageA, int zoomA, int rotateA,
+  void displayPage(int pageA, double zoomA, int rotateA,
                   GBool scrollToTop, GBool addToHist);
 
   // Display a link destination.
-  void displayDest(LinkDest *dest, int zoomA, int rotateA,
+  void displayDest(LinkDest *dest, double zoomA, int rotateA,
                   GBool addToHist);
 
   //----- page/position changes
@@ -151,7 +150,7 @@ public:
 
   //----- find
 
-  void find(char *s);
+  void find(char *s, GBool next = gFalse);
 
   //----- simple modal dialogs
 
@@ -164,9 +163,9 @@ public:
   Widget getWidget() { return scrolledWin; }
   Widget getDrawAreaWidget() { return drawArea; }
   PDFDoc *getDoc() { return doc; }
-  XPixmapOutputDev *getOutputDev() { return out; }
+  XSplashOutputDev *getOutputDev() { return out; }
   int getPageNum() { return page; }
-  int getZoom() { return zoom; }
+  double getZoom() { return zoom; }
   double getZoomDPI() { return dpi; }
   int getRotate() { return rotate; }
   GBool canGoBack() { return historyBLen > 1; }
@@ -194,8 +193,9 @@ public:
 private:
 
   //----- hyperlinks
-  void doLink(int mx, int my);
+  GBool doLink(int mx, int my);
   void runCommand(GString *cmdFmt, GString *arg);
+  GString *mungeURL(GString *url);
 
   //----- selection
   static Boolean convertSelectionCbk(Widget widget, Atom *selection,
@@ -229,7 +229,7 @@ private:
   static void dialogCancelCbk(Widget widget, XtPointer ptr,
                              XtPointer callData);
 
-  Gulong paperColor;
+  SplashRGB8 paperColor;
   GBool fullScreen;
 
   Display *display;
@@ -246,8 +246,6 @@ private:
   Cursor busyCursor, linkCursor, selectCursor;
   Cursor currentCursor;
   GC drawAreaGC;               // GC for blitting into drawArea
-  GC selectGC;
-  GC highlightGC;
 
   int drawAreaWidth, drawAreaHeight;
   int scrollX, scrollY;                // current upper-left corner
@@ -275,7 +273,7 @@ private:
 
   PDFDoc *doc;                 // current PDF file
   int page;                    // current page number
-  int zoom;                    // current zoom level
+  double zoom;                 // current zoom level, in percent of 72 dpi
   double dpi;                  // current zoom level, in DPI
   int rotate;                  // current page rotation
   time_t modTime;              // last modification time of PDF file
@@ -297,7 +295,7 @@ private:
   GBool hyperlinksEnabled;
   GBool selectEnabled;
 
-  XPixmapOutputDev *out;
+  XSplashOutputDev *out;
 
   int dialogDone;
 };