//>>built define("dojox/gfx/vml",["dojo/_base/lang","dojo/_base/declare","dojo/_base/array","dojo/_base/Color","dojo/_base/sniff","dojo/_base/config","dojo/dom","dojo/dom-geometry","dojo/_base/window","./_base","./shape","./path","./arc","./gradient","./matrix"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,g,gs,_a,_b,_c,m){ var _d=g.vml={}; _d.xmlns="urn:schemas-microsoft-com:vml"; document.namespaces.add("v",_d.xmlns); var _e=["*","group","roundrect","oval","shape","rect","imagedata","path","textpath","text"],i=0,l=1,s=document.createStyleSheet(); if(_5("ie")>=8){ i=1; l=_e.length; } for(;i0){ a.push({offset:1,color:g.normalizeColor(f.colors[0].color)}); } _3.forEach(f.colors,function(v,i){ a.push({offset:1-v.offset*c,color:g.normalizeColor(v.color)}); }); i=a.length-1; while(i>=0&&a[i].offset<0){ --i; } if(i2){ a.pop(); } } i=a.length-1,s=[]; if(a[i].offset>0){ s.push("0 "+a[i].color.toHex()); } for(;i>=0;--i){ s.push(a[i].offset.toFixed(5)+" "+a[i].color.toHex()); } fo=this.rawNode.fill; fo.colors.value=s.join(";"); fo.method="sigma"; fo.type="gradientradial"; if(isNaN(w)||isNaN(h)||isNaN(l)||isNaN(t)){ fo.focusposition="0.5 0.5"; }else{ fo.focusposition=((f.cx-l)/w).toFixed(5)+" "+((f.cy-t)/h).toFixed(5); } fo.focussize="0 0"; fo.on=true; break; case "pattern": f=g.makeParameters(g.defaultPattern,_10); this.fillStyle=f; fo=this.rawNode.fill; fo.type="tile"; fo.src=f.src; if(f.width&&f.height){ fo.size.x=g.px2pt(f.width); fo.size.y=g.px2pt(f.height); } fo.alignShape="f"; fo.position.x=0; fo.position.y=0; fo.origin.x=f.width?f.x/f.width:0; fo.origin.y=f.height?f.y/f.height:0; fo.on=true; break; } this.rawNode.fill.opacity=1; return this; } this.fillStyle=g.normalizeColor(_10); fo=this.rawNode.fill; if(!fo){ fo=this.rawNode.ownerDocument.createElement("v:fill"); } fo.method="any"; fo.type="solid"; fo.opacity=this.fillStyle.a; var _14=this.rawNode.filters["DXImageTransform.Microsoft.Alpha"]; if(_14){ _14.opacity=Math.round(this.fillStyle.a*100); } this.rawNode.fillcolor=this.fillStyle.toHex(); this.rawNode.filled=true; return this; },setStroke:function(_15){ if(!_15){ this.strokeStyle=null; this.rawNode.stroked="f"; return this; } if(typeof _15=="string"||_1.isArray(_15)||_15 instanceof _4){ _15={color:_15}; } var s=this.strokeStyle=g.makeParameters(g.defaultStroke,_15); s.color=g.normalizeColor(s.color); var rn=this.rawNode; rn.stroked=true; rn.strokecolor=s.color.toCss(); rn.strokeweight=s.width+"px"; if(rn.stroke){ rn.stroke.opacity=s.color.a; rn.stroke.endcap=this._translate(this._capMap,s.cap); if(typeof s.join=="number"){ rn.stroke.joinstyle="miter"; rn.stroke.miterlimit=s.join; }else{ rn.stroke.joinstyle=s.join; } rn.stroke.dashstyle=s.style=="none"?"Solid":s.style; } return this; },_capMap:{butt:"flat"},_capMapReversed:{flat:"butt"},_translate:function(_16,_17){ return (_17 in _16)?_16[_17]:_17; },_applyTransform:function(){ var _18=this._getRealMatrix(); if(_18){ var _19=this.rawNode.skew; if(typeof _19=="undefined"){ for(var i=0;i7){ var _26=this.rawNode.ownerDocument.createElement("v:roundrect"); _26.arcsize=r; _26.style.display="inline-block"; this.rawNode=_26; this.rawNode.__gfxObject__=this.getUID(); }else{ this.rawNode.arcsize=r; } if(_24){ if(_25){ _24.insertBefore(this.rawNode,_25); }else{ _24.appendChild(this.rawNode); } } var _27=this.rawNode.style; _27.left=_23.x.toFixed(); _27.top=_23.y.toFixed(); _27.width=(typeof _23.width=="string"&&_23.width.indexOf("%")>=0)?_23.width:Math.max(_23.width.toFixed(),0); _27.height=(typeof _23.height=="string"&&_23.height.indexOf("%")>=0)?_23.height:Math.max(_23.height.toFixed(),0); return this.setTransform(this.matrix).setFill(this.fillStyle).setStroke(this.strokeStyle); }}); _d.Rect.nodeType="roundrect"; _2("dojox.gfx.vml.Ellipse",[_d.Shape,gs.Ellipse],{setShape:function(_28){ var _29=this.shape=g.makeParameters(this.shape,_28); this.bbox=null; var _2a=this.rawNode.style; _2a.left=(_29.cx-_29.rx).toFixed(); _2a.top=(_29.cy-_29.ry).toFixed(); _2a.width=(_29.rx*2).toFixed(); _2a.height=(_29.ry*2).toFixed(); return this.setTransform(this.matrix); }}); _d.Ellipse.nodeType="oval"; _2("dojox.gfx.vml.Circle",[_d.Shape,gs.Circle],{setShape:function(_2b){ var _2c=this.shape=g.makeParameters(this.shape,_2b); this.bbox=null; var _2d=this.rawNode.style; _2d.left=(_2c.cx-_2c.r).toFixed(); _2d.top=(_2c.cy-_2c.r).toFixed(); _2d.width=(_2c.r*2).toFixed(); _2d.height=(_2c.r*2).toFixed(); return this; }}); _d.Circle.nodeType="oval"; _2("dojox.gfx.vml.Line",[_d.Shape,gs.Line],{constructor:function(_2e){ if(_2e){ _2e.setAttribute("dojoGfxType","line"); } },setShape:function(_2f){ var _30=this.shape=g.makeParameters(this.shape,_2f); this.bbox=null; this.rawNode.path.v="m"+_30.x1.toFixed()+" "+_30.y1.toFixed()+"l"+_30.x2.toFixed()+" "+_30.y2.toFixed()+"e"; return this.setTransform(this.matrix); }}); _d.Line.nodeType="shape"; _2("dojox.gfx.vml.Polyline",[_d.Shape,gs.Polyline],{constructor:function(_31){ if(_31){ _31.setAttribute("dojoGfxType","polyline"); } },setShape:function(_32,_33){ if(_32&&_32 instanceof Array){ this.shape=g.makeParameters(this.shape,{points:_32}); if(_33&&this.shape.points.length){ this.shape.points.push(this.shape.points[0]); } }else{ this.shape=g.makeParameters(this.shape,_32); } this.bbox=null; this._normalizePoints(); var _34=[],p=this.shape.points; if(p.length>0){ _34.push("m"); _34.push(p[0].x.toFixed(),p[0].y.toFixed()); if(p.length>1){ _34.push("l"); for(var i=1;i0&&_37.yy>0){ s.filter=""; s.width=Math.floor(_37.xx*_39.width); s.height=Math.floor(_37.yy*_39.height); s.left=Math.floor(_37.dx); s.top=Math.floor(_37.dy); }else{ var ps=_38.parentNode.style; s.left="0px"; s.top="0px"; s.width=ps.width; s.height=ps.height; _37=m.multiply(_37,{xx:_39.width/parseInt(s.width),yy:_39.height/parseInt(s.height)}); var f=_38.filters["DXImageTransform.Microsoft.Matrix"]; if(f){ f.M11=_37.xx; f.M12=_37.xy; f.M21=_37.yx; f.M22=_37.yy; f.Dx=_37.dx; f.Dy=_37.dy; }else{ s.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+_37.xx+", M12="+_37.xy+", M21="+_37.yx+", M22="+_37.yy+", Dx="+_37.dx+", Dy="+_37.dy+")"; } } return this; },_setDimensions:function(_3a,_3b){ var r=this.rawNode,f=r.filters["DXImageTransform.Microsoft.Matrix"]; if(f){ var s=r.style; s.width=_3a; s.height=_3b; return this._applyTransform(); } return this; }}); _d.Image.nodeType="rect"; _2("dojox.gfx.vml.Text",[_d.Shape,gs.Text],{constructor:function(_3c){ if(_3c){ _3c.setAttribute("dojoGfxType","text"); } this.fontStyle=null; },_alignment:{start:"left",middle:"center",end:"right"},setShape:function(_3d){ this.shape=g.makeParameters(this.shape,_3d); this.bbox=null; var r=this.rawNode,s=this.shape,x=s.x,y=s.y.toFixed(),_3e; switch(s.align){ case "middle": x-=5; break; case "end": x-=10; break; } _3e="m"+x.toFixed()+","+y+"l"+(x+10).toFixed()+","+y+"e"; var p=null,t=null,c=r.childNodes; for(var i=0;i1){ return; } var _46=this[this.renderers[_44.action]](_44,_45); if(typeof this.vmlPath=="string"){ this.vmlPath+=_46.join(""); this.rawNode.path.v=this.vmlPath+" r0,0 e"; }else{ Array.prototype.push.apply(this.vmlPath,_46); } },setShape:function(_47){ this.vmlPath=[]; this.lastControl.type=""; this.inherited(arguments); this.vmlPath=this.vmlPath.join(""); this.rawNode.path.v=this.vmlPath+" r0,0 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(_48,_49,_4a,_4b){ var n=_49 instanceof Array?_49:_49.args; for(var i=_4a;i<_4b;++i){ _48.push(" ",n[i].toFixed()); } },_adjustRelCrd:function(_4c,_4d,_4e){ var n=_4d instanceof Array?_4d:_4d.args,l=n.length,_4f=new Array(l),i=0,x=_4c.x,y=_4c.y; if(typeof x!="number"){ _4f[0]=x=n[0]; _4f[1]=y=n[1]; i=2; } if(typeof _4e=="number"&&_4e!=2){ var j=_4e; while(j<=l){ for(;i2){ p.push(" l"); this._addArgs(p,n,2,l); } this.lastControl.type=""; return p; },_moveToR:function(_54,_55){ return this._moveToA(this._adjustRelCrd(_55,_54)); },_lineToA:function(_56){ var p=[" l"],n=_56 instanceof Array?_56:_56.args; this._addArgs(p,n,0,n.length); this.lastControl.type=""; return p; },_lineToR:function(_57,_58){ return this._lineToA(this._adjustRelCrd(_58,_57)); },_hLineToA:function(_59,_5a){ var p=[" l"],y=" "+_5a.y.toFixed(),n=_59 instanceof Array?_59:_59.args,l=n.length; for(var i=0;i7){ rs.display="inline-block"; } s._parent=p; s._nodes.push(c); p.style.width=_79; p.style.height=_7a; cs.position="absolute"; cs.width=_79; cs.height=_7a; cs.clip="rect(0px "+_79+" "+_7a+" 0px)"; rs.position="absolute"; rs.width=_79; rs.height=_7a; r.coordsize=(_79==="100%"?_79:parseFloat(_79))+" "+(_7a==="100%"?_7a:parseFloat(_7a)); r.coordorigin="0 0"; var b=s.bgNode=r.ownerDocument.createElement("v:rect"),bs=b.style; bs.left=bs.top=0; bs.width=rs.width; bs.height=rs.height; b.filled=b.stroked="f"; r.appendChild(b); c.appendChild(r); p.appendChild(c); s.width=g.normalizedLength(_79); s.height=g.normalizedLength(_7a); return s; }; function _7b(_7c,f,o){ o=o||_9.global; f.call(o,_7c); if(_7c instanceof g.Surface||_7c instanceof g.Group){ _3.forEach(_7c.children,function(_7d){ _7b(_7d,f,o); }); } }; var _7e=function(_7f){ if(this!=_7f.getParent()){ var _80=_7f.getParent(); if(_80){ _80.remove(_7f); } this.rawNode.appendChild(_7f.rawNode); C.add.apply(this,arguments); _7b(this,function(s){ if(typeof (s.getFont)=="function"){ s.setShape(s.getShape()); s.setFont(s.getFont()); } if(typeof (s.setFill)=="function"){ s.setFill(s.getFill()); s.setStroke(s.getStroke()); } }); } return this; }; var _81=function(_82){ if(this!=_82.getParent()){ this.rawNode.appendChild(_82.rawNode); if(!_82.getParent()){ _82.setFill(_82.getFill()); _82.setStroke(_82.getStroke()); } C.add.apply(this,arguments); } return this; }; var C=gs.Container,_83={add:_6.fixVmlAdd===true?_7e:_81,remove:function(_84,_85){ if(this==_84.getParent()){ if(this.rawNode==_84.rawNode.parentNode){ this.rawNode.removeChild(_84.rawNode); } C.remove.apply(this,arguments); } return this; },clear:function(){ var r=this.rawNode; while(r.firstChild!=r.lastChild){ if(r.firstChild!=this.bgNode){ r.removeChild(r.firstChild); } if(r.lastChild!=this.bgNode){ r.removeChild(r.lastChild); } } return C.clear.apply(this,arguments); },_moveChildToFront:C._moveChildToFront,_moveChildToBack:C._moveChildToBack}; var _86={createGroup:function(){ var _87=this.createObject(_d.Group,null); var r=_87.rawNode.ownerDocument.createElement("v:rect"); r.style.left=r.style.top=0; r.style.width=_87.rawNode.style.width; r.style.height=_87.rawNode.style.height; r.filled=r.stroked="f"; _87.rawNode.appendChild(r); _87.bgNode=r; return _87; },createImage:function(_88){ if(!this.rawNode){ return null; } var _89=new _d.Image(),doc=this.rawNode.ownerDocument,_8a=doc.createElement("v:rect"); _8a.stroked="f"; _8a.style.width=this.rawNode.style.width; _8a.style.height=this.rawNode.style.height; var img=doc.createElement("v:imagedata"); _8a.appendChild(img); _89.setRawNode(_8a); this.rawNode.appendChild(_8a); _89.setShape(_88); this.add(_89); return _89; },createRect:function(_8b){ if(!this.rawNode){ return null; } var _8c=new _d.Rect,_8d=this.rawNode.ownerDocument.createElement("v:roundrect"); if(_5("ie")>7){ _8d.style.display="inline-block"; } _8c.setRawNode(_8d); this.rawNode.appendChild(_8d); _8c.setShape(_8b); this.add(_8c); return _8c; },createObject:function(_8e,_8f){ if(!this.rawNode){ return null; } var _90=new _8e(),_91=this.rawNode.ownerDocument.createElement("v:"+_8e.nodeType); _90.setRawNode(_91); this.rawNode.appendChild(_91); switch(_8e){ case _d.Group: case _d.Line: case _d.Polyline: case _d.Image: case _d.Text: case _d.Path: case _d.TextPath: this._overrideSize(_91); } _90.setShape(_8f); this.add(_90); return _90; },_overrideSize:function(_92){ var s=this.rawNode.style,w=s.width,h=s.height; _92.style.width=w; _92.style.height=h; _92.coordsize=parseInt(w)+" "+parseInt(h); }}; _1.extend(_d.Group,_83); _1.extend(_d.Group,gs.Creator); _1.extend(_d.Group,_86); _1.extend(_d.Surface,_83); _1.extend(_d.Surface,gs.Creator); _1.extend(_d.Surface,_86); _d.fixTarget=function(_93,_94){ if(!_93.gfxTarget){ _93.gfxTarget=gs.byId(_93.target.__gfxObject__); } return true; }; return _d; });