]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/PBMOutputDev.h
kill traces of ltk, incorporate new sources
[evince.git] / pdf / xpdf / PBMOutputDev.h
1 //========================================================================
2 //
3 // PBMOutputDev.h
4 //
5 // Copyright 1998-2002 Glyph & Cog, LLC
6 //
7 //========================================================================
8
9 #ifndef PBMOUTPUTDEV_H
10 #define PBMOUTPUTDEV_H
11
12 #include <aconf.h>
13
14 #ifdef USE_GCC_PRAGMAS
15 #pragma interface
16 #endif
17
18 #include <stddef.h>
19 #include "config.h"
20 #include "XOutputDev.h"
21
22 //------------------------------------------------------------------------
23
24 class PBMOutputDev: public XOutputDev {
25 public:
26
27   // NB: Users must use makePBMOutputDev and killPBMOutputDev rather
28   // than the constructor and destructor.  (This is due to some
29   // constraints in the underlying XOutputDev object.)
30
31   static PBMOutputDev *makePBMOutputDev(char *displayName,
32                                         char *fileRootA);
33
34   static void killPBMOutputDev(PBMOutputDev *out);
35
36   virtual ~PBMOutputDev();
37
38   //----- initialization and control
39
40   // Start a page.
41   virtual void startPage(int pageNum, GfxState *state);
42
43   // End a page.
44   virtual void endPage();
45
46 private:
47
48   PBMOutputDev(Display *displayA, int screenA,
49                Pixmap pixmapA, Window dummyWinA,
50                int invertA, char *fileRootA);
51
52   char *fileRoot;
53   char *fileName;
54   int curPage;
55
56   Display *display;
57   int screen;
58   Pixmap pixmap;
59   Window dummyWin;
60   int width, height;
61   int invert;
62 };
63
64 #endif