X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.h;h=5aa22bea78001f67dee614523125556c2a6274c4;hb=ab40f5decd4625b88ab6ce58f75fbf1bae840ece;hp=0e3d2b3b0fc1c7786439f7ab41442ac2d155bcea;hpb=c6d815f656ed77b45bfb5685c030c97f6245044c;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.h b/lib/pdf/GFXOutputDev.h index 0e3d2b3..5aa22be 100644 --- a/lib/pdf/GFXOutputDev.h +++ b/lib/pdf/GFXOutputDev.h @@ -8,13 +8,8 @@ #include "config.h" #include "InfoOutputDev.h" #include "PDFDoc.h" - -typedef struct _fontlist -{ - char*filename; - gfxfont_t*font; - _fontlist*next; -} fontlist_t; +#include "GlobalParams.h" +#include "CommonOutputDev.h" class GFXOutputState { public: @@ -45,29 +40,21 @@ void addGlobalFont(const char*filename); void addGlobalLanguageDir(const char*dir); void addGlobalFontDir(const char*dirname); -class GFXOutputDev: public OutputDev { +class GFXOutputDev: public CommonOutputDev { public: gfxdevice_t* device; - // Constructor. - GFXOutputDev(parameter_t*p); - void setDevice(gfxdevice_t*dev); - - // Destructor. + GFXOutputDev(InfoOutputDev*info, PDFDoc*doc); virtual ~GFXOutputDev() ; - void setMove(int x,int y); - void setClip(int x1,int y1,int x2,int y2); - void setParameter(const char*key, const char*value); - - void setInfo(InfoOutputDev*info) {this->info = info;} + virtual void setDevice(gfxdevice_t*dev); + virtual void setMove(int x,int y); + virtual void setClip(int x1,int y1,int x2,int y2); + virtual void setParameter(const char*key, const char*value); // Start a page. - void startFrame(int width, int height); - virtual void startPage(int pageNum, GfxState *state, double x1, double y1, double x2, double y2) ; - - void endframe(); + virtual void endPage(); //----- get info about output device @@ -82,10 +69,6 @@ public: //virtual GBool useShadedFills() { return gTrue; } - //----- initialization and control - - void setXRef(PDFDoc*doc, XRef *xref); - //----- link borders virtual void processLink(Link *link, Catalog *catalog); @@ -96,6 +79,7 @@ public: //----- update graphics state virtual void updateFont(GfxState *state); + virtual void updateFontMatrix(GfxState *state); virtual void updateFillColor(GfxState *state); virtual void updateStrokeColor(GfxState *state); virtual void updateLineWidth(GfxState *state); @@ -188,7 +172,7 @@ 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); - void preparePage(int pdfpage, int outputpage); + virtual void preparePage(int pdfpage, int outputpage); char* searchForSuitableFont(GfxFont*gfxFont); @@ -197,7 +181,6 @@ public: virtual GBool useDrawForm(); virtual void drawForm(Ref id); virtual GBool needNonText(); - virtual void endPage(); //virtual void dump(); //virtual void beginStringOp(GfxState *state); @@ -264,8 +247,6 @@ public: int clipmovex; int clipmovey; - double width,height; - gfxline_t* current_text_stroke; gfxline_t* current_text_clip; char* current_font_id; @@ -282,6 +263,8 @@ public: int config_break_on_warning; int config_remapunicode; int config_transparent; + int config_extrafontdata; + double config_fontquality; parameter_t*parameters; };