X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=7557a796e1ca8c2184a91b0ca2fe8f11e93be0f2;hb=daf924a2341522b64d1374553d4b61bd75d0c86f;hp=0f41f75bb953edca2547cd3aae3e8e466c007e8f;hpb=cbcb36e38ef35e0a1b950fa8cfa3d90e5aeaa19b;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index 0f41f75..7557a79 100644 --- a/lib/pdf/GFXOutputDev.h +++ b/lib/pdf/GFXOutputDev.h @@ -21,6 +21,8 @@ class GFXOutputState { char softmask_alpha; char isolated; + gfxbbox_t clipbbox; + GFXOutputState(); gfxresult_t* grouprecording; // for transparency groups @@ -36,6 +38,12 @@ typedef struct _parameter struct _parameter*next; } parameter_t; +typedef struct _feature +{ + char*string; + struct _feature*next; +} feature_t; + void addGlobalFont(const char*filename); void addGlobalLanguageDir(const char*dir); void addGlobalFontDir(const char*dirname); @@ -78,6 +86,7 @@ public: //----- update graphics state + virtual void updateLineDash(GfxState *state); virtual void updateFont(GfxState *state); virtual void updateFontMatrix(GfxState *state); virtual void updateFillColor(GfxState *state); @@ -115,17 +124,23 @@ public: virtual GBool useTilingPatternFill(); virtual GBool useShadedFills(); - /* +#if (xpdfMajorVersion < 3) || (xpdfMinorVersion < 2) || (xpdfUpdateVersion < 7) 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) {} - */ + int paintType, Dict *resDict, + double *mat, double *bbox, + int x0, int y0, int x1, int y1, + double xStep, double yStep); +#else + virtual void tilingPatternFill(GfxState *state, Gfx *gfx, Object *str, + int paintType, Dict *resDict, + double *mat, double *bbox, + int x0, int y0, int x1, int y1, + double xStep, double yStep); +#endif + virtual GBool functionShadedFill(GfxState *state, + GfxFunctionShading *shading); + virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading); + virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading); //----- text drawing virtual void beginString(GfxState *state, GString *s) ; @@ -191,6 +206,10 @@ public: //virtual void psXObject(Stream *psStream, Stream *level1Stream) {} private: + gfxline_t* gfxPath_to_gfxline(GfxState*state, GfxPath*path, int closed, int user_movex, int user_movey); + + void transformXY(GfxState*state, double x, double y, double*nx, double*ny); + void drawGeneralImage(GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap*colorMap, GBool invert, GBool inlineImg, int mask, int *maskColors, @@ -204,6 +223,8 @@ public: void warnfeature(const char*feature,char fully); void infofeature(const char*feature); + feature_t*featurewarnings; + char outer_clip_box; //whether the page clip box is still on gfxfontlist_t*gfxfontlist; @@ -249,7 +270,6 @@ public: gfxline_t* current_text_stroke; gfxline_t* current_text_clip; - char* current_font_id; gfxfont_t* current_gfxfont; FontInfo*current_fontinfo; gfxmatrix_t current_font_matrix; @@ -264,6 +284,13 @@ public: int config_remapunicode; int config_transparent; int config_extrafontdata; + int config_convertgradients; + int config_optimize_polygons; + double config_fontquality; + + double *dashPattern; + int dashLength; + double dashStart; parameter_t*parameters; };