gfxresult_t* softmaskrecording; // for soft masks
gfxdevice_t* olddevice;
+
+ double *dashPattern;
+ int dashLength;
+ double dashStart;
GfxState*state;
};
class GFXOutputGlobals {
public:
feature_t*featurewarnings;
- gfxfontlist_t*gfxfontlist;
+
int textmodeinfo; // did we write "Text will be rendered as polygon" yet?
int jpeginfo; // did we write "File contains jpegs" yet?
int pbminfo; // did we write "File contains jpegs" yet?
int linkinfo; // did we write "File contains links" yet?
- int*pages;
- int pagebuflen;
- int pagepos;
GFXOutputGlobals();
~GFXOutputGlobals();
virtual void type3D0(GfxState *state, double wx, double wy);
virtual void type3D1(GfxState *state, double wx, double wy, double llx, double lly, double urx, double ury);
- virtual void preparePage(int pdfpage, int outputpage);
-
char* searchForSuitableFont(GfxFont*gfxFont);
void finish();
//virtual void setVectorAntialias(GBool vaa) {}
//virtual void psXObject(Stream *psStream, Stream *level1Stream) {}
+ virtual void setPageMap(int*pagemap, int pagemap_len);
+
private:
gfxline_t* gfxPath_to_gfxline(GfxState*state, GfxPath*path, int closed, int user_movex, int user_movey);
Stream *maskStr, int maskWidth, int maskHeight, GBool maskInvert, GfxImageColorMap*maskColorMap);
void strokeGfxline(GfxState *state, gfxline_t*line, int flags);
- void clipToGfxLine(GfxState *state, gfxline_t*line);
- void fillGfxLine(GfxState *state, gfxline_t*line);
+ void clipToGfxLine(GfxState *state, gfxline_t*line, char evenodd);
+ void fillGfxLine(GfxState *state, gfxline_t*line, char evenodd);
gfxfont_t* createGfxFont(GfxFont*xpdffont, FontInfo*src);
char* substituteFont(GfxFont*gfxFont, char*oldname);
char* writeEmbeddedFontToFile(XRef*ref, GfxFont*font);
+ /* for page mapping */
+ int* page2page;
+ int num_pages;
+
int currentpage;
char outer_clip_box; //whether the page clip box is still on
FontInfo*current_fontinfo;
gfxmatrix_t current_font_matrix;
+ gfxfont_t* last_char_gfxfont;
+ int last_char;
+ double last_char_x;
+ double last_char_y;
+ char last_char_was_space;
+
/* config */
int config_use_fontconfig;
int config_break_on_warning;
int config_transparent;
int config_extrafontdata;
int config_convertgradients;
- int config_optimize_polygons;
+ int config_disable_polygon_conversion;
int config_multiply;
int config_bigchar;
+ int config_drawonlyshapes;
+ char* config_linkdatafile;
double config_fontquality;
-
- double *dashPattern;
- int dashLength;
- double dashStart;
};
class GFXGlobalParams: public GlobalParams {