tt++,tt++,tt++,tt++,tt--,tt--,tt--,tt--,__V_A[0]+=") x+=Math.abs(X3-X2); else x+=Math.abs(Y3-Y2); if(Math.abs(X3-X0)> Math.abs(Y3-Y0)) x+=Math.abs(X3-X0); else x+=Math.abs(Y3-Y0); if(Math.abs(X1-X0)> Math.abs(Y1-Y0)) x+=Math.abs(X1-X0); else x+=Math.abs(Y1-Y0); if(x<1000) stage_add=Math.round(1000/x); cx = 3 * (X1 - X0); bx = 3 * (X2 - X1) - cx; ax = X3 - X0 - cx - bx; cy = 3 * (Y1 - Y0); by = 3 * (Y2 - Y1) - cy; ay = Y3 - Y0 - cy - by; var CheckY,orientation,CheckX; CheckY=CheckX=-10000; orientation=0; for(stage=0;stage<=999+stage_add;stage+=stage_add) { if(stage>1000) stage=1000; xt = ax * BB3[stage] + bx * BB2[stage] + cx * BB1[stage] + X0; yt = ay * BB3[stage] + by * BB2[stage] + cy * BB1[stage] + Y0; yt=Math.round(yt); xt=Math.round(xt); if(stage) { if((CheckY<yt && orientation==1) || (CheckY>yt && orientation==2)) { CurveAddlevel++; { StokeMouseEvent[CurveAddlevel]=new Array(); StokeMouseEvent[CurveAddlevel].PathMinX=StokeMouseEvent[CurveAddlevel].PathMinY=20000; StokeMouseEvent[CurveAddlevel].PathMaxX=StokeMouseEvent[CurveAddlevel].PathMaxY=-20000; StokeMouseEvent[CurveAddlevel].Mouse=DrawingLevel; StokeMouseEvent[CurveAddlevel].start=Nx.length; StokeMouseEvent[CurveAddlevel].ed=Nx.length; } mkDiv2(CheckX, CheckY, 1,1); if(orientation==2) orientation=1; else orientation=2; PathOrient[CurveAddlevel]=orientation; } else if(orientation==0) { if(CheckY>yt) orientation=1; else if(CheckY<yt) orientation=2; PathOrient[CurveAddlevel]=orientation; } } if(CheckY==yt && CheckX==xt) continue; CheckY=yt; CheckX=xt; mkDiv2(CheckX,CheckY,1,1); } } function isArray(obj)  { try { var a=obj[0]; return(1); } catch(e) { return(0); } } var SwapNeeded=0; function GetGradOffset(x,y,b,fill_type)  { var c ; if(fill_type==2) { if(SwapNeeded) c=GetLinearOffset(y,x,b.y1,b.x1,b.y2,b.x2); else c=GetLinearOffset(x,y,b.x1,b.y1,b.x2,b.y2); } else c=GetRadialOffset(x,y,b.fx,b.fy); return(c); } function ProcessOneLine(cur,x,y,w) { var htmm=\"\"; var mouseevent=\"onmousedown='FloodMouseDown(\"+cur+\")'\"; w+=x; var x2=x; var b=ItemArray[cur].fillGradient; var a=ItemArray[cur].fillType; var c; var m; var ii=0; var kk= new Array(); var subflag=3; if(a==2) subflag=1000; for(x=x;x<w;x++) { c=GetGradOffset(x,y,b,a); c=Math.round(c); if(c>=ColorOpaRR) c=Math.round(ColorOpaRR-1); if(c<0) c=0; kk[ii]=c; ii++; } kk[ii]=kk[ii-1]; w-=x2; b=ColorOpa; if(ie5) for(x=0,m=1;x<w;x++,m++) { while(m<w && b[kk[x]].st==b[kk[m]].st && m-x<subflag) m++; var cck=\"transparent\";  var color1=AlphaRgbToString(Math.round(b[kk[x]].O*255), b[kk[x]].R,b[kk[x]].G,b[kk[x]].B); var color2=AlphaRgbToString(Math.round(b[kk[m-1]].O*255),b[kk[m-1]].R,b[kk[x]].G,b[kk[m-1]].B); var thiscolor=cck+';filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr=\"'+color1+'\", EndColorStr=\"'+color2+'\")'; htmm+=\"<div \"+mouseevent+\" style='overflow:hidden;position:absolute;left:\"+(x2+x)+\"px;top:\"+y+\"px;width:\"+(m-x)+\"px;height:1px;background-color:\"+thiscolor+\";border-style:none;'/>\"; x=m-1; } else for(x=0,m=1;x<w;x++,m++) { var thiscolor=RgbToString(b[kk[x]].R,b[kk[x]].G,b[kk[x]].B); while(m<w && b[kk[x]].O==b[kk[m]].O && b[kk[x]].R==b[kk[m]].R && b[kk[x]].B==b[kk[m]].B && b[kk[x]].G==b[kk[m]].G)  m++; var mopaci=1; if(b[kk[x]].O>=0 && b[kk[x]].O<1) { mopaci=b[kk[x]].O; thiscolor+=\";opacity:\" +mopaci+ \";filter:alpha(opacity=\" +(mopaci*100)+ \")\"; } htmm+=\"<div style='overflow:hidden;position:absolute;left:\"+(x2+x)+\"px;top:\"+y+\"px;width:\"+(m-x)+\"px;height:1px;background-color:\"+thiscolor+\";border-style:none;' \"+mouseevent+\"/>\"; x=m-1; } return(htmm); } var ColorOpa =new Array(); var ColorOpaRR; var IeFillGraddient=new Array(); function ProcessGradient(cur) { var b=ItemArray[cur].fillGradient; var a=ItemArray[cur].fillType; var y1,y2,r; var MainOpacity=ItemArray[cur].style.fillOpacity; if(a==2) { if(Math.abs(b.y2-b.y1) < Math.abs(b.x2-b.x1)) { SwapNeeded=1; y1=b.x1;y2=b.x2; } else { SwapNeeded=0; y1=b.y1;y2=b.y2; } r=y2-y1; } else {y1=0;y2=r=b.r;} r=Math.abs(r); ColorOpaRR=r; var c=ItemArray[cur].fill"