X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FBitmapOutputDev.h;h=c5c9375707215a7d6e2556cdad7101bc97c4cc65;hb=20f395856f21739e79eeab275beec7a3d133d568;hp=ee8004cb3d506c6b502ff0064f0f73533cb31f63;hpb=7443892f6805653f77531efd05aa0c2a5c3aaf9c;p=swftools.git diff --git a/lib/pdf/BitmapOutputDev.h b/lib/pdf/BitmapOutputDev.h index ee8004c..c5c9375 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(); @@ -63,14 +65,14 @@ public: virtual GBool interpretType3Chars(); virtual GBool needNonText(); virtual void setDefaultCTM(double *ctm); -/* virtual GBool checkPageSlice(Page *page, double hDPI, double vDPI, + virtual GBool checkPageSlice(Page *page, double hDPI, double vDPI, int rotate, GBool useMediaBox, GBool crop, int sliceX, int sliceY, int sliceW, int sliceH, GBool printing, Catalog *catalog, GBool (*abortCheckCbk)(void *data) = NULL, - void *abortCheckCbkData = NULL);*/ + void *abortCheckCbkData = NULL); - virtual void startPage(int pageNum, GfxState *state, double x1,double y1,double x2,double y2); + virtual void startPage(int pageNum, GfxState *state); virtual void endPage(); virtual void finishPage(); @@ -186,20 +188,22 @@ public: private: + void flushEverything(); void clearClips(); - void clearBoolPolyDev(int x1, int y1, int x2, int y2); - void clearBoolTextDev(int x1, int y1, int x2, int y2); + void clearBoolPolyDev(); + void clearBoolTextDev(); void flushText(); void flushBitmap(); 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(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; @@ -218,7 +222,9 @@ private: SplashBitmap*clip0bitmap; SplashBitmap*clip1bitmap; SplashBitmap*boolpolybitmap; + SplashBitmap*stalepolybitmap; SplashBitmap*booltextbitmap; + SplashBitmap*staletextbitmap; gfxdevice_t* gfxoutput; GFXOutputDev*gfxdev;