X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FBitmapOutputDev.h;h=62bca6d660e5ca4323a96d7ec9003bfe378d0d2c;hb=f159751f289e668dc4efa9a080833b5013391075;hp=3e821c774831a98fcbda57c8fc684ce3678aeb61;hpb=cbcb36e38ef35e0a1b950fa8cfa3d90e5aeaa19b;p=swftools.git diff --git a/lib/pdf/BitmapOutputDev.h b/lib/pdf/BitmapOutputDev.h index 3e821c7..62bca6d 100644 --- a/lib/pdf/BitmapOutputDev.h +++ b/lib/pdf/BitmapOutputDev.h @@ -30,6 +30,14 @@ #include "PDFDoc.h" #include "CommonOutputDev.h" +struct ClipState +{ + ClipState*next; + SplashBitmap*clipbitmap; + char written; + ClipState(); +}; + class BitmapOutputDev: public CommonOutputDev { public: BitmapOutputDev(InfoOutputDev*info, PDFDoc*doc); @@ -96,16 +104,26 @@ public: virtual void stroke(GfxState *state); virtual void fill(GfxState *state); virtual void eoFill(GfxState *state); +#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); + 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); + void doClip(GfxState *state, GBool eo); virtual void clip(GfxState *state); virtual void eoClip(GfxState *state); virtual void clipToStrokePath(GfxState *state); @@ -157,19 +175,35 @@ public: virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha, Function *transferFunc, GfxColor *backdropColor); virtual void clearSoftMask(GfxState *state); + virtual void processLink(Link *link, Catalog *catalog); + + virtual void setVectorAntialias(GBool vaa); + private: void flush(); char config_bitmapfonts; + char config_extrafontdata; + + SplashPath*bboxpath; - int width, height; PDFDoc*doc; XRef*xref; SplashOutputDev*rgbdev; - SplashOutputDev*alphadev; + SplashOutputDev*clip0dev; + SplashOutputDev*clip1dev; GFXOutputDev*gfxdev; InfoOutputDev*info; gfxdevice_t*dev; + + int movex, movey; + int width, height; + + int user_movex, user_movey; + int user_clipx1, user_clipy1; + int user_clipx2, user_clipy2; + + //ClipState*clipstates; }; #endif