summaryrefslogtreecommitdiff
path: root/noncore/unsupported/qpdf/xpdf/OutputDev.h
Side-by-side diff
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,17 +1,17 @@
//========================================================================
//
// OutputDev.h
//
-// Copyright 1996 Derek B. Noonburg
+// Copyright 1996-2002 Glyph & Cog, LLC
//
//========================================================================
#ifndef OUTPUTDEV_H
#define OUTPUTDEV_H
#ifdef __GNUC__
#pragma interface
#endif
#include "gtypes.h"
#include "CharTypes.h"
@@ -37,24 +37,28 @@ public:
// Destructor.
virtual ~OutputDev() {}
//----- get info about output device
// Does this device use upside-down coordinates?
// (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.
virtual void setDefaultCTM(fouble *ctm);
// Start a page.
virtual void startPage(int pageNum, GfxState *state) {}
// End a page.
@@ -110,34 +114,45 @@ public:
//----- path clipping
virtual void clip(GfxState *state) {}
virtual void eoClip(GfxState *state) {}
//----- text drawing
virtual void beginString(GfxState *state, GString *s) {}
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,
int width, int height, GfxImageColorMap *colorMap,
int *maskColors, GBool inlineImg);
#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
};
#endif