filters

XPDFApp.h

00001 //========================================================================
00002 //
00003 // XPDFApp.h
00004 //
00005 // Copyright 2002 Glyph & Cog, LLC
00006 //
00007 //========================================================================
00008 
00009 #ifndef XPDFAPP_H
00010 #define XPDFAPP_H
00011 
00012 #include <aconf.h>
00013 
00014 #ifdef USE_GCC_PRAGMAS
00015 #pragma interface
00016 #endif
00017 
00018 #define Object XtObject
00019 #include <Xm/XmAll.h>
00020 #undef Object
00021 #include "gtypes.h"
00022 
00023 class GString;
00024 class GList;
00025 class XPDFViewer;
00026 
00027 //------------------------------------------------------------------------
00028 
00029 #define xpdfAppName "Xpdf"
00030 
00031 //------------------------------------------------------------------------
00032 // XPDFApp
00033 //------------------------------------------------------------------------
00034 
00035 class XPDFApp {
00036 public:
00037 
00038   XPDFApp(int *argc, char *argv[]);
00039   ~XPDFApp();
00040 
00041   XPDFViewer *open(GString *fileName, int page = 1,
00042            GString *ownerPassword = NULL,
00043            GString *userPassword = NULL);
00044   XPDFViewer *openAtDest(GString *fileName, GString *dest,
00045              GString *ownerPassword = NULL,
00046              GString *userPassword = NULL);
00047   void close(XPDFViewer *viewer, GBool closeLast);
00048   void quit();
00049 
00050   void run();
00051 
00052   //----- remote server
00053   void setRemoteName(char *remoteName);
00054   GBool remoteServerRunning();
00055   void remoteOpen(GString *fileName, int page, GBool raise);
00056   void remoteOpenAtDest(GString *fileName, GString *dest, GBool raise);
00057   void remoteRaise();
00058   void remoteQuit();
00059 
00060   //----- resource/option values
00061   GString *getGeometry() { return geometry; }
00062   GString *getTitle() { return title; }
00063   GBool getInstallCmap() { return installCmap; }
00064   int getRGBCubeSize() { return rgbCubeSize; }
00065   GBool getReverseVideo() { return reverseVideo; }
00066   Gulong getPaperColor() { return paperColor; }
00067   GString *getInitialZoom() { return initialZoom; }
00068   GBool getViKeys() { return viKeys; }
00069   void setFullScreen(GBool fullScreenA) { fullScreen = fullScreenA; }
00070   GBool getFullScreen() { return fullScreen; }
00071 
00072   XtAppContext getAppContext() { return appContext; }
00073   Widget getAppShell() { return appShell; }
00074 
00075 private:
00076 
00077   void getResources();
00078   static void remoteMsgCbk(Widget widget, XtPointer ptr,
00079                XEvent *event, Boolean *cont);
00080 
00081   Display *display;
00082   int screenNum;
00083   XtAppContext appContext;
00084   Widget appShell;
00085   GList *viewers;       // [XPDFViewer]
00086 
00087   Atom remoteAtom;
00088   Window remoteXWin;
00089   XPDFViewer *remoteViewer;
00090   Widget remoteWin;
00091 
00092   //----- resource/option values
00093   GString *geometry;
00094   GString *title;
00095   GBool installCmap;
00096   int rgbCubeSize;
00097   GBool reverseVideo;
00098   Gulong paperColor;
00099   GString *initialZoom;
00100   GBool viKeys;
00101   GBool fullScreen;
00102 };
00103 
00104 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys