},{_updateWithSegment:function()

in tapestry-framework/src/js/dojo-0.4.3-custom-4.1.6/src/gfx/vml.js [539:920]


},{_updateWithSegment:function(_6f){
var _70=dojo.lang.shallowCopy(this.last);
dojo.gfx.Path.superclass._updateWithSegment.apply(this,arguments);
var _71=this[this.renderers[_6f.action]](_6f,_70);
if(typeof (this.vmlPath)=="string"){
this.vmlPath+=_71.join("");
}else{
this.vmlPath=this.vmlPath.concat(_71);
}
if(typeof (this.vmlPath)=="string"){
this.rawNode.path.v=this.vmlPath+" e";
}
},attachShape:function(_72){
var _73=dojo.lang.shallowCopy(dojo.gfx.defaultPath,true);
var p=_72.path.v.match(dojo.gfx.pathRegExp);
var t=[],_76=false;
for(var i=0;i<p.length;++p){
var s=p[i];
if(s in this._pathVmlToSvgMap){
_76=false;
t.push(this._pathVmlToSvgMap[s]);
}else{
if(!_76){
var n=parseInt(s);
if(isNaN(n)){
_76=true;
}else{
t.push(n);
}
}
}
}
if(t.length){
_73.path=t.join(" ");
}
return _73;
},setShape:function(_7a){
this.vmlPath=[];
this.lastControl={};
dojo.gfx.Path.superclass.setShape.apply(this,arguments);
this.vmlPath=this.vmlPath.join("");
this.rawNode.path.v=this.vmlPath+" e";
return this;
},_pathVmlToSvgMap:{m:"M",l:"L",t:"m",r:"l",c:"C",v:"c",qb:"Q",x:"z",e:""},renderers:{M:"_moveToA",m:"_moveToR",L:"_lineToA",l:"_lineToR",H:"_hLineToA",h:"_hLineToR",V:"_vLineToA",v:"_vLineToR",C:"_curveToA",c:"_curveToR",S:"_smoothCurveToA",s:"_smoothCurveToR",Q:"_qCurveToA",q:"_qCurveToR",T:"_qSmoothCurveToA",t:"_qSmoothCurveToR",A:"_arcTo",a:"_arcTo",Z:"_closePath",z:"_closePath"},_addArgs:function(_7b,_7c,_7d,_7e){
if(typeof (_7e)=="undefined"){
_7e=_7c.length;
}
if(typeof (_7d)=="undefined"){
_7d=0;
}
for(var i=_7d;i<_7e;++i){
_7b.push(" ");
_7b.push(_7c[i].toFixed());
}
},_addArgsAdjusted:function(_80,_81,_82,_83,_84){
if(typeof (_84)=="undefined"){
_84=_82.length;
}
if(typeof (_83)=="undefined"){
_83=0;
}
for(var i=_83;i<_84;i+=2){
_80.push(" ");
_80.push((_81.x+_82[i]).toFixed());
_80.push(" ");
_80.push((_81.y+_82[i+1]).toFixed());
}
},_moveToA:function(_86){
var p=[" m"];
var n=_86.args;
var l=n.length;
if(l==2){
this._addArgs(p,n);
}else{
this._addArgs(p,n,0,2);
p.push(" l");
this._addArgs(p,n,2);
}
this.lastControl={};
return p;
},_moveToR:function(_8a,_8b){
var p=["x" in _8b?" t":" m"];
var n=_8a.args;
var l=n.length;
if(l==2){
this._addArgs(p,n);
}else{
this._addArgs(p,n,0,2);
p.push(" r");
this._addArgs(p,n,2);
}
this.lastControl={};
return p;
},_lineToA:function(_8f){
var p=[" l"];
this._addArgs(p,_8f.args);
this.lastControl={};
return p;
},_lineToR:function(_91){
var p=[" r"];
this._addArgs(p,_91.args);
this.lastControl={};
return p;
},_hLineToA:function(_93,_94){
var p=[" l"];
var n=_93.args;
var l=n.length;
var y=" "+_94.y.toFixed();
for(var i=0;i<l;++i){
p.push(" ");
p.push(n[i].toFixed());
p.push(y);
}
this.lastControl={};
return p;
},_hLineToR:function(_9a){
var p=[" r"];
var n=_9a.args;
var l=n.length;
for(var i=0;i<l;++i){
p.push(" ");
p.push(n[i].toFixed());
p.push(" 0");
}
this.lastControl={};
return p;
},_vLineToA:function(_9f,_a0){
var p=[" l"];
var n=_9f.args;
var l=n.length;
var x=" "+_a0.x.toFixed();
for(var i=0;i<l;++i){
p.push(x);
p.push(" ");
p.push(n[i].toFixed());
}
this.lastControl={};
return p;
},_vLineToR:function(_a6){
var p=[" r"];
var n=_a6.args;
var l=n.length;
for(var i=0;i<l;++i){
p.push(" 0 ");
p.push(n[i].toFixed());
}
this.lastControl={};
return p;
},_curveToA:function(_ab){
var p=[];
var n=_ab.args;
var l=n.length;
for(var i=0;i<l;i+=6){
p.push(" c");
this._addArgs(p,n,i,i+6);
}
this.lastControl={x:n[l-4],y:n[l-3],type:"C"};
return p;
},_curveToR:function(_b0,_b1){
var p=[];
var n=_b0.args;
var l=n.length;
for(var i=0;i<l;i+=6){
p.push(" v");
this._addArgs(p,n,i,i+6);
this.lastControl={x:_b1.x+n[i+2],y:_b1.y+n[i+3]};
_b1.x+=n[i+4];
_b1.y+=n[i+5];
}
this.lastControl.type="C";
return p;
},_smoothCurveToA:function(_b6,_b7){
var p=[];
var n=_b6.args;
var l=n.length;
for(var i=0;i<l;i+=4){
p.push(" c");
if(this.lastControl.type=="C"){
this._addArgs(p,[2*_b7.x-this.lastControl.x,2*_b7.y-this.lastControl.y]);
}else{
this._addArgs(p,[_b7.x,_b7.y]);
}
this._addArgs(p,n,i,i+4);
}
this.lastControl={x:n[l-4],y:n[l-3],type:"C"};
return p;
},_smoothCurveToR:function(_bc,_bd){
var p=[];
var n=_bc.args;
var l=n.length;
for(var i=0;i<l;i+=4){
p.push(" v");
if(this.lastControl.type=="C"){
this._addArgs(p,[_bd.x-this.lastControl.x,_bd.y-this.lastControl.y]);
}else{
this._addArgs(p,[0,0]);
}
this._addArgs(p,n,i,i+4);
this.lastControl={x:_bd.x+n[i],y:_bd.y+n[i+1]};
_bd.x+=n[i+2];
_bd.y+=n[i+3];
}
this.lastControl.type="C";
return p;
},_qCurveToA:function(_c2){
var p=[];
var n=_c2.args;
var l=n.length;
for(var i=0;i<l;i+=4){
p.push(" qb");
this._addArgs(p,n,i,i+4);
}
this.lastControl={x:n[l-4],y:n[l-3],type:"Q"};
return p;
},_qCurveToR:function(_c7,_c8){
var p=[];
var n=_c7.args;
var l=n.length;
for(var i=0;i<l;i+=4){
p.push(" qb");
this._addArgsAdjusted(p,_c8,n,i,i+4);
this.lastControl={x:_c8.x+n[i],y:_c8.y+n[i+1]};
_c8.x+=n[i+2];
_c8.y+=n[i+3];
}
this.lastControl.type="Q";
return p;
},_qSmoothCurveToA:function(_cd,_ce){
var p=[];
var n=_cd.args;
var l=n.length;
for(var i=0;i<l;i+=2){
p.push(" qb");
if(this.lastControl.type=="Q"){
this._addArgs(p,[this.lastControl.x=2*_ce.x-this.lastControl.x,this.lastControl.y=2*_ce.y-this.lastControl.y]);
}else{
this._addArgs(p,[this.lastControl.x=_ce.x,this.lastControl.y=_ce.y]);
}
this._addArgs(p,n,i,i+2);
}
this.lastControl.type="Q";
return p;
},_qSmoothCurveToR:function(_d3,_d4){
var p=[];
var n=_d3.args;
var l=n.length;
for(var i=0;i<l;i+=2){
p.push(" qb");
if(this.lastControl.type=="Q"){
this._addArgs(p,[this.lastControl.x=2*_d4.x-this.lastControl.x,this.lastControl.y=2*_d4.y-this.lastControl.y]);
}else{
this._addArgs(p,[this.lastControl.x=_d4.x,this.lastControl.y=_d4.y]);
}
this._addArgsAdjusted(p,_d4,n,i,i+2);
}
this.lastControl.type="Q";
return p;
},_PI4:Math.PI/4,_curvePI4:dojo.gfx.path._calcArc(Math.PI/8),_calcArcTo:function(_d9,_da,rx,ry,_dd,_de,cw,x,y){
var m=dojo.gfx.matrix;
var _e3=-dojo.math.degToRad(_dd);
var rx2=rx*rx;
var ry2=ry*ry;
var pa=m.multiplyPoint(m.rotate(-_e3),{x:(_da.x-x)/2,y:(_da.y-y)/2});
var _e7=pa.x*pa.x;
var _e8=pa.y*pa.y;
var c1=Math.sqrt((rx2*ry2-rx2*_e8-ry2*_e7)/(rx2*_e8+ry2*_e7));
var ca={x:c1*rx*pa.y/ry,y:-c1*ry*pa.x/rx};
if(_de==cw){
ca={x:-ca.x,y:-ca.y};
}
var c=m.multiplyPoint([m.translate((_da.x+x)/2,(_da.y+y)/2),m.rotate(_e3)],ca);
var _ec=Math.atan2(c.y-_da.y,_da.x-c.x)-_e3;
var _ed=Math.atan2(c.y-y,x-c.x)-_e3;
var _ee=cw?_ec-_ed:_ed-_ec;
if(_ee<0){
_ee+=this._2PI;
}else{
if(_ee>this._2PI){
_ee=this._2PI;
}
}
var _ef=m.normalize([m.translate(c.x,c.y),m.rotate(_e3),m.scale(rx,ry)]);
var _f0=this._PI4/2;
var _f1=this._curvePI4;
var _f2=cw?-_f0:_f0;
for(var _f3=_ee;_f3>0;_f3-=this._PI4){
if(_f3<this._PI4){
_f0=_f3/2;
_f1=dojo.gfx.path._calcArc(_f0);
_f2=cw?-_f0:_f0;
}
var c1,c2,e;
var M=m.normalize([_ef,m.rotate(_ec+_f2)]);
if(cw){
c1=m.multiplyPoint(M,_f1.c2);
c2=m.multiplyPoint(M,_f1.c1);
e=m.multiplyPoint(M,_f1.s);
}else{
c1=m.multiplyPoint(M,_f1.c1);
c2=m.multiplyPoint(M,_f1.c2);
e=m.multiplyPoint(M,_f1.e);
}
_d9.push(" c");
this._addArgs(_d9,[c1.x,c1.y,c2.x,c2.y,e.x,e.y]);
_ec+=2*_f2;
}
},_arcTo:function(_f7,_f8){
var p=[];
var n=_f7.args;
var l=n.length;
var _fc=_f7.action=="a";
for(var i=0;i<l;i+=7){
var x1=n[i+5];
var y1=n[i+6];
if(_fc){
x1+=_f8.x;
y1+=_f8.y;
}
this._calcArcTo(p,_f8,n[i],n[i+1],n[i+2],n[i+3]?1:0,n[i+4]?1:0,x1,y1);
_f8={x:x1,y:y1};
}
this.lastControl={};
return p;
},_closePath:function(){
this.lastControl={};
return ["x"];
}});
dojo.gfx.Path.nodeType="shape";
dojo.gfx._creators={createPath:function(path){
return this.createObject(dojo.gfx.Path,path,true);
},createRect:function(rect){
return this.createObject(dojo.gfx.Rect,rect);
},createCircle:function(_102){
return this.createObject(dojo.gfx.Circle,_102);
},createEllipse:function(_103){
return this.createObject(dojo.gfx.Ellipse,_103);
},createLine:function(line){
return this.createObject(dojo.gfx.Line,line,true);
},createPolyline:function(_105){
return this.createObject(dojo.gfx.Polyline,_105,true);
},createImage:function(_106){
if(!this.rawNode){
return null;
}
var _107=new dojo.gfx.Image();
var node=document.createElement("div");
node.style.position="relative";
node.style.width=this.rawNode.style.width;
node.style.height=this.rawNode.style.height;
node.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, Dx=0, Dy=0)";
var img=document.createElement("img");
node.appendChild(img);
_107.setRawNode(node);
this.rawNode.appendChild(node);
_107.setShape(_106);
this.add(_107);
return _107;
},createGroup:function(){
return this.createObject(dojo.gfx.Group,null,true);
},createObject:function(_10a,_10b,_10c){
if(!this.rawNode){
return null;
}
var _10d=new _10a();
var node=document.createElement("v:"+_10a.nodeType);
_10d.setRawNode(node);
this.rawNode.appendChild(node);
if(_10c){
this._overrideSize(node);
}
_10d.setShape(_10b);
this.add(_10d);
return _10d;
},_overrideSize:function(node){
node.style.width=this.rawNode.style.width;
node.style.height=this.rawNode.style.height;
node.coordsize=parseFloat(node.style.width)+" "+parseFloat(node.style.height);
}};
dojo.lang.extend(dojo.gfx.Group,dojo.gfx._creators);
dojo.lang.extend(dojo.gfx.Surface,dojo.gfx._creators);
delete dojo.gfx._creators;
dojo.gfx.attachNode=function(node){