From: Dmitry Baranovskiy Date: Tue, 17 Aug 2010 02:52:58 +0000 (+1000) Subject: • fixed IE8 issue with the HTML element named Raphael X-Git-Url: http://git.roojs.org/?p=raphael;a=commitdiff_plain;h=refs%2Fheads%2Fcuttingedge • fixed IE8 issue with the HTML element named Raphael • fixed precision for arcs in IE • added caching to getPointAtSegmentLength function • added ability to do more than one animation of an element at the same time • added "cubic-bezier()" as an easing method --- diff --git a/raphael-min.js b/raphael-min.js index c05ab70..5d78785 100644 --- a/raphael-min.js +++ b/raphael-min.js @@ -1,113 +1,7 @@ /* - * Raphael 1.4.4 - JavaScript Vector Library + * Raphael 1.5.0 - JavaScript Vector Library * * Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com) * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license. */ -Raphael=function(){function m(){if(m.is(arguments[0],V)){for(var a=arguments[0],b=Ba[L](m,a.splice(0,3+m.is(a[0],Q))),c=b.set(),d=0,f=a[o];d

";if(ia.childNodes[o]!=2)return m.type=null;ia=null}m.svg=!(m.vml=m.type=="VML");H[p]=m[p];m._id=0;m._oid=0;m.fn={};m.is=function(a,b){b=da.call(b);return b=="object"&&a===Object(a)||b=="undefined"&&typeof a==b||b=="null"&&a==null||da.call(pb.call(a).slice(8,-1))==b};m.setWindow=function(a){Y=a;C=Y.document};function sa(a){if(m.vml){var b=/^\s+|\s+$/g;sa=U(function(d){var f;d=D(d)[J](b, -A);try{var e=new Y.ActiveXObject("htmlfile");e.write("");e.close();f=e.body}catch(g){f=Y.createPopup().document.body}e=f.createTextRange();try{f.style.color=d;var h=e.queryCommandValue("ForeColor");h=(h&255)<<16|h&65280|(h&16711680)>>>16;return"#"+("000000"+h[P](16)).slice(-6)}catch(i){return"none"}})}else{var c=C.createElement("i");c.title="Rapha\u00ebl Colour Picker";c.style.display="none";C.body[x](c);sa=U(function(d){c.style.color=d;return C.defaultView.getComputedStyle(c,A).getPropertyValue("color")})}return sa(a)} -function rb(){return"hsb("+[this.h,this.s,this.b]+")"}function sb(){return this.hex}m.hsb2rgb=U(function(a,b,c){if(m.is(a,"object")&&"h"in a&&"s"in a&&"b"in a){c=a.b;b=a.s;a=a.h}var d;if(c==0)return{r:0,g:0,b:0,hex:"#000"};if(a>1||b>1||c>1){a/=255;b/=255;c/=255}d=~~(a*6);a=a*6-d;var f=c*(1-b),e=c*(1-b*a),g=c*(1-b*(1-a));a=[c,e,f,f,g,c,c][d];b=[g,c,c,e,f,f,g][d];d=[f,f,g,c,c,e,f][d];a*=255;b*=255;d*=255;c={r:a,g:b,b:d,toString:sb};a=(~~a)[P](16);b=(~~b)[P](16);d=(~~d)[P](16);a=a[J](ha,"0");b=b[J](ha, -"0");d=d[J](ha,"0");c.hex="#"+a+b+d;return c},m);m.rgb2hsb=U(function(a,b,c){if(m.is(a,"object")&&"r"in a&&"g"in a&&"b"in a){c=a.b;b=a.g;a=a.r}if(m.is(a,fa)){var d=m.getRGB(a);a=d.r;b=d.g;c=d.b}if(a>1||b>1||c>1){a/=255;b/=255;c/=255}var f=Z(a,b,c),e=aa(a,b,c);d=f;if(e==f)return{h:0,s:0,b:f};else{var g=f-e;e=g/f;a=a==f?(b-c)/g:b==f?2+(c-a)/g:4+(a-b)/g;a/=6;a<0&&a++;a>1&&a--}return{h:a,s:e,b:d,toString:rb}},m);var tb=/,?([achlmqrstvxz]),?/gi,ta=/\s*,\s*/,ub={hs:1,rg:1};m._path2string=function(){return this.join(",")[J](tb, -"$1")};function U(a,b,c){function d(){var f=Array[p].slice.call(arguments,0),e=f[R]("\u25ba"),g=d.cache=d.cache||{},h=d.count=d.count||[];if(g[y](e))return c?c(g[e]):g[e];h[o]>=1000&&delete g[h.shift()];h[F](e);g[e]=a[L](b,f);return c?c(g[e]):g[e]}return d}m.getRGB=U(function(a){if(!a||(a=D(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1};if(a=="none")return{r:-1,g:-1,b:-1,hex:"none"};!(ub[y](a.substring(0,2))||a.charAt()=="#")&&(a=sa(a));var b,c,d,f,e;if(a=a.match(qb)){if(a[2]){d=ea(a[2].substring(5), -16);c=ea(a[2].substring(3,5),16);b=ea(a[2].substring(1,3),16)}if(a[3]){d=ea((e=a[3].charAt(3))+e,16);c=ea((e=a[3].charAt(2))+e,16);b=ea((e=a[3].charAt(1))+e,16)}if(a[4]){a=a[4][I](ta);b=z(a[0]);c=z(a[1]);d=z(a[2]);f=z(a[3])}if(a[5]){a=a[5][I](ta);b=z(a[0])*2.55;c=z(a[1])*2.55;d=z(a[2])*2.55;f=z(a[3])}if(a[6]){a=a[6][I](ta);b=z(a[0]);c=z(a[1]);d=z(a[2]);return m.hsb2rgb(b,c,d)}if(a[7]){a=a[7][I](ta);b=z(a[0])*2.55;c=z(a[1])*2.55;d=z(a[2])*2.55;return m.hsb2rgb(b,c,d)}a={r:b,g:c,b:d};b=(~~b)[P](16); -c=(~~c)[P](16);d=(~~d)[P](16);b=b[J](ha,"0");c=c[J](ha,"0");d=d[J](ha,"0");a.hex="#"+b+c+d;isFinite(z(f))&&(a.o=f);return a}return{r:-1,g:-1,b:-1,hex:"none",error:1}},m);m.getColor=function(a){a=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75};var b=this.hsb2rgb(a.h,a.s,a.b);a.h+=0.075;if(a.h>1){a.h=0;a.s-=0.2;a.s<=0&&(this.getColor.start={h:0,s:1,b:a.b})}return b.hex};m.getColor.reset=function(){delete this.start};var vb=/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig, -wb=/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig;m.parsePathString=U(function(a){if(!a)return null;var b={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},c=[];if(m.is(a,V)&&m.is(a[0],V))c=ua(a);c[o]||D(a)[J](vb,function(d,f,e){var g=[];d=da.call(f);e[J](wb,function(h,i){i&&g[F](+i)});if(d=="m"&&g[o]>2){c[F]([f][N](g.splice(0,2)));d="l";f=f=="m"?"l":"L"}for(;g[o]>=b[d];){c[F]([f][N](g.splice(0,b[d])));if(!b[d])break}});c[P]=m._path2string;return c});m.findDotsAtSegment=function(a,b,c,d,f,e,g,h,i){var j=1-i,l=E(j, -3)*a+E(j,2)*3*i*c+j*3*i*i*f+E(i,3)*g;j=E(j,3)*b+E(j,2)*3*i*d+j*3*i*i*e+E(i,3)*h;var n=a+2*i*(c-a)+i*i*(f-2*c+a),r=b+2*i*(d-b)+i*i*(e-2*d+b),q=c+2*i*(f-c)+i*i*(g-2*f+c),k=d+2*i*(e-d)+i*i*(h-2*e+d);a=(1-i)*a+i*c;b=(1-i)*b+i*d;f=(1-i)*f+i*g;e=(1-i)*e+i*h;h=90-v.atan((n-q)/(r-k))*180/v.PI;(n>q||r1){B=v.sqrt(B);c=B*c;d=B*d}B=c*c;var M=d*d;B=(e==g?-1:1)*v.sqrt(v.abs((B* -M-B*w*w-M*k*k)/(B*w*w+M*k*k)));e=B*c*w/d+(a+h)/2;var B=B*-d*k/c+(b+i)/2,w=v.asin(((b-B)/d).toFixed(7));k=v.asin(((i-B)/d).toFixed(7));w=ak)w-=l*2;if(!g&&k>w)k-=l*2}l=k-w;if(v.abs(l)>n){q=k;l=h;M=i;k=w+n*(g&&k>w?1:-1);h=e+c*v.cos(k);i=B+d*v.sin(k);q=Ra(h,i,c,d,f,0,g,l,M,[k,q,e,B])}l=k-w;f=v.cos(w);e=v.sin(w);g=v.cos(k);k=v.sin(k);l=v.tan(l/4);c=4/3*c*l;l=4/3*d*l;d=[a,b];a=[a+c*e,b-l*f];b=[h+c*k,i-l*g];h=[h,i];a[0]=2*d[0]-a[0];a[1]=2*d[1]-a[1]; -if(j)return[a,b,h][N](q);else{q=[a,b,h][N](q)[R]()[I](",");j=[];h=0;for(i=q[o];h1000000000000&&(n=0.5);v.abs(i)>1000000000000&&(i=0.5); -if(n>0&&n<1){n=ma(a,b,c,d,f,e,g,h,n);q[F](n.x);r[F](n.y)}if(i>0&&i<1){n=ma(a,b,c,d,f,e,g,h,i);q[F](n.x);r[F](n.y)}i=e-2*d+b-(h-2*e+d);j=2*(d-b)-2*(e-d);l=b-d;n=(-j+v.sqrt(j*j-4*i*l))/2/i;i=(-j-v.sqrt(j*j-4*i*l))/2/i;v.abs(n)>1000000000000&&(n=0.5);v.abs(i)>1000000000000&&(i=0.5);if(n>0&&n<1){n=ma(a,b,c,d,f,e,g,h,n);q[F](n.x);r[F](n.y)}if(i>0&&i<1){n=ma(a,b,c,d,f,e,g,h,i);q[F](n.x);r[F](n.y)}return{min:{x:aa[L](0,q),y:aa[L](0,r)},max:{x:Z[L](0,q),y:Z[L](0,r)}}}),va=U(function(a,b){var c=la(a),d=b&& -la(b);a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null};b={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null};function f(q,k){var s;if(!q)return["C",k.x,k.y,k.x,k.y,k.x,k.y];!(q[0]in{T:1,Q:1})&&(k.qx=k.qy=null);switch(q[0]){case "M":k.X=q[1];k.Y=q[2];break;case "A":q=["C"][N](Ra[L](0,[k.x,k.y][N](q.slice(1))));break;case "S":s=k.x+(k.x-(k.bx||k.x));k=k.y+(k.y-(k.by||k.y));q=["C",s,k][N](q.slice(1));break;case "T":k.qx=k.x+(k.x-(k.qx||k.x));k.qy=k.y+(k.y-(k.qy||k.y));q=["C"][N](Qa(k.x,k.y,k.qx,k.qy,q[1],q[2])); -break;case "Q":k.qx=q[1];k.qy=q[2];q=["C"][N](Qa(k.x,k.y,q[1],q[2],q[3],q[4]));break;case "L":q=["C"][N](xa(k.x,k.y,q[1],q[2]));break;case "H":q=["C"][N](xa(k.x,k.y,q[1],k.y));break;case "V":q=["C"][N](xa(k.x,k.y,k.x,q[1]));break;case "Z":q=["C"][N](xa(k.x,k.y,k.X,k.Y));break}return q}function e(q,k){if(q[k][o]>7){q[k].shift();for(var s=q[k];s[o];)q.splice(k++,0,["C"][N](s.splice(0,6)));q.splice(k,1);i=Z(c[o],d&&d[o]||0)}}function g(q,k,s,M,B){if(q&&k&&q[B][0]=="M"&&k[B][0]!="M"){k.splice(B,0,["M", -M.x,M.y]);s.bx=0;s.by=0;s.x=q[B][1];s.y=q[B][2];i=Z(c[o],d&&d[o]||0)}}for(var h=0,i=Z(c[o],d&&d[o]||0);h0.5)*2-1;E(f-0.5,2)+E(e-0.5,2)>0.25&&(e=v.sqrt(0.25-E(f-0.5,2))*l+0.5)&&e!=0.5&&(e=e.toFixed(5)-1.0E-5*l)}return A});b=b[I](/\s*\-\s*/);if(d=="linear"){var h=b.shift();h=-z(h);if(isNaN(h))return null;h=[0,0,v.cos(h*v.PI/180),v.sin(h*v.PI/180)];var i=1/(Z(v.abs(h[2]),v.abs(h[3]))||1);h[2]*=i;h[3]*=i; -if(h[2]<0){h[0]=-h[2];h[2]=0}if(h[3]<0){h[1]=-h[3];h[3]=0}}b=Sa(b);if(!b)return null;i=a.getAttribute(ba);(i=i.match(/^url\(#(.*)\)$/))&&c.defs.removeChild(C.getElementById(i[1]));i=u(d+"Gradient");i.id="r"+(m._id++)[P](36);u(i,d=="radial"?{fx:f,fy:e}:{x1:h[0],y1:h[1],x2:h[2],y2:h[3]});c.defs[x](i);c=0;for(h=b[o];cb.height&&(b.height=e.y+e.height-b.y);e.x+e.width-b.x>b.width&&(b.width=e.x+e.width-b.x)}}a&&this.hide();return b};t[p].attr=function(a,b){if(this.removed)return this; -if(a==null){a={};for(var c in this.attrs)if(this.attrs[y](c))a[c]=this.attrs[c];this._.rt.deg&&(a.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(a.scale=this.scale());a.gradient&&a.fill=="none"&&(a.fill=a.gradient)&&delete a.gradient;return a}if(b==null&&m.is(a,fa)){if(a=="translation")return za.call(this);if(a=="rotation")return this.rotate();if(a=="scale")return this.scale();if(a==ba&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;return this.attrs[a]}if(b==null&& -m.is(a,V)){b={};c=0;for(var d=a.length;c1&&(a=1);f.opacity=a}b.fill&&(f.on=true);if(f.on== -null||b.fill=="none")f.on=false;if(f.on&&b.fill)if(a=b.fill.match(Pa)){f.src=a[1];f.type="tile"}else{f.color=m.getRGB(b.fill).hex;f.src=A;f.type="solid";if(m.getRGB(b.fill).error&&(g.type in{circle:1,ellipse:1}||D(b.fill).charAt()!="r")&&na(g,b.fill)){d.fill="none";d.gradient=b.fill}}e&&c[x](f);f=c.getElementsByTagName("stroke")&&c.getElementsByTagName("stroke")[0];e=false;!f&&(e=f=S("stroke"));if(b.stroke&&b.stroke!="none"||b["stroke-width"]||b["stroke-opacity"]!=null||b["stroke-dasharray"]||b["stroke-miterlimit"]|| -b["stroke-linejoin"]||b["stroke-linecap"])f.on=true;(b.stroke=="none"||f.on==null||b.stroke==0||b["stroke-width"]==0)&&(f.on=false);a=m.getRGB(b.stroke);f.on&&b.stroke&&(f.color=a.hex);a=((+d["stroke-opacity"]+1||2)-1)*((+d.opacity+1||2)-1)*((+a.o+1||2)-1);h=(z(b["stroke-width"])||1)*0.75;a<0&&(a=0);a>1&&(a=1);b["stroke-width"]==null&&(h=d["stroke-width"]);b["stroke-width"]&&(f.weight=h);h&&h<1&&(a*=h)&&(f.weight=1);f.opacity=a;b["stroke-linejoin"]&&(f.joinstyle=b["stroke-linejoin"]||"miter");f.miterlimit= -b["stroke-miterlimit"]||8;b["stroke-linecap"]&&(f.endcap=b["stroke-linecap"]=="butt"?"flat":b["stroke-linecap"]=="square"?"square":"round");if(b["stroke-dasharray"]){a={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};f.dashstyle=a[y](b["stroke-dasharray"])?a[b["stroke-dasharray"]]:A}e&&c[x](f)}if(g.type=="text"){f=g.paper.span.style;d.font&&(f.font=d.font);d["font-family"]&& -(f.fontFamily=d["font-family"]);d["font-size"]&&(f.fontSize=d["font-size"]);d["font-weight"]&&(f.fontWeight=d["font-weight"]);d["font-style"]&&(f.fontStyle=d["font-style"]);g.node.string&&(g.paper.span.innerHTML=D(g.node.string)[J](/"));g.W=d.w=g.paper.span.offsetWidth;g.H=d.h=g.paper.span.offsetHeight;g.X=d.x;g.Y=d.y+G(g.H/2);switch(d["text-anchor"]){case "start":g.node.style["v-text-align"]="left";g.bbx=G(g.W/2);break;case "end":g.node.style["v-text-align"]= -"right";g.bbx=-G(g.W/2);break;default:g.node.style["v-text-align"]="center";break}}};na=function(a,b){a.attrs=a.attrs||{};var c="linear",d=".5 .5";a.attrs.gradient=b;b=D(b)[J](Za,function(i,j,l){c="radial";if(j&&l){j=z(j);l=z(l);E(j-0.5,2)+E(l-0.5,2)>0.25&&(l=v.sqrt(0.25-E(j-0.5,2))*((l>0.5)*2-1)+0.5);d=j+O+l}return A});b=b[I](/\s*\-\s*/);if(c=="linear"){var f=b.shift();f=-z(f);if(isNaN(f))return null}var e=Sa(b);if(!e)return null;a=a.shape||a.node;b=a.getElementsByTagName(ba)[0]||S(ba);!b.parentNode&& -a.appendChild(b);if(e[o]){b.on=true;b.method="none";b.color=e[0].color;b.color2=e[e[o]-1].color;a=[];for(var g=0,h=e[o];g')}}catch(Lb){S=function(a){return C.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}Ba=function(){var a=Ta[L](0,arguments),b=a.container,c=a.height,d=a.width, -f=a.x;a=a.y;if(!b)throw new Error("VML container not found.");var e=new H,g=e.canvas=C.createElement("div"),h=g.style;f=f||0;a=a||0;d=d||512;c=c||342;d==+d&&(d+="px");c==+c&&(c+="px");e.width=1000;e.height=1000;e.coordsize=ka*1000+O+ka*1000;e.coordorigin="0 0";e.span=C.createElement("span");e.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";g[x](e.span);h.cssText=m.format("width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", -d,c);if(b==1){C.body[x](g);h.left=f+"px";h.top=a+"px";h.position="absolute"}else b.firstChild?b.insertBefore(g,b.firstChild):b[x](g);Ha.call(e,e,m.fn);return e};H[p].clear=function(){this.canvas.innerHTML=A;this.span=C.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas[x](this.span);this.bottom=this.top=null};H[p].remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]= -Ya(a);return true}}H[p].safari=/^Apple|^Google/.test(Y.navigator.vendor)&&(!(Y.navigator.userAgent.indexOf("Version/4.0")+1)||Y.navigator.platform.slice(0,2)=="iP")?function(){var a=this.rect(-99,-99,this.width+99,this.height+99);Y.setTimeout(function(){a.remove()})}:function(){};function Eb(){this.returnValue=false}function Fb(){return this.originalEvent.preventDefault()}function Gb(){this.cancelBubble=true}function Hb(){return this.originalEvent.stopPropagation()}var Ib=function(){if(C.addEventListener)return function(a, -b,c,d){var f=Ca&&Da[b]?Da[b]:b;function e(g){if(Ca&&Da[y](b))for(var h=0,i=g.targetTouches&&g.targetTouches.length;h1&&(a=Array[p].splice.call(arguments,0,arguments[o]));return new $(a)};H[p].setSize=gb;H[p].top=H[p].bottom=null;H[p].raphael=m;function jb(){return this.x+O+this.y}t[p].resetScale=function(){if(this.removed)return this;this._.sx=1;this._.sy=1;this.attrs.scale="1 1"};t[p].scale= -function(a,b,c,d){if(this.removed)return this;if(a==null&&b==null)return{x:this._.sx,y:this._.sy,toString:jb};b=b||a;!+b&&(b=a);var f,e,g=this.attrs;if(a!=0){var h=this.getBBox(),i=h.x+h.width/2,j=h.y+h.height/2;f=a/this._.sx;e=b/this._.sy;c=+c||c==0?c:i;d=+d||d==0?d:j;h=~~(a/v.abs(a));var l=~~(b/v.abs(b)),n=this.node.style,r=c+(i-c)*f;j=d+(j-d)*e;switch(this.type){case "rect":case "image":var q=g.width*h*f,k=g.height*l*e;this.attr({height:k,r:g.r*aa(h*f,l*e),width:q,x:r-q/2,y:j-k/2});break;case "circle":case "ellipse":this.attr({rx:g.rx* -h*f,ry:g.ry*l*e,r:g.r*aa(h*f,l*e),cx:r,cy:j});break;case "text":this.attr({x:r,y:j});break;case "path":i=Ga(g.path);for(var s=true,M=0,B=i[o];M=i)return r;l=r}});function Ja(a,b){return function(c,d,f){c=va(c);for(var e,g,h,i,j="",l={},n=0,r=0,q=c.length;rd){if(b&&!l.start){e=kb(e,g,h[1],h[2],h[3],h[4],h[5],h[6],d-n);j+=["C",e.start.x,e.start.y,e.m.x,e.m.y,e.x,e.y];if(f)return j;l.start=j;j=["M",e.x,e.y+"C",e.n.x,e.n.y,e.end.x,e.end.y,h[5],h[6]][R]();n+=i;e=+h[5];g=+h[6];continue}if(!a&&!b){e=kb(e,g,h[1],h[2],h[3], -h[4],h[5],h[6],d-n);return{x:e.x,y:e.y,alpha:e.alpha}}}n+=i;e=+h[5];g=+h[6]}j+=h}l.end=j;e=a?n:b?l:m.findDotsAtSegment(e,g,h[1],h[2],h[3],h[4],h[5],h[6],1);e.alpha&&(e={x:e.x,y:e.y,alpha:e.alpha});return e}}var Jb=U(function(a,b,c,d,f,e,g,h){for(var i={x:0,y:0},j=0,l=0;l<1.01;l+=0.01){var n=ma(a,b,c,d,f,e,g,h,l);l&&(j+=E(E(i.x-n.x,2)+E(i.y-n.y,2),0.5));i=n}return j}),lb=Ja(1),Aa=Ja(),Ka=Ja(0,1);t[p].getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength(); -return lb(this.attrs.path)}};t[p].getPointAtLength=function(a){if(this.type=="path")return Aa(this.attrs.path,a)};t[p].getSubpath=function(a,b){if(this.type=="path"){if(v.abs(this.getTotalLength()-b)<1.0E-6)return Ka(this.attrs.path,a).end;b=Ka(this.attrs.path,b,1);return a?Ka(b,a).end:b}};m.easing_formulas={linear:function(a){return a},"<":function(a){return E(a,3)},">":function(a){return E(a-1,3)+1},"<>":function(a){a*=2;if(a<1)return E(a,3)/2;a-=2;return(E(a,3)+2)/2},backIn:function(a){var b=1.70158; -return a*a*((b+1)*a-b)},backOut:function(a){a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==0||a==1)return a;var b=0.3,c=b/4;return E(2,-10*a)*v.sin((a-c)*2*v.PI/b)+1},bounce:function(a){var b=7.5625,c=2.75;if(a<1/c)a=b*a*a;else if(a<2/c){a-=1.5/c;a=b*a*a+0.75}else if(a<2.5/c){a-=2.25/c;a=b*a*a+0.9375}else{a-=2.625/c;a=b*a*a+0.984375}return a}};var T={length:0};function mb(){var a=+new Date;for(var b in T)if(b!="length"&&T[y](b)){var c=T[b];if(c.stop||c.el.removed){delete T[b]; -T[o]--}else{var d=a-c.start,f=c.ms,e=c.easing,g=c.from,h=c.diff,i=c.to,j=c.t,l=c.prev||0,n=c.el,r=c.callback,q={},k;if(d';az=av.firstChild;az.style.behavior="url(#default#VML)";if(!(az&&typeof az.adj=="object")){return aG.type=null}av=null}aG.svg=!(aG.vml=aG.type=="VML");bu[bA]=aG[bA];aV=bu[bA];aG._id=0;aG._oid=0;aG.fn={};aG.is=function(d,b){b=bC.call(b);if(b=="finite"){return !ao.test(+d)}return(b=="null"&&d===null)||(b==typeof d)||(b=="object"&&d===Object(d))||(b=="array"&&Array.isArray&&Array.isArray(d))||aQ.call(d).slice(8,-1).toLowerCase()==b};aG.angle=function(E,S,e,R,d,i){if(d==null){var b=E-e,bD=S-R;if(!b&&!bD){return 0}return((b<0)*180+an.atan(-bD/-b)*180/an.PI+360)%360}else{return aG.angle(E,S,d,i)-aG.angle(e,R,d,i)}};aG.snapTo=function(d,E,b){b=b||10;d=[][br](d);var e=d.length;while(e--){if(an.abs(d[e]-E)<=b){return d[e]}}return E};aG.setWindow=function(b){aN=b;Z=aN.document};var a4=function(E){if(aG.vml){var b=/^\s+|\s+$/g;var S;try{var bD=new aN.ActiveXObject("htmlfile");bD.write("");bD.close();S=bD.body}catch(bE){S=aN.createPopup().document.body}var d=S.createTextRange();a4=ay(function(i){try{S.style.color=by(i)[bn](b,aM);var bF=d.queryCommandValue("ForeColor");bF=((bF&255)<<16)|(bF&65280)|((bF&16711680)>>>16);return"#"+("000000"+bF[aW](16)).slice(-6)}catch(bG){return"none"}})}else{var R=Z.createElement("i");R.title="Rapha\xebl Colour Picker";R.style.display="none";Z.body[bf](R);a4=ay(function(e){R.style.color=e;return Z.defaultView.getComputedStyle(R,aM).getPropertyValue("color")})}return a4(E)},aA=function(){return"hsb("+[this.h,this.s,this.b]+")"},L=function(){return"hsl("+[this.h,this.s,this.l]+")"},A=function(){return this.hex};aG.hsb2rgb=function(i,e,d){if(aG.is(i,"object")&&"h" in i&&"s" in i&&"b" in i){d=i.b;e=i.s;i=i.h}return aG.hsl2rgb(i,e,d/2)};aG.hsl2rgb=function(S,bK,e){if(aG.is(S,"object")&&"h" in S&&"s" in S&&"l" in S){e=S.l;bK=S.s;S=S.h}if(S>1||bK>1||e>1){S/=360;bK/=100;e/=100}var bH={},bE=["r","g","b"],bD,bG,R,d,bF,bI;if(!bK){bH={r:e,g:e,b:e}}else{if(e<0.5){bD=e*(1+bK)}else{bD=e+bK-e*bK}bG=2*e-bD;for(var E=0,bJ=bE.length;E1&&R--;if(R*6<1){bH[bE[E]]=bG+(bD-bG)*6*R}else{if(R*2<1){bH[bE[E]]=bD}else{if(R*3<2){bH[bE[E]]=bG+(bD-bG)*(2/3-R)*6}else{bH[bE[E]]=bG}}}}}bH.r*=255;bH.g*=255;bH.b*=255;d=(~~bH.r)[aW](16);bF=(~~bH.g)[aW](16);bI=(~~bH.b)[aW](16);d=d[bn](bv,"0");bF=bF[bn](bv,"0");bI=bI[bn](bv,"0");bH.hex="#"+d+bF+bI;bH.toString=A;return bH};aG.rgb2hsb=function(b,d,bD){if(d==null&&aG.is(b,"object")&&"r" in b&&"g" in b&&"b" in b){bD=b.b;d=b.g;b=b.r}if(d==null&&aG.is(b,ae)){var bF=aG.getRGB(b);b=bF.r;d=bF.g;bD=bF.b}if(b>1||d>1||bD>1){b/=255;d/=255;bD/=255}var S=k(b,d,bD),e=bd(b,d,bD),E,i,R=S;if(e==S){return{h:0,s:0,b:S,toString:aA}}else{var bE=(S-e);i=bE/S;if(b==S){E=(d-bD)/bE}else{if(d==S){E=2+((bD-b)/bE)}else{E=4+((b-d)/bE)}}E/=6;E<0&&E++;E>1&&E--}return{h:E,s:i,b:R,toString:aA}};aG.rgb2hsl=function(d,e,S){if(e==null&&aG.is(d,"object")&&"r" in d&&"g" in d&&"b" in d){S=d.b;e=d.g;d=d.r}if(e==null&&aG.is(d,ae)){var bG=aG.getRGB(d);d=bG.r;e=bG.g;S=bG.b}if(d>1||e>1||S>1){d/=255;e/=255;S/=255}var R=k(d,e,S),i=bd(d,e,S),E,bF,b=(R+i)/2,bE;if(i==R){bE={h:0,s:0,l:b}}else{var bD=R-i;bF=b<0.5?bD/(R+i):bD/(2-R-i);if(d==R){E=(e-S)/bD}else{if(e==R){E=2+(S-d)/bD}else{E=4+(d-e)/bD}}E/=6;E<0&&E++;E>1&&E--;bE={h:E,s:bF,l:b}}bE.toString=L;return bE};aG._path2string=function(){return this.join(",")[bn](a5,"$1")};function ay(i,d,b){function e(){var E=Array[bA].slice.call(arguments,0),S=E[aT]("\u25ba"),R=e.cache=e.cache||{},bD=e.count=e.count||[];if(R[af](S)){return b?b(R[S]):R[S]}bD[q]>=1000&&delete R[bD.shift()];bD[h](S);R[S]=i[bx](d,E);return b?b(R[S]):R[S]}return e}aG.getRGB=ay(function(e){if(!e||!!((e=by(e)).indexOf("-")+1)){return{r:-1,g:-1,b:-1,hex:"none",error:1}}if(e=="none"){return{r:-1,g:-1,b:-1,hex:"none"}}!(l[af](e.substring(0,2))||e.charAt()=="#")&&(e=a4(e));var bD,i,E,bG,S,bH,bE=e.match(F);if(bE){if(bE[2]){bG=Q(bE[2].substring(5),16);E=Q(bE[2].substring(3,5),16);i=Q(bE[2].substring(1,3),16)}if(bE[3]){bG=Q((bH=bE[3].charAt(3))+bH,16);E=Q((bH=bE[3].charAt(2))+bH,16);i=Q((bH=bE[3].charAt(1))+bH,16)}if(bE[4]){bE=bE[4][H](a8);i=ai(bE[0]);E=ai(bE[1]);bG=ai(bE[2]);S=ai(bE[3])}if(bE[5]){bE=bE[5][H](a8);i=ai(bE[0])*2.55;E=ai(bE[1])*2.55;bG=ai(bE[2])*2.55;S=ai(bE[3])}if(bE[6]){bE=bE[6][H](a8);i=ai(bE[0]);E=ai(bE[1]);bG=ai(bE[2]);(bE[0].slice(-3)=="deg"||bE[0].slice(-1)=="\xb0")&&(i/=360);return aG.hsb2rgb(i,E,bG)}if(bE[7]){bE=bE[7][H](a8);i=ai(bE[0])*2.55;E=ai(bE[1])*2.55;bG=ai(bE[2])*2.55;(bE[0].slice(-3)=="deg"||bE[0].slice(-1)=="\xb0")&&(i/=360*2.55);return aG.hsb2rgb(i,E,bG)}if(bE[8]){bE=bE[8][H](a8);i=ai(bE[0]);E=ai(bE[1]);bG=ai(bE[2]);(bE[0].slice(-3)=="deg"||bE[0].slice(-1)=="\xb0")&&(i/=360);return aG.hsl2rgb(i,E,bG)}if(bE[9]){bE=bE[9][H](a8);i=ai(bE[0])*2.55;E=ai(bE[1])*2.55;bG=ai(bE[2])*2.55;(bE[0].slice(-3)=="deg"||bE[0].slice(-1)=="\xb0")&&(i/=360*2.55);return aG.hsl2rgb(i,E,bG)}bE={r:i,g:E,b:bG};var d=(~~i)[aW](16),R=(~~E)[aW](16),bF=(~~bG)[aW](16);d=d[bn](bv,"0");R=R[bn](bv,"0");bF=bF[bn](bv,"0");bE.hex="#"+d+R+bF;isFinite(ai(S))&&(bE.o=S);return bE}return{r:-1,g:-1,b:-1,hex:"none",error:1}},aG);aG.getColor=function(d){var e=this.getColor.start=this.getColor.start||{h:0,s:1,b:d||0.75},b=this.hsb2rgb(e.h,e.s,e.b);e.h+=0.075;if(e.h>1){e.h=0;e.s-=0.2;e.s<=0&&(this.getColor.start={h:0,s:1,b:e.b})}return b.hex};aG.getColor.reset=function(){delete this.start};aG.parsePathString=ay(function(b){if(!b){return null}var e={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},d=[];if(aG.is(b,a2)&&aG.is(b[0],a2)){d=aP(b)}if(!d[q]){by(b)[bn](aO,function(E,i,bD){var S=[],R=bC.call(i);bD[bn](aE,function(bF,bE){bE&&S[h](+bE)});if(R=="m"&&S[q]>2){d[h]([i][br](S.splice(0,2)));R="l";i=i=="m"?"l":"L"}while(S[q]>=e[R]){d[h]([i][br](S.splice(0,e[R])));if(!e[R]){break}}})}d[aW]=aG._path2string;return d});aG.findDotsAtSegment=function(d,b,bQ,bO,S,E,bE,bD,bK){var bI=1-bK,bH=bg(bI,3)*d+bg(bI,2)*3*bK*bQ+bI*3*bK*bK*S+bg(bK,3)*bE,bF=bg(bI,3)*b+bg(bI,2)*3*bK*bO+bI*3*bK*bK*E+bg(bK,3)*bD,bM=d+2*bK*(bQ-d)+bK*bK*(S-2*bQ+d),bL=b+2*bK*(bO-b)+bK*bK*(E-2*bO+b),bP=bQ+2*bK*(S-bQ)+bK*bK*(bE-2*S+bQ),bN=bO+2*bK*(E-bO)+bK*bK*(bD-2*E+bO),bJ=(1-bK)*d+bK*bQ,bG=(1-bK)*b+bK*bO,i=(1-bK)*S+bK*bE,e=(1-bK)*E+bK*bD,R=(90-an.atan((bM-bP)/(bL-bN))*180/an.PI);(bM>bP||bL1){ca=an.sqrt(ca);bU=ca*bU;bS=ca*bS}var e=bU*bU,b3=bS*bS,b5=(bG==R?-1:1)*an.sqrt(an.abs((e*b3-e*bZ*bZ-b3*b0*b0)/(e*bZ*bZ+b3*b0*b0))),bP=b5*bU*bZ/bS+(bL+bK)/2,bO=b5*-bS*b0/bU+(cg+cf)/2,bF=an.asin(((cg-bO)/bS).toFixed(7)),bE=an.asin(((cf-bO)/bS).toFixed(7));bF=bLbE){bF=bF-E*2}if(!R&&bE>bF){bE=bE-E*2}}else{bF=bN[0];bE=bN[1];bP=bN[2];bO=bN[3]}var bJ=bE-bF;if(an.abs(bJ)>bR){var bQ=bE,bT=bK,bH=cf;bE=bF+bR*(R&&bE>bF?1:-1);bK=bP+bU*an.cos(bE);cf=bO+bS*an.sin(bE);bY=Y(bK,cf,bU,bS,bM,0,R,bT,bH,[bE,bQ,bP,bO])}bJ=bE-bF;var bD=an.cos(bF),ce=an.sin(bF),S=an.cos(bE),cd=an.sin(bE),b1=an.tan(bJ/4),b4=4/3*bU*b1,b2=4/3*bS*b1,cb=[bL,cg],b9=[bL+b4*ce,cg-b2*bD],b8=[bK+b4*cd,cf-b2*S],b6=[bK,cf];b9[0]=2*cb[0]-b9[0];b9[1]=2*cb[1]-b9[1];if(bN){return[b9,b8,b6][br](bY)}else{bY=[b9,b8,b6][br](bY)[aT]()[H](",");var bW=[];for(var b7=0,bX=bY[q];b7"1e12"&&(bD=0.5);an.abs(S)>"1e12"&&(S=0.5);if(bD>0&&bD<1){e=ab(i,d,R,E,bM,bL,bI,bF,bD);bJ[h](e.x);bG[h](e.y)}if(S>0&&S<1){e=ab(i,d,R,E,bM,bL,bI,bF,S);bJ[h](e.x);bG[h](e.y)}bK=(bL-2*E+d)-(bF-2*bL+E);bH=2*(E-d)-2*(bL-E);bE=d-E;bD=(-bH+an.sqrt(bH*bH-4*bK*bE))/2/bK;S=(-bH-an.sqrt(bH*bH-4*bK*bE))/2/bK;an.abs(bD)>"1e12"&&(bD=0.5);an.abs(S)>"1e12"&&(S=0.5);if(bD>0&&bD<1){e=ab(i,d,R,E,bM,bL,bI,bF,bD);bJ[h](e.x);bG[h](e.y)}if(S>0&&S<1){e=ab(i,d,R,E,bM,bL,bI,bF,S);bJ[h](e.x);bG[h](e.y)}return{min:{x:bd[bx](0,bJ),y:bd[bx](0,bG)},max:{x:k[bx](0,bJ),y:k[bx](0,bG)}}}),U=ay(function(bL,bG){var E=x(bL),bH=bG&&x(bG),bI={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},b={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},S=function(bM,bN){var i,bO;if(!bM){return["C",bN.x,bN.y,bN.x,bN.y,bN.x,bN.y]}!(bM[0] in {T:1,Q:1})&&(bN.qx=bN.qy=null);switch(bM[0]){case"M":bN.X=bM[1];bN.Y=bM[2];break;case"A":bM=["C"][br](Y[bx](0,[bN.x,bN.y][br](bM.slice(1))));break;case"S":i=bN.x+(bN.x-(bN.bx||bN.x));bO=bN.y+(bN.y-(bN.by||bN.y));bM=["C",i,bO][br](bM.slice(1));break;case"T":bN.qx=bN.x+(bN.x-(bN.qx||bN.x));bN.qy=bN.y+(bN.y-(bN.qy||bN.y));bM=["C"][br](be(bN.x,bN.y,bN.qx,bN.qy,bM[1],bM[2]));break;case"Q":bN.qx=bM[1];bN.qy=bM[2];bM=["C"][br](be(bN.x,bN.y,bM[1],bM[2],bM[3],bM[4]));break;case"L":bM=["C"][br](bz(bN.x,bN.y,bM[1],bM[2]));break;case"H":bM=["C"][br](bz(bN.x,bN.y,bM[1],bN.y));break;case"V":bM=["C"][br](bz(bN.x,bN.y,bN.x,bM[1]));break;case"Z":bM=["C"][br](bz(bN.x,bN.y,bN.X,bN.Y));break}return bM},d=function(bM,bN){if(bM[bN][q]>7){bM[bN].shift();var bO=bM[bN];while(bO[q]){bM.splice(bN++,0,["C"][br](bO.splice(0,6)))}bM.splice(bN,1);bJ=k(E[q],bH&&bH[q]||0)}},e=function(bQ,bP,bN,bM,bO){if(bQ&&bP&&bQ[bO][0]=="M"&&bP[bO][0]!="M"){bP.splice(bO,0,["M",bM.x,bM.y]);bN.bx=0;bN.by=0;bN.x=bQ[bO][1];bN.y=bQ[bO][2];bJ=k(E[q],bH&&bH[q]||0)}};for(var bE=0,bJ=k(E[q],bH&&bH[q]||0);bE0.5)*2-1);bg(bE-0.5,2)+bg(S-0.5,2)>0.25&&(S=an.sqrt(0.25-bg(bE-0.5,2))*bN+0.5)&&S!=0.5&&(S=S.toFixed(5)-0.00001*bN)}return aM});bK=bK[H](/\s*\-\s*/);if(bH=="linear"){var bD=bK.shift();bD=-ai(bD);if(isNaN(bD)){return null}var R=[0,0,an.cos(bD*an.PI/180),an.sin(bD*an.PI/180)],bJ=1/(k(an.abs(R[2]),an.abs(R[3]))||1);R[2]*=bJ;R[3]*=bJ;if(R[2]<0){R[0]=-R[2];R[2]=0}if(R[3]<0){R[1]=-R[3];R[3]=0}}var bG=v(bK);if(!bG){return null}var d=E.getAttribute(aZ);d=d.match(/^url\(#(.*)\)$/);d&&b.defs.removeChild(Z.getElementById(d[1]));var e=bc(bH+"Gradient");e.id="r"+(aG._id++)[aW](36);bc(e,bH=="radial"?{fx:bE,fy:S}:{x1:R[0],y1:R[1],x2:R[2],y2:R[3]});b.defs[bf](e);for(var bF=0,bL=bG[q];bF1?i.o/100:i.o});case"stroke":i=aG.getRGB(bL);bO[C](bN,i.hex);bN=="stroke"&&i[af]("o")&&bc(bO,{"stroke-opacity":i.o>1?i.o/100:i.o});break;case"gradient":(({circle:1,ellipse:1})[af](bJ.type)||by(bL).charAt()!="r")&&f(bO,bL,bJ.paper);break;case"opacity":case"fill-opacity":if(bK.gradient){var b=Z.getElementById(bO.getAttribute(aZ)[bn](/^url\(#|\)$/g,aM));if(b){var bE=b.getElementsByTagName("stop");bE[bE[q]-1][C]("stop-opacity",bL)}break}default:bN=="font-size"&&(bL=Q(bL,10)+"px");var bH=bN[bn](/(\-.)/g,function(bU){return bj.call(bU.substring(1))});bO.style[bH]=bL;bO[C](bN,bL);break}}}O(bJ,bS);if(bF){bJ.rotate(bF.join(aF))}else{ai(bG)&&bJ.rotate(bG,true)}};var m=1.2,O=function(b,E){if(b.type!="text"||!(E[af]("text")||E[af]("font")||E[af]("font-size")||E[af]("x")||E[af]("y"))){return}var bF=b.attrs,d=b.node,bH=d.firstChild?Q(Z.defaultView.getComputedStyle(d.firstChild,aM).getPropertyValue("font-size"),10):10;if(E[af]("text")){bF.text=E.text;while(d.firstChild){d.removeChild(d.firstChild)}var e=by(E.text)[H]("\n");for(var R=0,bG=e[q];RbD.height)&&(bD.height=S.y+S.height-bD.y);(S.x+S.width-bD.x>bD.width)&&(bD.width=S.x+S.width-bD.x)}}d&&this.hide();return bD};aR[bA].attr=function(b,bF){if(this.removed){return this}if(b==null){var bE={};for(var R in this.attrs){if(this.attrs[af](R)){bE[R]=this.attrs[R]}}this._.rt.deg&&(bE.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(bE.scale=this.scale());bE.gradient&&bE.fill=="none"&&(bE.fill=bE.gradient)&&delete bE.gradient;return bE}if(bF==null&&aG.is(b,ae)){if(b=="translation"){return z.call(this)}if(b=="rotation"){return this.rotate()}if(b=="scale"){return this.scale()}if(b==aZ&&this.attrs.fill=="none"&&this.attrs.gradient){return this.attrs.gradient}return this.attrs[b]}if(bF==null&&aG.is(b,a2)){var bH={};for(var E=0,S=b.length;E"));bR.W=bN.w=bR.paper.span.offsetWidth;bR.H=bN.h=bR.paper.span.offsetHeight;bR.X=bN.x;bR.Y=bN.y+ac(bR.H/2);switch(bN["text-anchor"]){case"start":bR.node.style["v-text-align"]="left";bR.bbx=ac(bR.W/2);break;case"end":bR.node.style["v-text-align"]="right";bR.bbx=-ac(bR.W/2);break;default:bR.node.style["v-text-align"]="center";break}}};f=function(b,bD){b.attrs=b.attrs||{};var bE=b.attrs,bG,R="linear",S=".5 .5";b.attrs.gradient=bD;bD=by(bD)[bn](aL,function(bI,bJ,i){R="radial";if(bJ&&i){bJ=ai(bJ);i=ai(i);bg(bJ-0.5,2)+bg(i-0.5,2)>0.25&&(i=an.sqrt(0.25-bg(bJ-0.5,2))*((i>0.5)*2-1)+0.5);S=bJ+aF+i}return aM});bD=bD[H](/\s*\-\s*/);if(R=="linear"){var d=bD.shift();d=-ai(d);if(isNaN(d)){return null}}var E=v(bD);if(!E){return null}b=b.shape||b.node;bG=b.getElementsByTagName(aZ)[0]||aw(aZ);!bG.parentNode&&b.appendChild(bG);if(E[q]){bG.on=true;bG.method="none";bG.color=E[0].color;bG.color2=E[E[q]-1].color;var bH=[];for(var e=0,bF=E[q];e')}}catch(au){aw=function(b){return Z.createElement("<"+b+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}D=function(){var e=aH[bx](0,arguments),b=e.container,bE=e.height,bF,d=e.width,bD=e.x,S=e.y;if(!b){throw new Error("VML container not found.")}var E=new bu,R=E.canvas=Z.createElement("div"),i=R.style;bD=bD||0;S=S||0;d=d||512;bE=bE||342;d==+d&&(d+="px");bE==+bE&&(bE+="px");E.width=1000;E.height=1000;E.coordsize=t*1000+aF+t*1000;E.coordorigin="0 0";E.span=Z.createElement("span");E.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";R[bf](E.span);i.cssText=aG.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",d,bE);if(b==1){Z.body[bf](R);i.left=bD+"px";i.top=S+"px";i.position="absolute"}else{if(b.firstChild){b.insertBefore(R,b.firstChild)}else{b[bf](R)}}a9.call(E,E,aG.fn);return E};aV.clear=function(){this.canvas.innerHTML=aM;this.span=Z.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas[bf](this.span);this.bottom=this.top=null};aV.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var b in this){this[b]=y(b)}return true}}var T=navigator.userAgent.match(/Version\/(.*?)\s/);if((navigator.vendor=="Apple Computer, Inc.")&&(T&&T[1]<4||navigator.platform.slice(0,2)=="iP")){aV.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()})}}else{aV.safari=function(){}}var N=function(){this.returnValue=false},bq=function(){return this.originalEvent.preventDefault()},aY=function(){this.cancelBubble=true},aB=function(){return this.originalEvent.stopPropagation()},at=(function(){if(Z.addEventListener){return function(R,i,e,d){var b=V&&bl[i]?bl[i]:i;var E=function(bF){if(V&&bl[af](i)){for(var bD=0,bE=bF.targetTouches&&bF.targetTouches.length;bD1&&(b=Array[bA].splice.call(arguments,0,arguments[q]));return new ag(b)};aV.setSize=bw;aV.top=aV.bottom=null;aV.raphael=aG;function B(){return this.x+aF+this.y}a7.resetScale=function(){if(this.removed){return this}this._.sx=1;this._.sy=1;this.attrs.scale="1 1"};a7.scale=function(bI,bH,e,d){if(this.removed){return this}if(bI==null&&bH==null){return{x:this._.sx,y:this._.sy,toString:B}}bH=bH||bI;!+bH&&(bH=bI);var bM,bK,bL,bJ,bY=this.attrs;if(bI!=0){var bG=this.getBBox(),bD=bG.x+bG.width/2,E=bG.y+bG.height/2,bX=bI/this._.sx,bW=bH/this._.sy;e=(+e||e==0)?e:bD;d=(+d||d==0)?d:E;var bF=~~(bI/an.abs(bI)),S=~~(bH/an.abs(bH)),bP=this.node.style,b0=e+(bD-e)*bX,bZ=d+(E-d)*bW;switch(this.type){case"rect":case"image":var bE=bY.width*bF*bX,bO=bY.height*S*bW;this.attr({height:bO,r:bY.r*bd(bF*bX,S*bW),width:bE,x:b0-bE/2,y:bZ-bO/2});break;case"circle":case"ellipse":this.attr({rx:bY.rx*bF*bX,ry:bY.ry*S*bW,r:bY.r*bd(bF*bX,S*bW),cx:b0,cy:bZ});break;case"text":this.attr({x:b0,y:bZ});break;case"path":var bR=ar(bY.path),bS=true;for(var bU=0,bN=bR[q];bU=E){return d}R=d}}),aX=function(b,d){return function(bL,R,S){bL=U(bL);var bH,bG,e,bD,E="",bK={},bI,bF=0;for(var bE=0,bJ=bL.length;bER){if(d&&!bK.start){bI=j(bH,bG,e[1],e[2],e[3],e[4],e[5],e[6],R-bF);E+=["C",bI.start.x,bI.start.y,bI.m.x,bI.m.y,bI.x,bI.y];if(S){return E}bK.start=E;E=["M",bI.x,bI.y+"C",bI.n.x,bI.n.y,bI.end.x,bI.end.y,e[5],e[6]][aT]();bF+=bD;bH=+e[5];bG=+e[6];continue}if(!b&&!d){bI=j(bH,bG,e[1],e[2],e[3],e[4],e[5],e[6],R-bF);return{x:bI.x,y:bI.y,alpha:bI.alpha}}}bF+=bD;bH=+e[5];bG=+e[6]}E+=e}bK.end=E;bI=b?bF:d?bK:aG.findDotsAtSegment(bH,bG,e[1],e[2],e[3],e[4],e[5],e[6],1);bI.alpha&&(bI={x:bI.x,y:bI.y,alpha:bI.alpha});return bI}},s=ay(function(e,b,S,R,bI,bH,bG,bF){var E={x:0,y:0},bE=0;for(var bD=0;bD<1.01;bD+=0.01){var d=ab(e,b,S,R,bI,bH,bG,bF,bD);bD&&(bE+=bg(bg(E.x-d.x,2)+bg(E.y-d.y,2),0.5));E=d}return bE});var aI=aX(1),K=aX(),X=aX(0,1);a7.getTotalLength=function(){if(this.type!="path"){return}if(this.node.getTotalLength){return this.node.getTotalLength()}return aI(this.attrs.path)};a7.getPointAtLength=function(b){if(this.type!="path"){return}if(this.node.getPointAtLength){return this.node.getPointAtLength(b)}return K(this.attrs.path,b)};a7.getSubpath=function(e,d){if(this.type!="path"){return}if(an.abs(this.getTotalLength()-d)<0.000001){return X(this.attrs.path,e).end}var b=X(this.attrs.path,d,1);return e?X(b,e).end:b};aG.easing_formulas={linear:function(b){return b},"<":function(b){return bg(b,3)},">":function(b){return bg(b-1,3)+1},"<>":function(b){b=b*2;if(b<1){return bg(b,3)/2}b-=2;return(bg(b,3)+2)/2},backIn:function(d){var b=1.70158;return d*d*((b+1)*d-b)},backOut:function(d){d=d-1;var b=1.70158;return d*d*((b+1)*d+b)+1},elastic:function(e){if(e==0||e==1){return e}var d=0.3,b=d/4;return bg(2,-10*e)*an.sin((e-b)*(2*an.PI)/d)+1},bounce:function(i){var d=7.5625,e=2.75,b;if(i<(1/e)){b=d*i*i}else{if(i<(2/e)){i-=(1.5/e);b=d*i*i+0.75}else{if(i<(2.5/e)){i-=(2.25/e);b=d*i*i+0.9375}else{i-=(2.625/e);b=d*i*i+0.984375}}}return b}};var W={length:0},bp=function(){var bE=+new Date;for(var bP in W){if(bP!="length"&&W[af](bP)){var bU=W[bP];if(bU.stop||bU.el.removed){delete W[bP];W[q]--;continue}var R=bE-bU.start,bM=bU.ms,bL=bU.easing,bQ=bU.from,bJ=bU.diff,d=bU.to,bI=bU.t,bD=bU.el,bK={},b;if(R + Raphaël Reference - + + - - + - - - - -
-
-
+
 

Main Function

@@ -189,6 +179,15 @@ var set = Raphael(["notepad", 320, 200, {
var c = paper.path("M10 10L90 90");
 // draw a diagonal line:
 // move to 10,10, line to 90,90
+

+ clear +

+

+ Clears the canvas, i.e. removes all the elements. +

+

Usage

+
var c = paper.path("M10 10L90 90");
+paper.clear();

Element’s generic methods

@@ -755,10 +754,13 @@ paper.circle(100, 100, 20).red();
  • #•••••• — full length HTML colour: (“#000000”, “#bd2300”)
  • rgb(•••, •••, •••) — red, green and blue channels’ values: (“rgb(200, 100, 0)”)
  • rgb(•••%, •••%, •••%) — same as above, but in %: (“rgb(100%, 175%, 0%)”)
  • +
  • rgba(•••, •••, •••, •••) — red, green and blue channels’ values: (“rgb(200, 100, 0, .5)”)
  • +
  • rgba(•••%, •••%, •••%, •••%) — same as above, but in %: (“rgb(100%, 175%, 0%, 50%)”)
  • hsb(•••, •••, •••) — hue, saturation and brightness values: (“hsb(0.5, 0.25, 1)”)
  • hsb(•••%, •••%, •••%) — same as above, but in %
  • -
  • hsl(•••, •••, •••) — same as hsb
  • -
  • hsl(•••%, •••%, •••%) — same as hsb
  • +
  • hsl(•••, •••, •••) — almost the same as hsb, see Wikipedia page
  • +
  • hsl(•••%, •••%, •••%) — almost the same as hsb
  • +
  • Optionally for hsb and hsl you could specify hue as a degree: “hsl(240deg, 1, .5)” or, if you want to fancy, “hsl(240°, 1, .5)”
  • Usage

    paper.circle(100, 100, 20).attr({
    @@ -821,6 +823,42 @@ element.hover(function (event) {
                             

    To unbind events use the same method names with “un” prefix, i.e. element.unclick(f);

    +

    + Drag ’n’ Drop +

    +

    + To make element “draggable” you need to call method drag on element. +

    +

    Parameters

    +
      +
    1. onmove function event handler for moving
    2. +
    3. onstart function event handler for start
    4. +
    5. onend function event handler for end of the drag
    6. +
    +

    Usage

    +
    var c = R.circle(100, 100, 50).attr({
    +    fill: "hsb(.8, 1, 1)",
    +    stroke: "none",
    +    opacity: .5
    +});
    +var start = function () {
    +    // storing original coordinates
    +    this.ox = this.attr("cx");
    +    this.oy = this.attr("cy");
    +    this.attr({opacity: 1});
    +},
    +move = function (dx, dy) {
    +    // move will be called with dx and dy
    +    this.attr({cx: this.ox + dx, cy: this.oy + dy});
    +},
    +up = function () {
    +    // restoring state
    +    this.attr({opacity: .5});
    +};
    +c.drag(move, start, up);
    +

    + To unbind drag use the undrag method. +

    @@ -854,6 +892,9 @@ element.hover(function (event) {
  • path
  • +
  • + clear +
  • node
  • @@ -972,14 +1013,14 @@ element.hover(function (event) { Some Rights Reserved by Dmitry Baranovskiy

    - Logo by Wasabicube · - Work at this project started as 20% time at Atlassian + Logo by Wasabicube

    -
    -
    + + + - \ No newline at end of file +