X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FBitmapOutputDev.h;h=c5c9375707215a7d6e2556cdad7101bc97c4cc65;hb=3583bb178b85790e8459da31ef69f852e3d8c05f;hp=3adf11a6c2a071cd499c70913da8edde59b0abfa;hpb=bb51f4b9fa144d46ff9ff32e8c9d818ae4e97153;p=swftools.git diff --git a/lib/pdf/BitmapOutputDev.h b/lib/pdf/BitmapOutputDev.h index 3adf11a..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,17 +188,22 @@ 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; @@ -215,7 +222,9 @@ private: SplashBitmap*clip0bitmap; SplashBitmap*clip1bitmap; SplashBitmap*boolpolybitmap; + SplashBitmap*stalepolybitmap; SplashBitmap*booltextbitmap; + SplashBitmap*staletextbitmap; gfxdevice_t* gfxoutput; GFXOutputDev*gfxdev;