//>>built define("dojox/sketch/Annotation",["dojo/_base/kernel","dojo/_base/lang","dojo/_base/declare","dojo/_base/json","./Anchor","./_Plugin"],function(_1){ _1.declare("dojox.sketch.AnnotationTool",dojox.sketch._Plugin,{onMouseDown:function(e){ this._omd=true; },onMouseMove:function(e,_2){ if(!this._omd){ return; } if(this._cshape){ this._cshape.setShape(_2); }else{ this._cshape=this.figure.surface.createRect(_2).setStroke({color:"#999",width:1,style:"ShortDot"}).setFill([255,255,255,0.7]); this._cshape.getEventSource().setAttribute("shape-rendering","crispEdges"); } },onMouseUp:function(e){ if(!this._omd){ return; } this._omd=false; var f=this.figure; if(this._cshape){ f.surface.remove(this._cshape); delete this._cshape; } if(!(f._startPoint.x==e.pageX&&f._startPoint.y==e.pageY)){ var _3=10; if(Math.max(_3,Math.abs(f._absEnd.x-f._start.x),Math.abs(f._absEnd.y-f._start.y))>_3){ this._create(f._start,f._end); } } },_create:function(_4,_5){ var f=this.figure; var _6=f.nextKey(); var a=new (this.annotation)(f,_6); a.transform={dx:f._calCol(_4.x/f.zoomFactor),dy:f._calCol(_4.y/f.zoomFactor)}; a.end={x:f._calCol(_5.x/f.zoomFactor),y:f._calCol(_5.y/f.zoomFactor)}; if(a.control){ a.control={x:f._calCol((_5.x/2)/f.zoomFactor),y:f._calCol((_5.y/2)/f.zoomFactor)}; } f.onBeforeCreateShape(a); a.initialize(); f.select(a); f.onCreateShape(a); f.history.add(dojox.sketch.CommandTypes.Create,a); }}); dojox.sketch.Annotation=function(_7,id){ this.id=this._key=id; this.figure=_7; this.mode=dojox.sketch.Annotation.Modes.View; this.shape=null; this.boundingBox=null; this.hasAnchors=true; this.anchors={}; this._properties={"stroke":{color:"blue",width:2},"font":{family:"Arial",size:16,weight:"bold"},"fill":"blue","label":""}; if(this.figure){ this.figure.add(this); } }; var p=dojox.sketch.Annotation.prototype; p.constructor=dojox.sketch.Annotation; p.type=function(){ return ""; }; p.getType=function(){ return dojox.sketch.Annotation; }; p.onRemove=function(_8){ this.figure.history.add(dojox.sketch.CommandTypes.Delete,this,this.serialize()); }; p.property=function(_9,_a){ var r; _9=_9.toLowerCase(); if(this._properties[_9]!==undefined){ r=this._properties[_9]; } if(arguments.length>1){ this._properties[_9]=_a; if(r!=_a){ this.onPropertyChange(_9,r); } } return r; }; p.onPropertyChange=function(_b,_c){ }; p.onCreate=function(){ this.figure.history.add(dojox.sketch.CommandTypes.Create,this); }; p.onDblClick=function(e){ var l=prompt("Set new text:",this.property("label")); if(l!==false){ this.beginEdit(dojox.sketch.CommandTypes.Modify); this.property("label",l); this.draw(); this.endEdit(); } }; p.initialize=function(){ }; p.destroy=function(){ }; p.draw=function(){ }; p.apply=function(_d){ }; p.serialize=function(){ }; p.getBBox=function(){ }; p.beginEdit=function(_e){ if(!this._type){ this._type=_e||dojox.sketch.CommandTypes.Move; this._prevState=this.serialize(); } }; p.endEdit=function(){ if(this._prevState!=this.serialize()){ this.figure.history.add(this._type,this,this._prevState); } this._type=this._prevState=""; }; p.calculate={slope:function(p1,p2){ if(!(p1.x-p2.x)){ return 0; } return ((p1.y-p2.y)/(p1.x-p2.x)); },dx:function(p1,p2,dy){ var s=this.slope(p1,p2); if(s==0){ return s; } return dy/s; },dy:function(p1,p2,dx){ return this.slope(p1,p2)*dx; }}; p.drawBBox=function(){ var r=this.getBBox(); if(!this.boundingBox){ this.boundingBox=this.shape.createRect(r).moveToBack().setStroke({color:"#999",width:1,style:"Dash"}).setFill([238,238,238,0.3]); this.boundingBox.getEventSource().setAttribute("id",this.id+"-boundingBox"); this.boundingBox.getEventSource().setAttribute("shape-rendering","crispEdges"); this.figure._add(this); }else{ this.boundingBox.setShape(r); } }; p.setBinding=function(pt){ this.transform.dx+=pt.dx; this.transform.dy+=pt.dy; this.draw(); }; p.getTextBox=function(_f){ var fp=this.property("font"); var f={fontFamily:fp.family,fontSize:fp.size,fontWeight:fp.weight}; if(_f){ f.fontSize=Math.floor(f.fontSize/_f); } return dojox.gfx._base._getTextBox(this.property("label"),f); }; p.setMode=function(m){ if(this.mode==m){ return; } this.mode=m; var _10="disable"; if(m==dojox.sketch.Annotation.Modes.Edit){ _10="enable"; } if(_10=="enable"){ this.drawBBox(); this.figure._add(this); }else{ if(this.boundingBox){ if(this.shape){ this.shape.remove(this.boundingBox); } this.boundingBox=null; } } for(var p in this.anchors){ this.anchors[p][_10](); } }; p.zoom=function(pct){ pct=pct||this.figure.zoomFactor; if(this.labelShape){ var f=_1.clone(this.property("font")); f.size=Math.ceil(f.size/pct)+"px"; this.labelShape.setFont(f); } for(var n in this.anchors){ this.anchors[n].zoom(pct); } if(dojox.gfx.renderer=="vml"){ pct=1; } if(this.pathShape){ var s=_1.clone(this.property("stroke")); s.width=pct>1?s.width:Math.ceil(s.width/pct)+"px"; this.pathShape.setStroke(s); } }; p.writeCommonAttrs=function(){ return "id=\""+this.id+"\" dojoxsketch:type=\""+this.type()+"\""+" transform=\"translate("+this.transform.dx+","+this.transform.dy+")\""+(this.data?(" >