XPixmapOutputDev.h
1//========================================================================
2//
3// XPixmapOutputDev.h
4//
5// Copyright 2002 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
23class XPixmapOutputDev: public XOutputDev {
24public:
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
55private:
56
57 GBool incrementalUpdate; // incrementally update the display?
58 void (*redrawCbk)(void *data);
59 void *redrawCbkData;
60 Window win;
61};
62
63#endif