X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fswfoutput.cc;h=b4cb4ce245f3dc1b8077f7e699c1cefdbb08985b;hb=e93c6b5a93fcdf135c10b93f1f63770f0c1a5079;hp=0bb93c91246afd17381da975105f44e6ac5c0ab5;hpb=34a9711991c2979be74299b779657387417c5890;p=swftools.git diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index 0bb93c9..b4cb4ce 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -227,7 +227,7 @@ static int moveto(struct swfoutput*obj, TAG*tag, plotxy p0) } return 0; } -static int moveto(struct swfoutput*obj, TAG*tag, float x, float y) +static int moveto(struct swfoutput*obj, TAG*tag, double x, double y) { swfoutput_internal*i = (swfoutput_internal*)obj->internal; plotxy p; @@ -701,6 +701,12 @@ static int drawchar(struct swfoutput*obj, SWFFONT *swffont, char*character, int FIXNULL(character),charnr, u, FIXNULL((char*)swffont->name), swffont->numchars); return 0; } + /*if(swffont->glyph[charid].shape->bitlen <= 16) { + msg(" Character '%s' (c=%d,u=%d), glyph %d in current charset (%s, %d characters) is empty", + FIXNULL(character),charnr, u, charid, FIXNULL((char*)swffont->name), swffont->numchars); + return 0; + }*/ + if(i->shapeid>=0) endshape(obj); @@ -2078,8 +2084,6 @@ gfxline_t* SVPtogfxline(ArtSVP*svp) } } - - static int add_image(swfoutput_internal*i, gfximage_t*img, int targetwidth, int targetheight, int* newwidth, int* newheight) { RGBA*newpic = 0; @@ -2130,32 +2134,19 @@ static int add_image(swfoutput_internal*i, gfximage_t*img, int targetwidth, int /*newsizex, newsizey,*/ num_colors>256?">":"", num_colors>256?256:num_colors); - if(has_alpha) { - if(num_colors<=256 || sizex<8 || sizey<8) { - i->tag = swf_InsertTag(i->tag,ST_DEFINEBITSLOSSLESS2); - swf_SetU16(i->tag, bitid); - swf_SetLosslessImage(i->tag,mem,sizex,sizey); - } else { - /*TODO: check what is smaller */ - i->tag = swf_InsertTag(i->tag,ST_DEFINEBITSJPEG3); - swf_SetU16(i->tag, bitid); - swf_SetJPEGBits3(i->tag,sizex,sizey,mem,config_jpegquality); - //swf_SetLosslessImage(i->tag,mem,sizex,sizey); - } - } else { - if(num_colors<=256 || sizex<8 || sizey<8) { - i->tag = swf_InsertTag(i->tag,ST_DEFINEBITSLOSSLESS); - swf_SetU16(i->tag, bitid); - swf_SetLosslessImage(i->tag,mem,sizex,sizey); - } else { - /*TODO: check what is smaller */ - i->tag = swf_InsertTag(i->tag,ST_DEFINEBITSJPEG2); - swf_SetU16(i->tag, bitid); - swf_SetJPEGBits2(i->tag,sizex,sizey,mem,config_jpegquality); - //swf_SetLosslessImage(i->tag,mem,sizex,sizey); - } + /*RGBA* pal = (RGBA*)rfx_alloc(sizeof(RGBA)*num_colors); + swf_ImageGetNumberOfPaletteEntries(mem,sizex,sizey,pal); + int t; + for(t=0;ttag = swf_AddImage(i->tag, bitid, mem, sizex, sizey, config_jpegquality); + if(newpic) free(newpic);