]> www.fi.muni.cz Git - evince.git/blob - pdf/xpdf/XPixmapOutputDev.h
Import of Xpdf 2.02 for merge
[evince.git] / pdf / xpdf / XPixmapOutputDev.h
1 //========================================================================
2 //
3 // XPixmapOutputDev.h
4 //
5 // Copyright 2002-2003 Glyph & Cog, LLC
6 //
7 //========================================================================
8
9 #ifndef XPIXMAPOUTPUTDEV_H
10 #define XPIXMAPOUTPUTDEV_H
11
12 #include <aconf.h>
13
14 #ifdef USE_GCC_PRAGMAS
15 #pragma interface
16 #endif
17
18 #include <X11/Xlib.h>
19 #include "XOutputDev.h"
20
21 //------------------------------------------------------------------------
22
23 class XPixmapOutputDev: public XOutputDev {
24 public:
25
26   XPixmapOutputDev(Display *displayA, int screenNumA,
27                    Visual *visualA, Colormap colormapA,
28                    GBool reverseVideoA, Gulong paperColorA,
29                    GBool installCmapA, int rgbCubeSizeA,
30                    GBool incrementalUpdateA,
31                    void (*redrawCbkA)(void *data),
32                    void *redrawCbkDataA);
33
34   ~XPixmapOutputDev();
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   // Dump page contents to display.
45   virtual void dump();
46
47   //----- special access
48
49   // Set the window - this is used only to create a compatible pixmap.
50   void setWindow(Window winA) { win = winA; }
51
52   // Clear out the document (used when displaying an empty window).
53   void clear();
54
55 private:
56
57   GBool incrementalUpdate;      // incrementally update the display?
58   void (*redrawCbk)(void *data);
59   void *redrawCbkData;
60   Window win;
61 };
62
63 #endif