poppler: fix tilingPatternFill()
[swftools.git] / lib / pdf / BitmapOutputDev.h
index acf487b..21ddb6d 100644 (file)
 #include "../gfxsource.h"
 #include "../gfxtools.h"
 
-#include "config.h"
+#include "../../config.h"
 #include "GFXOutputDev.h"
 #include "InfoOutputDev.h"
 #include "PDFDoc.h"
 #include "CommonOutputDev.h"
+#include "popplercompat.h"
 
 struct ClipState
 {
@@ -46,6 +47,8 @@ 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);
@@ -63,14 +66,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();
 
@@ -109,19 +112,12 @@ 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);
-#else
-    virtual void tilingPatternFill(GfxState *state, Gfx *gfx, Object *str,
+    virtual POPPLER_TILING_PATERN_RETURN tilingPatternFill(
+             GfxState *state, POPPLER_TILING_PATERN_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);
@@ -186,6 +182,7 @@ public:
 
     
 private:
+    void flushEverything();
     void clearClips();
     void clearBoolPolyDev();
     void clearBoolTextDev();
@@ -200,6 +197,7 @@ private:
     virtual gfxbbox_t getBBox(GfxState*state);
 
     char config_extrafontdata;
+    char config_optimizeplaincolorfills;
 
     int layerstate;
     GBool emptypage;