]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/PBMOutputDev.h
copy from ggv.
[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 #ifdef __GNUC__
13 #pragma interface
14 #endif
15
16 #include <stddef.h>
17 #include "config.h"
18 #include "XOutputDev.h"
19
20 //------------------------------------------------------------------------
21
22 class PBMOutputDev: public XOutputDev {
23 public:
24
25   // NB: Users must use makePBMOutputDev and killPBMOutputDev rather
26   // than the constructor and destructor.  (This is due to some
27   // constraints in the underlying XOutputDev object.)
28
29   static PBMOutputDev *makePBMOutputDev(char *displayName,
30                                         char *fileRootA);
31
32   static void killPBMOutputDev(PBMOutputDev *out);
33
34   virtual ~PBMOutputDev();
35
36   //----- initialization and control
37
38   // Start a page.
39   virtual void startPage(int pageNum, GfxState *state);
40
41   // End a page.
42   virtual void endPage();
43
44 private:
45
46   PBMOutputDev(Display *displayA, int screenA,
47                Pixmap pixmapA, Window dummyWinA,
48                int invertA, char *fileRootA);
49
50   char *fileRoot;
51   char *fileName;
52   int curPage;
53
54   Display *display;
55   int screen;
56   Pixmap pixmap;
57   Window dummyWin;
58   int width, height;
59   int invert;
60 };
61
62 #endif