var s=this.property('stroke'); var r=this.rotation*(180/Math.PI); if(this.start.x>this.end.x) r-=180; r=Math.round(r*Math.pow(10,4))/Math.pow(10,4); return '<g '+this.writeCommonAttrs()+'>' + '<path style="stroke:'+s.color+';stroke-width:'+s.width+';fill:none;" d="' + "M"+this.start.x+","+this.start.y+" " + "Q"+this.control.x+","+this.control.y+" " + this.end.x+","+this.end.y + '" />' + '<g transform="translate(' + this.start.x + "," + this.start.y + ") " + 'rotate(' + r + ')">' + '<path style="fill:'+s.color+';" d="M0,0 l20,-5, -3,5, 3,5 Z" />' + '</g>' + '<text style="fill:'+s.color+';text-anchor:'+this.textAlign+'" font-weight="bold" ' + 'x="' + this.textPosition.x + '" ' + 'y="' + this.textPosition.y + '">' + this.property('label') + '</text>' + '</g>';