-- 作者:hmilyice_angel
-- 发布时间:7/5/2005 6:25:00 PM
--
newobj.setAttributeNS(null,"r",r); newobj.setAttributeNS(null,"class",classid); return newobj; } function new_text(id,text,classid,pevent){ var tdata = svgdoc.createTextNode(text); var newobj = svgdoc.createElementNS(svgns, "text"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"class",classid); newobj.getStyle.setProperty("pointer-events",pevent); newobj.appendChild(tdata); return newobj; } function new_rect(id,x,y,rx,ry,wid,hei,classid){ var newobj=svgdoc.createElementNS(svgns,"rect"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"x",x); newobj.setAttributeNS(null,"y",y); newobj.setAttributeNS(null,"rx",rx); newobj.setAttributeNS(null,"ry",ry); newobj.setAttributeNS(null,"width",wid); newobj.setAttributeNS(null,"height",hei); newobj.setAttributeNS(null,"class",classid); return newobj; } function new_line(id,x1,y1,x2,y2,classid){ var newobj=svgdoc.createElementNS(svgns,"line"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"x1",x1); newobj.setAttributeNS(null,"y1",y1); newobj.setAttributeNS(null,"x2",x2); newobj.setAttributeNS(null,"y2",y2); newobj.setAttributeNS(null,"class",classid); return newobj; } /** * Draw Line * cDis - arc center offset * pDis - start&end point offset */ function new_linepath(id,classname,cDis,pDis,x1,y1,x2,y2){ var oline=svgdoc.createElementNS(svgns,"path"); var dx=x2-x1; var dy=y2-y1; //alert(dx + "," + dy); var dt=0; if(dx==0 && dy==0 || dx==0 && dy>0){ dt=0; } else if(dx==0 && dy<0){ dt=pi; } else if(dy==0 && dx>0){ dt=pi/2; } else if(dy==0 && dx<0){ dt=pi*3/2; } else{ dt=Math.atan(Math.abs(dy)/Math.abs(dx)); } var cx=(x1+x2)/2; var cy=(y1+y2)/2; var x1,y1,x2,y2,scx,scy; if(dx>0 && dy>0){ x1=x1-pDis*tscale*Math.sin(dt); y1=y1+pDis*tscale*Math.cos(dt); x2=x2-pDis*tscale*Math.sin(dt); y2=y2+pDis*tscale*Math.cos(dt); scx=cx-cDis*tscale*Math.sin(dt); scy=cy+cDis*tscale*Math.cos(dt); } if(dx>0 && dy<0){ x1=x1+pDis*tscale*Math.sin(dt); y1=y1+pDis*tscale*Math.cos(dt); x2=x2+pDis*tscale*Math.sin(dt); y2=y2+pDis*tscale*Math.cos(dt); scx=cx+cDis*tscale*Math.sin(dt); scy=cy+cDis*tscale*Math.cos(dt); //alert(Math.sin(dt) + "," + Math.cos(dt)); //alert(scx+","+scy); } if(dx<0 && dy<0){ x1=x1+pDis*tscale*Math.sin(dt); y1=y1-pDis*tscale*Math.cos(dt); x2=x2+pDis*tscale*Math.sin(dt); y2=y2-pDis*tscale*Math.cos(dt); scx=cx+cDis*tscale*Math.sin(dt); scy=cy-cDis*tscale*Math.cos(dt); //alert(x1+","+y1+","+x2+","+y2); } if(dx<0 && dy>0){ x1=x1-pDis*tscale*Math.sin(dt); y1=y1-pDis*tscale*Math.cos(dt); x2=x2-pDis*tscale*Math.sin(dt); y2=y2-pDis*tscale*Math.cos(dt); scx=cx-cDis*tscale*Math.sin(dt); scy=cy-cDis*tscale*Math.cos(dt); //alert(Math.sin(dt) + "," + Math.cos(dt)); //alert(scx+","+scy); } y1=y1*(-1); y2=y2*(-1); scy=scy*(-1); var ssss="M"+x1+","+y1+" C"+scx+","+scy+" "+scx+","+scy+" "+x2+","+y2; oline.setAttributeNS(null,"d",ssss); oline.setAttributeNS(null,"id",id); oline.setAttributeNS(null,"class",classname); return oline; } function new_animate(id,attName,attValue,durTime,repeatCount){ var newobj=svgdoc.createElementNS(svgns, "animate"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"attributeName",attName); newobj.setAttributeNS(null,"values",attValue); newobj.setAttributeNS(null,"dur",durTime); newobj.setAttributeNS(null,"repeatCount",repeatCount); return newobj; } function new_link(id,href){ var newobj = svgdoc.createElementNS(svgns, id); newobj.setAttributeNS(xlinkns, "xlink:href", href); return newobj; } function new_use(id,x,y){ var newobj=svgdoc.createElementNS(svgns,"use"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"x",x); newobj.setAttributeNS(null,"y",y); //newobj.setAttributeNS(null,"width",10); //newobj.setAttributeNS(null,"height",10); return newobj; } function new_image(id,x,y,wid,hei,href){ var newobj=svgdoc.createElementNS(svgns,"image"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"x",x); newobj.setAttributeNS(null,"y",y); newobj.setAttributeNS(null,"width",wid); newobj.setAttributeNS(null,"height",hei); newobj.setAttributeNS(xlinkns, "xlink:href", href); return newobj; } function new_tspan(id,fillcolor){ var newobj=svgdoc.createElementNS(svgns,"tspan"); newobj.setAttributeNS(null,"id",id); newobj.setAttributeNS(null,"fill",fillcolor); return newobj; }
|