X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FBitmapOutputDev.h;h=91e110ae70fcd1108f8545f4ed7f69855fbc0e34;hb=4e518c7853f14ef0333975c2f6775884f44cf28d;hp=883134ae7b2ec8375ff0b25a179ed67b913813fd;hpb=73aaa33c97ecf400af001755ff23b302326c5811;p=swftools.git diff --git a/lib/pdf/BitmapOutputDev.h b/lib/pdf/BitmapOutputDev.h index 883134a..91e110a 100644 --- a/lib/pdf/BitmapOutputDev.h +++ b/lib/pdf/BitmapOutputDev.h @@ -46,13 +46,15 @@ class BitmapOutputDev: public CommonOutputDev { public: BitmapOutputDev(InfoOutputDev*info, PDFDoc*doc); virtual ~BitmapOutputDev(); + + virtual void dbg_newdata(char*newdata); // CommonOutputDev: virtual void setDevice(gfxdevice_t*dev); virtual void setMove(int x,int y); virtual void setClip(int x1,int y1,int x2,int y2); virtual void setParameter(const char*key, const char*value); - virtual void preparePage(int pdfpage, int outputpage); + virtual void setPageMap(int*page2page, int pagemap_size); // OutputDev: virtual GBool upsideDown(); @@ -72,6 +74,7 @@ public: virtual void startPage(int pageNum, GfxState *state, double x1,double y1,double x2,double y2); virtual void endPage(); + virtual void finishPage(); virtual void saveState(GfxState *state); virtual void restoreState(GfxState *state); @@ -185,19 +188,25 @@ public: private: + void flushEverything(); void clearClips(); void clearBoolPolyDev(); void clearBoolTextDev(); void flushText(); void flushBitmap(); - void checkNewText(); - void checkNewBitmap(); - GBool clip0and1differ(); - GBool intersection(); + GBool checkNewText(int x1, int y1, int x2, int y2); + GBool checkNewBitmap(int x1, int y1, int x2, int y2); + GBool clip0and1differ(int x1,int y1,int x2,int y2); + GBool intersection(SplashBitmap*boolpoly, SplashBitmap*booltext, int x1, int y1, int x2, int y2); + + virtual gfxbbox_t getImageBBox(GfxState*state); + virtual gfxbbox_t getBBox(GfxState*state); char config_extrafontdata; + char config_optimizeplaincolorfills; int layerstate; + GBool emptypage; SplashPath*bboxpath; @@ -209,6 +218,14 @@ private: SplashOutputDev*boolpolydev; SplashOutputDev*booltextdev; + SplashBitmap*rgbbitmap; + SplashBitmap*clip0bitmap; + SplashBitmap*clip1bitmap; + SplashBitmap*boolpolybitmap; + SplashBitmap*stalepolybitmap; + SplashBitmap*booltextbitmap; + SplashBitmap*staletextbitmap; + gfxdevice_t* gfxoutput; GFXOutputDev*gfxdev; InfoOutputDev*info;