X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=c622ee00a0715eafc4f5a590cac6f5d54a0a1cdb;hb=eb361a0f099d689011066b71a9d5e5d9fd94b913;hp=bf4df4c06c164b126ef863837c4e780abd5b1120;hpb=77a2b9688db7ae0c9bda7801f19042adcc4ef1ce;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index bf4df4c..c622ee0 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,14 @@ class GFXOutputState { int textRender; char createsoftmask; char transparencygroup; + int softmask; + GFXOutputState(); + + gfxresult_t* grouprecording; // for transparency groups + gfxresult_t* softmaskrecording; // for soft masks + + gfxdevice_t* olddevice; }; typedef struct _parameter @@ -75,7 +83,11 @@ public: void setXRef(PDFDoc*doc, XRef *xref); //----- link borders - virtual void drawLink(Link *link, Catalog *catalog) ; +#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) ; @@ -90,7 +102,10 @@ public: virtual void updateLineJoin(GfxState *state); virtual void updateLineCap(GfxState *state); virtual void updateFillOpacity(GfxState *state); - + virtual void updateStrokeOpacity(GfxState *state); + virtual void updateFillOverprint(GfxState *state); + virtual void updateStrokeOverprint(GfxState *state); + virtual void updateTransfer(GfxState *state); virtual void updateAll(GfxState *state) { @@ -110,6 +125,22 @@ public: //----- path clipping virtual void clip(GfxState *state) ; virtual void eoClip(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) ; @@ -149,6 +180,8 @@ 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 @@ -174,6 +207,10 @@ public: void clipToGfxLine(GfxState *state, gfxline_t*line); void fillGfxLine(GfxState *state, gfxline_t*line); + void showfeature(char*feature,char fully, char warn); + void warnfeature(char*feature,char fully); + void infofeature(char*feature); + char outer_clip_box; //whether the page clip box is still on InfoOutputDev*info; @@ -193,8 +230,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()? @@ -206,13 +241,16 @@ public: char* substitutesource[256]; int substitutepos; + int user_movex,user_movey; + int user_clipx1,user_clipx2,user_clipy1,user_clipy2; + /* upper left corner of clipping rectangle (cropbox)- needs to be added to all drawing coordinates to give the impression that all pages start at (0,0)*/ - int clipmovex,clipmovey; + int clipmovex; + int clipmovey; - int user_movex,user_movey; - int user_clipx1,user_clipx2,user_clipy1,user_clipy2; + double width,height; gfxline_t* current_text_stroke; gfxline_t* current_text_clip; @@ -227,8 +265,8 @@ public: int pagepos; /* config */ - int forceType0Fonts; int config_use_fontconfig; + int config_break_on_warning; parameter_t*parameters; };