summaryrefslogtreecommitdiff
path: root/noncore/unsupported/qpdf/xpdf/OutputDev.h
Unidiff
Diffstat (limited to 'noncore/unsupported/qpdf/xpdf/OutputDev.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/unsupported/qpdf/xpdf/OutputDev.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/noncore/unsupported/qpdf/xpdf/OutputDev.h b/noncore/unsupported/qpdf/xpdf/OutputDev.h
index 04cbace..398c035 100644
--- a/noncore/unsupported/qpdf/xpdf/OutputDev.h
+++ b/noncore/unsupported/qpdf/xpdf/OutputDev.h
@@ -1,11 +1,11 @@
1//======================================================================== 1//========================================================================
2// 2//
3// OutputDev.h 3// OutputDev.h
4// 4//
5// Copyright 1996 Derek B. Noonburg 5// Copyright 1996-2002 Glyph & Cog, LLC
6// 6//
7//======================================================================== 7//========================================================================
8 8
9#ifndef OUTPUTDEV_H 9#ifndef OUTPUTDEV_H
10#define OUTPUTDEV_H 10#define OUTPUTDEV_H
11 11
@@ -43,12 +43,16 @@ public:
43 // (Upside-down means (0,0) is the top left corner of the page.) 43 // (Upside-down means (0,0) is the top left corner of the page.)
44 virtual GBool upsideDown() = 0; 44 virtual GBool upsideDown() = 0;
45 45
46 // Does this device use drawChar() or drawString()? 46 // Does this device use drawChar() or drawString()?
47 virtual GBool useDrawChar() = 0; 47 virtual GBool useDrawChar() = 0;
48 48
49 // Does this device use beginType3Char/endType3Char? Otherwise,
50 // text in Type 3 fonts will be drawn with drawChar/drawString.
51 virtual GBool interpretType3Chars() = 0;
52
49 // Does this device need non-text content? 53 // Does this device need non-text content?
50 virtual GBool needNonText() { return gTrue; } 54 virtual GBool needNonText() { return gTrue; }
51 55
52 //----- initialization and control 56 //----- initialization and control
53 57
54 // Set default transform matrix. 58 // Set default transform matrix.
@@ -116,12 +120,15 @@ public:
116 virtual void endString(GfxState *state) {} 120 virtual void endString(GfxState *state) {}
117 virtual void drawChar(GfxState *state, fouble x, fouble y, 121 virtual void drawChar(GfxState *state, fouble x, fouble y,
118 fouble dx, fouble dy, 122 fouble dx, fouble dy,
119 fouble originX, fouble originY, 123 fouble originX, fouble originY,
120 CharCode code, Unicode *u, int uLen) {} 124 CharCode code, Unicode *u, int uLen) {}
121 virtual void drawString(GfxState *state, GString *s) {} 125 virtual void drawString(GfxState *state, GString *s) {}
126 virtual GBool beginType3Char(GfxState *state,
127 CharCode code, Unicode *u, int uLen);
128 virtual void endType3Char(GfxState *state) {}
122 129
123 //----- image drawing 130 //----- image drawing
124 virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, 131 virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
125 int width, int height, GBool invert, 132 int width, int height, GBool invert,
126 GBool inlineImg); 133 GBool inlineImg);
127 virtual void drawImage(GfxState *state, Object *ref, Stream *str, 134 virtual void drawImage(GfxState *state, Object *ref, Stream *str,
@@ -131,12 +138,20 @@ public:
131#if OPI_SUPPORT 138#if OPI_SUPPORT
132 //----- OPI functions 139 //----- OPI functions
133 virtual void opiBegin(GfxState *state, Dict *opiDict); 140 virtual void opiBegin(GfxState *state, Dict *opiDict);
134 virtual void opiEnd(GfxState *state, Dict *opiDict); 141 virtual void opiEnd(GfxState *state, Dict *opiDict);
135#endif 142#endif
136 143
144 //----- Type 3 font operators
145 virtual void type3D0(GfxState *state, fouble wx, fouble wy) {}
146 virtual void type3D1(GfxState *state, fouble wx, fouble wy,
147 fouble llx, fouble lly, fouble urx, fouble ury) {}
148
149 //----- PostScript XObjects
150 virtual void psXObject(Stream *psStream, Stream *level1Stream) {}
151
137private: 152private:
138 153
139 fouble defCTM[6]; // default coordinate transform matrix 154 fouble defCTM[6]; // default coordinate transform matrix
140 fouble defICTM[6]; // inverse of default CTM 155 fouble defICTM[6]; // inverse of default CTM
141}; 156};
142 157