X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=83c0c491f6d3ffb6b6795c92b0a62eeeb8ee2c45;hb=bf04757cd94e94c1f67fa3d2a4e3e59fa5bce0c0;hp=1b1c0b273dca797e6b8d393ab087818823502168;hpb=8ea60b78165485862a5a872775bffabb2c912078;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index 1b1c0b2..83c0c49 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; }; @@ -43,6 +47,19 @@ void addGlobalFont(const char*filename); void addGlobalLanguageDir(const char*dir); void addGlobalFontDir(const char*dirname); +class GFXOutputGlobals { +public: + feature_t*featurewarnings; + + 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? + + GFXOutputGlobals(); + ~GFXOutputGlobals(); +}; + class GFXOutputDev: public CommonOutputDev { public: gfxdevice_t* device; @@ -182,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(); @@ -200,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); @@ -219,43 +236,29 @@ public: void showfeature(const char*feature,char fully, char warn); void warnfeature(const char*feature,char fully); void infofeature(const char*feature); + + char* searchFont(const char*name); + char* substituteFont(GfxFont*gfxFont, char*oldname); + char* writeEmbeddedFontToFile(XRef*ref, GfxFont*font); - feature_t*featurewarnings; - - char outer_clip_box; //whether the page clip box is still on - - gfxfontlist_t*gfxfontlist; + /* for page mapping */ + int* page2page; + int num_pages; - GBool do_interpretType3Chars; + int currentpage; + char outer_clip_box; //whether the page clip box is still on InfoOutputDev*info; GFXOutputState states[64]; int statepos; - int currentpage; - PDFDoc*doc; XRef*xref; - char* searchFont(const char*name); - char* substituteFont(GfxFont*gfxFont, char*oldname); - char* writeEmbeddedFontToFile(XRef*ref, GfxFont*font); - int t1id; - 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 type3active; // are we between beginType3()/endType3()? GfxState *laststate; - char type3Warning; - - const char* substitutetarget[256]; - const char* substitutesource[256]; - int substitutepos; - int user_movex,user_movey; int user_clipx1,user_clipx2,user_clipy1,user_clipy2; @@ -271,10 +274,6 @@ public: FontInfo*current_fontinfo; gfxmatrix_t current_font_matrix; - int*pages; - int pagebuflen; - int pagepos; - /* config */ int config_use_fontconfig; int config_break_on_warning; @@ -286,10 +285,6 @@ public: int config_multiply; int config_bigchar; double config_fontquality; - - double *dashPattern; - int dashLength; - double dashStart; }; class GFXGlobalParams: public GlobalParams {