public:
int clipping;
int textRender;
+ char createsoftmask;
+ char transparencygroup;
+ int softmask;
+
GFXOutputState();
+
+ gfxresult_t* grouprecording; // for transparency groups
+ gfxresult_t* softmaskrecording; // for soft masks
+
+ gfxdevice_t* olddevice;
};
typedef struct _parameter
void setXRef(PDFDoc*doc, XRef *xref);
//----- link borders
- virtual void drawLink(Link *link, Catalog *catalog) ;
+ virtual void processLink(Link *link, Catalog *catalog);
//----- save/restore graphics state
virtual void saveState(GfxState *state) ;
virtual void updateLineJoin(GfxState *state);
virtual void updateLineCap(GfxState *state);
virtual void updateFillOpacity(GfxState *state);
-
+ virtual void updateStrokeOpacity(GfxState *state);
+ virtual void updateFillOverprint(GfxState *state);
+ virtual void updateStrokeOverprint(GfxState *state);
+ virtual void updateTransfer(GfxState *state);
virtual void updateAll(GfxState *state)
{
int maskWidth, int maskHeight,
GfxImageColorMap *maskColorMap);
- //----- transparency groups and soft masks (xpdf > ~ 3.01.16)
+ //----- transparency groups and soft masks (xpdf >= ~ 3.01.16)
+#if xpdfUpdateVersion >= 16
virtual void beginTransparencyGroup(GfxState *state, double *bbox,
GfxColorSpace *blendingColorSpace,
GBool isolated, GBool knockout,
virtual void paintTransparencyGroup(GfxState *state, double *bbox);
virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha, Function *transferFunc, GfxColor *backdropColor);
virtual void clearSoftMask(GfxState *state);
-
+#endif
//----- type 3 chars
virtual GBool beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, Unicode *u, int uLen);
char* substitutesource[256];
int substitutepos;
+ int user_movex,user_movey;
+ int user_clipx1,user_clipx2,user_clipy1,user_clipy2;
+
/* upper left corner of clipping rectangle (cropbox)- needs to be
added to all drawing coordinates to give the impression that all
pages start at (0,0)*/
- int clipmovex,clipmovey;
+ int clipmovex;
+ int clipmovey;
- int user_movex,user_movey;
- int user_clipx1,user_clipx2,user_clipy1,user_clipy2;
+ double width,height;
gfxline_t* current_text_stroke;
gfxline_t* current_text_clip;
int forceType0Fonts;
int config_use_fontconfig;
- int transparencyGroup;
- int createsoftmask;
-
parameter_t*parameters;
};