X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=5f92ccb41ab5afb20bc025fdc05bcba9a44485a8;hb=ccf121bf7dc70517dad86f20d11592416ed9d7d9;hp=c622ee00a0715eafc4f5a590cac6f5d54a0a1cdb;hpb=eb361a0f099d689011066b71a9d5e5d9fd94b913;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index c622ee0..5f92ccb 100644 --- a/lib/pdf/GFXOutputDev.h +++ b/lib/pdf/GFXOutputDev.h @@ -21,7 +21,9 @@ class GFXOutputState { int textRender; char createsoftmask; char transparencygroup; - int softmask; + char softmask; + char softmask_alpha; + char isolated; GFXOutputState(); @@ -55,6 +57,7 @@ public: void setMove(int x,int y); void setClip(int x1,int y1,int x2,int y2); + void setParameter(char*key, char*value); void setInfo(InfoOutputDev*info) {this->info = info;} @@ -83,11 +86,7 @@ public: void setXRef(PDFDoc*doc, XRef *xref); //----- link borders -#if xpdfUpdateVersion >= 16 virtual void processLink(Link *link, Catalog *catalog); -#else - virtual void drawLink(Link *link, Catalog *catalog); -#endif //----- save/restore graphics state virtual void saveState(GfxState *state) ; @@ -125,6 +124,7 @@ public: //----- path clipping virtual void clip(GfxState *state) ; virtual void eoClip(GfxState *state) ; + virtual void clipToStrokePath(GfxState *state); //----- shaded fills virtual GBool useTilingPatternFill(); @@ -171,7 +171,6 @@ public: GfxImageColorMap *maskColorMap); //----- transparency groups and soft masks (xpdf >= ~ 3.01.16) -#if xpdfUpdateVersion >= 16 virtual void beginTransparencyGroup(GfxState *state, double *bbox, GfxColorSpace *blendingColorSpace, GBool isolated, GBool knockout, @@ -180,9 +179,6 @@ public: virtual void paintTransparencyGroup(GfxState *state, double *bbox); virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha, Function *transferFunc, GfxColor *backdropColor); virtual void clearSoftMask(GfxState *state); -#else - virtual void clearSoftMask(GfxState *state) {}; -#endif //----- type 3 chars virtual GBool beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen); @@ -203,7 +199,7 @@ public: GBool inlineImg, int mask, int *maskColors, Stream *maskStr, int maskWidth, int maskHeight, GBool maskInvert, GfxImageColorMap*maskColorMap); int setGfxFont(char*id, char*name, char*filename, double quality); - void strokeGfxline(GfxState *state, gfxline_t*line); + void strokeGfxline(GfxState *state, gfxline_t*line, int flags); void clipToGfxLine(GfxState *state, gfxline_t*line); void fillGfxLine(GfxState *state, gfxline_t*line); @@ -212,6 +208,8 @@ public: void infofeature(char*feature); char outer_clip_box; //whether the page clip box is still on + + GBool do_interpretType3Chars; InfoOutputDev*info; GFXOutputState states[64];