From 2ec32666556e73fda03cd0e9c2623cf6d52ef479 Mon Sep 17 00:00:00 2001 From: kangax Date: Sun, 29 Jul 2012 12:38:01 +0200 Subject: [PATCH] Add `fabric.isLikelyNode`. Bump version to 0.8.41. --- HEADER.js | 11 +++++++++-- dist/all.js | 27 ++++++++++++++++++++++----- dist/all.min.js | 4 ++-- dist/all.min.js.gz | Bin 40939 -> 40979 bytes 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/HEADER.js b/HEADER.js index 36c16221..939fba33 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.4" }; +var fabric = fabric || { version: "0.8.41" }; if (typeof exports != 'undefined') { exports.fabric = fabric; @@ -21,4 +21,11 @@ else { * @property isTouchSupported * @type boolean */ -fabric.isTouchSupported = "ontouchstart" in fabric.document.documentElement; \ No newline at end of file +fabric.isTouchSupported = "ontouchstart" in fabric.document.documentElement; + +/** + * True when in environment that's probably Node.js + * @property isLikelyNode + * @type boolean + */ +fabric.isLikelyNode = typeof Buffer !== 'undefined' && typeof window === 'undefined'; \ No newline at end of file diff --git a/dist/all.js b/dist/all.js index 7f1bc28b..d90648bd 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.4" }; +var fabric = fabric || { version: "0.8.41" }; if (typeof exports != 'undefined') { exports.fabric = fabric; @@ -23,6 +23,13 @@ else { * @type boolean */ fabric.isTouchSupported = "ontouchstart" in fabric.document.documentElement; + +/** + * True when in environment that's probably Node.js + * @property isLikelyNode + * @type boolean + */ +fabric.isLikelyNode = typeof Buffer !== 'undefined' && typeof window === 'undefined'; /*! * Copyright (c) 2009 Simo Kinnunen. * Licensed under the MIT license. @@ -6002,6 +6009,13 @@ fabric.util.string = { */ hoverCursor: 'move', + /** + * Default cursor value used when moving an object on canvas + * @property + * @type String + */ + moveCursor: 'move', + /** * Default cursor value used for the entire canvas * @property @@ -6348,6 +6362,9 @@ fabric.util.string = { this.fire('object:moving', { target: this._currentTransform.target }); + + this._setCursor(this.moveCursor); + this._currentTransform.target.fire('moving'); } // only commit here. when we are actually moving the pictures @@ -6699,7 +6716,7 @@ fabric.util.string = { } else if (corner === 'mtr' && target.hasRotatingPoint) { s.cursor = this.rotationCursor; } else { - s.cursor = this.defaulCursor; + s.cursor = this.defaultCursor; return false; } } @@ -12682,9 +12699,9 @@ fabric.Image.filters.GradientTransparency.fromObject = function(object) { ctx.save(); ctx.shadowColor = shadowColor; - ctx.shadowOffsetX = parseInt(offsetsAndBlur[0], 10); - ctx.shadowOffsetY = parseInt(offsetsAndBlur[1], 10); - ctx.shadowBlur = parseInt(offsetsAndBlur[2], 10); + ctx.shadowOffsetX = parseInt(offsetsAndBlur[1], 10); + ctx.shadowOffsetY = parseInt(offsetsAndBlur[2], 10); + ctx.shadowBlur = parseInt(offsetsAndBlur[3], 10); this._shadows = [{ blur: ctx.shadowBlur, diff --git a/dist/all.min.js b/dist/all.min.js index 381ed6c8..98bb7801 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.4"};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; +var fabric=fabric||{version:"0.8.41"};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[0],10);f.shadowOffsetY=parseInt(i[1],10);f.shadowBlur=parseInt(i[2],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){var doc=new DOMParser().parseFromString(body);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){var doc=new DOMParser().parseFromString(body);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 b9dd88be0f17006d2a2686fc7bb541f207be7493..731cc10982d1b4989ef49dd6ae7132d72aab235a 100644 GIT binary patch literal 40979 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 X%O~XX28QHo)cXGcF^7GFxF7-mG*77o literal 40939 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%0DQwgG`!Fq5Q^kBM^*eJ9nRumJ6<3vA)CESDys+$; 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