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
24class PBMOutputDev: public XOutputDev {
25public:
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
46private:
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