X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=pdf%2Fxpdf%2FGfx.h;h=2069e97abcc07e3a349fc42e890961eef091dd58;hb=332afee84ff4eb7df326d96f07efd6f82a87c0a2;hp=c7aef1117910671500508df429a044d67ae69a13;hpb=7c5ab64d4db75e4bb6dadedb578e10178554d0db;p=evince.git diff --git a/pdf/xpdf/Gfx.h b/pdf/xpdf/Gfx.h index c7aef111..2069e97a 100644 --- a/pdf/xpdf/Gfx.h +++ b/pdf/xpdf/Gfx.h @@ -28,10 +28,14 @@ class OutputDev; class GfxFontDict; class GfxFont; class GfxPattern; +class GfxTilingPattern; +class GfxShadingPattern; class GfxShading; +class GfxFunctionShading; class GfxAxialShading; class GfxRadialShading; class GfxState; +struct GfxColor; class Gfx; class PDFRectangle; @@ -97,8 +101,9 @@ class Gfx { public: // Constructor for regular output. - Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, double dpi, - PDFRectangle *box, GBool crop, PDFRectangle *cropBox, int rotate, + Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, + double hDPI, double vDPI, PDFRectangle *box, GBool crop, + PDFRectangle *cropBox, int rotate, GBool (*abortCheckCbkA)(void *data) = NULL, void *abortCheckCbkDataA = NULL); @@ -118,8 +123,11 @@ public: void doAnnot(Object *str, double xMin, double yMin, double xMax, double yMax); - void pushResources(Dict *resDict); - void popResources(); + // Save graphics state. + void saveState(); + + // Restore graphics state. + void restoreState(); private: @@ -136,6 +144,7 @@ private: int ignoreUndef; // current BX/EX nesting level double baseMatrix[6]; // default matrix for most recent // page/form/pattern + int formDepth; Parser *parser; // parser for page content stream(s) @@ -198,7 +207,14 @@ private: void opEOFillStroke(Object args[], int numArgs); void opCloseEOFillStroke(Object args[], int numArgs); void doPatternFill(GBool eoFill); + void doTilingPatternFill(GfxTilingPattern *tPat, GBool eoFill); + void doShadingPatternFill(GfxShadingPattern *sPat, GBool eoFill); void opShFill(Object args[], int numArgs); + void doFunctionShFill(GfxFunctionShading *shading); + void doFunctionShFill1(GfxFunctionShading *shading, + double x0, double y0, + double x1, double y1, + GfxColor *colors, int depth); void doAxialShFill(GfxAxialShading *shading); void doRadialShFill(GfxRadialShading *shading); void doEndPath(); @@ -257,6 +273,9 @@ private: void opBeginMarkedContent(Object args[], int numArgs); void opEndMarkedContent(Object args[], int numArgs); void opMarkPoint(Object args[], int numArgs); + + void pushResources(Dict *resDict); + void popResources(); }; #endif