Diffstat (limited to 'noncore/unsupported/qpdf/xpdf/Gfx.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/unsupported/qpdf/xpdf/Gfx.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/noncore/unsupported/qpdf/xpdf/Gfx.h b/noncore/unsupported/qpdf/xpdf/Gfx.h index be5f2c2..2ecfb24 100644 --- a/noncore/unsupported/qpdf/xpdf/Gfx.h +++ b/noncore/unsupported/qpdf/xpdf/Gfx.h @@ -1,41 +1,42 @@ //======================================================================== // // Gfx.h // -// Copyright 1996 Derek B. Noonburg +// Copyright 1996-2002 Glyph & Cog, LLC // //======================================================================== #ifndef GFX_H #define GFX_H #ifdef __GNUC__ #pragma interface #endif #include "gtypes.h" class GString; class XRef; class Array; class Stream; class Parser; class Dict; class OutputDev; class GfxFontDict; class GfxFont; class GfxPattern; class GfxShading; class GfxAxialShading; +class GfxRadialShading; class GfxState; class Gfx; struct PDFRectangle; //------------------------------------------------------------------------ // Gfx //------------------------------------------------------------------------ enum GfxClipType { clipNone, clipNormal, clipEO @@ -88,39 +89,49 @@ private: Object gStateDict; GfxResources *next; }; class Gfx { public: // Constructor for regular output. Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, fouble dpi, PDFRectangle *box, GBool crop, PDFRectangle *cropBox, int rotate, GBool printCommandsA); - // Destructor. + // Constructor for a sub-page object. + Gfx(XRef *xrefA, OutputDev *outA, Dict *resDict, + PDFRectangle *box, GBool crop, PDFRectangle *cropBox); + ~Gfx(); // Interpret a stream or array of streams. void display(Object *obj, GBool topLevel = gTrue); - void doWidgetForm(Object *str, fouble xMin, fouble yMin, - fouble xMax, fouble yMax); + // Display an annotation, given its appearance (a Form XObject) and + // bounding box (in default user space). + void doAnnot(Object *str, fouble xMin, fouble yMin, + fouble xMax, fouble yMax); + + void pushResources(Dict *resDict); + void popResources(); private: XRef *xref; // the xref table for this PDF file OutputDev *out; // output device + GBool subPage; // is this a sub-page object? GBool printCommands; // print the drawing commands (for debugging) GfxResources *res; // resource stack + int updateLevel; GfxState *state; // current graphics state GBool fontChanged; // set if font or text matrix has changed GfxClipType clip; // do a clip? int ignoreUndef; // current BX/EX nesting level fouble baseMatrix[6]; // default matrix for most recent // page/form/pattern Parser *parser; // parser for page content stream(s) static Operator opTab[]; // table of operators @@ -170,24 +181,25 @@ private: void opEndPath(Object args[], int numArgs); void opStroke(Object args[], int numArgs); void opCloseStroke(Object args[], int numArgs); void opFill(Object args[], int numArgs); void opEOFill(Object args[], int numArgs); void opFillStroke(Object args[], int numArgs); void opCloseFillStroke(Object args[], int numArgs); void opEOFillStroke(Object args[], int numArgs); void opCloseEOFillStroke(Object args[], int numArgs); void doPatternFill(GBool eoFill); void opShFill(Object args[], int numArgs); void doAxialShFill(GfxAxialShading *shading); + void doRadialShFill(GfxRadialShading *shading); void doEndPath(); // path clipping operators void opClip(Object args[], int numArgs); void opEOClip(Object args[], int numArgs); // text object operators void opBeginText(Object args[], int numArgs); void opEndText(Object args[], int numArgs); // text state operators void opSetCharSpacing(Object args[], int numArgs); |