X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2FSWFOutputDev.cc;h=9fc78284c264ab8cab22df53d8d414e3f039ed19;hb=251500bcdc5f8e159ad6793ccbe545abde19bc40;hp=37110fd8752e0a4ae4be8fdacb25d6f505434e21;hpb=ff7675c6083e54a5d97807676041f087a646f144;p=swftools.git diff --git a/pdf2swf/SWFOutputDev.cc b/pdf2swf/SWFOutputDev.cc index 37110fd..9fc7828 100644 --- a/pdf2swf/SWFOutputDev.cc +++ b/pdf2swf/SWFOutputDev.cc @@ -126,6 +126,8 @@ public: void setClip(int x1,int y1,int x2,int y2); int save(char*filename); + void pagefeed(); + void* getSWF(); void getDimensions(int*x1,int*y1,int*x2,int*y2); @@ -353,10 +355,7 @@ void SWFOutputDev::setClip(int x1,int y1,int x2,int y2) } void SWFOutputDev::getDimensions(int*x1,int*y1,int*x2,int*y2) { - if(x1) *x1 = output.swf.movieSize.xmin/20; - if(y1) *y1 = output.swf.movieSize.ymin/20; - if(x2) *x2 = output.swf.movieSize.xmax/20; - if(y2) *y2 = output.swf.movieSize.ymax/20; + return swfoutput_getdimensions(&output, x1,y2,x2,y2); } static char*getFontID(GfxFont*font) @@ -799,10 +798,20 @@ void SWFOutputDev::eoClip(GfxState *state) clipping[clippos] ++; free_outline(outline); } + +/* pass through functions for swf_output */ int SWFOutputDev::save(char*filename) { return swfoutput_save(&output, filename); } +void SWFOutputDev::pagefeed() +{ + swfoutput_pagefeed(&output); +} +void* SWFOutputDev::getSWF() +{ + return (void*)swfoutput_get(&output); +} SWFOutputDev::~SWFOutputDev() { @@ -947,10 +956,10 @@ void SWFOutputDev::startPage(int pageNum, GfxState *state, double crop_x1, doubl /* apply user clip box */ if(user_clipx1|user_clipy1|user_clipx2|user_clipy2) { - if(user_clipx1 > x1) x1 = user_clipx1; - if(user_clipx2 < x2) x2 = user_clipx2; - if(user_clipy1 > y1) y1 = user_clipy1; - if(user_clipy2 < y2) y2 = user_clipy2; + /*if(user_clipx1 > x1)*/ x1 = user_clipx1; + /*if(user_clipx2 < x2)*/ x2 = user_clipx2; + /*if(user_clipy1 > y1)*/ y1 = user_clipy1; + /*if(user_clipy2 < y2)*/ y2 = user_clipy2; } if(!outputstarted) { @@ -2213,6 +2222,13 @@ void swf_output_setparameter(swf_output_t*swf_output, char*name, char*value) pdfswf_setparameter(name, value); } +void swf_output_pagefeed(swf_output_t*swf) +{ + swf_output_internal_t*i= (swf_output_internal_t*)swf->internal; + i->outputDev->pagefeed(); + i->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2); +} + int swf_output_save(swf_output_t*swf, char*filename) { swf_output_internal_t*i= (swf_output_internal_t*)swf->internal; @@ -2221,6 +2237,14 @@ int swf_output_save(swf_output_t*swf, char*filename) return ret; } +void* swf_output_get(swf_output_t*swf) +{ + swf_output_internal_t*i= (swf_output_internal_t*)swf->internal; + void* ret = i->outputDev->getSWF(); + i->outputDev->getDimensions(&swf->x1, &swf->y1, &swf->x2, &swf->y2); + return ret; +} + void swf_output_destroy(swf_output_t*output) { swf_output_internal_t*i = (swf_output_internal_t*)output->internal;