From 04d770aa3503c684dc4341448a630d647b0f2cc5 Mon Sep 17 00:00:00 2001 From: kangax Date: Thu, 2 Aug 2012 21:18:32 +0200 Subject: [PATCH] No longer allow to resize inactive objects (this also means cursor doesn't appear when hovering over resizing controls of inactive (non-selected) objects). --- HEADER.js | 2 +- dist/all.js | 4 ++-- dist/all.min.js | 4 ++-- dist/all.min.js.gz | Bin 41012 -> 41020 bytes package.json | 2 +- src/object.class.js | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/HEADER.js b/HEADER.js index 15e2b159..5b8d93ae 100644 --- a/HEADER.js +++ b/HEADER.js @@ -1,6 +1,6 @@ /*! Fabric.js Copyright 2008-2012, Printio (Juriy Zaytsev, Maxim Chernyak) */ -var fabric = fabric || { version: "0.8.42" }; +var fabric = fabric || { version: "0.8.43" }; if (typeof exports != 'undefined') { exports.fabric = fabric; diff --git a/dist/all.js b/dist/all.js index 748f4a2d..fdd2d79e 100644 --- a/dist/all.js +++ b/dist/all.js @@ -1,7 +1,7 @@ /* build: `node build.js modules=ALL` */ /*! Fabric.js Copyright 2008-2012, Printio (Juriy Zaytsev, Maxim Chernyak) */ -var fabric = fabric || { version: "0.8.42" }; +var fabric = fabric || { version: "0.8.43" }; if (typeof exports != 'undefined') { exports.fabric = fabric; @@ -8385,7 +8385,7 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, { * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found */ _findTargetCorner: function(e, offset) { - if (!this.hasControls) return false; + if (!this.hasControls || !this.active) return false; var pointer = getPointer(e), ex = pointer.x - offset.left, diff --git a/dist/all.min.js b/dist/all.min.js index 022fb3a9..72a35784 100644 --- a/dist/all.min.js +++ b/dist/all.min.js @@ -1,7 +1,7 @@ /* Fabric.js Copyright 2008-2012, Printio (Juriy Zaytsev, Maxim Chernyak) */ -var fabric=fabric||{version:"0.8.42"};if(typeof exports!="undefined"){exports.fabric=fabric}if(typeof document!="undefined"&&typeof window!="undefined"){fabric.document=document;fabric.window=window}else{fabric.document=require("jsdom").jsdom("");fabric.window=fabric.document.createWindow()}fabric.isTouchSupported="ontouchstart" in fabric.document.documentElement;fabric.isLikelyNode=typeof Buffer!=="undefined"&&typeof window==="undefined"; +var fabric=fabric||{version:"0.8.43"};if(typeof exports!="undefined"){exports.fabric=fabric}if(typeof document!="undefined"&&typeof window!="undefined"){fabric.document=document;fabric.window=window}else{fabric.document=require("jsdom").jsdom("");fabric.window=fabric.document.createWindow()}fabric.isTouchSupported="ontouchstart" in fabric.document.documentElement;fabric.isLikelyNode=typeof Buffer!=="undefined"&&typeof window==="undefined"; /* * Copyright (c) 2009 Simo Kinnunen. * Licensed under the MIT license. */ -var Cufon=(function(){var k=function(){return k.replace.apply(null,arguments)};var u=k.DOM={ready:(function(){var z=false,B={loaded:1,complete:1};var y=[],A=function(){if(z){return}z=true;for(var C;C=y.shift();C()){}};if(fabric.document.addEventListener){fabric.document.addEventListener("DOMContentLoaded",A,false);fabric.window.addEventListener("pageshow",A,false)}if(!fabric.window.opera&&fabric.document.readyState){(function(){B[fabric.document.readyState]?A():setTimeout(arguments.callee,10)})()}if(fabric.document.readyState&&fabric.document.createStyleSheet){(function(){try{fabric.document.body.doScroll("left");A()}catch(C){setTimeout(arguments.callee,1)}})()}o(fabric.window,"load",A);return function(C){if(!arguments.length){A()}else{z?C():y.push(C)}}})()};var l=k.CSS={Size:function(z,y){this.value=parseFloat(z);this.unit=String(z).match(/[a-z%]*$/)[0]||"px";this.convert=function(A){return A/y*this.value};this.convertFrom=function(A){return A/this.value*y};this.toString=function(){return this.value+this.unit}},getStyle:function(y){return new a(y.style)},quotedList:i(function(B){var A=[],z=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,y;while(y=z.exec(B)){A.push(y[3]||y[1])}return A}),ready:(function(){var A=false;var z=[],B=function(){A=true;for(var D;D=z.shift();D()){}};var y=Object.prototype.propertyIsEnumerable?f("style"):{length:0};var C=f("link");u.ready(function(){var G=0,F;for(var E=0,D=C.length;F=C[E],E=y.length+G){B()}else{setTimeout(arguments.callee,10)}});return function(D){if(A){D()}else{z.push(D)}}})(),supports:function(A,z){var y=fabric.document.createElement("span").style;if(y[A]===undefined){return false}y[A]=z;return y[A]===z},textAlign:function(B,A,y,z){if(A.get("textAlign")=="right"){if(y>0){B=" "+B}}else{if(y400}if(F==500){F=400}for(var G in D){G=parseInt(G,10);if(!C||GA){A=G}H.push(G)}if(FA){F=A}H.sort(function(J,I){return(B?(J>F&&I>F)?JI:(JI:Jz){z=e}L.push(e);e=0;continue}var B=ab.glyphs[ag[aa]]||ab.missingGlyph;if(!B){continue}e+=D=Number(B.w||ab.w)+U}L.push(e);e=Math.max(z,e);var m=[];for(var aa=L.length;aa--;){m[aa]=e-L[aa]}if(D===null){return null}V+=(H.width-D);C+=H.minX;var v,p;if(n){v=J;p=J.firstChild}else{v=fabric.document.createElement("span");v.className="cufon cufon-canvas";v.alt=E;p=fabric.document.createElement("canvas");v.appendChild(p);if(A.printable){var Y=fabric.document.createElement("span");Y.className="cufon-alt";Y.appendChild(fabric.document.createTextNode(E));v.appendChild(Y)}}var ah=v.style;var O=p.style||{};var k=o.convert(H.height-I+T);var af=Math.ceil(k);var S=af/k;p.width=Math.ceil(o.convert(e+V-C)*S);p.height=af;I+=H.minY;O.top=Math.round(o.convert(I-ab.ascent))+"px";O.left=Math.round(o.convert(C))+"px";var j=Math.ceil(o.convert(e*S));var t=j+"px";var s=o.convert(ab.height);var F=(A.lineHeight-1)*o.convert(-ab.ascent/5)*(M-1);Cufon.textOptions.width=j;Cufon.textOptions.height=(s*M)+F;Cufon.textOptions.lines=M;Cufon.textOptions.totalLineHeight=F;if(a){ah.width=t;ah.height=s+"px"}else{ah.paddingLeft=t;ah.paddingBottom=(s-1)+"px"}var ad=Cufon.textOptions.context||p.getContext("2d"),K=af/H.height;Cufon.textOptions.fontAscent=ab.ascent*K;Cufon.textOptions.boundaries=null;for(var w=Cufon.textOptions.shadowOffsets,aa=R.length;aa--;){w[aa]=[R[aa][0]*K,R[aa][1]*K]}ad.save();ad.scale(K,K);ad.translate(-C-((1/K*p.width)/2)+(Cufon.fonts[ab.family].offsetLeft||0),-I-((Cufon.textOptions.height/K)/2)+(Cufon.fonts[ab.family].offsetTop||0));ad.lineWidth=ab.face["underline-thickness"];ad.save();function q(l,i){ad.strokeStyle=i;ad.beginPath();ad.moveTo(0,l);ad.lineTo(e,l);ad.stroke()}var r=Cufon.getTextDecoration(A),u=A.fontStyle==="italic";function ae(){ad.save();ad.fillStyle=A.backgroundColor;var aj=0,an=0,y=[{left:0}];if(A.textAlign==="right"){ad.translate(m[an],0);y[0].left=m[an]*K}else{if(A.textAlign==="center"){ad.translate(m[an]/2,0);y[0].left=m[an]/2*K}}for(var al=0,ak=ag.length;al.cufon-vml-canvas{text-indent:0}@media screen{cvml\\:shape,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute}.cufon-vml-canvas{position:absolute;text-align:left}.cufon-vml{display:inline-block;position:relative;vertical-align:middle}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none}.cufon-vml .cufon-alt{display:inline}}');function c(e,f){return a(e,/(?:em|ex|%)$/i.test(f)?"1em":f)}function a(h,i){if(/px$/i.test(i)){return parseFloat(i)}var g=h.style.left,f=h.runtimeStyle.left;h.runtimeStyle.left=h.currentStyle.left;h.style.left=i;var e=h.style.pixelLeft;h.style.left=g;h.runtimeStyle.left=f;return e}return function(T,z,O,w,D,U,M){var h=(z===null);if(h){z=D.alt}var B=T.viewBox;var j=O.computedFontSize||(O.computedFontSize=new Cufon.CSS.Size(c(U,O.get("fontSize"))+"px",T.baseSize));var L=O.computedLSpacing;if(L==undefined){L=O.get("letterSpacing");O.computedLSpacing=L=(L=="normal")?0:~~j.convertFrom(a(U,L))}var t,m;if(h){t=D;m=D.firstChild}else{t=fabric.document.createElement("span");t.className="cufon cufon-vml";t.alt=z;m=fabric.document.createElement("span");m.className="cufon-vml-canvas";t.appendChild(m);if(w.printable){var R=fabric.document.createElement("span");R.className="cufon-alt";R.appendChild(fabric.document.createTextNode(z));t.appendChild(R)}if(!M){t.appendChild(fabric.document.createElement("cvml:shape"))}}var Z=t.style;var G=m.style;var f=j.convert(B.height),W=Math.ceil(f);var K=W/f;var J=B.minX,I=B.minY;G.height=W;G.top=Math.round(j.convert(I-T.ascent));G.left=Math.round(j.convert(J));Z.height=j.convert(T.height)+"px";var p=Cufon.getTextDecoration(w);var y=O.get("color");var X=Cufon.CSS.textTransform(z,O).split("");var e=0,H=0,q=null;var x,r,A=w.textShadow;for(var S=0,Q=0,P=X.length;Sw?p:(o-n);s(t(currentTime,m,byValue,p));if(o>w||q()){x.onComplete&&x.onComplete();return}k(r)})()}var f=fabric.window.requestAnimationFrame||fabric.window.webkitRequestAnimationFrame||fabric.window.mozRequestAnimationFrame||fabric.window.oRequestAnimationFrame||fabric.window.msRequestAnimationFrame||function(n,m){fabric.window.setTimeout(n,1000/60)};var k=function(){return f.apply(fabric.window,arguments)};function b(n,p,o){if(n){var m=new Image();m.onload=function(){p&&p.call(o,m);m=m.onload=null};m.src=n}else{p&&p.call(o,n)}}function i(o,s){function n(t){return fabric[fabric.util.string.camelize(fabric.util.string.capitalize(t))]}var q=[],p=0,m=o.filter(function(t){return n(t.type).async}).length;var r=this;o.forEach(function(v,u){if(!v.type){return}var t=n(v.type);if(t.async){t.fromObject(v,function(w){q[u]=w;if(++p===m){if(s){s(q)}}})}else{q[u]=t.fromObject(v)}});if(m===0&&s){s(q)}}function a(o,n,p){var m=o.length>1?new fabric.PathGroup(o,n):o[0];if(typeof p!=="undefined"){m.setSourcePath(p)}return m}fabric.util.removeFromArray=j;fabric.util.degreesToRadians=c;fabric.util.toFixed=e;fabric.util.getRandomInt=g;fabric.util.falseFunction=l;fabric.util.animate=d;fabric.util.requestAnimFrame=k;fabric.util.loadImage=b;fabric.util.enlivenObjects=i;fabric.util.groupSVGElements=a})();(function(){var d=Array.prototype.slice;if(!Array.prototype.indexOf){Array.prototype.indexOf=function(g){if(this===void 0||this===null){throw new TypeError()}var h=Object(this),e=h.length>>>0;if(e===0){return -1}var i=0;if(arguments.length>0){i=Number(arguments[1]);if(i!==i){i=0}else{if(i!==0&&i!==(1/0)&&i!==-(1/0)){i=(i>0||-1)*Math.floor(Math.abs(i))}}}if(i>=e){return -1}var f=i>=0?i:Math.max(e-Math.abs(i),0);for(;f>>0;f>>0;g>>0;f>>0;f>>0;g>>0,f=0,h;if(arguments.length>1){h=arguments[1]}else{do{if(f in this){h=this[f++];break}if(++f>=e){throw new TypeError()}}while(true)}for(;f=e){e=h[f][g]}}}else{while(f--){if(h[f]>=e){e=h[f]}}}return e}function c(h,g){if(!h||h.length===0){return undefined}var f=h.length-1,e=g?h[f][g]:h[f];if(g){while(f--){if(h[f][g]/g,">")}fabric.util.string={camelize:b,capitalize:c,escapeXml:a}}());(function(){var c=Array.prototype.slice,a=Function.prototype.apply,b=function(){};if(!Function.prototype.bind){Function.prototype.bind=function(d){var g=this,e=c.call(arguments,1),f;if(e.length){f=function(){return a.call(g,this instanceof b?this:d,e.concat(c.call(arguments)))}}else{f=function(){return a.call(g,this instanceof b?this:d,arguments)}}b.prototype=this.prototype;f.prototype=new b;return f}}})();(function(){var f=Array.prototype.slice,e=function(){};var c=(function(){for(var g in {toString:1}){if(g==="toString"){return false}}return true})();var b=function(g,j,h){for(var i in j){if(i in g.prototype&&typeof g.prototype[i]=="function"){g.prototype[i]=(function(k){return function(){var m=this.constructor.superclass;this.constructor.superclass=h;var l=j[k].apply(this,arguments);this.constructor.superclass=m;if(k!=="initialize"){return l}}})(i)}else{g.prototype[i]=j[i]}if(c){if(j.toString!==Object.prototype.toString){g.prototype.toString=j.toString}if(j.valueOf!==Object.prototype.valueOf){g.prototype.valueOf=j.valueOf}}}};function a(){}function d(){var k=null,j=f.call(arguments,0);if(typeof j[0]==="function"){k=j.shift()}function g(){this.initialize.apply(this,arguments)}g.superclass=k;g.subclasses=[];if(k){a.prototype=k.prototype;g.prototype=new a;k.subclasses.push(g)}for(var h=0,l=j.length;h-1?c(j,l.match(/opacity:\s*(\d?\.?\d*)/)[1]):j}for(var m in l){if(m==="opacity"){c(j,l[m])}else{var k=(m==="float"||m==="cssFloat")?(typeof n.styleFloat==="undefined"?"cssFloat":"styleFloat"):m;n[k]=l[m]}}return j}var h=fabric.document.createElement("div"),g=typeof h.style.opacity==="string",b=typeof h.style.filter==="string",a=fabric.document.defaultView,f=a&&typeof a.getComputedStyle!=="undefined",d=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,c=function(i){return i};if(g){c=function(i,j){i.style.opacity=j;return i}}else{if(b){c=function(i,j){var k=i.style;if(i.currentStyle&&!i.currentStyle.hasLayout){k.zoom=1}if(d.test(k.filter)){j=j>=0.9999?"":("alpha(opacity="+(j*100)+")");k.filter=k.filter.replace(d,j)}else{k.filter+=" alpha(opacity="+(j*100)+")"}return i}}}fabric.util.setStyle=e})();(function(){var h=Array.prototype.slice;function g(j){return typeof j==="string"?fabric.document.getElementById(j):j}function b(j){return h.call(j,0)}try{var i=b(fabric.document.childNodes) instanceof Array}catch(a){}if(!i){b=function(k){var j=new Array(k.length),l=k.length;while(l--){j[l]=k[l]}return j}}function c(k,j){var l=fabric.document.createElement(k);for(var m in j){if(m==="class"){l.className=j[m]}else{if(m==="for"){l.htmlFor=j[m]}else{l.setAttribute(m,j[m])}}}return l}function f(j,k){if((" "+j.className+" ").indexOf(" "+k+" ")===-1){j.className+=(j.className?" ":"")+k}}function e(k,l,j){if(typeof l==="string"){l=c(l,j)}if(k.parentNode){k.parentNode.replaceChild(l,k)}l.appendChild(k);return l}function d(k){var j=0,l=0;do{j+=k.offsetTop||0;l+=k.offsetLeft||0;k=k.offsetParent}while(k);return({left:l,top:j})}(function(){var k=fabric.document.documentElement.style;var l="userSelect" in k?"userSelect":"MozUserSelect" in k?"MozUserSelect":"WebkitUserSelect" in k?"WebkitUserSelect":"KhtmlUserSelect" in k?"KhtmlUserSelect":"";function m(n){if(typeof n.onselectstart!=="undefined"){n.onselectstart=fabric.util.falseFunction}if(l){n.style[l]="none"}else{if(typeof n.unselectable=="string"){n.unselectable="on"}}return n}function j(n){if(typeof n.onselectstart!=="undefined"){n.onselectstart=null}if(l){n.style[l]=""}else{if(typeof n.unselectable=="string"){n.unselectable=""}}return n}fabric.util.makeElementUnselectable=m;fabric.util.makeElementSelectable=j})();(function(){function j(k,o){var m=fabric.document.getElementsByTagName("head")[0],l=fabric.document.createElement("script"),n=true;l.type="text/javascript";l.setAttribute("runat","server");l.onload=l.onreadystatechange=function(p){if(n){if(typeof this.readyState=="string"&&this.readyState!=="loaded"&&this.readyState!=="complete"){return}n=false;o(p||fabric.window.event);l=l.onload=l.onreadystatechange=null}};l.src=k;m.appendChild(l)}fabric.util.getScript=j})();fabric.util.getById=g;fabric.util.toArray=b;fabric.util.makeElement=c;fabric.util.addClass=f;fabric.util.wrapElement=e;fabric.util.getElementOffset=d})();(function(){function d(e,f){return e+(/\?/.test(e)?"&":"?")+f}var c=(function(){var h=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.3.0")},function(){return new XMLHttpRequest()}];for(var e=h.length;e--;){try{var g=h[e]();if(g){return h[e]}}catch(f){}}})();function a(){}function b(g,f){f||(f={});var j=f.method?f.method.toUpperCase():"GET",i=f.onComplete||function(){},h=c(),e;h.onreadystatechange=function(){if(h.readyState===4){i(h);h.onreadystatechange=a}};if(j==="GET"){e=null;if(typeof f.parameters=="string"){g=d(g,f.parameters)}}h.open(j,g,true);if(j==="POST"||j==="PUT"){h.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}h.send(e);return h}fabric.util.request=b})();(function(){function d(F,E,H,G){return H*(F/=G)*F+E}function l(F,E,H,G){return -H*(F/=G)*(F-2)+E}function r(F,E,H,G){if((F/=G/2)<1){return H/2*F*F+E}return -H/2*((--F)*(F-2)-1)+E}function B(F,E,H,G){return H*(F/=G)*F*F+E}function q(F,E,H,G){return H*((F=F/G-1)*F*F+1)+E}function u(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F+E}return H/2*((F-=2)*F*F+2)+E}function t(F,E,H,G){return H*(F/=G)*F*F*F+E}function g(F,E,H,G){return -H*((F=F/G-1)*F*F*F-1)+E}function k(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F+E}return -H/2*((F-=2)*F*F*F-2)+E}function y(F,E,H,G){return H*(F/=G)*F*F*F*F+E}function j(F,E,H,G){return H*((F=F/G-1)*F*F*F*F+1)+E}function n(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F*F+E}return H/2*((F-=2)*F*F*F*F+2)+E}function f(F,E,H,G){return -H*Math.cos(F/G*(Math.PI/2))+H+E}function o(F,E,H,G){return H*Math.sin(F/G*(Math.PI/2))+E}function v(F,E,H,G){return -H/2*(Math.cos(Math.PI*F/G)-1)+E}function D(F,E,H,G){return(F==0)?E:H*Math.pow(2,10*(F/G-1))+E}function c(F,E,H,G){return(F==G)?E+H:H*(-Math.pow(2,-10*F/G)+1)+E}function i(F,E,H,G){if(F==0){return E}if(F==G){return E+H}if((F/=G/2)<1){return H/2*Math.pow(2,10*(F-1))+E}return H/2*(-Math.pow(2,-10*--F)+2)+E}function h(F,E,H,G){return -H*(Math.sqrt(1-(F/=G)*F)-1)+E}function p(F,E,H,G){return H*Math.sqrt(1-(F=F/G-1)*F)+E}function x(F,E,H,G){if((F/=G/2)<1){return -H/2*(Math.sqrt(1-F*F)-1)+E}return H/2*(Math.sqrt(1-(F-=2)*F)+1)+E}function s(G,E,K,J){var H=1.70158;var I=0;var F=K;if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(F-1;w=w.split(/\s+/);var u=[];if(y){for(var v=0,t=w.length;v/i,""))}if(!w.documentElement){return}h.parseSVGDocument(w.documentElement,function(z,y){k.set(t,{objects:h.util.array.invoke(z,"toObject"),options:y});v(z,y)})}}function b(v){var u=v.objects,t=v.options;u=u.map(function(w){return h[f(w.type)].fromObject(w)});return({objects:u,options:t})}function n(t,w){t=t.trim();var u;if(typeof DOMParser!=="undefined"){var v=new DOMParser();if(v&&v.parseFromString){u=v.parseFromString(t,"text/xml")}}else{if(h.window.ActiveXObject){var u=new ActiveXObject("Microsoft.XMLDOM");u.async="false";u.loadXML(t.replace(//i,""))}}h.parseSVGDocument(u.documentElement,function(y,x){w(y,x)})}function m(w){var u="";for(var v=0,t=w.length;v",'",""].join("")}return u}p(h,{parseAttributes:e,parseElements:g,parseStyleAttribute:i,parsePointsAttribute:s,getCSSRules:d,loadSVGFromURL:c,loadSVGFromString:n,createSVGFontFacesMarkup:m})})(typeof exports!="undefined"?exports:this);(function(){function c(h){var g=h.getAttribute("style");if(g){var k=g.split(/\s*;\s*/);if(k[k.length-1]===""){k.pop()}for(var f=k.length;f--;){var e=k[f].split(/\s*:\s*/),d=e[0].trim(),j=e[1].trim();if(d==="stop-color"){return j}}}}fabric.Gradient={create:function(l,m){m||(m={});var f=m.x1||0,k=m.y1||0,e=m.x2||l.canvas.width,i=m.y2||0,g=m.colorStops;var j=l.createLinearGradient(f,k,e,i);for(var h in g){var d=g[h];j.addColorStop(parseFloat(h),d)}return j},fromElement:function(d,m,l){var j=d.getElementsByTagName("stop"),d,f,e={},g,k={x1:d.getAttribute("x1")||0,y1:d.getAttribute("y1")||0,x2:d.getAttribute("x2")||"100%",y2:d.getAttribute("y2")||0};for(var h=j.length;h--;){d=j[h];f=d.getAttribute("offset");f=parseFloat(f)/(/%$/.test(f)?100:1);e[f]=c(d)||d.getAttribute("stop-color")}a(l,k);return fabric.Gradient.create(m,{x1:k.x1,y1:k.y1,x2:k.x2,y2:k.y2,colorStops:e})},forObject:function(g,d,e){e||(e={});a(g,e);var f=fabric.Gradient.create(d,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,colorStops:e.colorStops});return f}};function a(f,e){for(var g in e){if(typeof e[g]==="string"&&/^\d+%$/.test(e[g])){var d=parseFloat(e[g],10);if(g==="x1"||g==="x2"){e[g]=f.width*d/100}else{if(g==="y1"||g==="y2"){e[g]=f.height*d/100}}}if(g==="x1"||g==="x2"){e[g]-=f.width/2}else{if(g==="y1"||g==="y2"){e[g]-=f.height/2}}}}function b(j){var f=j.getElementsByTagName("linearGradient"),d=j.getElementsByTagName("radialGradient"),g,h={};for(var e=f.length;e--;){g=f[e];h[g.id]=g}for(var e=d.length;e--;){g=d[e];h[g.id]=g}return h}fabric.getGradientDefs=b})();(function(b){var c=b.fabric||(b.fabric={});if(c.Point){c.warn("fabric.Point is already defined");return}c.Point=a;function a(d,e){if(arguments.length>0){this.init(d,e)}}a.prototype={constructor:a,init:function(d,e){this.x=d;this.y=e},add:function(d){return new a(this.x+d.x,this.y+d.y)},addEquals:function(d){this.x+=d.x;this.y+=d.y;return this},scalarAdd:function(d){return new a(this.x+d,this.y+d)},scalarAddEquals:function(d){this.x+=d;this.y+=d;return this},subtract:function(d){return new a(this.x-d.x,this.y-d.y)},subtractEquals:function(d){this.x-=d.x;this.y-=d.y;return this},scalarSubtract:function(d){return new a(this.x-d,this.y-d)},scalarSubtractEquals:function(d){this.x-=d;this.y-=d;return this},multiply:function(d){return new a(this.x*d,this.y*d)},multiplyEquals:function(d){this.x*=d;this.y*=d;return this},divide:function(d){return new a(this.x/d,this.y/d)},divideEquals:function(d){this.x/=d;this.y/=d;return this},eq:function(d){return(this.x==d.x&&this.y==d.y)},lt:function(d){return(this.xd.x&&this.y>d.y)},gte:function(d){return(this.x>=d.x&&this.y>=d.y)},lerp:function(e,d){return new a(this.x+(e.x-this.x)*d,this.y+(e.y-this.y)*d)},distanceFrom:function(f){var e=this.x-f.x,d=this.y-f.y;return Math.sqrt(e*e+d*d)},min:function(d){return new a(Math.min(this.x,d.x),Math.min(this.y,d.y))},max:function(d){return new a(Math.max(this.x,d.x),Math.max(this.y,d.y))},toString:function(){return this.x+","+this.y},setXY:function(d,e){this.x=d;this.y=e},setFromPoint:function(d){this.x=d.x;this.y=d.y},swap:function(e){var d=this.x,f=this.y;this.x=e.x;this.y=e.y;e.x=d;e.y=f}}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Intersection){b.warn("fabric.Intersection is already defined");return}function c(d){if(arguments.length>0){this.init(d)}}b.Intersection=c;b.Intersection.prototype={init:function(d){this.status=d;this.points=[]},appendPoint:function(d){this.points.push(d)},appendPoints:function(d){this.points=this.points.concat(d)}};b.Intersection.intersectLineLine=function(h,f,l,k){var m,i=(k.x-l.x)*(h.y-l.y)-(k.y-l.y)*(h.x-l.x),j=(f.x-h.x)*(h.y-l.y)-(f.y-h.y)*(h.x-l.x),g=(k.y-l.y)*(f.x-h.x)-(k.x-l.x)*(f.y-h.y);if(g!=0){var e=i/g,d=j/g;if(0<=e&&e<=1&&0<=d&&d<=1){m=new c("Intersection");m.points.push(new b.Point(h.x+e*(f.x-h.x),h.y+e*(f.y-h.y)))}else{m=new c("No Intersection")}}else{if(i==0||j==0){m=new c("Coincident")}else{m=new c("Parallel")}}return m};b.Intersection.intersectLinePolygon=function(e,d,l){var m=new c("No Intersection"),f=l.length;for(var h=0;h0){m.status="Intersection"}return m};b.Intersection.intersectPolygonPolygon=function(j,h){var f=new c("No Intersection"),l=j.length;for(var k=0;k0){f.status="Intersection"}return f};b.Intersection.intersectPolygonRectangle=function(n,e,d){var g=e.min(d),m=e.max(d),f=new b.Point(m.x,g.y),l=new b.Point(g.x,m.y),k=c.intersectLinePolygon(g,f,n),j=c.intersectLinePolygon(f,m,n),i=c.intersectLinePolygon(m,l,n),h=c.intersectLinePolygon(l,g,n),o=new c("No Intersection");o.appendPoints(k.points);o.appendPoints(j.points);o.appendPoints(i.points);o.appendPoints(h.points);if(o.points.length>0){o.status="Intersection"}return o}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Color){b.warn("fabric.Color is already defined.");return}function c(d){if(!d){this.setSource([0,0,0,1])}else{this._tryParsingColor(d)}}b.Color=c;b.Color.prototype={_tryParsingColor:function(d){var e=c.sourceFromHex(d);if(!e){e=c.sourceFromRgb(d)}if(e){this.setSource(e)}},getSource:function(){return this._source},setSource:function(d){this._source=d},toRgb:function(){var d=this.getSource();return"rgb("+d[0]+","+d[1]+","+d[2]+")"},toRgba:function(){var d=this.getSource();return"rgba("+d[0]+","+d[1]+","+d[2]+","+d[3]+")"},toHex:function(){var h=this.getSource();var f=h[0].toString(16);f=(f.length==1)?("0"+f):f;var e=h[1].toString(16);e=(e.length==1)?("0"+e):e;var d=h[2].toString(16);d=(d.length==1)?("0"+d):d;return f.toUpperCase()+e.toUpperCase()+d.toUpperCase()},getAlpha:function(){return this.getSource()[3]},setAlpha:function(e){var d=this.getSource();d[3]=e;this.setSource(d);return this},toGrayscale:function(){var f=this.getSource(),e=parseInt((f[0]*0.3+f[1]*0.59+f[2]*0.11).toFixed(0),10),d=f[3];this.setSource([e,e,e,d]);return this},toBlackWhite:function(d){var g=this.getSource(),f=(g[0]*0.3+g[1]*0.59+g[2]*0.11).toFixed(0),e=g[3],d=d||127;f=(Number(f)','',"',"Created with Fabric.js ",fabric.version,"",fabric.createSVGFontFacesMarkup(this.getObjects())];if(this.backgroundImage){h.push('')}for(var j=0,k=this.getObjects(),g=k.length;j");return h.join("")},isEmpty:function(){return this._objects.length===0},remove:function(g){e(this._objects,g);if(this.getActiveObject()===g){this.fire("before:selection:cleared",{target:g});this.discardActiveObject();this.fire("selection:cleared")}this.renderAll();return g},sendToBack:function(g){e(this._objects,g);this._objects.unshift(g);return this.renderAll()},bringToFront:function(g){e(this._objects,g);this._objects.push(g);return this.renderAll()},sendBackwards:function(j){var h=this._objects.indexOf(j),g=h;if(h!==0){for(var k=h-1;k>=0;--k){if(j.intersectsWithObject(this._objects[k])||j.isContainedWithinObject(this._objects[k])){g=k;break}}e(this._objects,j);this._objects.splice(g,0,j)}return this.renderAll()},bringForward:function(k){var n=this.getObjects(),h=n.indexOf(k),g=h;if(h!==n.length-1){for(var m=h+1,j=this._objects.length;m"};f(fabric.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',toGrayscale:function(l){var k=l.getContext("2d"),g=k.getImageData(0,0,l.width,l.height),p=g.data,m=g.width,r=g.height,q,h,o,n;for(o=0;o0)?0:-v),r.ey-((u>0)?0:-u),t,s);this.contextTop.lineWidth=this.selectionLineWidth;this.contextTop.strokeStyle=this.selectionBorderColor;this.contextTop.strokeRect(r.ex+a-((v>0)?0:t),r.ey+a-((u>0)?0:s),t,s)},_findSelectedObjects:function(x){var y,t,D=[],s=this._groupSelector.ex,C=this._groupSelector.ey,r=s+this._groupSelector.left,A=C+this._groupSelector.top,z,w=new fabric.Point(f(s,r),f(C,A)),B=new fabric.Point(l(s,r),l(C,A));for(var u=0,v=this._objects.length;u1){var D=new fabric.Group(D);this.setActiveGroup(D);D.saveCoords();this.fire("selection:created",{target:D})}}this.renderAll()},findTarget:function(v,s){var u,w=this.getPointer(v);var t=this.getActiveGroup();if(t&&!s&&this.containsPoint(v,t)){u=t;return u}for(var r=this._objects.length;r--;){if(this._objects[r]&&this.containsPoint(v,this._objects[r])){u=this._objects[r];this.relatedTarget=u;break}}if(u&&u.selectable){return u}},getPointer:function(r){var s=q(r);return{x:s.x-this._offset.left,y:s.y-this._offset.top}},_createUpperCanvas:function(){this.upperCanvasEl=this._createCanvasElement();this.upperCanvasEl.className="upper-canvas";this.wrapperEl.appendChild(this.upperCanvasEl);this._applyCanvasStyle(this.upperCanvasEl);this.contextTop=this.upperCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=fabric.util.wrapElement(this.lowerCanvasEl,"div",{"class":this.containerClass});fabric.util.setStyle(this.wrapperEl,{width:this.getWidth()+"px",height:this.getHeight()+"px",position:"relative"});fabric.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(s){var t=this.getWidth()||s.width,r=this.getHeight()||s.height;fabric.util.setStyle(s,{position:"absolute",width:t+"px",height:r+"px",left:0,top:0});s.width=t;s.height=r;fabric.util.makeElementUnselectable(s)},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},setActiveObject:function(r,s){if(this._activeObject){this._activeObject.setActive(false)}this._activeObject=r;r.setActive(true);this.renderAll();this.fire("object:selected",{target:r,e:s});r.fire("selected",{e:s});return this},getActiveObject:function(){return this._activeObject},discardActiveObject:function(){if(this._activeObject){this._activeObject.setActive(false)}this._activeObject=null;return this},setActiveGroup:function(r){this._activeGroup=r;r&&r.setActive(true);return this},getActiveGroup:function(){return this._activeGroup},discardActiveGroup:function(){var r=this.getActiveGroup();if(r){r.destroy()}return this.setActiveGroup(null)},deactivateAll:function(){var s=this.getObjects(),t=0,r=s.length;for(;t1)?q.apply(this,o.call(arguments,1)):q.call(this)},initialize:function(i){i&&this.setOptions(i)},setOptions:function(q){var r=this.stateProperties.length,s;while(r--){s=this.stateProperties[r];if(s in q){this.set(s,q[s])}}},transform:function(i){i.globalAlpha=this.opacity;i.translate(this.left,this.top);i.rotate(this.theta);i.scale(this.scaleX*(this.flipX?-1:1),this.scaleY*(this.flipY?-1:1))},toObject:function(){var i={type:this.type,left:c(this.left,this.NUM_FRACTION_DIGITS),top:c(this.top,this.NUM_FRACTION_DIGITS),width:c(this.width,this.NUM_FRACTION_DIGITS),height:c(this.height,this.NUM_FRACTION_DIGITS),fill:this.fill,overlayFill:this.overlayFill,stroke:this.stroke,strokeWidth:this.strokeWidth,scaleX:c(this.scaleX,this.NUM_FRACTION_DIGITS),scaleY:c(this.scaleY,this.NUM_FRACTION_DIGITS),angle:c(this.getAngle(),this.NUM_FRACTION_DIGITS),flipX:this.flipX,flipY:this.flipY,opacity:c(this.opacity,this.NUM_FRACTION_DIGITS),selectable:this.selectable,hasControls:this.hasControls,hasBorders:this.hasBorders,hasRotatingPoint:this.hasRotatingPoint};if(!this.includeDefaultValues){i=this._removeDefaultValues(i)}return i},toDatalessObject:function(){return this.toObject()},getSvgStyles:function(){return["stroke: ",(this.stroke?this.stroke:"none"),"; ","stroke-width: ",(this.strokeWidth?this.strokeWidth:"0"),"; ","fill: ",(this.fill?this.fill:"none"),"; ","opacity: ",(this.opacity?this.opacity:"1"),";"].join("")},getSvgTransform:function(){var i=this.getAngle();return["translate(",c(this.left,2)," ",c(this.top,2),")",i!==0?(" rotate("+c(i,2)+")"):"",(this.scaleX===1&&this.scaleY===1)?"":(" scale("+c(this.scaleX,2)+" "+c(this.scaleY,2)+")")].join("")},_removeDefaultValues:function(q){var i=d.Object.prototype.options;if(i){this.stateProperties.forEach(function(r){if(q[r]===i[r]){delete q[r]}})}return q},isActive:function(){return !!this.active},setActive:function(i){this.active=!!i;return this},toString:function(){return"#"},set:function(q,i){var s=(q==="scaleX"||q==="scaleY")&&ir.x&&s.xr.y&&u.y=v)&&(s.d.y>=v)){continue}if((s.o.x==s.d.x)&&(s.o.x>=w)){x=s.o.x;u=v}else{z=0;y=(s.d.y-s.o.y)/(s.d.x-s.o.x);r=v-z*w;q=s.o.y-y*s.o.x;x=-(r-q)/(z-y);u=r+z*x}if(x>=w){t+=1}if(t==2){break}}return t},_getImageLines:function(r,q){return{topline:{o:r.tl,d:r.tr},rightline:{o:r.tr,d:r.br},bottomline:{o:r.br,d:r.bl},leftline:{o:r.bl,d:r.tl}}},_setCornerCoords:function(){var u=this.oCoords,q=b(45-this.getAngle()),s=Math.sqrt(2*Math.pow(this.cornersize,2))/2,i=s*Math.cos(q),r=s*Math.sin(q),v=Math.sin(this.theta),t=Math.cos(this.theta);u.tl.corner={tl:{x:u.tl.x-r,y:u.tl.y-i},tr:{x:u.tl.x+i,y:u.tl.y-r},bl:{x:u.tl.x-i,y:u.tl.y+r},br:{x:u.tl.x+r,y:u.tl.y+i}};u.tr.corner={tl:{x:u.tr.x-r,y:u.tr.y-i},tr:{x:u.tr.x+i,y:u.tr.y-r},br:{x:u.tr.x+r,y:u.tr.y+i},bl:{x:u.tr.x-i,y:u.tr.y+r}};u.bl.corner={tl:{x:u.bl.x-r,y:u.bl.y-i},bl:{x:u.bl.x-i,y:u.bl.y+r},br:{x:u.bl.x+r,y:u.bl.y+i},tr:{x:u.bl.x+i,y:u.bl.y-r}};u.br.corner={tr:{x:u.br.x+i,y:u.br.y-r},bl:{x:u.br.x-i,y:u.br.y+r},br:{x:u.br.x+r,y:u.br.y+i},tl:{x:u.br.x-r,y:u.br.y-i}};u.ml.corner={tl:{x:u.ml.x-r,y:u.ml.y-i},tr:{x:u.ml.x+i,y:u.ml.y-r},bl:{x:u.ml.x-i,y:u.ml.y+r},br:{x:u.ml.x+r,y:u.ml.y+i}};u.mt.corner={tl:{x:u.mt.x-r,y:u.mt.y-i},tr:{x:u.mt.x+i,y:u.mt.y-r},bl:{x:u.mt.x-i,y:u.mt.y+r},br:{x:u.mt.x+r,y:u.mt.y+i}};u.mr.corner={tl:{x:u.mr.x-r,y:u.mr.y-i},tr:{x:u.mr.x+i,y:u.mr.y-r},bl:{x:u.mr.x-i,y:u.mr.y+r},br:{x:u.mr.x+r,y:u.mr.y+i}};u.mb.corner={tl:{x:u.mb.x-r,y:u.mb.y-i},tr:{x:u.mb.x+i,y:u.mb.y-r},bl:{x:u.mb.x-i,y:u.mb.y+r},br:{x:u.mb.x+r,y:u.mb.y+i}};u.mtr.corner={tl:{x:u.mtr.x-r+(v*this.rotatingPointOffset),y:u.mtr.y-i-(t*this.rotatingPointOffset)},tr:{x:u.mtr.x+i+(v*this.rotatingPointOffset),y:u.mtr.y-r-(t*this.rotatingPointOffset)},bl:{x:u.mtr.x-i+(v*this.rotatingPointOffset),y:u.mtr.y+r-(t*this.rotatingPointOffset)},br:{x:u.mtr.x+r+(v*this.rotatingPointOffset),y:u.mtr.y+i-(t*this.rotatingPointOffset)}}},toGrayscale:function(){var i=this.get("fill");if(i){this.set("overlayFill",new d.Color(i).toGrayscale().toRgb())}return this},complexity:function(){return 0},toJSON:function(){return this.toObject()},setGradientFill:function(i,q){this.set("fill",d.Gradient.forObject(this,i,q))},animate:function(q,s,i){var r=this;i||(i={});if(!("from" in i)){i.from=this.get(q)}if(/[+-]/.test((s+"").charAt(0))){s=this.get(q)+parseFloat(s)}d.util.animate({startValue:i.from,endValue:s,byValue:i.by,easing:i.easing,duration:i.duration,onChange:function(t){r.set(q,t);i.onChange&&i.onChange()},onComplete:function(){r.setCoords();i.onComplete&&i.onComplete()}})}});d.Object.prototype.rotate=d.Object.prototype.setAngle;var j=d.Object.prototype;for(var g=j.stateProperties.length;g--;){var h=j.stateProperties[g],e=h.charAt(0).toUpperCase()+h.slice(1),f="set"+e,n="get"+e;if(!j[n]){j[n]=(function(i){return new Function('return this.get("'+i+'")')})(h)}if(!j[f]){j[f]=(function(i){return new Function("value",'return this.set("'+i+'", value)')})(h)}}l(d.Object.prototype,d.Observable)})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={}),e=c.util.object.extend,d=c.Object.prototype.set,a={x1:1,x2:1,y1:1,y2:1};if(c.Line){c.warn("fabric.Line is already defined");return}c.Line=c.util.createClass(c.Object,{type:"line",initialize:function(g,f){if(!g){g=[0,0,0,0]}this.callSuper("initialize",f);this.set("x1",g[0]);this.set("y1",g[1]);this.set("x2",g[2]);this.set("y2",g[3]);this._setWidthHeight(f)},_setWidthHeight:function(f){f||(f={});this.set("width",(this.x2-this.x1)||1);this.set("height",(this.y2-this.y1)||1);this.set("left","left" in f?f.left:(this.x1+this.width/2));this.set("top","top" in f?f.top:(this.y1+this.height/2))},set:function(f,g){d.call(this,f,g);if(f in a){this._setWidthHeight()}return this},_render:function(f){f.beginPath();f.moveTo(this.width===1?0:(-this.width/2),this.height===1?0:(-this.height/2));f.lineTo(this.width===1?0:(this.width/2),this.height===1?0:(this.height/2));f.lineWidth=this.strokeWidth;var g=f.strokeStyle;f.strokeStyle=f.fillStyle;f.stroke();f.strokeStyle=g},complexity:function(){return 1},toObject:function(){return e(this.callSuper("toObject"),{x1:this.get("x1"),y1:this.get("y1"),x2:this.get("x2"),y2:this.get("y2")})},toSVG:function(){return[""].join("")}});c.Line.ATTRIBUTE_NAMES="x1 y1 x2 y2 stroke stroke-width transform".split(" ");c.Line.fromElement=function(g,f){var i=c.parseAttributes(g,c.Line.ATTRIBUTE_NAMES);var h=[i.x1||0,i.y1||0,i.x2||0,i.y2||0];return new c.Line(h,e(i,f))};c.Line.fromObject=function(f){var g=[f.x1,f.y1,f.x2,f.y2];return new c.Line(g,f)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={}),d=Math.PI*2,e=b.util.object.extend;if(b.Circle){b.warn("fabric.Circle is already defined.");return}b.Circle=b.util.createClass(b.Object,{type:"circle",initialize:function(f){f=f||{};this.set("radius",f.radius||0);this.callSuper("initialize",f);var g=this.get("radius")*2;this.set("width",g).set("height",g)},toObject:function(){return e(this.callSuper("toObject"),{radius:this.get("radius")})},toSVG:function(){return('')},_render:function(f,g){f.beginPath();f.globalAlpha*=this.opacity;f.arc(g?this.left:0,g?this.top:0,this.radius,0,d,false);f.closePath();if(this.fill){f.fill()}if(this.stroke){f.stroke()}},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(f){this.radius=f;this.set("width",f*2).set("height",f*2)},complexity:function(){return 1}});b.Circle.ATTRIBUTE_NAMES="cx cy r fill fill-opacity opacity stroke stroke-width transform".split(" ");b.Circle.fromElement=function(g,f){f||(f={});var h=b.parseAttributes(g,b.Circle.ATTRIBUTE_NAMES);if(!c(h)){throw Error("value of `r` attribute is required and can not be negative")}if("left" in h){h.left-=(f.width/2)||0}if("top" in h){h.top-=(f.height/2)||0}return new b.Circle(e(h,f))};function c(f){return(("radius" in f)&&(f.radius>0))}b.Circle.fromObject=function(f){return new b.Circle(f)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Triangle){b.warn("fabric.Triangle is already defined");return}b.Triangle=b.util.createClass(b.Object,{type:"triangle",initialize:function(c){c=c||{};this.callSuper("initialize",c);this.set("width",c.width||100).set("height",c.height||100)},_render:function(c){var d=this.width/2,e=this.height/2;c.beginPath();c.moveTo(-d,e);c.lineTo(0,-e);c.lineTo(d,e);c.closePath();if(this.fill){c.fill()}if(this.stroke){c.stroke()}},complexity:function(){return 1},toSVG:function(){var c=this.width/2,d=this.height/2;var e=[-c+" "+d,"0 "+-d,c+" "+d].join(",");return''}});b.Triangle.fromObject=function(c){return new b.Triangle(c)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={}),c=Math.PI*2,d=b.util.object.extend;if(b.Ellipse){b.warn("fabric.Ellipse is already defined.");return}b.Ellipse=b.util.createClass(b.Object,{type:"ellipse",initialize:function(e){e=e||{};this.callSuper("initialize",e);this.set("rx",e.rx||0);this.set("ry",e.ry||0);this.set("width",this.get("rx")*2);this.set("height",this.get("ry")*2)},toObject:function(){return d(this.callSuper("toObject"),{rx:this.get("rx"),ry:this.get("ry")})},toSVG:function(){return[""].join("")},render:function(e,f){if(this.rx===0||this.ry===0){return}return this.callSuper("render",e,f)},_render:function(e,f){e.beginPath();e.save();e.globalAlpha*=this.opacity;e.transform(1,0,0,this.ry/this.rx,0,0);e.arc(f?this.left:0,f?this.top:0,this.rx,0,c,false);if(this.stroke){e.stroke()}if(this.fill){e.fill()}e.restore()},complexity:function(){return 1}});b.Ellipse.ATTRIBUTE_NAMES="cx cy rx ry fill fill-opacity opacity stroke stroke-width transform".split(" ");b.Ellipse.fromElement=function(f,e){e||(e={});var g=b.parseAttributes(f,b.Ellipse.ATTRIBUTE_NAMES);if("left" in g){g.left-=(e.width/2)||0}if("top" in g){g.top-=(e.height/2)||0}return new b.Ellipse(d(g,e))};b.Ellipse.fromObject=function(e){return new b.Ellipse(e)}})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={});if(c.Rect){console.warn("fabric.Rect is already defined");return}c.Rect=c.util.createClass(c.Object,{type:"rect",options:{rx:0,ry:0},initialize:function(d){this._initStateProperties();this.callSuper("initialize",d);this._initRxRy()},_initStateProperties:function(){this.stateProperties=this.stateProperties.concat(["rx","ry"])},_initRxRy:function(){if(this.rx&&!this.ry){this.ry=this.rx}else{if(this.ry&&!this.rx){this.rx=this.ry}}},_render:function(f){var j=this.rx||0,i=this.ry||0,d=-this.width/2,k=-this.height/2,e=this.width,g=this.height;f.beginPath();f.globalAlpha*=this.opacity;if(this.group){f.translate(this.x||0,this.y||0)}f.moveTo(d+j,k);f.lineTo(d+e-j,k);f.quadraticCurveTo(d+e,k,d+e,k+i,d+e,k+i);f.lineTo(d+e,k+g-i);f.quadraticCurveTo(d+e,k+g,d+e-j,k+g,d+e-j,k+g);f.lineTo(d+j,k+g);f.quadraticCurveTo(d,k+g,d,k+g-i,d,k+g-i);f.lineTo(d,k+i);f.quadraticCurveTo(d,k,d+j,k,d+j,k);f.closePath();if(this.fill){f.fill()}if(this.stroke){f.stroke()}},_normalizeLeftTopProperties:function(d){if(d.left){this.set("left",d.left+this.getWidth()/2)}this.set("x",d.left||0);if(d.top){this.set("top",d.top+this.getHeight()/2)}this.set("y",d.top||0);return this},complexity:function(){return 1},toObject:function(){return c.util.object.extend(this.callSuper("toObject"),{rx:this.get("rx")||0,ry:this.get("ry")||0})},toSVG:function(){return''}});c.Rect.ATTRIBUTE_NAMES="x y width height rx ry fill fill-opacity opacity stroke stroke-width transform".split(" ");function a(d){d.left=d.left||0;d.top=d.top||0;return d}c.Rect.fromElement=function(e,d){if(!e){return null}var g=c.parseAttributes(e,c.Rect.ATTRIBUTE_NAMES);g=a(g);var f=new c.Rect(c.util.object.extend((d?c.util.object.clone(d):{}),g));f._normalizeLeftTopProperties(g);return f};c.Rect.fromObject=function(d){return new c.Rect(d)}})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={}),a=c.util.toFixed;if(c.Polyline){c.warn("fabric.Polyline is already defined");return}c.Polyline=c.util.createClass(c.Object,{type:"polyline",initialize:function(e,d){d=d||{};this.set("points",e);this.callSuper("initialize",d);this._calcDimensions()},_calcDimensions:function(){return c.Polygon.prototype._calcDimensions.call(this)},toObject:function(){return c.Polygon.prototype.toObject.call(this)},toSVG:function(){var f=[];for(var e=0,d=this.points.length;e"].join("")},_render:function(f){var e;f.beginPath();f.moveTo(this.points[0].x,this.points[0].y);for(var g=0,d=this.points.length;g"].join("")},_render:function(l){var k;l.beginPath();l.moveTo(this.points[0].x,this.points[0].y);for(var m=0,j=this.points.length;m1){E=Math.sqrt(E);O*=E;N*=E}var R=aa/O;var Q=W/O;var D=(-W)/N;var C=(aa)/N;var H=R*M+Q*L;var q=D*M+C*L;var F=R*T+Q*S;var ab=D*T+C*S;var Z=(F-H)*(F-H)+(ab-q)*(ab-q);var U=1/Z-0.25;if(U<0){U=0}var w=Math.sqrt(U);if(P==J){w=-w}var V=0.5*(H+F)-w*(ab-q);var K=0.5*(q+ab)+w*(F-H);var v=Math.atan2(q-K,H-V);var u=Math.atan2(ab-K,F-V);var Y=u-v;if(Y<0&&P==1){Y+=2*Math.PI}else{if(Y>0&&P==0){Y-=2*Math.PI}}var B=Math.ceil(Math.abs(Y/(Math.PI*0.5+0.001)));var I=[];for(var X=0;X"},toObject:function(){var q=g(this.callSuper("toObject"),{path:this.path});if(this.sourcePath){q.sourcePath=this.sourcePath}if(this.transformMatrix){q.transformMatrix=this.transformMatrix}return q},toDatalessObject:function(){var q=this.toObject();if(this.sourcePath){q.path=this.sourcePath}delete q.sourcePath;return q},toSVG:function(){var t=[];for(var r=0,q=this.path.length;r',"',""].join("")},complexity:function(){return this.path.length},_parsePath:function(){var C=[],z,v,y;for(var u=0,t,q,w=this.path.length;uB){for(var r=1,x=q.length;r"];for(var l=0,j=m.length;l");return k.join("")},toString:function(){return"#"},isSameColor:function(){var j=this.getObjects()[0].get("fill");return this.getObjects().every(function(k){return k.get("fill")===j})},complexity:function(){return this.paths.reduce(function(j,k){return j+((k&&k.complexity)?k.complexity():0)},0)},toGrayscale:function(){var j=this.paths.length;while(j--){this.paths[j].toGrayscale()}return this},getObjects:function(){return this.paths}});function c(m){for(var l=0,j=m.length;l"},getObjects:function(){return this.objects},addWithUpdate:function(h){this._restoreObjectsState();this.objects.push(h);this._calcBounds();this._updateObjectsCoords();return this},removeWithUpdate:function(h){this._restoreObjectsState();f(this.objects,h);h.setActive(false);this._calcBounds();this._updateObjectsCoords();return this},add:function(h){this.objects.push(h);return this},remove:function(h){f(this.objects,h);return this},size:function(){return this.getObjects().length},set:function(h,k){if(typeof k=="function"){this.set(h,k(this[h]))}else{if(h==="fill"||h==="opacity"){var j=this.objects.length;this[h]=k;while(j--){this.objects[j].set(h,k)}}else{this[h]=k}}return this},contains:function(h){return this.objects.indexOf(h)>-1},toObject:function(){return g(this.callSuper("toObject"),{objects:b(this.objects,"clone")})},render:function(j,o){j.save();this.transform(j);var n=Math.max(this.scaleX,this.scaleY);for(var l=0,h=this.objects.length,k;k=this.objects[l];l++){var m=k.borderScaleFactor;k.borderScaleFactor=n;k.render(j);k.borderScaleFactor=m}if(!o&&this.active){this.drawBorders(j);this.hideCorners||this.drawCorners(j)}j.restore();this.setCoords()},item:function(h){return this.getObjects()[h]},complexity:function(){return this.getObjects().reduce(function(i,h){i+=(typeof h.complexity=="function")?h.complexity():0;return i},0)},_restoreObjectsState:function(){this.objects.forEach(this._restoreObjectState,this);return this},_restoreObjectState:function(j){var l=this.get("left"),m=this.get("top"),h=this.getAngle()*(Math.PI/180),k=j.get("originalLeft"),n=j.get("originalTop"),i=Math.cos(h)*j.get("top")+Math.sin(h)*j.get("left"),o=-Math.sin(h)*j.get("top")+Math.cos(h)*j.get("left");j.setAngle(j.getAngle()+this.getAngle());j.set("left",l+o*this.get("scaleX"));j.set("top",m+i*this.get("scaleY"));j.set("scaleX",j.get("scaleX")*this.get("scaleX"));j.set("scaleY",j.get("scaleY")*this.get("scaleY"));j.setCoords();j.hideCorners=false;j.setActive(false);j.setCoords();return this},destroy:function(){return this._restoreObjectsState()},saveCoords:function(){this._originalLeft=this.get("left");this._originalTop=this.get("top");return this},hasMoved:function(){return this._originalLeft!==this.get("left")||this._originalTop!==this.get("top")},setObjectsCoords:function(){this.forEachObject(function(h){h.setCoords()});return this},activateAllObjects:function(){this.forEachObject(function(h){h.setActive()});return this},forEachObject:e.StaticCanvas.prototype.forEachObject,_setOpacityIfSame:function(){var j=this.getObjects(),i=j[0]?j[0].get("opacity"):1;var h=j.every(function(k){return k.get("opacity")===i});if(h){this.opacity=i}},_calcBounds:function(){var s=[],q=[],p,n,k,h,m,l,u,r=0,t=this.objects.length;for(;ri.x&&j-hi.y},toGrayscale:function(){var h=this.objects.length;while(h--){this.objects[h].toGrayscale()}}});e.Group.fromObject=function(h,i){e.util.enlivenObjects(h.objects,function(j){delete h.objects;i&&i(new e.Group(j,h))})};e.Group.async=true})(typeof exports!="undefined"?exports:this);(function(a){var b=fabric.util.object.extend;if(!a.fabric){a.fabric={}}if(a.fabric.Image){fabric.warn("fabric.Image is already defined.");return}if(!fabric.Object){fabric.warn("fabric.Object is required for fabric.Image initialization");return}fabric.Image=fabric.util.createClass(fabric.Object,{active:false,bordervisibility:false,cornervisibility:false,type:"image",initialize:function(d,c){c||(c={});this.callSuper("initialize",c);this._initElement(d);this._originalImage=this.getElement();this._initConfig(c);this.filters=[];if(c.filters){this.filters=c.filters;this.applyFilters()}},getElement:function(){return this._element},setElement:function(c){this._element=c;this._initConfig();return this},getOriginalSize:function(){var c=this.getElement();return{width:c.width,height:c.height}},setBorderVisibility:function(c){this._resetWidthHeight();this._adjustWidthHeightToBorders(showBorder);this.setCoords()},setCornersVisibility:function(c){this.cornervisibility=!!c},render:function(c,d){c.save();if(!d){this.transform(c)}this._render(c);if(this.active&&!d){this.drawBorders(c);this.hideCorners||this.drawCorners(c)}c.restore()},toObject:function(){return b(this.callSuper("toObject"),{src:this._originalImage.src||this._originalImage._src,filters:this.filters.concat()})},toSVG:function(){return''},getSrc:function(){return this.getElement().src||this.getElement()._src},toString:function(){return'#'},clone:function(c){this.constructor.fromObject(this.toObject(),c)},applyFilters:function(i){if(this.filters.length===0){this.setElement(this._originalImage);i&&i();return}var c=typeof Buffer!=="undefined"&&typeof window==="undefined",g=this._originalImage,e=fabric.document.createElement("canvas"),f=c?new (require("canvas").Image):fabric.document.createElement("img"),h=this;if(!e.getContext&&typeof G_vmlCanvasManager!="undefined"){G_vmlCanvasManager.initElement(e)}e.width=g.width;e.height=g.height;e.getContext("2d").drawImage(g,0,0);this.filters.forEach(function(j){j&&j.applyTo(e)});f.onload=function(){h._element=f;i&&i();f.onload=e=g=null};f.width=g.width;f.height=g.height;if(c){var d=e.toDataURL("image/png").replace(/data:image\/png;base64,/,"");f.src=new Buffer(d,"base64");h._element=f;i&&i()}else{f.src=e.toDataURL("image/png")}return this},_render:function(c){c.drawImage(this.getElement(),-this.width/2,-this.height/2,this.width,this.height)},_adjustWidthHeightToBorders:function(c){if(c){this.currentBorder=this.borderwidth;this.width+=(2*this.currentBorder);this.height+=(2*this.currentBorder)}else{this.currentBorder=0}},_resetWidthHeight:function(){var c=this.getElement();this.set("width",c.width);this.set("height",c.height)},_initElement:function(c){this.setElement(fabric.util.getById(c));fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(c){c||(c={});this.setOptions(c);this._setBorder();this._setWidthHeight(c)},_initFilters:function(c){if(c.filters&&c.filters.length){this.filters=c.filters.map(function(d){return d&&fabric.Image.filters[d.type].fromObject(d)})}},_setBorder:function(){if(this.bordervisibility){this.currentBorder=this.borderwidth}else{this.currentBorder=0}},_setWidthHeight:function(c){var d=2*this.currentBorder;this.width="width" in c?c.width:((this.getElement().width||0)+d);this.height="height" in c?c.height:((this.getElement().height||0)+d)},complexity:function(){return 1}});fabric.Image.CSS_CANVAS="canvas-img";fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc;fabric.Image.fromObject=function(d,f){var c=fabric.document.createElement("img"),e=d.src;if(d.width){c.width=d.width}if(d.height){c.height=d.height}c.onload=function(){fabric.Image.prototype._initFilters.call(d,d);var g=new fabric.Image(c,d);f&&f(g);c=c.onload=null};c.src=e};fabric.Image.fromURL=function(d,f,e){var c=fabric.document.createElement("img");c.onload=function(){if(f){f(new fabric.Image(c,e))}c=c.onload=null};c.src=d};fabric.Image.ATTRIBUTE_NAMES="x y width height fill fill-opacity opacity stroke stroke-width transform xlink:href".split(" ");fabric.Image.fromElement=function(d,f,c){c||(c={});var e=fabric.parseAttributes(d,fabric.Image.ATTRIBUTE_NAMES);fabric.Image.fromURL(e["xlink:href"],f,b(e,c))};fabric.Image.async=true})(typeof exports!="undefined"?exports:this);fabric.util.object.extend(fabric.Object.prototype,{_getAngleValueForStraighten:function(){var a=this.get("angle");if(a>-225&&a<=-135){return -180}else{if(a>-135&&a<=-45){return -90}else{if(a>-45&&a<=45){return 0}else{if(a>45&&a<=135){return 90}else{if(a>135&&a<=225){return 180}else{if(a>225&&a<=315){return 270}else{if(a>315){return 360}}}}}}}return 0},straighten:function(){var a=this._getAngleValueForStraighten();this.setAngle(a);return this},fxStraighten:function(b){b=b||{};var c=function(){},d=b.onComplete||c,a=b.onChange||c,e=this;fabric.util.animate({startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(f){e.setAngle(f);a()},onComplete:function(){e.setCoords();d()},onStart:function(){e.setActive(false)}});return this}});fabric.util.object.extend(fabric.StaticCanvas.prototype,{straightenObject:function(a){a.straighten();this.renderAll();return this},fxStraightenObject:function(a){a.fxStraighten({onChange:this.renderAll.bind(this)});return this}});fabric.Image.filters={};fabric.Image.filters.Grayscale=fabric.util.createClass({type:"Grayscale",applyTo:function(d){var c=d.getContext("2d"),a=c.getImageData(0,0,d.width,d.height),h=a.data,e=a.width,l=a.height,k,b,g,f;for(g=0;gh&&m>h&&o>h&&p(a-m)'},_render:function(f){if(typeof Cufon==="undefined"||this.useNative===true){this._renderViaNative(f)}else{this._renderViaCufon(f)}},_renderViaCufon:function(f){var h=Cufon.textOptions||(Cufon.textOptions={});h.left=this.left;h.top=this.top;h.context=f;h.color=this.fill;var g=this._initDummyElementForCufon();this.transform(f);Cufon.replaceElement(g,{engine:"canvas",separate:"none",fontFamily:this.fontFamily,fontWeight:this.fontWeight,textDecoration:this.textDecoration,textShadow:this.textShadow,textAlign:this.textAlign,fontStyle:this.fontStyle,lineHeight:this.lineHeight,strokeStyle:this.strokeStyle,strokeWidth:this.strokeWidth,backgroundColor:this.backgroundColor});this.width=h.width;this.height=h.height;this._totalLineHeight=h.totalLineHeight;this._fontAscent=h.fontAscent;this._boundaries=h.boundaries;this._shadowOffsets=h.shadowOffsets;this._shadows=h.shadows||[];this.setCoords()},_renderViaNative:function(f){this.transform(f);this._setTextStyles(f);var g=this.text.split(/\r?\n/);this.width=this._getTextWidth(f,g);this.height=this._getTextHeight(f,g);this._renderTextBackground(f,g);if(this.textAlign!=="left"){f.save();f.translate(this.textAlign==="center"?(this.width/2):this.width,0)}this._setTextShadow(f);this._renderTextFill(f,g);this.textShadow&&f.restore();this._renderTextStroke(f,g);if(this.textAlign!=="left"){f.restore()}this._renderTextDecoration(f,g);this._setBoundaries(f,g);this._totalLineHeight=0;this.setCoords()},_setBoundaries:function(h,k){this._boundaries=[];for(var j=0,g=k.length;jk){k=l}}return k},_setTextShadow:function(f){if(this.textShadow){var j=/\s+(-?\d+)(?:px)?\s+(-?\d+)(?:px)?\s+(\d+)(?:px)?\s*/;var g=this.textShadow;var i=j.exec(this.textShadow);var h=g.replace(j,"");f.save();f.shadowColor=h;f.shadowOffsetX=parseInt(i[1],10);f.shadowOffsetY=parseInt(i[2],10);f.shadowBlur=parseInt(i[3],10);this._shadows=[{blur:f.shadowBlur,color:f.shadowColor,offX:f.shadowOffsetX,offY:f.shadowOffsetY}];this._shadowOffsets=[[parseInt(f.shadowOffsetX,10),parseInt(f.shadowOffsetY,10)]]}},_renderTextFill:function(g,j){this._boundaries=[];for(var h=0,f=j.length;h-1){f.call(this,this.fontSize)}if(this.textDecoration.indexOf("line-through")>-1){f.call(this,this.fontSize/2)}if(this.textDecoration.indexOf("overline")>-1){f.call(this,0)}},_getFontDeclaration:function(){return[this.fontStyle,this.fontWeight,this.fontSize+"px",this.fontFamily].join(" ")},_initDummyElementForCufon:function(){var g=c.document.createElement("pre"),f=c.document.createElement("div");f.appendChild(g);if(typeof G_vmlCanvasManager=="undefined"){g.innerHTML=this.text}else{g.innerText=this.text.replace(/\r?\n/gi,"\r")}g.style.fontSize=this.fontSize+"px";g.style.letterSpacing="normal";return g},render:function(f,g){f.save();this._render(f);if(!g&&this.active){this.drawBorders(f);this.hideCorners||this.drawCorners(f)}f.restore()},toObject:function(){return e(this.callSuper("toObject"),{text:this.text,fontSize:this.fontSize,fontWeight:this.fontWeight,fontFamily:this.fontFamily,fontStyle:this.fontStyle,lineHeight:this.lineHeight,textDecoration:this.textDecoration,textShadow:this.textShadow,textAlign:this.textAlign,path:this.path,strokeStyle:this.strokeStyle,strokeWidth:this.strokeWidth,backgroundColor:this.backgroundColor})},toSVG:function(){var i=this.text.split(/\r?\n/),j=this.useNative?this.fontSize*this.lineHeight:(-this._fontAscent-((this._fontAscent/5)*this.lineHeight)),g=-(this.width/2),f=this.useNative?this.fontSize-1:(this.height/2)-(i.length*this.fontSize)-this._totalLineHeight,h=this._getSVGTextAndBg(j,g,i),k=this._getSVGShadows(j,i);f+=(this._fontAscent?((this._fontAscent/5)*this.lineHeight):0);return['',h.textBgRects.join(""),"',k.join(""),h.textSpans.join(""),"",""].join("")},_getSVGShadows:function(h,n){var o=[],k,l,p,g,f=1;if(!this._shadows||!this._boundaries){return o}for(k=0,p=this._shadows.length;k",c.util.string.escapeXml(n[l]),"");f=1}else{f++}}}return o},_getSVGTextAndBg:function(j,h,n){var g=[],k=[],l,m,o,f=1;for(l=0,o=n.length;l",c.util.string.escapeXml(n[l]),"");f=1}else{f++}if(!this.backgroundColor||!this._boundaries){continue}k.push("')}return{textSpans:g,textBgRects:k}},_getFillAttributes:function(f){var g=f?new c.Color(f):"";if(!g||!g.getSource()||g.getAlpha()===1){return'fill="'+f+'"'}return'opacity="'+g.getAlpha()+'" fill="'+g.setAlpha(1).toRgb()+'"'},setColor:function(f){this.set("fill",f);return this},setFontsize:function(f){this.set("fontSize",f);this.setCoords();return this},getText:function(){return this.text},setText:function(f){this.set("text",f);this.setCoords();return this},set:function(f,g){if(typeof f=="object"){for(var h in f){this.set(h,f[h])}}else{this[f]=g;if(f==="fontFamily"&&this.path){this.path=this.path.replace(/(.*?)([^\/]*)(\.font\.js)/,"$1"+g+"$3")}}return this}});c.Text.fromObject=function(f){return new c.Text(f.text,d(f))};c.Text.fromElement=function(f){}})(typeof exports!="undefined"?exports:this);(function(){if(typeof document!="undefined"&&typeof window!="undefined"){return}var DOMParser=new require("xmldom").DOMParser,URL=require("url"),HTTP=require("http"),Canvas=require("canvas"),Image=require("canvas").Image;function request(url,encoding,callback){var oURL=URL.parse(url),client=HTTP.createClient(oURL.port,oURL.hostname),request=client.request("GET",oURL.pathname,{host:oURL.hostname});client.addListener("error",function(err){if(err.errno===process.ECONNREFUSED){fabric.log("ECONNREFUSED: connection refused to "+client.host+":"+client.port)}else{fabric.log(err.message)}});request.end();request.on("response",function(response){var body="";if(encoding){response.setEncoding(encoding)}response.on("end",function(){callback(body)});response.on("data",function(chunk){if(response.statusCode==200){body+=chunk}})})}fabric.util.loadImage=function(url,callback){request(url,"binary",function(body){var img=new Image();img.src=new Buffer(body,"binary");img._src=url;callback(img)})};fabric.loadSVGFromURL=function(url,callback){url=url.replace(/^\n\s*/,"").replace(/\?.*$/,"").trim();request(url,"",function(body){fabric.loadSVGFromString(body,callback)})};fabric.loadSVGFromString=function(string,callback){var doc=new DOMParser().parseFromString(string);fabric.parseSVGDocument(doc.documentElement,function(results,options){callback(results,options)})};fabric.util.getScript=function(url,callback){request(url,"",function(body){eval(body);callback&&callback()})};fabric.Image.fromObject=function(object,callback){fabric.util.loadImage(object.src,function(img){var oImg=new fabric.Image(img);oImg._initConfig(object);oImg._initFilters(object);callback(oImg)})};fabric.createCanvasForNode=function(width,height){var canvasEl=fabric.document.createElement("canvas"),nodeCanvas=new Canvas(width||600,height||600);canvasEl.style={};canvasEl.width=nodeCanvas.width;canvasEl.height=nodeCanvas.height;var canvas=fabric.Canvas||fabric.StaticCanvas;var fabricCanvas=new canvas(canvasEl);fabricCanvas.contextContainer=nodeCanvas.getContext("2d");fabricCanvas.nodeCanvas=nodeCanvas;return fabricCanvas};fabric.StaticCanvas.prototype.createPNGStream=function(){return this.nodeCanvas.createPNGStream()};if(fabric.Canvas){fabric.Canvas.prototype.createPNGStream}var origSetWidth=fabric.StaticCanvas.prototype.setWidth;fabric.StaticCanvas.prototype.setWidth=function(width){origSetWidth.call(this);this.nodeCanvas.width=width;return this};if(fabric.Canvas){fabric.Canvas.prototype.setWidth=fabric.StaticCanvas.prototype.setWidth}var origSetHeight=fabric.StaticCanvas.prototype.setHeight;fabric.StaticCanvas.prototype.setHeight=function(height){origSetHeight.call(this);this.nodeCanvas.height=height;return this};if(fabric.Canvas){fabric.Canvas.prototype.setHeight=fabric.StaticCanvas.prototype.setHeight}})(); \ No newline at end of file +var Cufon=(function(){var k=function(){return k.replace.apply(null,arguments)};var u=k.DOM={ready:(function(){var z=false,B={loaded:1,complete:1};var y=[],A=function(){if(z){return}z=true;for(var C;C=y.shift();C()){}};if(fabric.document.addEventListener){fabric.document.addEventListener("DOMContentLoaded",A,false);fabric.window.addEventListener("pageshow",A,false)}if(!fabric.window.opera&&fabric.document.readyState){(function(){B[fabric.document.readyState]?A():setTimeout(arguments.callee,10)})()}if(fabric.document.readyState&&fabric.document.createStyleSheet){(function(){try{fabric.document.body.doScroll("left");A()}catch(C){setTimeout(arguments.callee,1)}})()}o(fabric.window,"load",A);return function(C){if(!arguments.length){A()}else{z?C():y.push(C)}}})()};var l=k.CSS={Size:function(z,y){this.value=parseFloat(z);this.unit=String(z).match(/[a-z%]*$/)[0]||"px";this.convert=function(A){return A/y*this.value};this.convertFrom=function(A){return A/this.value*y};this.toString=function(){return this.value+this.unit}},getStyle:function(y){return new a(y.style)},quotedList:i(function(B){var A=[],z=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,y;while(y=z.exec(B)){A.push(y[3]||y[1])}return A}),ready:(function(){var A=false;var z=[],B=function(){A=true;for(var D;D=z.shift();D()){}};var y=Object.prototype.propertyIsEnumerable?f("style"):{length:0};var C=f("link");u.ready(function(){var G=0,F;for(var E=0,D=C.length;F=C[E],E=y.length+G){B()}else{setTimeout(arguments.callee,10)}});return function(D){if(A){D()}else{z.push(D)}}})(),supports:function(A,z){var y=fabric.document.createElement("span").style;if(y[A]===undefined){return false}y[A]=z;return y[A]===z},textAlign:function(B,A,y,z){if(A.get("textAlign")=="right"){if(y>0){B=" "+B}}else{if(y400}if(F==500){F=400}for(var G in D){G=parseInt(G,10);if(!C||GA){A=G}H.push(G)}if(FA){F=A}H.sort(function(J,I){return(B?(J>F&&I>F)?JI:(JI:Jz){z=e}L.push(e);e=0;continue}var B=ab.glyphs[ag[aa]]||ab.missingGlyph;if(!B){continue}e+=D=Number(B.w||ab.w)+U}L.push(e);e=Math.max(z,e);var m=[];for(var aa=L.length;aa--;){m[aa]=e-L[aa]}if(D===null){return null}V+=(H.width-D);C+=H.minX;var v,p;if(n){v=J;p=J.firstChild}else{v=fabric.document.createElement("span");v.className="cufon cufon-canvas";v.alt=E;p=fabric.document.createElement("canvas");v.appendChild(p);if(A.printable){var Y=fabric.document.createElement("span");Y.className="cufon-alt";Y.appendChild(fabric.document.createTextNode(E));v.appendChild(Y)}}var ah=v.style;var O=p.style||{};var k=o.convert(H.height-I+T);var af=Math.ceil(k);var S=af/k;p.width=Math.ceil(o.convert(e+V-C)*S);p.height=af;I+=H.minY;O.top=Math.round(o.convert(I-ab.ascent))+"px";O.left=Math.round(o.convert(C))+"px";var j=Math.ceil(o.convert(e*S));var t=j+"px";var s=o.convert(ab.height);var F=(A.lineHeight-1)*o.convert(-ab.ascent/5)*(M-1);Cufon.textOptions.width=j;Cufon.textOptions.height=(s*M)+F;Cufon.textOptions.lines=M;Cufon.textOptions.totalLineHeight=F;if(a){ah.width=t;ah.height=s+"px"}else{ah.paddingLeft=t;ah.paddingBottom=(s-1)+"px"}var ad=Cufon.textOptions.context||p.getContext("2d"),K=af/H.height;Cufon.textOptions.fontAscent=ab.ascent*K;Cufon.textOptions.boundaries=null;for(var w=Cufon.textOptions.shadowOffsets,aa=R.length;aa--;){w[aa]=[R[aa][0]*K,R[aa][1]*K]}ad.save();ad.scale(K,K);ad.translate(-C-((1/K*p.width)/2)+(Cufon.fonts[ab.family].offsetLeft||0),-I-((Cufon.textOptions.height/K)/2)+(Cufon.fonts[ab.family].offsetTop||0));ad.lineWidth=ab.face["underline-thickness"];ad.save();function q(l,i){ad.strokeStyle=i;ad.beginPath();ad.moveTo(0,l);ad.lineTo(e,l);ad.stroke()}var r=Cufon.getTextDecoration(A),u=A.fontStyle==="italic";function ae(){ad.save();ad.fillStyle=A.backgroundColor;var aj=0,an=0,y=[{left:0}];if(A.textAlign==="right"){ad.translate(m[an],0);y[0].left=m[an]*K}else{if(A.textAlign==="center"){ad.translate(m[an]/2,0);y[0].left=m[an]/2*K}}for(var al=0,ak=ag.length;al.cufon-vml-canvas{text-indent:0}@media screen{cvml\\:shape,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute}.cufon-vml-canvas{position:absolute;text-align:left}.cufon-vml{display:inline-block;position:relative;vertical-align:middle}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none}.cufon-vml .cufon-alt{display:inline}}');function c(e,f){return a(e,/(?:em|ex|%)$/i.test(f)?"1em":f)}function a(h,i){if(/px$/i.test(i)){return parseFloat(i)}var g=h.style.left,f=h.runtimeStyle.left;h.runtimeStyle.left=h.currentStyle.left;h.style.left=i;var e=h.style.pixelLeft;h.style.left=g;h.runtimeStyle.left=f;return e}return function(T,z,O,w,D,U,M){var h=(z===null);if(h){z=D.alt}var B=T.viewBox;var j=O.computedFontSize||(O.computedFontSize=new Cufon.CSS.Size(c(U,O.get("fontSize"))+"px",T.baseSize));var L=O.computedLSpacing;if(L==undefined){L=O.get("letterSpacing");O.computedLSpacing=L=(L=="normal")?0:~~j.convertFrom(a(U,L))}var t,m;if(h){t=D;m=D.firstChild}else{t=fabric.document.createElement("span");t.className="cufon cufon-vml";t.alt=z;m=fabric.document.createElement("span");m.className="cufon-vml-canvas";t.appendChild(m);if(w.printable){var R=fabric.document.createElement("span");R.className="cufon-alt";R.appendChild(fabric.document.createTextNode(z));t.appendChild(R)}if(!M){t.appendChild(fabric.document.createElement("cvml:shape"))}}var Z=t.style;var G=m.style;var f=j.convert(B.height),W=Math.ceil(f);var K=W/f;var J=B.minX,I=B.minY;G.height=W;G.top=Math.round(j.convert(I-T.ascent));G.left=Math.round(j.convert(J));Z.height=j.convert(T.height)+"px";var p=Cufon.getTextDecoration(w);var y=O.get("color");var X=Cufon.CSS.textTransform(z,O).split("");var e=0,H=0,q=null;var x,r,A=w.textShadow;for(var S=0,Q=0,P=X.length;Sw?p:(o-n);s(t(currentTime,m,byValue,p));if(o>w||q()){x.onComplete&&x.onComplete();return}k(r)})()}var f=fabric.window.requestAnimationFrame||fabric.window.webkitRequestAnimationFrame||fabric.window.mozRequestAnimationFrame||fabric.window.oRequestAnimationFrame||fabric.window.msRequestAnimationFrame||function(n,m){fabric.window.setTimeout(n,1000/60)};var k=function(){return f.apply(fabric.window,arguments)};function b(n,p,o){if(n){var m=new Image();m.onload=function(){p&&p.call(o,m);m=m.onload=null};m.src=n}else{p&&p.call(o,n)}}function i(o,s){function n(t){return fabric[fabric.util.string.camelize(fabric.util.string.capitalize(t))]}var q=[],p=0,m=o.filter(function(t){return n(t.type).async}).length;var r=this;o.forEach(function(v,u){if(!v.type){return}var t=n(v.type);if(t.async){t.fromObject(v,function(w){q[u]=w;if(++p===m){if(s){s(q)}}})}else{q[u]=t.fromObject(v)}});if(m===0&&s){s(q)}}function a(o,n,p){var m=o.length>1?new fabric.PathGroup(o,n):o[0];if(typeof p!=="undefined"){m.setSourcePath(p)}return m}fabric.util.removeFromArray=j;fabric.util.degreesToRadians=c;fabric.util.toFixed=e;fabric.util.getRandomInt=g;fabric.util.falseFunction=l;fabric.util.animate=d;fabric.util.requestAnimFrame=k;fabric.util.loadImage=b;fabric.util.enlivenObjects=i;fabric.util.groupSVGElements=a})();(function(){var d=Array.prototype.slice;if(!Array.prototype.indexOf){Array.prototype.indexOf=function(g){if(this===void 0||this===null){throw new TypeError()}var h=Object(this),e=h.length>>>0;if(e===0){return -1}var i=0;if(arguments.length>0){i=Number(arguments[1]);if(i!==i){i=0}else{if(i!==0&&i!==(1/0)&&i!==-(1/0)){i=(i>0||-1)*Math.floor(Math.abs(i))}}}if(i>=e){return -1}var f=i>=0?i:Math.max(e-Math.abs(i),0);for(;f>>0;f>>0;g>>0;f>>0;f>>0;g>>0,f=0,h;if(arguments.length>1){h=arguments[1]}else{do{if(f in this){h=this[f++];break}if(++f>=e){throw new TypeError()}}while(true)}for(;f=e){e=h[f][g]}}}else{while(f--){if(h[f]>=e){e=h[f]}}}return e}function c(h,g){if(!h||h.length===0){return undefined}var f=h.length-1,e=g?h[f][g]:h[f];if(g){while(f--){if(h[f][g]/g,">")}fabric.util.string={camelize:b,capitalize:c,escapeXml:a}}());(function(){var c=Array.prototype.slice,a=Function.prototype.apply,b=function(){};if(!Function.prototype.bind){Function.prototype.bind=function(d){var g=this,e=c.call(arguments,1),f;if(e.length){f=function(){return a.call(g,this instanceof b?this:d,e.concat(c.call(arguments)))}}else{f=function(){return a.call(g,this instanceof b?this:d,arguments)}}b.prototype=this.prototype;f.prototype=new b;return f}}})();(function(){var f=Array.prototype.slice,e=function(){};var c=(function(){for(var g in {toString:1}){if(g==="toString"){return false}}return true})();var b=function(g,j,h){for(var i in j){if(i in g.prototype&&typeof g.prototype[i]=="function"){g.prototype[i]=(function(k){return function(){var m=this.constructor.superclass;this.constructor.superclass=h;var l=j[k].apply(this,arguments);this.constructor.superclass=m;if(k!=="initialize"){return l}}})(i)}else{g.prototype[i]=j[i]}if(c){if(j.toString!==Object.prototype.toString){g.prototype.toString=j.toString}if(j.valueOf!==Object.prototype.valueOf){g.prototype.valueOf=j.valueOf}}}};function a(){}function d(){var k=null,j=f.call(arguments,0);if(typeof j[0]==="function"){k=j.shift()}function g(){this.initialize.apply(this,arguments)}g.superclass=k;g.subclasses=[];if(k){a.prototype=k.prototype;g.prototype=new a;k.subclasses.push(g)}for(var h=0,l=j.length;h-1?c(j,l.match(/opacity:\s*(\d?\.?\d*)/)[1]):j}for(var m in l){if(m==="opacity"){c(j,l[m])}else{var k=(m==="float"||m==="cssFloat")?(typeof n.styleFloat==="undefined"?"cssFloat":"styleFloat"):m;n[k]=l[m]}}return j}var h=fabric.document.createElement("div"),g=typeof h.style.opacity==="string",b=typeof h.style.filter==="string",a=fabric.document.defaultView,f=a&&typeof a.getComputedStyle!=="undefined",d=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,c=function(i){return i};if(g){c=function(i,j){i.style.opacity=j;return i}}else{if(b){c=function(i,j){var k=i.style;if(i.currentStyle&&!i.currentStyle.hasLayout){k.zoom=1}if(d.test(k.filter)){j=j>=0.9999?"":("alpha(opacity="+(j*100)+")");k.filter=k.filter.replace(d,j)}else{k.filter+=" alpha(opacity="+(j*100)+")"}return i}}}fabric.util.setStyle=e})();(function(){var h=Array.prototype.slice;function g(j){return typeof j==="string"?fabric.document.getElementById(j):j}function b(j){return h.call(j,0)}try{var i=b(fabric.document.childNodes) instanceof Array}catch(a){}if(!i){b=function(k){var j=new Array(k.length),l=k.length;while(l--){j[l]=k[l]}return j}}function c(k,j){var l=fabric.document.createElement(k);for(var m in j){if(m==="class"){l.className=j[m]}else{if(m==="for"){l.htmlFor=j[m]}else{l.setAttribute(m,j[m])}}}return l}function f(j,k){if((" "+j.className+" ").indexOf(" "+k+" ")===-1){j.className+=(j.className?" ":"")+k}}function e(k,l,j){if(typeof l==="string"){l=c(l,j)}if(k.parentNode){k.parentNode.replaceChild(l,k)}l.appendChild(k);return l}function d(k){var j=0,l=0;do{j+=k.offsetTop||0;l+=k.offsetLeft||0;k=k.offsetParent}while(k);return({left:l,top:j})}(function(){var k=fabric.document.documentElement.style;var l="userSelect" in k?"userSelect":"MozUserSelect" in k?"MozUserSelect":"WebkitUserSelect" in k?"WebkitUserSelect":"KhtmlUserSelect" in k?"KhtmlUserSelect":"";function m(n){if(typeof n.onselectstart!=="undefined"){n.onselectstart=fabric.util.falseFunction}if(l){n.style[l]="none"}else{if(typeof n.unselectable=="string"){n.unselectable="on"}}return n}function j(n){if(typeof n.onselectstart!=="undefined"){n.onselectstart=null}if(l){n.style[l]=""}else{if(typeof n.unselectable=="string"){n.unselectable=""}}return n}fabric.util.makeElementUnselectable=m;fabric.util.makeElementSelectable=j})();(function(){function j(k,o){var m=fabric.document.getElementsByTagName("head")[0],l=fabric.document.createElement("script"),n=true;l.type="text/javascript";l.setAttribute("runat","server");l.onload=l.onreadystatechange=function(p){if(n){if(typeof this.readyState=="string"&&this.readyState!=="loaded"&&this.readyState!=="complete"){return}n=false;o(p||fabric.window.event);l=l.onload=l.onreadystatechange=null}};l.src=k;m.appendChild(l)}fabric.util.getScript=j})();fabric.util.getById=g;fabric.util.toArray=b;fabric.util.makeElement=c;fabric.util.addClass=f;fabric.util.wrapElement=e;fabric.util.getElementOffset=d})();(function(){function d(e,f){return e+(/\?/.test(e)?"&":"?")+f}var c=(function(){var h=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.3.0")},function(){return new XMLHttpRequest()}];for(var e=h.length;e--;){try{var g=h[e]();if(g){return h[e]}}catch(f){}}})();function a(){}function b(g,f){f||(f={});var j=f.method?f.method.toUpperCase():"GET",i=f.onComplete||function(){},h=c(),e;h.onreadystatechange=function(){if(h.readyState===4){i(h);h.onreadystatechange=a}};if(j==="GET"){e=null;if(typeof f.parameters=="string"){g=d(g,f.parameters)}}h.open(j,g,true);if(j==="POST"||j==="PUT"){h.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}h.send(e);return h}fabric.util.request=b})();(function(){function d(F,E,H,G){return H*(F/=G)*F+E}function l(F,E,H,G){return -H*(F/=G)*(F-2)+E}function r(F,E,H,G){if((F/=G/2)<1){return H/2*F*F+E}return -H/2*((--F)*(F-2)-1)+E}function B(F,E,H,G){return H*(F/=G)*F*F+E}function q(F,E,H,G){return H*((F=F/G-1)*F*F+1)+E}function u(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F+E}return H/2*((F-=2)*F*F+2)+E}function t(F,E,H,G){return H*(F/=G)*F*F*F+E}function g(F,E,H,G){return -H*((F=F/G-1)*F*F*F-1)+E}function k(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F+E}return -H/2*((F-=2)*F*F*F-2)+E}function y(F,E,H,G){return H*(F/=G)*F*F*F*F+E}function j(F,E,H,G){return H*((F=F/G-1)*F*F*F*F+1)+E}function n(F,E,H,G){if((F/=G/2)<1){return H/2*F*F*F*F*F+E}return H/2*((F-=2)*F*F*F*F+2)+E}function f(F,E,H,G){return -H*Math.cos(F/G*(Math.PI/2))+H+E}function o(F,E,H,G){return H*Math.sin(F/G*(Math.PI/2))+E}function v(F,E,H,G){return -H/2*(Math.cos(Math.PI*F/G)-1)+E}function D(F,E,H,G){return(F==0)?E:H*Math.pow(2,10*(F/G-1))+E}function c(F,E,H,G){return(F==G)?E+H:H*(-Math.pow(2,-10*F/G)+1)+E}function i(F,E,H,G){if(F==0){return E}if(F==G){return E+H}if((F/=G/2)<1){return H/2*Math.pow(2,10*(F-1))+E}return H/2*(-Math.pow(2,-10*--F)+2)+E}function h(F,E,H,G){return -H*(Math.sqrt(1-(F/=G)*F)-1)+E}function p(F,E,H,G){return H*Math.sqrt(1-(F=F/G-1)*F)+E}function x(F,E,H,G){if((F/=G/2)<1){return -H/2*(Math.sqrt(1-F*F)-1)+E}return H/2*(Math.sqrt(1-(F-=2)*F)+1)+E}function s(G,E,K,J){var H=1.70158;var I=0;var F=K;if(G==0){return E}if((G/=J)==1){return E+K}if(!I){I=J*0.3}if(F-1;w=w.split(/\s+/);var u=[];if(y){for(var v=0,t=w.length;v/i,""))}if(!w.documentElement){return}h.parseSVGDocument(w.documentElement,function(z,y){k.set(t,{objects:h.util.array.invoke(z,"toObject"),options:y});v(z,y)})}}function b(v){var u=v.objects,t=v.options;u=u.map(function(w){return h[f(w.type)].fromObject(w)});return({objects:u,options:t})}function n(t,w){t=t.trim();var u;if(typeof DOMParser!=="undefined"){var v=new DOMParser();if(v&&v.parseFromString){u=v.parseFromString(t,"text/xml")}}else{if(h.window.ActiveXObject){var u=new ActiveXObject("Microsoft.XMLDOM");u.async="false";u.loadXML(t.replace(//i,""))}}h.parseSVGDocument(u.documentElement,function(y,x){w(y,x)})}function m(w){var u="";for(var v=0,t=w.length;v",'",""].join("")}return u}p(h,{parseAttributes:e,parseElements:g,parseStyleAttribute:i,parsePointsAttribute:s,getCSSRules:d,loadSVGFromURL:c,loadSVGFromString:n,createSVGFontFacesMarkup:m})})(typeof exports!="undefined"?exports:this);(function(){function c(h){var g=h.getAttribute("style");if(g){var k=g.split(/\s*;\s*/);if(k[k.length-1]===""){k.pop()}for(var f=k.length;f--;){var e=k[f].split(/\s*:\s*/),d=e[0].trim(),j=e[1].trim();if(d==="stop-color"){return j}}}}fabric.Gradient={create:function(l,m){m||(m={});var f=m.x1||0,k=m.y1||0,e=m.x2||l.canvas.width,i=m.y2||0,g=m.colorStops;var j=l.createLinearGradient(f,k,e,i);for(var h in g){var d=g[h];j.addColorStop(parseFloat(h),d)}return j},fromElement:function(d,m,l){var j=d.getElementsByTagName("stop"),d,f,e={},g,k={x1:d.getAttribute("x1")||0,y1:d.getAttribute("y1")||0,x2:d.getAttribute("x2")||"100%",y2:d.getAttribute("y2")||0};for(var h=j.length;h--;){d=j[h];f=d.getAttribute("offset");f=parseFloat(f)/(/%$/.test(f)?100:1);e[f]=c(d)||d.getAttribute("stop-color")}a(l,k);return fabric.Gradient.create(m,{x1:k.x1,y1:k.y1,x2:k.x2,y2:k.y2,colorStops:e})},forObject:function(g,d,e){e||(e={});a(g,e);var f=fabric.Gradient.create(d,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,colorStops:e.colorStops});return f}};function a(f,e){for(var g in e){if(typeof e[g]==="string"&&/^\d+%$/.test(e[g])){var d=parseFloat(e[g],10);if(g==="x1"||g==="x2"){e[g]=f.width*d/100}else{if(g==="y1"||g==="y2"){e[g]=f.height*d/100}}}if(g==="x1"||g==="x2"){e[g]-=f.width/2}else{if(g==="y1"||g==="y2"){e[g]-=f.height/2}}}}function b(j){var f=j.getElementsByTagName("linearGradient"),d=j.getElementsByTagName("radialGradient"),g,h={};for(var e=f.length;e--;){g=f[e];h[g.id]=g}for(var e=d.length;e--;){g=d[e];h[g.id]=g}return h}fabric.getGradientDefs=b})();(function(b){var c=b.fabric||(b.fabric={});if(c.Point){c.warn("fabric.Point is already defined");return}c.Point=a;function a(d,e){if(arguments.length>0){this.init(d,e)}}a.prototype={constructor:a,init:function(d,e){this.x=d;this.y=e},add:function(d){return new a(this.x+d.x,this.y+d.y)},addEquals:function(d){this.x+=d.x;this.y+=d.y;return this},scalarAdd:function(d){return new a(this.x+d,this.y+d)},scalarAddEquals:function(d){this.x+=d;this.y+=d;return this},subtract:function(d){return new a(this.x-d.x,this.y-d.y)},subtractEquals:function(d){this.x-=d.x;this.y-=d.y;return this},scalarSubtract:function(d){return new a(this.x-d,this.y-d)},scalarSubtractEquals:function(d){this.x-=d;this.y-=d;return this},multiply:function(d){return new a(this.x*d,this.y*d)},multiplyEquals:function(d){this.x*=d;this.y*=d;return this},divide:function(d){return new a(this.x/d,this.y/d)},divideEquals:function(d){this.x/=d;this.y/=d;return this},eq:function(d){return(this.x==d.x&&this.y==d.y)},lt:function(d){return(this.xd.x&&this.y>d.y)},gte:function(d){return(this.x>=d.x&&this.y>=d.y)},lerp:function(e,d){return new a(this.x+(e.x-this.x)*d,this.y+(e.y-this.y)*d)},distanceFrom:function(f){var e=this.x-f.x,d=this.y-f.y;return Math.sqrt(e*e+d*d)},min:function(d){return new a(Math.min(this.x,d.x),Math.min(this.y,d.y))},max:function(d){return new a(Math.max(this.x,d.x),Math.max(this.y,d.y))},toString:function(){return this.x+","+this.y},setXY:function(d,e){this.x=d;this.y=e},setFromPoint:function(d){this.x=d.x;this.y=d.y},swap:function(e){var d=this.x,f=this.y;this.x=e.x;this.y=e.y;e.x=d;e.y=f}}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Intersection){b.warn("fabric.Intersection is already defined");return}function c(d){if(arguments.length>0){this.init(d)}}b.Intersection=c;b.Intersection.prototype={init:function(d){this.status=d;this.points=[]},appendPoint:function(d){this.points.push(d)},appendPoints:function(d){this.points=this.points.concat(d)}};b.Intersection.intersectLineLine=function(h,f,l,k){var m,i=(k.x-l.x)*(h.y-l.y)-(k.y-l.y)*(h.x-l.x),j=(f.x-h.x)*(h.y-l.y)-(f.y-h.y)*(h.x-l.x),g=(k.y-l.y)*(f.x-h.x)-(k.x-l.x)*(f.y-h.y);if(g!=0){var e=i/g,d=j/g;if(0<=e&&e<=1&&0<=d&&d<=1){m=new c("Intersection");m.points.push(new b.Point(h.x+e*(f.x-h.x),h.y+e*(f.y-h.y)))}else{m=new c("No Intersection")}}else{if(i==0||j==0){m=new c("Coincident")}else{m=new c("Parallel")}}return m};b.Intersection.intersectLinePolygon=function(e,d,l){var m=new c("No Intersection"),f=l.length;for(var h=0;h0){m.status="Intersection"}return m};b.Intersection.intersectPolygonPolygon=function(j,h){var f=new c("No Intersection"),l=j.length;for(var k=0;k0){f.status="Intersection"}return f};b.Intersection.intersectPolygonRectangle=function(n,e,d){var g=e.min(d),m=e.max(d),f=new b.Point(m.x,g.y),l=new b.Point(g.x,m.y),k=c.intersectLinePolygon(g,f,n),j=c.intersectLinePolygon(f,m,n),i=c.intersectLinePolygon(m,l,n),h=c.intersectLinePolygon(l,g,n),o=new c("No Intersection");o.appendPoints(k.points);o.appendPoints(j.points);o.appendPoints(i.points);o.appendPoints(h.points);if(o.points.length>0){o.status="Intersection"}return o}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Color){b.warn("fabric.Color is already defined.");return}function c(d){if(!d){this.setSource([0,0,0,1])}else{this._tryParsingColor(d)}}b.Color=c;b.Color.prototype={_tryParsingColor:function(d){var e=c.sourceFromHex(d);if(!e){e=c.sourceFromRgb(d)}if(e){this.setSource(e)}},getSource:function(){return this._source},setSource:function(d){this._source=d},toRgb:function(){var d=this.getSource();return"rgb("+d[0]+","+d[1]+","+d[2]+")"},toRgba:function(){var d=this.getSource();return"rgba("+d[0]+","+d[1]+","+d[2]+","+d[3]+")"},toHex:function(){var h=this.getSource();var f=h[0].toString(16);f=(f.length==1)?("0"+f):f;var e=h[1].toString(16);e=(e.length==1)?("0"+e):e;var d=h[2].toString(16);d=(d.length==1)?("0"+d):d;return f.toUpperCase()+e.toUpperCase()+d.toUpperCase()},getAlpha:function(){return this.getSource()[3]},setAlpha:function(e){var d=this.getSource();d[3]=e;this.setSource(d);return this},toGrayscale:function(){var f=this.getSource(),e=parseInt((f[0]*0.3+f[1]*0.59+f[2]*0.11).toFixed(0),10),d=f[3];this.setSource([e,e,e,d]);return this},toBlackWhite:function(d){var g=this.getSource(),f=(g[0]*0.3+g[1]*0.59+g[2]*0.11).toFixed(0),e=g[3],d=d||127;f=(Number(f)','',"',"Created with Fabric.js ",fabric.version,"",fabric.createSVGFontFacesMarkup(this.getObjects())];if(this.backgroundImage){h.push('')}for(var j=0,k=this.getObjects(),g=k.length;j");return h.join("")},isEmpty:function(){return this._objects.length===0},remove:function(g){e(this._objects,g);if(this.getActiveObject()===g){this.fire("before:selection:cleared",{target:g});this.discardActiveObject();this.fire("selection:cleared")}this.renderAll();return g},sendToBack:function(g){e(this._objects,g);this._objects.unshift(g);return this.renderAll()},bringToFront:function(g){e(this._objects,g);this._objects.push(g);return this.renderAll()},sendBackwards:function(j){var h=this._objects.indexOf(j),g=h;if(h!==0){for(var k=h-1;k>=0;--k){if(j.intersectsWithObject(this._objects[k])||j.isContainedWithinObject(this._objects[k])){g=k;break}}e(this._objects,j);this._objects.splice(g,0,j)}return this.renderAll()},bringForward:function(k){var n=this.getObjects(),h=n.indexOf(k),g=h;if(h!==n.length-1){for(var m=h+1,j=this._objects.length;m"};f(fabric.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',toGrayscale:function(l){var k=l.getContext("2d"),g=k.getImageData(0,0,l.width,l.height),p=g.data,m=g.width,r=g.height,q,h,o,n;for(o=0;o0)?0:-v),r.ey-((u>0)?0:-u),t,s);this.contextTop.lineWidth=this.selectionLineWidth;this.contextTop.strokeStyle=this.selectionBorderColor;this.contextTop.strokeRect(r.ex+a-((v>0)?0:t),r.ey+a-((u>0)?0:s),t,s)},_findSelectedObjects:function(x){var y,t,D=[],s=this._groupSelector.ex,C=this._groupSelector.ey,r=s+this._groupSelector.left,A=C+this._groupSelector.top,z,w=new fabric.Point(f(s,r),f(C,A)),B=new fabric.Point(l(s,r),l(C,A));for(var u=0,v=this._objects.length;u1){var D=new fabric.Group(D);this.setActiveGroup(D);D.saveCoords();this.fire("selection:created",{target:D})}}this.renderAll()},findTarget:function(v,s){var u,w=this.getPointer(v);var t=this.getActiveGroup();if(t&&!s&&this.containsPoint(v,t)){u=t;return u}for(var r=this._objects.length;r--;){if(this._objects[r]&&this.containsPoint(v,this._objects[r])){u=this._objects[r];this.relatedTarget=u;break}}if(u&&u.selectable){return u}},getPointer:function(r){var s=q(r);return{x:s.x-this._offset.left,y:s.y-this._offset.top}},_createUpperCanvas:function(){this.upperCanvasEl=this._createCanvasElement();this.upperCanvasEl.className="upper-canvas";this.wrapperEl.appendChild(this.upperCanvasEl);this._applyCanvasStyle(this.upperCanvasEl);this.contextTop=this.upperCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=fabric.util.wrapElement(this.lowerCanvasEl,"div",{"class":this.containerClass});fabric.util.setStyle(this.wrapperEl,{width:this.getWidth()+"px",height:this.getHeight()+"px",position:"relative"});fabric.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(s){var t=this.getWidth()||s.width,r=this.getHeight()||s.height;fabric.util.setStyle(s,{position:"absolute",width:t+"px",height:r+"px",left:0,top:0});s.width=t;s.height=r;fabric.util.makeElementUnselectable(s)},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},setActiveObject:function(r,s){if(this._activeObject){this._activeObject.setActive(false)}this._activeObject=r;r.setActive(true);this.renderAll();this.fire("object:selected",{target:r,e:s});r.fire("selected",{e:s});return this},getActiveObject:function(){return this._activeObject},discardActiveObject:function(){if(this._activeObject){this._activeObject.setActive(false)}this._activeObject=null;return this},setActiveGroup:function(r){this._activeGroup=r;r&&r.setActive(true);return this},getActiveGroup:function(){return this._activeGroup},discardActiveGroup:function(){var r=this.getActiveGroup();if(r){r.destroy()}return this.setActiveGroup(null)},deactivateAll:function(){var s=this.getObjects(),t=0,r=s.length;for(;t1)?q.apply(this,o.call(arguments,1)):q.call(this)},initialize:function(i){i&&this.setOptions(i)},setOptions:function(q){var r=this.stateProperties.length,s;while(r--){s=this.stateProperties[r];if(s in q){this.set(s,q[s])}}},transform:function(i){i.globalAlpha=this.opacity;i.translate(this.left,this.top);i.rotate(this.theta);i.scale(this.scaleX*(this.flipX?-1:1),this.scaleY*(this.flipY?-1:1))},toObject:function(){var i={type:this.type,left:c(this.left,this.NUM_FRACTION_DIGITS),top:c(this.top,this.NUM_FRACTION_DIGITS),width:c(this.width,this.NUM_FRACTION_DIGITS),height:c(this.height,this.NUM_FRACTION_DIGITS),fill:this.fill,overlayFill:this.overlayFill,stroke:this.stroke,strokeWidth:this.strokeWidth,scaleX:c(this.scaleX,this.NUM_FRACTION_DIGITS),scaleY:c(this.scaleY,this.NUM_FRACTION_DIGITS),angle:c(this.getAngle(),this.NUM_FRACTION_DIGITS),flipX:this.flipX,flipY:this.flipY,opacity:c(this.opacity,this.NUM_FRACTION_DIGITS),selectable:this.selectable,hasControls:this.hasControls,hasBorders:this.hasBorders,hasRotatingPoint:this.hasRotatingPoint};if(!this.includeDefaultValues){i=this._removeDefaultValues(i)}return i},toDatalessObject:function(){return this.toObject()},getSvgStyles:function(){return["stroke: ",(this.stroke?this.stroke:"none"),"; ","stroke-width: ",(this.strokeWidth?this.strokeWidth:"0"),"; ","fill: ",(this.fill?this.fill:"none"),"; ","opacity: ",(this.opacity?this.opacity:"1"),";"].join("")},getSvgTransform:function(){var i=this.getAngle();return["translate(",c(this.left,2)," ",c(this.top,2),")",i!==0?(" rotate("+c(i,2)+")"):"",(this.scaleX===1&&this.scaleY===1)?"":(" scale("+c(this.scaleX,2)+" "+c(this.scaleY,2)+")")].join("")},_removeDefaultValues:function(q){var i=d.Object.prototype.options;if(i){this.stateProperties.forEach(function(r){if(q[r]===i[r]){delete q[r]}})}return q},isActive:function(){return !!this.active},setActive:function(i){this.active=!!i;return this},toString:function(){return"#"},set:function(q,i){var s=(q==="scaleX"||q==="scaleY")&&ir.x&&s.xr.y&&u.y=v)&&(s.d.y>=v)){continue}if((s.o.x==s.d.x)&&(s.o.x>=w)){x=s.o.x;u=v}else{z=0;y=(s.d.y-s.o.y)/(s.d.x-s.o.x);r=v-z*w;q=s.o.y-y*s.o.x;x=-(r-q)/(z-y);u=r+z*x}if(x>=w){t+=1}if(t==2){break}}return t},_getImageLines:function(r,q){return{topline:{o:r.tl,d:r.tr},rightline:{o:r.tr,d:r.br},bottomline:{o:r.br,d:r.bl},leftline:{o:r.bl,d:r.tl}}},_setCornerCoords:function(){var u=this.oCoords,q=b(45-this.getAngle()),s=Math.sqrt(2*Math.pow(this.cornersize,2))/2,i=s*Math.cos(q),r=s*Math.sin(q),v=Math.sin(this.theta),t=Math.cos(this.theta);u.tl.corner={tl:{x:u.tl.x-r,y:u.tl.y-i},tr:{x:u.tl.x+i,y:u.tl.y-r},bl:{x:u.tl.x-i,y:u.tl.y+r},br:{x:u.tl.x+r,y:u.tl.y+i}};u.tr.corner={tl:{x:u.tr.x-r,y:u.tr.y-i},tr:{x:u.tr.x+i,y:u.tr.y-r},br:{x:u.tr.x+r,y:u.tr.y+i},bl:{x:u.tr.x-i,y:u.tr.y+r}};u.bl.corner={tl:{x:u.bl.x-r,y:u.bl.y-i},bl:{x:u.bl.x-i,y:u.bl.y+r},br:{x:u.bl.x+r,y:u.bl.y+i},tr:{x:u.bl.x+i,y:u.bl.y-r}};u.br.corner={tr:{x:u.br.x+i,y:u.br.y-r},bl:{x:u.br.x-i,y:u.br.y+r},br:{x:u.br.x+r,y:u.br.y+i},tl:{x:u.br.x-r,y:u.br.y-i}};u.ml.corner={tl:{x:u.ml.x-r,y:u.ml.y-i},tr:{x:u.ml.x+i,y:u.ml.y-r},bl:{x:u.ml.x-i,y:u.ml.y+r},br:{x:u.ml.x+r,y:u.ml.y+i}};u.mt.corner={tl:{x:u.mt.x-r,y:u.mt.y-i},tr:{x:u.mt.x+i,y:u.mt.y-r},bl:{x:u.mt.x-i,y:u.mt.y+r},br:{x:u.mt.x+r,y:u.mt.y+i}};u.mr.corner={tl:{x:u.mr.x-r,y:u.mr.y-i},tr:{x:u.mr.x+i,y:u.mr.y-r},bl:{x:u.mr.x-i,y:u.mr.y+r},br:{x:u.mr.x+r,y:u.mr.y+i}};u.mb.corner={tl:{x:u.mb.x-r,y:u.mb.y-i},tr:{x:u.mb.x+i,y:u.mb.y-r},bl:{x:u.mb.x-i,y:u.mb.y+r},br:{x:u.mb.x+r,y:u.mb.y+i}};u.mtr.corner={tl:{x:u.mtr.x-r+(v*this.rotatingPointOffset),y:u.mtr.y-i-(t*this.rotatingPointOffset)},tr:{x:u.mtr.x+i+(v*this.rotatingPointOffset),y:u.mtr.y-r-(t*this.rotatingPointOffset)},bl:{x:u.mtr.x-i+(v*this.rotatingPointOffset),y:u.mtr.y+r-(t*this.rotatingPointOffset)},br:{x:u.mtr.x+r+(v*this.rotatingPointOffset),y:u.mtr.y+i-(t*this.rotatingPointOffset)}}},toGrayscale:function(){var i=this.get("fill");if(i){this.set("overlayFill",new d.Color(i).toGrayscale().toRgb())}return this},complexity:function(){return 0},toJSON:function(){return this.toObject()},setGradientFill:function(i,q){this.set("fill",d.Gradient.forObject(this,i,q))},animate:function(q,s,i){var r=this;i||(i={});if(!("from" in i)){i.from=this.get(q)}if(/[+-]/.test((s+"").charAt(0))){s=this.get(q)+parseFloat(s)}d.util.animate({startValue:i.from,endValue:s,byValue:i.by,easing:i.easing,duration:i.duration,onChange:function(t){r.set(q,t);i.onChange&&i.onChange()},onComplete:function(){r.setCoords();i.onComplete&&i.onComplete()}})}});d.Object.prototype.rotate=d.Object.prototype.setAngle;var j=d.Object.prototype;for(var g=j.stateProperties.length;g--;){var h=j.stateProperties[g],e=h.charAt(0).toUpperCase()+h.slice(1),f="set"+e,n="get"+e;if(!j[n]){j[n]=(function(i){return new Function('return this.get("'+i+'")')})(h)}if(!j[f]){j[f]=(function(i){return new Function("value",'return this.set("'+i+'", value)')})(h)}}l(d.Object.prototype,d.Observable)})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={}),e=c.util.object.extend,d=c.Object.prototype.set,a={x1:1,x2:1,y1:1,y2:1};if(c.Line){c.warn("fabric.Line is already defined");return}c.Line=c.util.createClass(c.Object,{type:"line",initialize:function(g,f){if(!g){g=[0,0,0,0]}this.callSuper("initialize",f);this.set("x1",g[0]);this.set("y1",g[1]);this.set("x2",g[2]);this.set("y2",g[3]);this._setWidthHeight(f)},_setWidthHeight:function(f){f||(f={});this.set("width",(this.x2-this.x1)||1);this.set("height",(this.y2-this.y1)||1);this.set("left","left" in f?f.left:(this.x1+this.width/2));this.set("top","top" in f?f.top:(this.y1+this.height/2))},set:function(f,g){d.call(this,f,g);if(f in a){this._setWidthHeight()}return this},_render:function(f){f.beginPath();f.moveTo(this.width===1?0:(-this.width/2),this.height===1?0:(-this.height/2));f.lineTo(this.width===1?0:(this.width/2),this.height===1?0:(this.height/2));f.lineWidth=this.strokeWidth;var g=f.strokeStyle;f.strokeStyle=f.fillStyle;f.stroke();f.strokeStyle=g},complexity:function(){return 1},toObject:function(){return e(this.callSuper("toObject"),{x1:this.get("x1"),y1:this.get("y1"),x2:this.get("x2"),y2:this.get("y2")})},toSVG:function(){return[""].join("")}});c.Line.ATTRIBUTE_NAMES="x1 y1 x2 y2 stroke stroke-width transform".split(" ");c.Line.fromElement=function(g,f){var i=c.parseAttributes(g,c.Line.ATTRIBUTE_NAMES);var h=[i.x1||0,i.y1||0,i.x2||0,i.y2||0];return new c.Line(h,e(i,f))};c.Line.fromObject=function(f){var g=[f.x1,f.y1,f.x2,f.y2];return new c.Line(g,f)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={}),d=Math.PI*2,e=b.util.object.extend;if(b.Circle){b.warn("fabric.Circle is already defined.");return}b.Circle=b.util.createClass(b.Object,{type:"circle",initialize:function(f){f=f||{};this.set("radius",f.radius||0);this.callSuper("initialize",f);var g=this.get("radius")*2;this.set("width",g).set("height",g)},toObject:function(){return e(this.callSuper("toObject"),{radius:this.get("radius")})},toSVG:function(){return('')},_render:function(f,g){f.beginPath();f.globalAlpha*=this.opacity;f.arc(g?this.left:0,g?this.top:0,this.radius,0,d,false);f.closePath();if(this.fill){f.fill()}if(this.stroke){f.stroke()}},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(f){this.radius=f;this.set("width",f*2).set("height",f*2)},complexity:function(){return 1}});b.Circle.ATTRIBUTE_NAMES="cx cy r fill fill-opacity opacity stroke stroke-width transform".split(" ");b.Circle.fromElement=function(g,f){f||(f={});var h=b.parseAttributes(g,b.Circle.ATTRIBUTE_NAMES);if(!c(h)){throw Error("value of `r` attribute is required and can not be negative")}if("left" in h){h.left-=(f.width/2)||0}if("top" in h){h.top-=(f.height/2)||0}return new b.Circle(e(h,f))};function c(f){return(("radius" in f)&&(f.radius>0))}b.Circle.fromObject=function(f){return new b.Circle(f)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={});if(b.Triangle){b.warn("fabric.Triangle is already defined");return}b.Triangle=b.util.createClass(b.Object,{type:"triangle",initialize:function(c){c=c||{};this.callSuper("initialize",c);this.set("width",c.width||100).set("height",c.height||100)},_render:function(c){var d=this.width/2,e=this.height/2;c.beginPath();c.moveTo(-d,e);c.lineTo(0,-e);c.lineTo(d,e);c.closePath();if(this.fill){c.fill()}if(this.stroke){c.stroke()}},complexity:function(){return 1},toSVG:function(){var c=this.width/2,d=this.height/2;var e=[-c+" "+d,"0 "+-d,c+" "+d].join(",");return''}});b.Triangle.fromObject=function(c){return new b.Triangle(c)}})(typeof exports!="undefined"?exports:this);(function(a){var b=a.fabric||(a.fabric={}),c=Math.PI*2,d=b.util.object.extend;if(b.Ellipse){b.warn("fabric.Ellipse is already defined.");return}b.Ellipse=b.util.createClass(b.Object,{type:"ellipse",initialize:function(e){e=e||{};this.callSuper("initialize",e);this.set("rx",e.rx||0);this.set("ry",e.ry||0);this.set("width",this.get("rx")*2);this.set("height",this.get("ry")*2)},toObject:function(){return d(this.callSuper("toObject"),{rx:this.get("rx"),ry:this.get("ry")})},toSVG:function(){return[""].join("")},render:function(e,f){if(this.rx===0||this.ry===0){return}return this.callSuper("render",e,f)},_render:function(e,f){e.beginPath();e.save();e.globalAlpha*=this.opacity;e.transform(1,0,0,this.ry/this.rx,0,0);e.arc(f?this.left:0,f?this.top:0,this.rx,0,c,false);if(this.stroke){e.stroke()}if(this.fill){e.fill()}e.restore()},complexity:function(){return 1}});b.Ellipse.ATTRIBUTE_NAMES="cx cy rx ry fill fill-opacity opacity stroke stroke-width transform".split(" ");b.Ellipse.fromElement=function(f,e){e||(e={});var g=b.parseAttributes(f,b.Ellipse.ATTRIBUTE_NAMES);if("left" in g){g.left-=(e.width/2)||0}if("top" in g){g.top-=(e.height/2)||0}return new b.Ellipse(d(g,e))};b.Ellipse.fromObject=function(e){return new b.Ellipse(e)}})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={});if(c.Rect){console.warn("fabric.Rect is already defined");return}c.Rect=c.util.createClass(c.Object,{type:"rect",options:{rx:0,ry:0},initialize:function(d){this._initStateProperties();this.callSuper("initialize",d);this._initRxRy()},_initStateProperties:function(){this.stateProperties=this.stateProperties.concat(["rx","ry"])},_initRxRy:function(){if(this.rx&&!this.ry){this.ry=this.rx}else{if(this.ry&&!this.rx){this.rx=this.ry}}},_render:function(f){var j=this.rx||0,i=this.ry||0,d=-this.width/2,k=-this.height/2,e=this.width,g=this.height;f.beginPath();f.globalAlpha*=this.opacity;if(this.group){f.translate(this.x||0,this.y||0)}f.moveTo(d+j,k);f.lineTo(d+e-j,k);f.quadraticCurveTo(d+e,k,d+e,k+i,d+e,k+i);f.lineTo(d+e,k+g-i);f.quadraticCurveTo(d+e,k+g,d+e-j,k+g,d+e-j,k+g);f.lineTo(d+j,k+g);f.quadraticCurveTo(d,k+g,d,k+g-i,d,k+g-i);f.lineTo(d,k+i);f.quadraticCurveTo(d,k,d+j,k,d+j,k);f.closePath();if(this.fill){f.fill()}if(this.stroke){f.stroke()}},_normalizeLeftTopProperties:function(d){if(d.left){this.set("left",d.left+this.getWidth()/2)}this.set("x",d.left||0);if(d.top){this.set("top",d.top+this.getHeight()/2)}this.set("y",d.top||0);return this},complexity:function(){return 1},toObject:function(){return c.util.object.extend(this.callSuper("toObject"),{rx:this.get("rx")||0,ry:this.get("ry")||0})},toSVG:function(){return''}});c.Rect.ATTRIBUTE_NAMES="x y width height rx ry fill fill-opacity opacity stroke stroke-width transform".split(" ");function a(d){d.left=d.left||0;d.top=d.top||0;return d}c.Rect.fromElement=function(e,d){if(!e){return null}var g=c.parseAttributes(e,c.Rect.ATTRIBUTE_NAMES);g=a(g);var f=new c.Rect(c.util.object.extend((d?c.util.object.clone(d):{}),g));f._normalizeLeftTopProperties(g);return f};c.Rect.fromObject=function(d){return new c.Rect(d)}})(typeof exports!="undefined"?exports:this);(function(b){var c=b.fabric||(b.fabric={}),a=c.util.toFixed;if(c.Polyline){c.warn("fabric.Polyline is already defined");return}c.Polyline=c.util.createClass(c.Object,{type:"polyline",initialize:function(e,d){d=d||{};this.set("points",e);this.callSuper("initialize",d);this._calcDimensions()},_calcDimensions:function(){return c.Polygon.prototype._calcDimensions.call(this)},toObject:function(){return c.Polygon.prototype.toObject.call(this)},toSVG:function(){var f=[];for(var e=0,d=this.points.length;e"].join("")},_render:function(f){var e;f.beginPath();f.moveTo(this.points[0].x,this.points[0].y);for(var g=0,d=this.points.length;g"].join("")},_render:function(l){var k;l.beginPath();l.moveTo(this.points[0].x,this.points[0].y);for(var m=0,j=this.points.length;m1){E=Math.sqrt(E);O*=E;N*=E}var R=aa/O;var Q=W/O;var D=(-W)/N;var C=(aa)/N;var H=R*M+Q*L;var q=D*M+C*L;var F=R*T+Q*S;var ab=D*T+C*S;var Z=(F-H)*(F-H)+(ab-q)*(ab-q);var U=1/Z-0.25;if(U<0){U=0}var w=Math.sqrt(U);if(P==J){w=-w}var V=0.5*(H+F)-w*(ab-q);var K=0.5*(q+ab)+w*(F-H);var v=Math.atan2(q-K,H-V);var u=Math.atan2(ab-K,F-V);var Y=u-v;if(Y<0&&P==1){Y+=2*Math.PI}else{if(Y>0&&P==0){Y-=2*Math.PI}}var B=Math.ceil(Math.abs(Y/(Math.PI*0.5+0.001)));var I=[];for(var X=0;X"},toObject:function(){var q=g(this.callSuper("toObject"),{path:this.path});if(this.sourcePath){q.sourcePath=this.sourcePath}if(this.transformMatrix){q.transformMatrix=this.transformMatrix}return q},toDatalessObject:function(){var q=this.toObject();if(this.sourcePath){q.path=this.sourcePath}delete q.sourcePath;return q},toSVG:function(){var t=[];for(var r=0,q=this.path.length;r',"',""].join("")},complexity:function(){return this.path.length},_parsePath:function(){var C=[],z,v,y;for(var u=0,t,q,w=this.path.length;uB){for(var r=1,x=q.length;r"];for(var l=0,j=m.length;l");return k.join("")},toString:function(){return"#"},isSameColor:function(){var j=this.getObjects()[0].get("fill");return this.getObjects().every(function(k){return k.get("fill")===j})},complexity:function(){return this.paths.reduce(function(j,k){return j+((k&&k.complexity)?k.complexity():0)},0)},toGrayscale:function(){var j=this.paths.length;while(j--){this.paths[j].toGrayscale()}return this},getObjects:function(){return this.paths}});function c(m){for(var l=0,j=m.length;l"},getObjects:function(){return this.objects},addWithUpdate:function(h){this._restoreObjectsState();this.objects.push(h);this._calcBounds();this._updateObjectsCoords();return this},removeWithUpdate:function(h){this._restoreObjectsState();f(this.objects,h);h.setActive(false);this._calcBounds();this._updateObjectsCoords();return this},add:function(h){this.objects.push(h);return this},remove:function(h){f(this.objects,h);return this},size:function(){return this.getObjects().length},set:function(h,k){if(typeof k=="function"){this.set(h,k(this[h]))}else{if(h==="fill"||h==="opacity"){var j=this.objects.length;this[h]=k;while(j--){this.objects[j].set(h,k)}}else{this[h]=k}}return this},contains:function(h){return this.objects.indexOf(h)>-1},toObject:function(){return g(this.callSuper("toObject"),{objects:b(this.objects,"clone")})},render:function(j,o){j.save();this.transform(j);var n=Math.max(this.scaleX,this.scaleY);for(var l=0,h=this.objects.length,k;k=this.objects[l];l++){var m=k.borderScaleFactor;k.borderScaleFactor=n;k.render(j);k.borderScaleFactor=m}if(!o&&this.active){this.drawBorders(j);this.hideCorners||this.drawCorners(j)}j.restore();this.setCoords()},item:function(h){return this.getObjects()[h]},complexity:function(){return this.getObjects().reduce(function(i,h){i+=(typeof h.complexity=="function")?h.complexity():0;return i},0)},_restoreObjectsState:function(){this.objects.forEach(this._restoreObjectState,this);return this},_restoreObjectState:function(j){var l=this.get("left"),m=this.get("top"),h=this.getAngle()*(Math.PI/180),k=j.get("originalLeft"),n=j.get("originalTop"),i=Math.cos(h)*j.get("top")+Math.sin(h)*j.get("left"),o=-Math.sin(h)*j.get("top")+Math.cos(h)*j.get("left");j.setAngle(j.getAngle()+this.getAngle());j.set("left",l+o*this.get("scaleX"));j.set("top",m+i*this.get("scaleY"));j.set("scaleX",j.get("scaleX")*this.get("scaleX"));j.set("scaleY",j.get("scaleY")*this.get("scaleY"));j.setCoords();j.hideCorners=false;j.setActive(false);j.setCoords();return this},destroy:function(){return this._restoreObjectsState()},saveCoords:function(){this._originalLeft=this.get("left");this._originalTop=this.get("top");return this},hasMoved:function(){return this._originalLeft!==this.get("left")||this._originalTop!==this.get("top")},setObjectsCoords:function(){this.forEachObject(function(h){h.setCoords()});return this},activateAllObjects:function(){this.forEachObject(function(h){h.setActive()});return this},forEachObject:e.StaticCanvas.prototype.forEachObject,_setOpacityIfSame:function(){var j=this.getObjects(),i=j[0]?j[0].get("opacity"):1;var h=j.every(function(k){return k.get("opacity")===i});if(h){this.opacity=i}},_calcBounds:function(){var s=[],q=[],p,n,k,h,m,l,u,r=0,t=this.objects.length;for(;ri.x&&j-hi.y},toGrayscale:function(){var h=this.objects.length;while(h--){this.objects[h].toGrayscale()}}});e.Group.fromObject=function(h,i){e.util.enlivenObjects(h.objects,function(j){delete h.objects;i&&i(new e.Group(j,h))})};e.Group.async=true})(typeof exports!="undefined"?exports:this);(function(a){var b=fabric.util.object.extend;if(!a.fabric){a.fabric={}}if(a.fabric.Image){fabric.warn("fabric.Image is already defined.");return}if(!fabric.Object){fabric.warn("fabric.Object is required for fabric.Image initialization");return}fabric.Image=fabric.util.createClass(fabric.Object,{active:false,bordervisibility:false,cornervisibility:false,type:"image",initialize:function(d,c){c||(c={});this.callSuper("initialize",c);this._initElement(d);this._originalImage=this.getElement();this._initConfig(c);this.filters=[];if(c.filters){this.filters=c.filters;this.applyFilters()}},getElement:function(){return this._element},setElement:function(c){this._element=c;this._initConfig();return this},getOriginalSize:function(){var c=this.getElement();return{width:c.width,height:c.height}},setBorderVisibility:function(c){this._resetWidthHeight();this._adjustWidthHeightToBorders(showBorder);this.setCoords()},setCornersVisibility:function(c){this.cornervisibility=!!c},render:function(c,d){c.save();if(!d){this.transform(c)}this._render(c);if(this.active&&!d){this.drawBorders(c);this.hideCorners||this.drawCorners(c)}c.restore()},toObject:function(){return b(this.callSuper("toObject"),{src:this._originalImage.src||this._originalImage._src,filters:this.filters.concat()})},toSVG:function(){return''},getSrc:function(){return this.getElement().src||this.getElement()._src},toString:function(){return'#'},clone:function(c){this.constructor.fromObject(this.toObject(),c)},applyFilters:function(i){if(this.filters.length===0){this.setElement(this._originalImage);i&&i();return}var c=typeof Buffer!=="undefined"&&typeof window==="undefined",g=this._originalImage,e=fabric.document.createElement("canvas"),f=c?new (require("canvas").Image):fabric.document.createElement("img"),h=this;if(!e.getContext&&typeof G_vmlCanvasManager!="undefined"){G_vmlCanvasManager.initElement(e)}e.width=g.width;e.height=g.height;e.getContext("2d").drawImage(g,0,0);this.filters.forEach(function(j){j&&j.applyTo(e)});f.onload=function(){h._element=f;i&&i();f.onload=e=g=null};f.width=g.width;f.height=g.height;if(c){var d=e.toDataURL("image/png").replace(/data:image\/png;base64,/,"");f.src=new Buffer(d,"base64");h._element=f;i&&i()}else{f.src=e.toDataURL("image/png")}return this},_render:function(c){c.drawImage(this.getElement(),-this.width/2,-this.height/2,this.width,this.height)},_adjustWidthHeightToBorders:function(c){if(c){this.currentBorder=this.borderwidth;this.width+=(2*this.currentBorder);this.height+=(2*this.currentBorder)}else{this.currentBorder=0}},_resetWidthHeight:function(){var c=this.getElement();this.set("width",c.width);this.set("height",c.height)},_initElement:function(c){this.setElement(fabric.util.getById(c));fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(c){c||(c={});this.setOptions(c);this._setBorder();this._setWidthHeight(c)},_initFilters:function(c){if(c.filters&&c.filters.length){this.filters=c.filters.map(function(d){return d&&fabric.Image.filters[d.type].fromObject(d)})}},_setBorder:function(){if(this.bordervisibility){this.currentBorder=this.borderwidth}else{this.currentBorder=0}},_setWidthHeight:function(c){var d=2*this.currentBorder;this.width="width" in c?c.width:((this.getElement().width||0)+d);this.height="height" in c?c.height:((this.getElement().height||0)+d)},complexity:function(){return 1}});fabric.Image.CSS_CANVAS="canvas-img";fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc;fabric.Image.fromObject=function(d,f){var c=fabric.document.createElement("img"),e=d.src;if(d.width){c.width=d.width}if(d.height){c.height=d.height}c.onload=function(){fabric.Image.prototype._initFilters.call(d,d);var g=new fabric.Image(c,d);f&&f(g);c=c.onload=null};c.src=e};fabric.Image.fromURL=function(d,f,e){var c=fabric.document.createElement("img");c.onload=function(){if(f){f(new fabric.Image(c,e))}c=c.onload=null};c.src=d};fabric.Image.ATTRIBUTE_NAMES="x y width height fill fill-opacity opacity stroke stroke-width transform xlink:href".split(" ");fabric.Image.fromElement=function(d,f,c){c||(c={});var e=fabric.parseAttributes(d,fabric.Image.ATTRIBUTE_NAMES);fabric.Image.fromURL(e["xlink:href"],f,b(e,c))};fabric.Image.async=true})(typeof exports!="undefined"?exports:this);fabric.util.object.extend(fabric.Object.prototype,{_getAngleValueForStraighten:function(){var a=this.get("angle");if(a>-225&&a<=-135){return -180}else{if(a>-135&&a<=-45){return -90}else{if(a>-45&&a<=45){return 0}else{if(a>45&&a<=135){return 90}else{if(a>135&&a<=225){return 180}else{if(a>225&&a<=315){return 270}else{if(a>315){return 360}}}}}}}return 0},straighten:function(){var a=this._getAngleValueForStraighten();this.setAngle(a);return this},fxStraighten:function(b){b=b||{};var c=function(){},d=b.onComplete||c,a=b.onChange||c,e=this;fabric.util.animate({startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(f){e.setAngle(f);a()},onComplete:function(){e.setCoords();d()},onStart:function(){e.setActive(false)}});return this}});fabric.util.object.extend(fabric.StaticCanvas.prototype,{straightenObject:function(a){a.straighten();this.renderAll();return this},fxStraightenObject:function(a){a.fxStraighten({onChange:this.renderAll.bind(this)});return this}});fabric.Image.filters={};fabric.Image.filters.Grayscale=fabric.util.createClass({type:"Grayscale",applyTo:function(d){var c=d.getContext("2d"),a=c.getImageData(0,0,d.width,d.height),h=a.data,e=a.width,l=a.height,k,b,g,f;for(g=0;gh&&m>h&&o>h&&p(a-m)'},_render:function(f){if(typeof Cufon==="undefined"||this.useNative===true){this._renderViaNative(f)}else{this._renderViaCufon(f)}},_renderViaCufon:function(f){var h=Cufon.textOptions||(Cufon.textOptions={});h.left=this.left;h.top=this.top;h.context=f;h.color=this.fill;var g=this._initDummyElementForCufon();this.transform(f);Cufon.replaceElement(g,{engine:"canvas",separate:"none",fontFamily:this.fontFamily,fontWeight:this.fontWeight,textDecoration:this.textDecoration,textShadow:this.textShadow,textAlign:this.textAlign,fontStyle:this.fontStyle,lineHeight:this.lineHeight,strokeStyle:this.strokeStyle,strokeWidth:this.strokeWidth,backgroundColor:this.backgroundColor});this.width=h.width;this.height=h.height;this._totalLineHeight=h.totalLineHeight;this._fontAscent=h.fontAscent;this._boundaries=h.boundaries;this._shadowOffsets=h.shadowOffsets;this._shadows=h.shadows||[];this.setCoords()},_renderViaNative:function(f){this.transform(f);this._setTextStyles(f);var g=this.text.split(/\r?\n/);this.width=this._getTextWidth(f,g);this.height=this._getTextHeight(f,g);this._renderTextBackground(f,g);if(this.textAlign!=="left"){f.save();f.translate(this.textAlign==="center"?(this.width/2):this.width,0)}this._setTextShadow(f);this._renderTextFill(f,g);this.textShadow&&f.restore();this._renderTextStroke(f,g);if(this.textAlign!=="left"){f.restore()}this._renderTextDecoration(f,g);this._setBoundaries(f,g);this._totalLineHeight=0;this.setCoords()},_setBoundaries:function(h,k){this._boundaries=[];for(var j=0,g=k.length;jk){k=l}}return k},_setTextShadow:function(f){if(this.textShadow){var j=/\s+(-?\d+)(?:px)?\s+(-?\d+)(?:px)?\s+(\d+)(?:px)?\s*/;var g=this.textShadow;var i=j.exec(this.textShadow);var h=g.replace(j,"");f.save();f.shadowColor=h;f.shadowOffsetX=parseInt(i[1],10);f.shadowOffsetY=parseInt(i[2],10);f.shadowBlur=parseInt(i[3],10);this._shadows=[{blur:f.shadowBlur,color:f.shadowColor,offX:f.shadowOffsetX,offY:f.shadowOffsetY}];this._shadowOffsets=[[parseInt(f.shadowOffsetX,10),parseInt(f.shadowOffsetY,10)]]}},_renderTextFill:function(g,j){this._boundaries=[];for(var h=0,f=j.length;h-1){f.call(this,this.fontSize)}if(this.textDecoration.indexOf("line-through")>-1){f.call(this,this.fontSize/2)}if(this.textDecoration.indexOf("overline")>-1){f.call(this,0)}},_getFontDeclaration:function(){return[this.fontStyle,this.fontWeight,this.fontSize+"px",this.fontFamily].join(" ")},_initDummyElementForCufon:function(){var g=c.document.createElement("pre"),f=c.document.createElement("div");f.appendChild(g);if(typeof G_vmlCanvasManager=="undefined"){g.innerHTML=this.text}else{g.innerText=this.text.replace(/\r?\n/gi,"\r")}g.style.fontSize=this.fontSize+"px";g.style.letterSpacing="normal";return g},render:function(f,g){f.save();this._render(f);if(!g&&this.active){this.drawBorders(f);this.hideCorners||this.drawCorners(f)}f.restore()},toObject:function(){return e(this.callSuper("toObject"),{text:this.text,fontSize:this.fontSize,fontWeight:this.fontWeight,fontFamily:this.fontFamily,fontStyle:this.fontStyle,lineHeight:this.lineHeight,textDecoration:this.textDecoration,textShadow:this.textShadow,textAlign:this.textAlign,path:this.path,strokeStyle:this.strokeStyle,strokeWidth:this.strokeWidth,backgroundColor:this.backgroundColor})},toSVG:function(){var i=this.text.split(/\r?\n/),j=this.useNative?this.fontSize*this.lineHeight:(-this._fontAscent-((this._fontAscent/5)*this.lineHeight)),g=-(this.width/2),f=this.useNative?this.fontSize-1:(this.height/2)-(i.length*this.fontSize)-this._totalLineHeight,h=this._getSVGTextAndBg(j,g,i),k=this._getSVGShadows(j,i);f+=(this._fontAscent?((this._fontAscent/5)*this.lineHeight):0);return['',h.textBgRects.join(""),"',k.join(""),h.textSpans.join(""),"",""].join("")},_getSVGShadows:function(h,n){var o=[],k,l,p,g,f=1;if(!this._shadows||!this._boundaries){return o}for(k=0,p=this._shadows.length;k",c.util.string.escapeXml(n[l]),"");f=1}else{f++}}}return o},_getSVGTextAndBg:function(j,h,n){var g=[],k=[],l,m,o,f=1;for(l=0,o=n.length;l",c.util.string.escapeXml(n[l]),"");f=1}else{f++}if(!this.backgroundColor||!this._boundaries){continue}k.push("')}return{textSpans:g,textBgRects:k}},_getFillAttributes:function(f){var g=f?new c.Color(f):"";if(!g||!g.getSource()||g.getAlpha()===1){return'fill="'+f+'"'}return'opacity="'+g.getAlpha()+'" fill="'+g.setAlpha(1).toRgb()+'"'},setColor:function(f){this.set("fill",f);return this},setFontsize:function(f){this.set("fontSize",f);this.setCoords();return this},getText:function(){return this.text},setText:function(f){this.set("text",f);this.setCoords();return this},set:function(f,g){if(typeof f=="object"){for(var h in f){this.set(h,f[h])}}else{this[f]=g;if(f==="fontFamily"&&this.path){this.path=this.path.replace(/(.*?)([^\/]*)(\.font\.js)/,"$1"+g+"$3")}}return this}});c.Text.fromObject=function(f){return new c.Text(f.text,d(f))};c.Text.fromElement=function(f){}})(typeof exports!="undefined"?exports:this);(function(){if(typeof document!="undefined"&&typeof window!="undefined"){return}var DOMParser=new require("xmldom").DOMParser,URL=require("url"),HTTP=require("http"),Canvas=require("canvas"),Image=require("canvas").Image;function request(url,encoding,callback){var oURL=URL.parse(url),client=HTTP.createClient(oURL.port,oURL.hostname),request=client.request("GET",oURL.pathname,{host:oURL.hostname});client.addListener("error",function(err){if(err.errno===process.ECONNREFUSED){fabric.log("ECONNREFUSED: connection refused to "+client.host+":"+client.port)}else{fabric.log(err.message)}});request.end();request.on("response",function(response){var body="";if(encoding){response.setEncoding(encoding)}response.on("end",function(){callback(body)});response.on("data",function(chunk){if(response.statusCode==200){body+=chunk}})})}fabric.util.loadImage=function(url,callback){request(url,"binary",function(body){var img=new Image();img.src=new Buffer(body,"binary");img._src=url;callback(img)})};fabric.loadSVGFromURL=function(url,callback){url=url.replace(/^\n\s*/,"").replace(/\?.*$/,"").trim();request(url,"",function(body){fabric.loadSVGFromString(body,callback)})};fabric.loadSVGFromString=function(string,callback){var doc=new DOMParser().parseFromString(string);fabric.parseSVGDocument(doc.documentElement,function(results,options){callback(results,options)})};fabric.util.getScript=function(url,callback){request(url,"",function(body){eval(body);callback&&callback()})};fabric.Image.fromObject=function(object,callback){fabric.util.loadImage(object.src,function(img){var oImg=new fabric.Image(img);oImg._initConfig(object);oImg._initFilters(object);callback(oImg)})};fabric.createCanvasForNode=function(width,height){var canvasEl=fabric.document.createElement("canvas"),nodeCanvas=new Canvas(width||600,height||600);canvasEl.style={};canvasEl.width=nodeCanvas.width;canvasEl.height=nodeCanvas.height;var canvas=fabric.Canvas||fabric.StaticCanvas;var fabricCanvas=new canvas(canvasEl);fabricCanvas.contextContainer=nodeCanvas.getContext("2d");fabricCanvas.nodeCanvas=nodeCanvas;return fabricCanvas};fabric.StaticCanvas.prototype.createPNGStream=function(){return this.nodeCanvas.createPNGStream()};if(fabric.Canvas){fabric.Canvas.prototype.createPNGStream}var origSetWidth=fabric.StaticCanvas.prototype.setWidth;fabric.StaticCanvas.prototype.setWidth=function(width){origSetWidth.call(this);this.nodeCanvas.width=width;return this};if(fabric.Canvas){fabric.Canvas.prototype.setWidth=fabric.StaticCanvas.prototype.setWidth}var origSetHeight=fabric.StaticCanvas.prototype.setHeight;fabric.StaticCanvas.prototype.setHeight=function(height){origSetHeight.call(this);this.nodeCanvas.height=height;return this};if(fabric.Canvas){fabric.Canvas.prototype.setHeight=fabric.StaticCanvas.prototype.setHeight}})(); \ No newline at end of file diff --git a/dist/all.min.js.gz b/dist/all.min.js.gz index f68dfd21619080b593922078e1582f35ff8d22e6..df07c151270802aa4e191f1e744df4c4ee5a9381 100644 GIT binary patch delta 39248 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 ImsueK0PX+tcmMzZ delta 39381 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 l+bNHw)7`e^Pzqw)-", "keywords": ["canvas", "graphic", "graphics", "SVG", "node-canvas", "parser", "HTML5", "object model"], "repository": "git://github.com/kangax/fabric.js", diff --git a/src/object.class.js b/src/object.class.js index 80b26c8a..35832b9a 100644 --- a/src/object.class.js +++ b/src/object.class.js @@ -957,7 +957,7 @@ * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found */ _findTargetCorner: function(e, offset) { - if (!this.hasControls) return false; + if (!this.hasControls || !this.active) return false; var pointer = getPointer(e), ex = pointer.x - offset.left,