Diffstat (limited to 'noncore/unsupported/qpdf/xpdf/OutputDev.h') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/unsupported/qpdf/xpdf/OutputDev.h | 17 |
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 @@ //======================================================================== // // OutputDev.h // -// Copyright 1996 Derek B. Noonburg +// Copyright 1996-2002 Glyph & Cog, LLC // //======================================================================== #ifndef OUTPUTDEV_H #define OUTPUTDEV_H @@ -43,12 +43,16 @@ public: // (Upside-down means (0,0) is the top left corner of the page.) virtual GBool upsideDown() = 0; // Does this device use drawChar() or drawString()? virtual GBool useDrawChar() = 0; + // Does this device use beginType3Char/endType3Char? Otherwise, + // text in Type 3 fonts will be drawn with drawChar/drawString. + virtual GBool interpretType3Chars() = 0; + // Does this device need non-text content? virtual GBool needNonText() { return gTrue; } //----- initialization and control // Set default transform matrix. @@ -116,12 +120,15 @@ public: virtual void endString(GfxState *state) {} virtual void drawChar(GfxState *state, fouble x, fouble y, fouble dx, fouble dy, fouble originX, fouble originY, CharCode code, Unicode *u, int uLen) {} virtual void drawString(GfxState *state, GString *s) {} + virtual GBool beginType3Char(GfxState *state, + CharCode code, Unicode *u, int uLen); + virtual void endType3Char(GfxState *state) {} //----- image drawing virtual void drawImageMask(GfxState *state, Object *ref, Stream *str, int width, int height, GBool invert, GBool inlineImg); virtual void drawImage(GfxState *state, Object *ref, Stream *str, @@ -131,12 +138,20 @@ public: #if OPI_SUPPORT //----- OPI functions virtual void opiBegin(GfxState *state, Dict *opiDict); virtual void opiEnd(GfxState *state, Dict *opiDict); #endif + //----- Type 3 font operators + virtual void type3D0(GfxState *state, fouble wx, fouble wy) {} + virtual void type3D1(GfxState *state, fouble wx, fouble wy, + fouble llx, fouble lly, fouble urx, fouble ury) {} + + //----- PostScript XObjects + virtual void psXObject(Stream *psStream, Stream *level1Stream) {} + private: fouble defCTM[6]; // default coordinate transform matrix fouble defICTM[6]; // inverse of default CTM }; |