X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=84769af979a9cf947518ae5823f311cb3f89f1ba;hb=80cc20b7784cccc9d8baf9839f9781db6bb6f539;hp=74021291d5c57978d8ea5fbf6d16ab95e9124e01;hpb=cb0a1b4d5afd61c15f41c160a702880e8e32c737;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index 7402129..84769af 100644 --- a/lib/pdf/GFXOutputDev.h +++ b/lib/pdf/GFXOutputDev.h @@ -4,6 +4,7 @@ #include "../gfxdevice.h" #include "../gfxsource.h" +#include "config.h" #include "InfoOutputDev.h" #include "PDFDoc.h" @@ -20,7 +21,9 @@ class GFXOutputState { int textRender; char createsoftmask; char transparencygroup; - int softmask; + char softmask; + char softmask_alpha; + char isolated; GFXOutputState(); @@ -37,9 +40,9 @@ typedef struct _parameter struct _parameter*next; } parameter_t; -void addGlobalFont(char*filename); -void addGlobalLanguageDir(char*dir); -void addGlobalFontDir(char*dirname); +void addGlobalFont(const char*filename); +void addGlobalLanguageDir(const char*dir); +void addGlobalFontDir(const char*dirname); class GFXOutputDev: public OutputDev { public: @@ -54,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;} @@ -120,6 +124,23 @@ public: //----- path clipping virtual void clip(GfxState *state) ; virtual void eoClip(GfxState *state) ; + virtual void clipToStrokePath(GfxState *state); + + //----- shaded fills + virtual GBool useTilingPatternFill(); + virtual GBool useShadedFills(); + + /* + virtual void tilingPatternFill(GfxState *state, Object *str, + int paintType, Dict *resDict, + double *mat, double *bbox, + int x0, int y0, int x1, int y1, + double xStep, double yStep) {} + virtual void functionShadedFill(GfxState *state, + GfxFunctionShading *shading) {} + virtual void axialShadedFill(GfxState *state, GfxAxialShading *shading) {} + virtual void radialShadedFill(GfxState *state, GfxRadialShading *shading) {} + */ //----- text drawing virtual void beginString(GfxState *state, GString *s) ; @@ -150,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, @@ -159,7 +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); -#endif //----- type 3 chars virtual GBool beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen); @@ -180,11 +199,17 @@ 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); + void showfeature(const char*feature,char fully, char warn); + void warnfeature(const char*feature,char fully); + void infofeature(const char*feature); + char outer_clip_box; //whether the page clip box is still on + + GBool do_interpretType3Chars; InfoOutputDev*info; GFXOutputState states[64]; @@ -195,7 +220,7 @@ public: PDFDoc*doc; XRef*xref; - char* searchFont(char*name); + char* searchFont(const char*name); char* substituteFont(GfxFont*gfxFont, char*oldname); char* writeEmbeddedFontToFile(XRef*ref, GfxFont*font); int t1id; @@ -203,8 +228,6 @@ public: int jpeginfo; // did we write "File contains jpegs" yet? int pbminfo; // did we write "File contains jpegs" yet? int linkinfo; // did we write "File contains links" yet? - int ttfinfo; // did we write "File contains TrueType Fonts" yet? - int gradientinfo; // did we write "File contains Gradients yet? int type3active; // are we between beginType3()/endType3()? @@ -212,8 +235,8 @@ public: char type3Warning; - char* substitutetarget[256]; - char* substitutesource[256]; + const char* substitutetarget[256]; + const char* substitutesource[256]; int substitutepos; int user_movex,user_movey; @@ -240,8 +263,8 @@ public: int pagepos; /* config */ - int forceType0Fonts; int config_use_fontconfig; + int config_break_on_warning; parameter_t*parameters; };