From 6abd20b17e8cd25902fede2270489b4329c3b50d Mon Sep 17 00:00:00 2001 From: kramm Date: Mon, 29 Oct 2001 09:24:46 +0000 Subject: [PATCH] * new function: swfoutput_drawimageagain, which draws an image which was encountered before. * the other swfoutput_drawimage* functions now return an id to be used for swfoutput_drawimageagain --- pdf2swf/swfoutput.cc | 23 ++++++++++++++++++++--- pdf2swf/swfoutput.h | 11 ++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index 5a634b5..8a9a55b 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -1100,7 +1100,7 @@ void drawimage(struct swfoutput*obj, int bitid, int sizex,int sizey, ObjectPlace(tag,myshapeid,/*depth*/depth++,NULL,NULL,NULL); } -void swfoutput_drawimagejpeg(struct swfoutput*obj, char*filename, int sizex,int sizey, +int swfoutput_drawimagejpeg(struct swfoutput*obj, char*filename, int sizex,int sizey, double x1,double y1, double x2,double y2, double x3,double y3, @@ -1117,9 +1117,10 @@ void swfoutput_drawimagejpeg(struct swfoutput*obj, char*filename, int sizex,int SetJPEGBits(tag, filename, jpegquality); drawimage(obj, bitid, sizex, sizey, x1,y1,x2,y2,x3,y3,x4,y4); + return bitid; } -void swfoutput_drawimagelossless(struct swfoutput*obj, RGBA*mem, int sizex,int sizey, +int swfoutput_drawimagelossless(struct swfoutput*obj, RGBA*mem, int sizex,int sizey, double x1,double y1, double x2,double y2, double x3,double y3, @@ -1136,9 +1137,10 @@ void swfoutput_drawimagelossless(struct swfoutput*obj, RGBA*mem, int sizex,int s SetLosslessBits(tag,sizex,sizey,mem, BMF_32BIT); drawimage(obj, bitid, sizex, sizey, x1,y1,x2,y2,x3,y3,x4,y4); + return bitid; } -void swfoutput_drawimagelossless256(struct swfoutput*obj, U8*mem, RGBA*pal, int sizex,int sizey, +int swfoutput_drawimagelossless256(struct swfoutput*obj, U8*mem, RGBA*pal, int sizex,int sizey, double x1,double y1, double x2,double y2, double x3,double y3, @@ -1155,5 +1157,20 @@ void swfoutput_drawimagelossless256(struct swfoutput*obj, U8*mem, RGBA*pal, int SetLosslessBitsIndexed(tag,sizex,sizey,mem, pal, 256); drawimage(obj, bitid, sizex, sizey, x1,y1,x2,y2,x3,y3,x4,y4); + return bitid; +} + +void swfoutput_drawimageagain(struct swfoutput*obj, int id, int sizex,int sizey, + double x1,double y1, + double x2,double y2, + double x3,double y3, + double x4,double y4) +{ + if(shapeid>=0) + endshape(); + if(textid>=0) + endtext(); + + drawimage(obj, id, sizex, sizey, x1,y1,x2,y2,x3,y3,x4,y4); } diff --git a/pdf2swf/swfoutput.h b/pdf2swf/swfoutput.h index 2002615..e8111ec 100644 --- a/pdf2swf/swfoutput.h +++ b/pdf2swf/swfoutput.h @@ -91,17 +91,22 @@ void swfoutput_drawchar(struct swfoutput*,double x,double y,char*a); void swfoutput_drawpath(struct swfoutput*, T1_OUTLINE*outline, struct swfmatrix*m); void swfoutput_startclip(struct swfoutput*, T1_OUTLINE*outline, struct swfmatrix*m); void swfoutput_endclip(struct swfoutput*); -void swfoutput_drawimagejpeg(struct swfoutput*, char*filename, int sizex,int sizey, +int swfoutput_drawimagejpeg(struct swfoutput*, char*filename, int sizex,int sizey, double x1,double y1, double x2,double y2, double x3,double y3, double x4,double y4); -void swfoutput_drawimagelossless(struct swfoutput*, RGBA*pic, int sizex, int sizey, +int swfoutput_drawimagelossless(struct swfoutput*, RGBA*pic, int sizex, int sizey, double x1,double y1, double x2,double y2, double x3,double y3, double x4,double y4); -void swfoutput_drawimagelossless256(struct swfoutput*, U8*pic,RGBA*pal, int sizex, int sizey, +int swfoutput_drawimagelossless256(struct swfoutput*, U8*pic,RGBA*pal, int sizex, int sizey, + double x1,double y1, + double x2,double y2, + double x3,double y3, + double x4,double y4); +void swfoutput_drawimageagain(struct swfoutput*, int id, int sizex, int sizey, double x1,double y1, double x2,double y2, double x3,double y3, -- 1.7.10.4