Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf/xpdf/XPDFCore.h
diff options
context:
space:
mode:
Diffstat (limited to 'pdf/xpdf/XPDFCore.h')
-rw-r--r--pdf/xpdf/XPDFCore.h303
1 files changed, 0 insertions, 303 deletions
diff --git a/pdf/xpdf/XPDFCore.h b/pdf/xpdf/XPDFCore.h
deleted file mode 100644
index 59fc19c..0000000
--- a/pdf/xpdf/XPDFCore.h
+++ /dev/null
@@ -1,303 +0,0 @@
-//========================================================================
-//
-// XPDFCore.h
-//
-// Copyright 2002-2003 Glyph & Cog, LLC
-//
-//========================================================================
-
-#ifndef XPDFCORE_H
-#define XPDFCORE_H
-
-#include <aconf.h>
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#define Object XtObject
-#include <Xm/XmAll.h>
-#undef Object
-#include <aconf.h>
-#include "gtypes.h"
-#include "gfile.h" // for time_t
-#include "SplashTypes.h"
-
-class GString;
-class GList;
-class BaseStream;
-class PDFDoc;
-class LinkAction;
-class LinkDest;
-class XSplashOutputDev;
-
-//------------------------------------------------------------------------
-// zoom factor
-//------------------------------------------------------------------------
-
-#define zoomPage -1
-#define zoomWidth -2
-#define defZoom 125
-
-//------------------------------------------------------------------------
-// XPDFHistory
-//------------------------------------------------------------------------
-
-struct XPDFHistory {
- GString *fileName;
- int page;
-};
-
-#define xpdfHistorySize 50
-
-//------------------------------------------------------------------------
-// XPDFRegion
-//------------------------------------------------------------------------
-
-struct XPDFRegion {
- int page;
- double xMin, yMin, xMax, yMax;
- SplashRGB8 color;
- SplashRGB8 selectColor;
- GBool selectable;
-};
-
-//------------------------------------------------------------------------
-// callbacks
-//------------------------------------------------------------------------
-
-typedef void (*XPDFUpdateCbk)(void *data, GString *fileName,
- int pageNum, int numPages, char *linkLabel);
-
-typedef void (*XPDFActionCbk)(void *data, char *action);
-
-typedef void (*XPDFKeyPressCbk)(void *data, char *s, KeySym key,
- Guint modifiers);
-
-typedef void (*XPDFMouseCbk)(void *data, XEvent *event);
-
-typedef GString *(*XPDFReqPasswordCbk)(void *data, GBool again);
-
-//------------------------------------------------------------------------
-// XPDFCore
-//------------------------------------------------------------------------
-
-class XPDFCore {
-public:
-
- // Create viewer core inside <parentWidgetA>.
- XPDFCore(Widget shellA, Widget parentWidgetA,
- SplashRGB8 paperColorA, GBool fullScreenA,
- GBool reverseVideo, GBool installCmap, int rgbCubeSize);
-
- ~XPDFCore();
-
- //----- loadFile / displayPage / displayDest
-
- // Load a new file. Returns pdfOk or error code.
- int loadFile(GString *fileName, GString *ownerPassword = NULL,
- GString *userPassword = NULL);
-
- // Load a new file, via a Stream instead of a file name. Returns
- // pdfOk or error code.
- int loadFile(BaseStream *stream, GString *ownerPassword = NULL,
- GString *userPassword = NULL);
-
- // Resize the window to fit page <pg> of the current document.
- void resizeToPage(int pg);
-
- // Clear out the current document, if any.
- void clear();
-
- // Display (or redisplay) the specified page. If <scrollToTop> is
- // 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, double zoomA, int rotateA,
- GBool scrollToTop, GBool addToHist);
-
- // Display a link destination.
- void displayDest(LinkDest *dest, double zoomA, int rotateA,
- GBool addToHist);
-
- //----- page/position changes
-
- void gotoNextPage(int inc, GBool top);
- void gotoPrevPage(int dec, GBool top, GBool bottom);
- void goForward();
- void goBackward();
- void scrollLeft(int nCols = 1);
- void scrollRight(int nCols = 1);
- void scrollUp(int nLines = 1);
- void scrollDown(int nLines = 1);
- void scrollPageUp();
- void scrollPageDown();
- void scrollTo(int x, int y);
-
- //----- selection
-
- void setSelection(int newXMin, int newYMin, int newXMax, int newYMax);
- void moveSelection(int mx, int my);
- void copySelection();
- GBool getSelection(int *xMin, int *yMin, int *xMax, int *yMax);
- GString *extractText(int xMin, int yMin, int xMax, int yMax);
- GString *extractText(int pageNum, int xMin, int yMin, int xMax, int yMax);
-
- //----- hyperlinks
-
- void doAction(LinkAction *action);
-
-
- //----- find
-
- void find(char *s, GBool next = gFalse);
-
- //----- simple modal dialogs
-
- GBool doQuestionDialog(char *title, GString *msg);
- void doInfoDialog(char *title, GString *msg);
- void doErrorDialog(char *title, GString *msg);
-
- //----- misc access
-
- Widget getWidget() { return scrolledWin; }
- Widget getDrawAreaWidget() { return drawArea; }
- PDFDoc *getDoc() { return doc; }
- XSplashOutputDev *getOutputDev() { return out; }
- int getPageNum() { return page; }
- double getZoom() { return zoom; }
- double getZoomDPI() { return dpi; }
- int getRotate() { return rotate; }
- GBool canGoBack() { return historyBLen > 1; }
- GBool canGoForward() { return historyFLen > 0; }
- int getScrollX() { return scrollX; }
- int getScrollY() { return scrollY; }
- int getDrawAreaWidth() { return drawAreaWidth; }
- int getDrawAreaHeight() { return drawAreaHeight; }
- void setBusyCursor(GBool busy);
- Cursor getBusyCursor() { return busyCursor; }
- void takeFocus();
- void enableHyperlinks(GBool on) { hyperlinksEnabled = on; }
- void enableSelect(GBool on) { selectEnabled = on; }
- void setUpdateCbk(XPDFUpdateCbk cbk, void *data)
- { updateCbk = cbk; updateCbkData = data; }
- void setActionCbk(XPDFActionCbk cbk, void *data)
- { actionCbk = cbk; actionCbkData = data; }
- void setKeyPressCbk(XPDFKeyPressCbk cbk, void *data)
- { keyPressCbk = cbk; keyPressCbkData = data; }
- void setMouseCbk(XPDFMouseCbk cbk, void *data)
- { mouseCbk = cbk; mouseCbkData = data; }
- void setReqPasswordCbk(XPDFReqPasswordCbk cbk, void *data)
- { reqPasswordCbk = cbk; reqPasswordCbkData = data; }
-
-private:
-
- //----- hyperlinks
- GBool doLink(int mx, int my);
- void runCommand(GString *cmdFmt, GString *arg);
- GString *mungeURL(GString *url);
-
- //----- selection
- static Boolean convertSelectionCbk(Widget widget, Atom *selection,
- Atom *target, Atom *type,
- XtPointer *value, unsigned long *length,
- int *format);
-
-
- //----- GUI code
- void initWindow();
- static void hScrollChangeCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
- static void hScrollDragCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
- static void vScrollChangeCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
- static void vScrollDragCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
- static void resizeCbk(Widget widget, XtPointer ptr, XtPointer callData);
- static void redrawCbk(Widget widget, XtPointer ptr, XtPointer callData);
- static void outputDevRedrawCbk(void *data);
- static void inputCbk(Widget widget, XtPointer ptr, XtPointer callData);
- void keyPress(char *s, KeySym key, Guint modifiers);
- void redrawRectangle(int x, int y, int w, int h);
- void updateScrollBars();
- void setCursor(Cursor cursor);
- GBool doDialog(int type, GBool hasCancel,
- char *title, GString *msg);
- static void dialogOkCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
- static void dialogCancelCbk(Widget widget, XtPointer ptr,
- XtPointer callData);
-
- SplashRGB8 paperColor;
- GBool fullScreen;
-
- Display *display;
- int screenNum;
- Visual *visual;
- Colormap colormap;
- Widget shell; // top-level shell containing the widget
- Widget parentWidget; // parent widget (not created by XPDFCore)
- Widget scrolledWin;
- Widget hScrollBar;
- Widget vScrollBar;
- Widget drawAreaFrame;
- Widget drawArea;
- Cursor busyCursor, linkCursor, selectCursor;
- Cursor currentCursor;
- GC drawAreaGC; // GC for blitting into drawArea
-
- int drawAreaWidth, drawAreaHeight;
- int scrollX, scrollY; // current upper-left corner
-
- int selectXMin, selectYMin, // coordinates of current selection:
- selectXMax, selectYMax; // (xMin==xMax || yMin==yMax) means there
- // is no selection
- GBool dragging; // set while selection is being dragged
- GBool lastDragLeft; // last dragged selection edge was left/right
- GBool lastDragTop; // last dragged selection edge was top/bottom
- static GString *currentSelection; // selected text
- static XPDFCore *currentSelectionOwner;
- static Atom targetsAtom;
-
- GBool panning;
- int panMX, panMY;
-
- XPDFHistory // page history queue
- history[xpdfHistorySize];
- int historyCur; // currently displayed page
- int historyBLen; // number of valid entries backward from
- // current entry
- int historyFLen; // number of valid entries forward from
- // current entry
-
- PDFDoc *doc; // current PDF file
- int page; // current page number
- 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
-
- LinkAction *linkAction; // mouse cursor is over this link
-
-
- XPDFUpdateCbk updateCbk;
- void *updateCbkData;
- XPDFActionCbk actionCbk;
- void *actionCbkData;
- XPDFKeyPressCbk keyPressCbk;
- void *keyPressCbkData;
- XPDFMouseCbk mouseCbk;
- void *mouseCbkData;
- XPDFReqPasswordCbk reqPasswordCbk;
- void *reqPasswordCbkData;
-
- GBool hyperlinksEnabled;
- GBool selectEnabled;
-
- XSplashOutputDev *out;
-
- int dialogDone;
-};
-
-#endif