X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=f06dd21ece10ae32e16aed9161e52654d3dc77a9;hp=063aff6c6506c0602e3c35a9d58e7ff79a21e0d0;hb=f29d8006b1d8253c50808d6eb4941bdeb808c601;hpb=36bc7214626310b6ab79d9246cdec806c2da55ca diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index 063aff6..f06dd21 100644 --- a/lib/pdf/GFXOutputDev.h +++ b/lib/pdf/GFXOutputDev.h @@ -29,6 +29,10 @@ class GFXOutputState { gfxresult_t* softmaskrecording; // for soft masks gfxdevice_t* olddevice; + + double *dashPattern; + int dashLength; + double dashStart; GfxState*state; }; @@ -46,14 +50,11 @@ void addGlobalFontDir(const char*dirname); 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(); @@ -198,8 +199,6 @@ public: 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(); @@ -216,6 +215,8 @@ public: //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); @@ -227,8 +228,8 @@ public: 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); @@ -240,6 +241,10 @@ public: 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 @@ -269,6 +274,12 @@ public: 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; @@ -276,14 +287,13 @@ public: 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; + int config_detectspaces; + char* config_linkdatafile; double config_fontquality; - - double *dashPattern; - int dashLength; - double dashStart; }; class GFXGlobalParams: public GlobalParams {