added getVectorAntialias, which is necessary so that setVectorAntialias will be called
[swftools.git] / lib / pdf / BitmapOutputDev.h
index 3e821c7..23df08d 100644 (file)
 #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,36 @@ 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);
+    virtual GBool getVectorAntialias();
+    
 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