X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpdf2swf.c;h=39680cf1335121bfa8dbd727c290b209499d2ce3;hb=d4e0ae0071722b1cc50bfc41fe64066783aa24a5;hp=c4df439e9fa7e168c61addc837f82907200d8556;hpb=4775c54ba8d1febd267b24f34d8255764cf51367;p=swftools.git diff --git a/src/pdf2swf.c b/src/pdf2swf.c index c4df439..39680cf 100644 --- a/src/pdf2swf.c +++ b/src/pdf2swf.c @@ -32,14 +32,15 @@ #include "../lib/os.h" #include "../lib/rfxswf.h" #include "../lib/devices/swf.h" -#include "../lib/devices/arts.h" +#include "../lib/devices/polyops.h" #include "../lib/devices/record.h" #include "../lib/pdf/pdf.h" #include "../lib/log.h" #define SWFDIR concatPaths(getInstallationPath(), "swfs") -gfxsource_t*driver; +static gfxsource_t*driver = 0; +static gfxdevice_t*out = 0; static char * outputname = 0; static int loglevel = 3; @@ -154,7 +155,7 @@ int args_callback_option(char*name,char*val) { char*x2 = strtok(0, ":"); char*y2 = strtok(0, ":"); if(!(x1 && y1 && x2 && y2)) { - fprintf(stderr, "-m option requires four arguments, :::\n"); + fprintf(stderr, "-c option requires four arguments, :::\n"); exit(1); } custom_clip = 1; @@ -188,9 +189,11 @@ int args_callback_option(char*name,char*val) { *c = 0; c++; driver->set_parameter(driver, s,c); - } - else + out->setparameter(out, s,c); + } else { driver->set_parameter(driver, s,"1"); + out->setparameter(out, s,"1"); + } return 1; } else if (!strcmp(name, "S")) @@ -203,6 +206,14 @@ int args_callback_option(char*name,char*val) { driver->set_parameter(driver, "ignoredraworder", "1"); return 0; } +#ifndef WIN32 + else if (!strcmp(name, "Q")) + { + int seconds = atoi(val); + alarm(seconds); + return 1; + } +#endif else if (!strcmp(name, "z")) { driver->set_parameter(driver, "enablezlib", "1"); @@ -258,12 +269,11 @@ int args_callback_option(char*name,char*val) { driver->set_parameter(driver, "bitmapfonts", "1"); if(level>=3) driver->set_parameter(driver, "ignoredraworder", "1"); - - flatten = 1; return ret; } else if (!strcmp(name, "G")) { + driver->set_parameter(driver, "optimize_polygons", "1"); flatten = 1; return 0; } @@ -371,6 +381,7 @@ struct options_t options[] = {"z","zlib"}, {"s","set"}, {"S","shapes"}, + {"Q","maxtime"}, {"j","jpegquality"}, {"p","pages"}, {"w","samewindow"}, @@ -520,8 +531,18 @@ int main(int argn, char *argv[]) #endif driver = gfxsource_pdf_create(); + gfxdevice_t swf,wrap; + gfxdevice_swf_init(&swf); + + gfxdevice_removeclippings_init(&wrap, &swf); + + out = &wrap; processargs(argn, argv); + if(!flatten) { + out = &swf; + } + if(!filename) { fprintf(stderr, "Please specify an input file\n"); @@ -575,17 +596,6 @@ int main(int argn, char *argv[]) exit(1); } - gfxdevice_t swf,wrap; - gfxdevice_swf_init(&swf); - gfxdevice_t*out; - - if(flatten) { - gfxdevice_removeclippings_init(&wrap, &swf); - out = &wrap; - } else { - out = &swf; - } - struct mypage_t { int x; int y;