From: kramm Date: Thu, 1 Nov 2001 00:38:55 +0000 (+0000) Subject: added routines for link generation X-Git-Tag: release-0-1-0~27 X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=49a2c32e63c1f0c585d80418f1a5e67856c1cc23;hp=1f2a8f14b376da504bba9af47ec110b19dc9c4b2;p=swftools.git added routines for link generation --- diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index 6cef2e6..44db4bd 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -28,6 +28,7 @@ extern "C" { #include "../lib/rfxswf.h" } +int opennewwindow=0; int ignoredraworder=0; int drawonlyshapes=0; int jpegquality=85; @@ -1020,6 +1021,133 @@ void swfoutput_endclip(swfoutput*obj) swf_ObjectPlaceClip(cliptags[clippos],clipshapes[clippos],clipdepths[clippos],NULL,NULL,NULL,depth++); } +void drawlink(struct swfoutput*obj, ActionTAG*, swfcoord*points); + +void swfoutput_linktourl(struct swfoutput*obj, char*url, swfcoord*points) +{ + ActionTAG* actions; + + if(shapeid>=0) + endshape(); + if(textid>=0) + endtext(); + + actions = swf_ActionStart(tag); + if(opennewwindow) + action_GetUrl(url, "_parent"); + else + action_GetUrl(url, "_this"); + action_End(); + swf_ActionEnd(); + + drawlink(obj, actions, points); +} +void swfoutput_linktopage(struct swfoutput*obj, int page, swfcoord*points) +{ + ActionTAG* actions; + + if(shapeid>=0) + endshape(); + if(textid>=0) + endtext(); + + actions = swf_ActionStart(tag); + action_GotoFrame(page); + action_End(); + swf_ActionEnd(); + + drawlink(obj, actions, points); +} + +void drawlink(struct swfoutput*obj, ActionTAG*actions, swfcoord*points) +{ + RGBA rgb; + SRECT r; + int lsid=0; + int fsid; + struct plotxy p1,p2,p3,p4; + int myshapeid; + int myshapeid2; + double xmin,ymin; + double xmax=xmin=points[0].x,ymax=ymin=points[0].y; + int t; + int buttonid = ++currentswfid; + for(t=1;t<4;t++) + { + if(points[t].x>xmax) xmax=points[t].x; + if(points[t].y>ymax) ymax=points[t].y; + if(points[t].x