From 8a0e9bd6b4f0f70eb14036d37fc55d8d05e69846 Mon Sep 17 00:00:00 2001 From: kangax Date: Sat, 13 Jul 2013 20:15:35 +0200 Subject: [PATCH] Fix fabric.Path.fromElement. Version 1.2.5 --- HEADER.js | 2 +- dist/all.js | 6 +++--- dist/all.min.js | 4 ++-- dist/all.min.js.gz | Bin 49549 -> 49556 bytes package.json | 2 +- src/shapes/path.class.js | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/HEADER.js b/HEADER.js index 73c2983c..f2a37b6c 100644 --- a/HEADER.js +++ b/HEADER.js @@ -1,6 +1,6 @@ /*! Fabric.js Copyright 2008-2013, Printio (Juriy Zaytsev, Maxim Chernyak) */ -var fabric = fabric || { version: "1.2.4" }; +var fabric = fabric || { version: "1.2.5" }; if (typeof exports !== 'undefined') { exports.fabric = fabric; diff --git a/dist/all.js b/dist/all.js index da1ffeb1..54479a0d 100644 --- a/dist/all.js +++ b/dist/all.js @@ -1,7 +1,7 @@ /* build: `node build.js modules=ALL exclude=gestures` */ /*! Fabric.js Copyright 2008-2013, Printio (Juriy Zaytsev, Maxim Chernyak) */ -var fabric = fabric || { version: "1.2.4" }; +var fabric = fabric || { version: "1.2.5" }; if (typeof exports !== 'undefined') { exports.fabric = fabric; @@ -14437,9 +14437,9 @@ fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prot * @param {Object} [options] Options object * @return {fabric.Path} Instance of fabric.Path */ - fabric.Path.fromElement = function(element, options) { + fabric.Path.fromElement = function(element, callback, options) { var parsedAttributes = fabric.parseAttributes(element, fabric.Path.ATTRIBUTE_NAMES); - return new fabric.Path(parsedAttributes.d, extend(parsedAttributes, options)); + callback && callback(new fabric.Path(parsedAttributes.d, extend(parsedAttributes, options))); }; /* _FROM_SVG_END_ */ diff --git a/dist/all.min.js b/dist/all.min.js index f678dea0..57879516 100644 --- a/dist/all.min.js +++ b/dist/all.min.js @@ -1,6 +1,6 @@ -/* build: `node build.js modules=ALL exclude=gestures` *//*! Fabric.js Copyright 2008-2013, Printio (Juriy Zaytsev, Maxim Chernyak) */var fabric=fabric||{version:"1.2.4"};typeof exports!="undefined"&&(exports.fabric=fabric),typeof document!="undefined"&&typeof window!="undefined"?(fabric.document=document,fabric.window=window):(fabric.document=require("jsdom").jsdom(""),fabric.window=fabric.document.createWindow()),fabric.isTouchSupported="ontouchstart"in fabric.document.documentElement,fabric.isLikelyNode=typeof Buffer!="undefined"&&typeof window=="undefined";var Cufon=function(){function r(e){var t=this.face=e.face;this.glyphs=e.glyphs,this.w=e.w,this.baseSize=parseInt(t["units-per-em"],10),this.family=t["font-family"].toLowerCase(),this.weight=t["font-weight"],this.style=t["font-style"]||"normal",this.viewBox=function(){var e=t.bbox.split(/\s+/),n={minX:parseInt(e[0],10),minY:parseInt(e[1],10),maxX:parseInt(e[2],10),maxY:parseInt(e[3],10)};return n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")},n}(),this.ascent=-parseInt(t.ascent,10),this.descent=-parseInt(t.descent,10),this.height=-this.ascent+this.descent}function i(){var e={},t={oblique:"italic",italic:"oblique"};this.add=function(t){(e[t.style]||(e[t.style]={}))[t.weight]=t},this.get=function(n,r){var i=e[n]||e[t[n]]||e.normal||e.italic||e.oblique;if(!i)return null;r={normal:400,bold:700}[r]||parseInt(r,10);if(i[r])return i[r];var s={1:1,99:0}[r%100],o=[],u,a;s===undefined&&(s=r>400),r==500&&(r=400);for(var f in i){f=parseInt(f,10);if(!u||fa)a=f;o.push(f)}return ra&&(r=a),o.sort(function(e,t){return(s?e>r&&t>r?et:et:e=i.length+e?r():setTimeout(arguments.callee,10)}),function(t){e?t():n.push(t)}}(),supports:function(e,t){var n=fabric.document.createElement("span").style;return n[e]===undefined?!1:(n[e]=t,n[e]===t)},textAlign:function(e,t,n,r){return t.get("textAlign")=="right"?n>0&&(e=" "+e):nk&&(k=N),A.push(N),N=0;continue}var O=t.glyphs[T[b]]||t.missingGlyph;if(!O)continue;N+=C=Number(O.w||t.w)+h}A.push(N),N=Math.max(k,N);var M=[];for(var b=A.length;b--;)M[b]=N-A[b];if(C===null)return null;d+=l.width-C,m+=l.minX;var _,D;if(f)_=u,D=u.firstChild;else{_=fabric.document.createElement("span"),_.className="cufon cufon-canvas",_.alt=n,D=fabric.document.createElement("canvas"),_.appendChild(D);if(i.printable){var P=fabric.document.createElement("span");P.className="cufon-alt",P.appendChild(fabric.document.createTextNode(n)),_.appendChild(P)}}var H=_.style,B=D.style||{},j=c.convert(l.height-p+v),F=Math.ceil(j),I=F/j;D.width=Math.ceil(c.convert(N+d-m)*I),D.height=F,p+=l.minY,B.top=Math.round(c.convert(p-t.ascent))+"px",B.left=Math.round(c.convert(m))+"px";var q=Math.ceil(c.convert(N*I)),R=q+"px",U=c.convert(t.height),z=(i.lineHeight-1)*c.convert(-t.ascent/5)*(L-1);Cufon.textOptions.width=q,Cufon.textOptions.height=U*L+z,Cufon.textOptions.lines=L,Cufon.textOptions.totalLineHeight=z,e?(H.width=R,H.height=U+"px"):(H.paddingLeft=R,H.paddingBottom=U-1+"px");var W=Cufon.textOptions.context||D.getContext("2d"),X=F/l.height;Cufon.textOptions.fontAscent=t.ascent*X,Cufon.textOptions.boundaries=null;for(var V=Cufon.textOptions.shadowOffsets,b=y.length;b--;)V[b]=[y[b][0]*X,y[b][1]*X];W.save(),W.scale(X,X),W.translate(-m-1/X*D.width/2+(Cufon.fonts[t.family].offsetLeft||0),-p-Cufon.textOptions.height/X/2+(Cufon.fonts[t.family].offsetTop||0)),W.lineWidth=t.face["underline-thickness"],W.save();var J=Cufon.getTextDecoration(i),K=i.fontStyle==="italic";W.save(),Q();if(g)for(var b=0,w=g.length;b.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(e,t,i,s,o,u,a){var f=t===null;f&&(t=o.alt);var l=e.viewBox,c=i.computedFontSize||(i.computedFontSize=new Cufon.CSS.Size(n(u,i.get("fontSize"))+"px",e.baseSize)),h=i.computedLSpacing;h==undefined&&(h=i.get("letterSpacing"),i.computedLSpacing=h=h=="normal"?0:~~c.convertFrom(r(u,h)));var p,d;if(f)p=o,d=o.firstChild;else{p=fabric.document.createElement("span"),p.className="cufon cufon-vml",p.alt=t,d=fabric.document.createElement("span"),d.className="cufon-vml-canvas",p.appendChild(d);if(s.printable){var v=fabric.document.createElement("span");v.className="cufon-alt",v.appendChild(fabric.document.createTextNode(t)),p.appendChild(v)}a||p.appendChild(fabric.document.createElement("cvml:shape"))}var m=p.style,g=d.style,y=c.convert(l.height),b=Math.ceil(y),w=b/y,E=l.minX,S=l.minY;g.height=b,g.top=Math.round(c.convert(S-e.ascent)),g.left=Math.round(c.convert(E)),m.height=c.convert(e.height)+"px";var x=Cufon.getTextDecoration(s),T=i.get("color"),N=Cufon.CSS.textTransform(t,i).split(""),C=0,k=0,L=null,A,O,M=s.textShadow;for(var _=0,D=0,P=N.length;_-1},complexity:function(){return this.getObjects().reduce(function(e,t){return e+=t.complexity?t.complexity():0,e},0)},toGrayscale:function(){return this.forEachObject(function(e){e.toGrayscale()})}},function(){function n(e,t){var n=e.indexOf(t);return n!==-1&&e.splice(n,1),e}function r(e,t){return Math.floor(Math.random()*(t-e+1))+e}function s(e){return e*i}function o(e){return e/i}function u(e,t,n){var r=Math.sin(n),i=Math.cos(n);e.subtractEquals(t);var s=e.x*i-e.y*r,o=e.x*r+e.y*i;return(new fabric.Point(s,o)).addEquals(t)}function a(e,t){return parseFloat(Number(e).toFixed(t))}function f(){return!1}function l(e){e||(e={});var t=+(new Date),n=e.duration||500,r=t+n,i,s=e.onChange||function(){},o=e.abort||function(){return!1},u=e.easing||function(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t},a="startValue"in e?e.startValue:0,f="endValue"in e?e.endValue:100,l=e.byValue||f-a;e.onStart&&e.onStart(),function c(){i=+(new Date);var f=i>r?n:i-t;s(u(f,a,l,n));if(i>r||o()){e.onComplete&&e.onComplete();return}h(c)}()}function p(e){return fabric[fabric.util.string.camelize(fabric.util.string.capitalize(e))]}function d(e,t,n){if(e){var r=fabric.util.createImage();r.onload=function(){t&&t.call(n,r),r=r.onload=null},r.src=e}else t&&t.call(n,e)}function v(e,t){function n(){++i===s&&t&&t(r)}var r=[],i=0,s=e.length;e.forEach(function(e,t){if(!e.type)return;var i=fabric.util.getKlass(e.type);i.async?i.fromObject(e,function(e,i){i||(r[t]=e),n()}):(r[t]=i.fromObject(e),n())})}function m(e,t,n){var r;return e.length>1?r=new fabric.PathGroup(e,t):r=e[0],typeof n!="undefined"&&r.setSourcePath(n),r}function g(e,t,n){if(n&&Object.prototype.toString.call(n)==="[object Array]")for(var r=0,i=n.length;rr)r+=u[p++%h],r>l&&(r=l),n[d?"lineTo":"moveTo"](r,0),d=!d;n.restore()}function b(e){return e||(e=fabric.document.createElement("canvas")),!e.getContext&&typeof G_vmlCanvasManager!="undefined"&&G_vmlCanvasManager.initElement(e),e}function w(){return fabric.isLikelyNode?new(require("canvas").Image):fabric.document.createElement("img")}function E(e){var t=e.prototype;for(var n=t.stateProperties.length;n--;){var r=t.stateProperties[n],i=r.charAt(0).toUpperCase()+r.slice(1),s="set"+i,o="get"+i;t[o]||(t[o]=function(e){return new Function('return this.get("'+e+'")')}(r)),t[s]||(t[s]=function(e){return new Function("value",'return this.set("'+e+'", value)')}(r))}}function S(e,t){t.save(),t.beginPath(),e.clipTo(t),t.clip()}function x(e,t){var n=[[e[0],e[2],e[4]],[e[1],e[3],e[5]],[0,0,1]],r=[[t[0],t[2],t[4]],[t[1],t[3],t[5]],[0,0,1]],i=[];for(var s=0;s<3;s++){i[s]=[];for(var o=0;o<3;o++){var u=0;for(var a=0;a<3;a++)u+=n[s][a]*r[a][o];i[s][o]=u}}return[i[0][0],i[1][0],i[0][1],i[1][1],i[0][2],i[1][2]]}function T(e){return(String(e).match(/function[^{]*\{([\s\S]*)\}/)||{})[1]}function N(e,t,n,r){var i=r[0],s=r[1],o=r[2],u=r[3],a=r[4],f=r[5],l=r[6],c=O(f,l,i,s,u,a,o,t,n);for(var h=0;h1&&(d=Math.sqrt(d),n*=d,r*=d);var v=c/n,m=l/n,g=-l/r,y=c/r,b=v*u+m*a,w=g*u+y*a,E=v*e+m*t,S=g*e+y*t,x=(E-b)*(E-b)+(S-w)*(S-w),T=1/x-.25;T<0&&(T=0);var N=Math.sqrt(T);s===i&&(N=-N);var k=.5*(b+E)-N*(S-w),O=.5*(w+S)+N*(E-b),M=Math.atan2(w-O,b-k),_=Math.atan2(S-O,E-k),D=_-M;D<0&&s===1?D+=2*Math.PI:D>0&&s===0&&(D-=2*Math.PI);var P=Math.ceil(Math.abs(D/(Math.PI*.5+.001))),H=[];for(var B=0;B=r&&(r=e[n][t]);else while(n--)e[n]>=r&&(r=e[n]);return r}function r(e,t){if(!e||e.length===0)return undefined;var n=e.length-1,r=t?e[n][t]:e[n];if(t)while(n--)e[n][t]>>0;if(n===0)return-1;var r=0;arguments.length>0&&(r=Number(arguments[1]),r!==r?r=0:r!==0&&r!==Number.POSITIVE_INFINITY&&r!==Number.NEGATIVE_INFINITY&&(r=(r>0||-1)*Math.floor(Math.abs(r))));if(r>=n)return-1;var i=r>=0?r:Math.max(n-Math.abs(r),0);for(;i>>0;n>>0;r>>0;n>>0;n>>0;i>>0,n=0,r;if(arguments.length>1)r=arguments[1];else do{if(n in this){r=this[n++];break}if(++n>=t)throw new TypeError}while(!0);for(;n/g,">")}String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,"")}),fabric.util.string={camelize:e,capitalize:t,escapeXml:n}}(),function(){var e=Array.prototype.slice,t=Function.prototype.apply,n=function(){};Function.prototype.bind||(Function.prototype.bind=function(r){var i=this,s=e.call(arguments,1),o;return s.length?o=function(){return t.call(i,this instanceof n?this:r,s.concat(e.call(arguments)))}:o=function(){return t.call(i,this instanceof n?this:r,arguments)},n.prototype=this.prototype,o.prototype=new n,o})}(),function(){function i(){}function s(t){var n=this.constructor.superclass.prototype[t];return arguments.length>1?n.apply(this,e.call(arguments,1)):n.call(this)}function o(){function u(){this.initialize.apply(this,arguments)}var n=null,o=e.call(arguments,0);typeof o[0]=="function"&&(n=o.shift()),u.superclass=n,u.subclasses=[],n&&(i.prototype=n.prototype,u.prototype=new i,n.subclasses.push(u));for(var a=0,f=o.length;a-1?e.prototype[i]=function(e){return function(){var n=this.constructor.superclass;this.constructor.superclass=r;var i=t[e].apply(this,arguments);this.constructor.superclass=n;if(e!=="initialize")return i}}(i):e.prototype[i]=t[i],n&&(t.toString!==Object.prototype.toString&&(e.prototype.toString=t.toString),t.valueOf!==Object.prototype.valueOf&&(e.prototype.valueOf=t.valueOf))};fabric.util.createClass=o}(),function(){function e(e){var t=Array.prototype.slice.call(arguments,1),n,r,i=t.length;for(r=0;r"),fabric.window=fabric.document.createWindow()),fabric.isTouchSupported="ontouchstart"in fabric.document.documentElement,fabric.isLikelyNode=typeof Buffer!="undefined"&&typeof window=="undefined";var Cufon=function(){function r(e){var t=this.face=e.face;this.glyphs=e.glyphs,this.w=e.w,this.baseSize=parseInt(t["units-per-em"],10),this.family=t["font-family"].toLowerCase(),this.weight=t["font-weight"],this.style=t["font-style"]||"normal",this.viewBox=function(){var e=t.bbox.split(/\s+/),n={minX:parseInt(e[0],10),minY:parseInt(e[1],10),maxX:parseInt(e[2],10),maxY:parseInt(e[3],10)};return n.width=n.maxX-n.minX,n.height=n.maxY-n.minY,n.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")},n}(),this.ascent=-parseInt(t.ascent,10),this.descent=-parseInt(t.descent,10),this.height=-this.ascent+this.descent}function i(){var e={},t={oblique:"italic",italic:"oblique"};this.add=function(t){(e[t.style]||(e[t.style]={}))[t.weight]=t},this.get=function(n,r){var i=e[n]||e[t[n]]||e.normal||e.italic||e.oblique;if(!i)return null;r={normal:400,bold:700}[r]||parseInt(r,10);if(i[r])return i[r];var s={1:1,99:0}[r%100],o=[],u,a;s===undefined&&(s=r>400),r==500&&(r=400);for(var f in i){f=parseInt(f,10);if(!u||fa)a=f;o.push(f)}return ra&&(r=a),o.sort(function(e,t){return(s?e>r&&t>r?et:et:e=i.length+e?r():setTimeout(arguments.callee,10)}),function(t){e?t():n.push(t)}}(),supports:function(e,t){var n=fabric.document.createElement("span").style;return n[e]===undefined?!1:(n[e]=t,n[e]===t)},textAlign:function(e,t,n,r){return t.get("textAlign")=="right"?n>0&&(e=" "+e):nk&&(k=N),A.push(N),N=0;continue}var O=t.glyphs[T[b]]||t.missingGlyph;if(!O)continue;N+=C=Number(O.w||t.w)+h}A.push(N),N=Math.max(k,N);var M=[];for(var b=A.length;b--;)M[b]=N-A[b];if(C===null)return null;d+=l.width-C,m+=l.minX;var _,D;if(f)_=u,D=u.firstChild;else{_=fabric.document.createElement("span"),_.className="cufon cufon-canvas",_.alt=n,D=fabric.document.createElement("canvas"),_.appendChild(D);if(i.printable){var P=fabric.document.createElement("span");P.className="cufon-alt",P.appendChild(fabric.document.createTextNode(n)),_.appendChild(P)}}var H=_.style,B=D.style||{},j=c.convert(l.height-p+v),F=Math.ceil(j),I=F/j;D.width=Math.ceil(c.convert(N+d-m)*I),D.height=F,p+=l.minY,B.top=Math.round(c.convert(p-t.ascent))+"px",B.left=Math.round(c.convert(m))+"px";var q=Math.ceil(c.convert(N*I)),R=q+"px",U=c.convert(t.height),z=(i.lineHeight-1)*c.convert(-t.ascent/5)*(L-1);Cufon.textOptions.width=q,Cufon.textOptions.height=U*L+z,Cufon.textOptions.lines=L,Cufon.textOptions.totalLineHeight=z,e?(H.width=R,H.height=U+"px"):(H.paddingLeft=R,H.paddingBottom=U-1+"px");var W=Cufon.textOptions.context||D.getContext("2d"),X=F/l.height;Cufon.textOptions.fontAscent=t.ascent*X,Cufon.textOptions.boundaries=null;for(var V=Cufon.textOptions.shadowOffsets,b=y.length;b--;)V[b]=[y[b][0]*X,y[b][1]*X];W.save(),W.scale(X,X),W.translate(-m-1/X*D.width/2+(Cufon.fonts[t.family].offsetLeft||0),-p-Cufon.textOptions.height/X/2+(Cufon.fonts[t.family].offsetTop||0)),W.lineWidth=t.face["underline-thickness"],W.save();var J=Cufon.getTextDecoration(i),K=i.fontStyle==="italic";W.save(),Q();if(g)for(var b=0,w=g.length;b.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(e,t,i,s,o,u,a){var f=t===null;f&&(t=o.alt);var l=e.viewBox,c=i.computedFontSize||(i.computedFontSize=new Cufon.CSS.Size(n(u,i.get("fontSize"))+"px",e.baseSize)),h=i.computedLSpacing;h==undefined&&(h=i.get("letterSpacing"),i.computedLSpacing=h=h=="normal"?0:~~c.convertFrom(r(u,h)));var p,d;if(f)p=o,d=o.firstChild;else{p=fabric.document.createElement("span"),p.className="cufon cufon-vml",p.alt=t,d=fabric.document.createElement("span"),d.className="cufon-vml-canvas",p.appendChild(d);if(s.printable){var v=fabric.document.createElement("span");v.className="cufon-alt",v.appendChild(fabric.document.createTextNode(t)),p.appendChild(v)}a||p.appendChild(fabric.document.createElement("cvml:shape"))}var m=p.style,g=d.style,y=c.convert(l.height),b=Math.ceil(y),w=b/y,E=l.minX,S=l.minY;g.height=b,g.top=Math.round(c.convert(S-e.ascent)),g.left=Math.round(c.convert(E)),m.height=c.convert(e.height)+"px";var x=Cufon.getTextDecoration(s),T=i.get("color"),N=Cufon.CSS.textTransform(t,i).split(""),C=0,k=0,L=null,A,O,M=s.textShadow;for(var _=0,D=0,P=N.length;_-1},complexity:function(){return this.getObjects().reduce(function(e,t){return e+=t.complexity?t.complexity():0,e},0)},toGrayscale:function(){return this.forEachObject(function(e){e.toGrayscale()})}},function(){function n(e,t){var n=e.indexOf(t);return n!==-1&&e.splice(n,1),e}function r(e,t){return Math.floor(Math.random()*(t-e+1))+e}function s(e){return e*i}function o(e){return e/i}function u(e,t,n){var r=Math.sin(n),i=Math.cos(n);e.subtractEquals(t);var s=e.x*i-e.y*r,o=e.x*r+e.y*i;return(new fabric.Point(s,o)).addEquals(t)}function a(e,t){return parseFloat(Number(e).toFixed(t))}function f(){return!1}function l(e){e||(e={});var t=+(new Date),n=e.duration||500,r=t+n,i,s=e.onChange||function(){},o=e.abort||function(){return!1},u=e.easing||function(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t},a="startValue"in e?e.startValue:0,f="endValue"in e?e.endValue:100,l=e.byValue||f-a;e.onStart&&e.onStart(),function c(){i=+(new Date);var f=i>r?n:i-t;s(u(f,a,l,n));if(i>r||o()){e.onComplete&&e.onComplete();return}h(c)}()}function p(e){return fabric[fabric.util.string.camelize(fabric.util.string.capitalize(e))]}function d(e,t,n){if(e){var r=fabric.util.createImage();r.onload=function(){t&&t.call(n,r),r=r.onload=null},r.src=e}else t&&t.call(n,e)}function v(e,t){function n(){++i===s&&t&&t(r)}var r=[],i=0,s=e.length;e.forEach(function(e,t){if(!e.type)return;var i=fabric.util.getKlass(e.type);i.async?i.fromObject(e,function(e,i){i||(r[t]=e),n()}):(r[t]=i.fromObject(e),n())})}function m(e,t,n){var r;return e.length>1?r=new fabric.PathGroup(e,t):r=e[0],typeof n!="undefined"&&r.setSourcePath(n),r}function g(e,t,n){if(n&&Object.prototype.toString.call(n)==="[object Array]")for(var r=0,i=n.length;rr)r+=u[p++%h],r>l&&(r=l),n[d?"lineTo":"moveTo"](r,0),d=!d;n.restore()}function b(e){return e||(e=fabric.document.createElement("canvas")),!e.getContext&&typeof G_vmlCanvasManager!="undefined"&&G_vmlCanvasManager.initElement(e),e}function w(){return fabric.isLikelyNode?new(require("canvas").Image):fabric.document.createElement("img")}function E(e){var t=e.prototype;for(var n=t.stateProperties.length;n--;){var r=t.stateProperties[n],i=r.charAt(0).toUpperCase()+r.slice(1),s="set"+i,o="get"+i;t[o]||(t[o]=function(e){return new Function('return this.get("'+e+'")')}(r)),t[s]||(t[s]=function(e){return new Function("value",'return this.set("'+e+'", value)')}(r))}}function S(e,t){t.save(),t.beginPath(),e.clipTo(t),t.clip()}function x(e,t){var n=[[e[0],e[2],e[4]],[e[1],e[3],e[5]],[0,0,1]],r=[[t[0],t[2],t[4]],[t[1],t[3],t[5]],[0,0,1]],i=[];for(var s=0;s<3;s++){i[s]=[];for(var o=0;o<3;o++){var u=0;for(var a=0;a<3;a++)u+=n[s][a]*r[a][o];i[s][o]=u}}return[i[0][0],i[1][0],i[0][1],i[1][1],i[0][2],i[1][2]]}function T(e){return(String(e).match(/function[^{]*\{([\s\S]*)\}/)||{})[1]}function N(e,t,n,r){var i=r[0],s=r[1],o=r[2],u=r[3],a=r[4],f=r[5],l=r[6],c=O(f,l,i,s,u,a,o,t,n);for(var h=0;h1&&(d=Math.sqrt(d),n*=d,r*=d);var v=c/n,m=l/n,g=-l/r,y=c/r,b=v*u+m*a,w=g*u+y*a,E=v*e+m*t,S=g*e+y*t,x=(E-b)*(E-b)+(S-w)*(S-w),T=1/x-.25;T<0&&(T=0);var N=Math.sqrt(T);s===i&&(N=-N);var k=.5*(b+E)-N*(S-w),O=.5*(w+S)+N*(E-b),M=Math.atan2(w-O,b-k),_=Math.atan2(S-O,E-k),D=_-M;D<0&&s===1?D+=2*Math.PI:D>0&&s===0&&(D-=2*Math.PI);var P=Math.ceil(Math.abs(D/(Math.PI*.5+.001))),H=[];for(var B=0;B=r&&(r=e[n][t]);else while(n--)e[n]>=r&&(r=e[n]);return r}function r(e,t){if(!e||e.length===0)return undefined;var n=e.length-1,r=t?e[n][t]:e[n];if(t)while(n--)e[n][t]>>0;if(n===0)return-1;var r=0;arguments.length>0&&(r=Number(arguments[1]),r!==r?r=0:r!==0&&r!==Number.POSITIVE_INFINITY&&r!==Number.NEGATIVE_INFINITY&&(r=(r>0||-1)*Math.floor(Math.abs(r))));if(r>=n)return-1;var i=r>=0?r:Math.max(n-Math.abs(r),0);for(;i>>0;n>>0;r>>0;n>>0;n>>0;i>>0,n=0,r;if(arguments.length>1)r=arguments[1];else do{if(n in this){r=this[n++];break}if(++n>=t)throw new TypeError}while(!0);for(;n/g,">")}String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,"")}),fabric.util.string={camelize:e,capitalize:t,escapeXml:n}}(),function(){var e=Array.prototype.slice,t=Function.prototype.apply,n=function(){};Function.prototype.bind||(Function.prototype.bind=function(r){var i=this,s=e.call(arguments,1),o;return s.length?o=function(){return t.call(i,this instanceof n?this:r,s.concat(e.call(arguments)))}:o=function(){return t.call(i,this instanceof n?this:r,arguments)},n.prototype=this.prototype,o.prototype=new n,o})}(),function(){function i(){}function s(t){var n=this.constructor.superclass.prototype[t];return arguments.length>1?n.apply(this,e.call(arguments,1)):n.call(this)}function o(){function u(){this.initialize.apply(this,arguments)}var n=null,o=e.call(arguments,0);typeof o[0]=="function"&&(n=o.shift()),u.superclass=n,u.subclasses=[],n&&(i.prototype=n.prototype,u.prototype=new i,n.subclasses.push(u));for(var a=0,f=o.length;a-1?e.prototype[i]=function(e){return function(){var n=this.constructor.superclass;this.constructor.superclass=r;var i=t[e].apply(this,arguments);this.constructor.superclass=n;if(e!=="initialize")return i}}(i):e.prototype[i]=t[i],n&&(t.toString!==Object.prototype.toString&&(e.prototype.toString=t.toString),t.valueOf!==Object.prototype.valueOf&&(e.prototype.valueOf=t.valueOf))};fabric.util.createClass=o}(),function(){function e(e){var t=Array.prototype.slice.call(arguments,1),n,r,i=t.length;for(r=0;r-1?s(e,t.match(/opacity:\s*(\d?\.?\d*)/)[1]):e;for(var r in t)if(r==="opacity")s(e,t[r]);else{var i=r==="float"||r==="cssFloat"?typeof n.styleFloat=="undefined"?"cssFloat":"styleFloat":r;n[i]=t[r]}return e}var t=fabric.document.createElement("div"),n=typeof t.style.opacity=="string",r=typeof t.style.filter=="string",i=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,s=function(e){return e};n?s=function(e,t){return e.style.opacity=t,e}:r&&(s=function(e,t){var n=e.style;return e.currentStyle&&!e.currentStyle.hasLayout&&(n.zoom=1),i.test(n.filter)?(t=t>=.9999?"":"alpha(opacity="+t*100+")",n.filter=n.filter.replace(i,t)):n.filter+=" alpha(opacity="+t*100+")",e}),fabric.util.setStyle=e}(),function(){function t(e){return typeof e=="string"?fabric.document.getElementById(e):e}function s(e,t){var n=fabric.document.createElement(e);for(var r in t)r==="class"?n.className=t[r]:r==="for"?n.htmlFor=t[r]:n.setAttribute(r,t[r]);return n}function o(e,t){(" "+e.className+" ").indexOf(" "+t+" ")===-1&&(e.className+=(e.className?" ":"")+t)}function u(e,t,n){return typeof t=="string"&&(t=s(t,n)),e.parentNode&&e.parentNode.replaceChild(t,e),t.appendChild(e),t}function a(e){var t,n,r={left:0,top:0},i=e&&e.ownerDocument,s={left:0,top:0},o={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!i)return{left:0,top:0};for(var u in o)s[o[u]]+=parseInt(f(e,u),10)||0;return t=i.documentElement,typeof e.getBoundingClientRect!="undefined"&&(r=e.getBoundingClientRect()),i!=null&&i===i.window?n=i:n=i.nodeType===9&&(i.defaultView||i.parentWindow),{left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)+s.left,top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0)+s.top}}function f(e,t){e.style||(e.style={});if(fabric.document.defaultView&&fabric.document.defaultView.getComputedStyle)return fabric.document.defaultView.getComputedStyle(e,null)[t];var n=e.style[t];return!n&&e.currentStyle&&(n=e.currentStyle[t]),n}var e=Array.prototype.slice,n=function(t){return e.call(t,0)},r;try{r=n(fabric.document.childNodes)instanceof Array}catch(i){}r||(n=function(e){var t=new Array(e.length),n=e.length;while(n--)t[n]=e[n];return t}),function(){function n(e){return typeof e.onselectstart!="undefined"&&(e.onselectstart=fabric.util.falseFunction),t?e.style[t]="none":typeof e.unselectable=="string"&&(e.unselectable="on"),e}function r(e){return typeof e.onselectstart!="undefined"&&(e.onselectstart=null),t?e.style[t]="":typeof e.unselectable=="string"&&(e.unselectable=""),e}var e=fabric.document.documentElement.style,t="userSelect"in e?"userSelect":"MozUserSelect"in e?"MozUserSelect":"WebkitUserSelect"in e?"WebkitUserSelect":"KhtmlUserSelect"in e?"KhtmlUserSelect":"";fabric.util.makeElementUnselectable=n,fabric.util.makeElementSelectable=r}(),function(){function e(e,t){var n=fabric.document.getElementsByTagName("head")[0],r=fabric.document.createElement("script"),i=!0;r.onload=r.onreadystatechange=function(e){if(i){if(typeof this.readyState=="string"&&this.readyState!=="loaded"&&this.readyState!=="complete")return;i=!1,t(e||fabric.window.event),r=r.onload=r.onreadystatechange=null}},r.src=e,n.appendChild(r)}fabric.util.getScript=e}(),fabric.util.getById=t,fabric.util.toArray=n,fabric.util.makeElement=s,fabric.util.addClass=o,fabric.util.wrapElement=u,fabric.util.getElementOffset=a,fabric.util.getElementStyle=f}(),function(){function e(e,t){return e+(/\?/.test(e)?"&":"?")+t}function n(){}function r(r,i){i||(i={});var s=i.method?i.method.toUpperCase():"GET",o=i.onComplete||function(){},u=t(),a;return u.onreadystatechange=function(){u.readyState===4&&(o(u),u.onreadystatechange=n)},s==="GET"&&(a=null,typeof i.parameters=="string"&&(r=e(r,i.parameters))),u.open(s,r,!0),(s==="POST"||s==="PUT")&&u.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),u.send(a),u}var t=function(){var e=[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 t=e.length;t--;)try{var n=e[t]();if(n)return e[t]}catch(r){}}();fabric.util.request=r}(),function(){function e(e,t,n,r){return n*(e/=r)*e+t}function t(e,t,n,r){return-n*(e/=r)*(e-2)+t}function n(e,t,n,r){return e/=r/2,e<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}function r(e,t,n,r){return n*(e/=r)*e*e+t}function i(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}function s(e,t,n,r){return e/=r/2,e<1?n/2*e*e*e+t:n/2*((e-=2)*e*e+2)+t}function o(e,t,n,r){return n*(e/=r)*e*e*e+t}function u(e,t,n,r){return-n*((e=e/r-1)*e*e*e-1)+t}function a(e,t,n,r){return e/=r/2,e<1?n/2*e*e*e*e+t:-n/2*((e-=2)*e*e*e-2)+t}function f(e,t,n,r){return n*(e/=r)*e*e*e*e+t}function l(e,t,n,r){return n*((e=e/r-1)*e*e*e*e+1)+t}function c(e,t,n,r){return e/=r/2,e<1?n/2*e*e*e*e*e+t:n/2*((e-=2)*e*e*e*e+2)+t}function h(e,t,n,r){return-n*Math.cos(e/r*(Math.PI/2))+n+t}function p(e,t,n,r){return n*Math.sin(e/r*(Math.PI/2))+t}function d(e,t,n,r){return-n/2*(Math.cos(Math.PI*e/r)-1)+t}function v(e,t,n,r){return e===0?t:n*Math.pow(2,10*(e/r-1))+t}function m(e,t,n,r){return e===r?t+n:n*(-Math.pow(2,-10*e/r)+1)+t}function g(e,t,n,r){return e===0?t:e===r?t+n:(e/=r/2,e<1?n/2*Math.pow(2,10*(e-1))+t:n/2*(-Math.pow(2,-10*--e)+2)+t)}function y(e,t,n,r){return-n*(Math.sqrt(1-(e/=r)*e)-1)+t}function b(e,t,n,r){return n*Math.sqrt(1-(e=e/r-1)*e)+t}function w(e,t,n,r){return e/=r/2,e<1?-n/2*(Math.sqrt(1-e*e)-1)+t:n/2*(Math.sqrt(1-(e-=2)*e)+1)+t}function E(e,t,n,r){var i=1.70158,s=0,o=n;return e===0?t:(e/=r,e===1?t+n:(s||(s=r*.3),o-1;e=e.split(/\s+/);var n=[],r,i;if(t){r=0,i=e.length;for(;r/i,"")));if(!s.documentElement)return;t.parseSVGDocument(s.documentElement,function(r,i){w.set(e,{objects:t.util.array.invoke(r,"toObject"),options:i}),n(r,i)},r)}e=e.replace(/^\n\s*/,"").trim(),w.has(e,function(r){r?w.get(e,function(e){var t=S(e);n(t.objects,t.options)}):new t.util.request(e,{method:"get",onComplete:i})})}function S(e){var n=e.objects,i=e.options;return n=n.map(function(e){return t[r(e.type)].fromObject(e)}),{objects:n,options:i}}function x(e,n,r){e=e.trim();var i;if(typeof DOMParser!="undefined"){var s=new DOMParser;s&&s.parseFromString&&(i=s.parseFromString(e,"text/xml"))}else t.window.ActiveXObject&&(i=new ActiveXObject("Microsoft.XMLDOM"),i.async="false",i.loadXML(e.replace(//i,"")));t.parseSVGDocument(i.documentElement,function(e,t){n(e,t)},r)}function T(e){var t="";for(var n=0,r=e.length;n',"",""].join("")),t}function N(e){var t="";return e.backgroundColor&&e.backgroundColor.source&&(t=['',''].join("")),t}function C(e){var t=e.getElementsByTagName("linearGradient"),n=e.getElementsByTagName("radialGradient"),r,i,s={};i=t.length;for(;i--;)r=t[i],s[r.getAttribute("id")]=r;i=n.length;for(;i--;)r=n[i],s[r.getAttribute("id")]=r;return s}var t=e.fabric||(e.fabric={}),n=t.util.object.extend,r=t.util.string.capitalize,i=t.util.object.clone,s=t.util.toFixed,o=t.util.multiplyTransformMatrices;t.SHARED_ATTRIBUTES=["transform","fill","fill-opacity","fill-rule","opacity","stroke","stroke-dasharray","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width"];var u={"fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight",cx:"left",x:"left",r:"radius","stroke-dasharray":"strokeDashArray","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration",cy:"top",y:"top",transform:"transformMatrix"},a={stroke:"strokeOpacity",fill:"fillOpacity"};t.parseTransformAttribute=function(){function e(e,t){var n=t[0];e[0]=Math.cos(n),e[1]=Math.sin(n),e[2]=-Math.sin(n),e[3]=Math.cos(n)}function n(e,t){var n=t[0],r=t.length===2?t[1]:t[0];e[0]=n,e[3]=r}function r(e,t){e[2]=t[0]}function i(e,t){e[1]=t[0]}function s(e,t){e[4]=t[0],t.length===2&&(e[5]=t[1])}var o=[1,0,0,1,0,0],u="(?:[-+]?\\d+(?:\\.\\d+)?(?:e[-+]?\\d+)?)",a="(?:\\s+,?\\s*|,\\s*)",f="(?:(skewX)\\s*\\(\\s*("+u+")\\s*\\))",l="(?:(skewY)\\s*\\(\\s*("+u+")\\s*\\))",c="(?:(rotate)\\s*\\(\\s*("+u+")(?:"+a+"("+u+")"+a+"("+u+"))?\\s*\\))",h="(?:(scale)\\s*\\(\\s*("+u+")(?:"+a+"("+u+"))?\\s*\\))",p="(?:(translate)\\s*\\(\\s*("+u+")(?:"+a+"("+u+"))?\\s*\\))",d="(?:(matrix)\\s*\\(\\s*("+u+")"+a+"("+u+")"+a+"("+u+")"+a+"("+u+")"+a+"("+u+")"+a+"("+u+")"+"\\s*\\))",v="(?:"+d+"|"+p+"|"+h+"|"+c+"|"+f+"|"+l+")",m="(?:"+v+"(?:"+a+v+")*"+")",g="^\\s*(?:"+m+"?)\\s*$",y=new RegExp(g),b=new RegExp(v,"g");return function(u){var a=o.concat(),f=[];if(!u||u&&!y.test(u))return a;u.replace(b,function(t){var u=(new RegExp(v)).exec(t).filter(function(e){return e!==""&&e!=null}),l=u[1],c=u.slice(2).map(parseFloat);switch(l){case"translate":s(a,c);break;case"rotate":e(a,c);break;case"scale":n(a,c);break;case"skewX":r(a,c);break;case"skewY":i(a,c);break;case"matrix":a=c}f.push(a.concat()),a=o.concat()});var l=f[0];while(f.length>1)f.shift(),l=t.util.multiplyTransformMatrices(l,f[0]);return l}}(),t.parseSVGDocument=function(){function s(e,t){while(e&&(e=e.parentNode))if(t.test(e.nodeName))return!0;return!1}var e=/^(path|circle|polygon|polyline|ellipse|rect|line|image|text)$/,n="(?:[-+]?\\d+(?:\\.\\d+)?(?:e[-+]?\\d+)?)",r=new RegExp("^\\s*("+n+"+)\\s*,?"+"\\s*("+n+"+)\\s*,?"+"\\s*("+n+"+)\\s*,?"+"\\s*("+n+"+)\\s*"+"$");return function(n,o,u){if(!n)return;var a=new Date,f=t.util.toArray(n.getElementsByTagName("*"));if(f.length===0){f=n.selectNodes("//*[name(.)!='svg']");var l=[];for(var c=0,h=f.length;ce.x&&this.y>e.y},gte:function(e){return this.x>=e.x&&this.y>=e.y},lerp:function(e,t){return new n(this.x+(e.x-this.x)*t,this.y+(e.y-this.y)*t)},distanceFrom:function(e){var t=this.x-e.x,n=this.y-e.y;return Math.sqrt(t*t+n*n)},midPointFrom:function(e){return new n(this.x+(e.x-this.x)/2,this.y+(e.y-this.y)/2)},min:function(e){return new n(Math.min(this.x,e.x),Math.min(this.y,e.y))},max:function(e){return new n(Math.max(this.x,e.x),Math.max(this.y,e.y))},toString:function(){return this.x+","+this.y},setXY:function(e,t){this.x=e,this.y=t},setFromPoint:function(e){this.x=e.x,this.y=e.y},swap:function(e){var t=this.x,n=this.y;this.x=e.x,this.y=e.y,e.x=t,e.y=n}}}(typeof exports!="undefined"?exports:this),function(e){"use strict";function n(e){this.status=e,this.points=[]}var t=e.fabric||(e.fabric={});if(t.Intersection){t.warn("fabric.Intersection is already defined");return}t.Intersection=n,t.Intersection.prototype={appendPoint:function(e){this.points.push(e)},appendPoints:function(e){this.points=this.points.concat(e)}},t.Intersection.intersectLineLine=function(e,r,i,s){var o,u=(s.x-i.x)*(e.y-i.y)-(s.y-i.y)*(e.x-i.x),a=(r.x-e.x)*(e.y-i.y)-(r.y-e.y)*(e.x-i.x),f=(s.y-i.y)*(r.x-e.x)-(s.x-i.x)*(r.y-e.y);if(f!==0){var l=u/f,c=a/f;0<=l&&l<=1&&0<=c&&c<=1?(o=new n("Intersection"),o.points.push(new t.Point(e.x+l*(r.x-e.x),e.y+l*(r.y-e.y)))):o=new n}else u===0||a===0?o=new n("Coincident"):o=new n("Parallel");return o},t.Intersection.intersectLinePolygon=function(e,t,r){var i=new n,s=r.length;for(var o=0;o0&&(i.status="Intersection"),i},t.Intersection.intersectPolygonPolygon=function(e,t){var r=new n,i=e.length;for(var s=0;s0&&(r.status="Intersection"),r},t.Intersection.intersectPolygonRectangle=function(e,r,i){var s=r.min(i),o=r.max(i),u=new t.Point(o.x,s.y),a=new t.Point(s.x,o.y),f=n.intersectLinePolygon(s,u,e),l=n.intersectLinePolygon(u,o,e),c=n.intersectLinePolygon(o,a,e),h=n.intersectLinePolygon(a,s,e),p=new n;return p.appendPoints(f.points),p.appendPoints(l.points),p.appendPoints(c.points),p.appendPoints(h.points),p.points.length>0&&(p.status="Intersection"),p}}(typeof exports!="undefined"?exports:this),function(e){"use strict";function n(e){e?this._tryParsingColor(e):this.setSource([0,0,0,1])}function r(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var t=e.fabric||(e.fabric={});if(t.Color){t.warn("fabric.Color is already defined.");return}t.Color=n,t.Color.prototype={_tryParsingColor:function(e){var t;e in n.colorNameMap&&(e=n.colorNameMap[e]),t=n.sourceFromHex(e),t||(t=n.sourceFromRgb(e)),t||(t=n.sourceFromHsl(e)),t&&this.setSource(t)},_rgbToHsl:function(e,n,r){e/=255,n/=255,r/=255;var i,s,o,u=t.util.array.max([e,n,r]),a=t.util.array.min([e,n,r]);o=(u+a)/2;if(u===a)i=s=0;else{var f=u-a;s=o>.5?f/(2-u-a):f/(u+a);switch(u){case e:i=(n-r)/f+(n']:this.type==="radial"&&(i=["']);for(var s=0;s');return i.push(this.type==="linear"?"":""),i.join("")},toLive:function(e){var t;if(!this.type)return;this.type==="linear"?t=e.createLinearGradient(this.coords.x1,this.coords.y1,this.coords.x2,this.coords.y2):this.type==="radial"&&(t=e.createRadialGradient(this.coords.x1,this.coords.y1,this.coords.r1,this.coords.x2,this.coords.y2,this.coords.r2));for(var n=0,r=this.colorStops.length;n',''),t.push("',"Created with Fabric.js ",fabric.version,"","",fabric.createSVGFontFacesMarkup(this.getObjects()),fabric.createSVGRefElementsMarkup(this),""),this.backgroundColor&&this.backgroundColor.source&&t.push('"),this.backgroundImage&&t.push(''),this.overlayImage&&t.push('');var n=this.getActiveGroup();n&&this.discardActiveGroup();for(var r=0,i=this.getObjects(),s=i.length;r"),t.join("")},remove:function(e){return this.getActiveObject()===e&&(this.fire("before:selection:cleared",{target:e}),this.discardActiveObject(),this.fire("selection:cleared")),fabric.Collection.remove.call(this,e)},sendToBack:function(e){return n(this._objects,e),this._objects.unshift(e),this.renderAll&&this.renderAll()},bringToFront:function(e){return n(this._objects,e),this._objects.push(e),this.renderAll&&this.renderAll()},sendBackwards:function(e,t){var r=this._objects.indexOf(e);if(r!==0){var i;if(t){i=r;for(var s=r-1;s>=0;--s){var o=e.intersectsWithObject(this._objects[s])||e.isContainedWithinObject(this._objects[s])||this._objects[s].isContainedWithinObject(e);if(o){i=s;break}}}else i=r-1;n(this._objects,e),this._objects.splice(i,0,e),this.renderAll&&this.renderAll()}return this},bringForward:function(e,t){var r=this._objects.indexOf(e);if(r!==this._objects.length-1){var i;if(t){i=r;for(var s=r+1;s"},e(fabric.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',toGrayscale:function(e){var t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height),r=n.data,i=n.width,s=n.height,o,u,a,f;for(a=0;a0&&(t>this.targetFindTolerance?t-=this.targetFindTolerance:t=0,n>this.targetFindTolerance?n-=this.targetFindTolerance:n=0);var o=!0,u=r.getImageData(t,n,this.targetFindTolerance*2||1,this.targetFindTolerance*2||1);for(var a=3,f=u.data.length;ao.padding?l.x<0?l.x+=o.padding:l.x-=o.padding:l.x=0,s(l.y)>o.padding?l.y<0?l.y+=o.padding:l.y-=o.padding:l.y=0;var c=o.scaleX,h=o.scaleY;if(n==="equally"&&!u&&!a){var p=l.y+l.x,d=(o.height+o.strokeWidth)*r.original.scaleY+(o.width+o.strokeWidth)*r.original.scaleX;c=r.original.scaleX*p/d,h=r.original.scaleY*p/d,o.set("scaleX",c),o.set("scaleY",h)}else n?n==="x"&&!o.get("lockUniScaling")?(c=l.x/(o.width+o.strokeWidth),u||o.set("scaleX",c)):n==="y"&&!o.get("lockUniScaling")&&(h=l.y/(o.height+o.strokeWidth),a||o.set("scaleY",h)):(c=l.x/(o.width+o.strokeWidth),h=l.y/(o.height+o.strokeWidth),u||o.set("scaleX",c),a||o.set("scaleY",h));c<0&&(r.originX==="left"?r.originX="right":r.originX==="right"&&(r.originX="left")),h<0&&(r.originY==="top"?r.originY="bottom":r.originY==="bottom"&&(r.originY="top")),o.setPositionByOrigin(f,r.originX,r.originY)},_rotateObject:function(e,t){var n=this._currentTransform,s=this._offset;if(n.target.get("lockRotation"))return;var o=i(n.ey-n.top-s.top,n.ex-n.left-s.left),u=i(t-n.top-s.top,e-n.left-s.left),a=r(u-o+n.theta);a<0&&(a=360+a),n.target.angle=a},_setCursor:function(e){this.upperCanvasEl.style.cursor=e},_resetObjectTransform:function(e){e.scaleX=1,e.scaleY=1,e.setAngle(0)},_drawSelection:function(){var e=this.contextTop,t=this._groupSelector,n=t.left,r=t.top,i=s(n),o=s(r);e.fillStyle=this.selectionColor,e.fillRect(t.ex-(n>0?0:-n),t.ey-(r>0?0:-r),i,o),e.lineWidth=this.selectionLineWidth,e.strokeStyle=this.selectionBorderColor;if(this.selectionDashArray.length>1){var u=t.ex+a-(n>0?0:i),f=t.ey+a-(r>0?0:o);e.beginPath(),fabric.util.drawDashedLine(e,u,f,u+i,f,this.selectionDashArray),fabric.util.drawDashedLine(e,u,f+o-1,u+i,f+o-1,this.selectionDashArray),fabric.util.drawDashedLine(e,u,f,u,f+o,this.selectionDashArray),fabric.util.drawDashedLine(e,u+i-1,f,u+i-1,f+o,this.selectionDashArray),e.closePath(),e.stroke()}else e.strokeRect(t.ex+a-(n>0?0:i),t.ey+a-(r>0?0:o),i,o)},_findSelectedObjects:function(e){var t=[],n=this._groupSelector.ex,r=this._groupSelector.ey,i=n+this._groupSelector.left,s=r+this._groupSelector.top,a,f=new fabric.Point(o(n,i),o(r,s)),l=new fabric.Point(u(n,i),u(r,s)),c=n===i&&r===s;for(var h=this._objects.length;h--;){a=this._objects[h];if(!a)continue;if(a.intersectsWithRect(f,l)||a.isContainedWithinRect(f,l)||a.containsPoint(f)||a.containsPoint(l))if(this.selection&&a.selectable){a.set("active",!0),t.push(a);if(c)break}}t.length===1?this.setActiveObject(t[0],e):t.length>1&&(t=new fabric.Group(t.reverse()),this.setActiveGroup(t),t.saveCoords(),this.fire("selection:created",{target:t}),this.renderAll())},findTarget:function(e,t){var n,r=this.getPointer(e);if(this.controlsAboveOverlay&&this.lastRenderedObjectWithControlsAboveOverlay&&this.lastRenderedObjectWithControlsAboveOverlay.visible&&this.containsPoint(e,this.lastRenderedObjectWithControlsAboveOverlay)&&this.lastRenderedObjectWithControlsAboveOverlay._findTargetCorner(e,this._offset))return n=this.lastRenderedObjectWithControlsAboveOverlay,n;var i=this.getActiveGroup();if(i&&!t&&this.containsPoint(e,i))return n=i,n;var s=[];for(var o=this._objects.length;o--;)if(this._objects[o]&&this._objects[o].visible&&this.containsPoint(e,this._objects[o])){if(!this.perPixelTargetFind&&!this._objects[o].perPixelTargetFind){n=this._objects[o],this.relatedTarget=n;break}s[s.length]=this._objects[o]}for(var u=0,a=s.length;u"},get:function(e){return this[e]},set:function(e,t){if(typeof e=="object")for(var n in e)this._set(n,e[n]);else typeof t=="function"&&e!=="clipTo"?this._set(e,t(this.get(e))):this._set(e,t);return this},_set:function(e,t){var n=e==="scaleX"||e==="scaleY";n&&(t=this._constrainScale(t));if(e==="scaleX"&&t<0)this.flipX=!this.flipX,t*=-1;else if(e==="scaleY"&&t<0)this.flipY=!this.flipY,t*=-1;else if(e==="width"||e==="height")this.minScaleLimit=r(Math.min(.1,1/Math.max(this.width,this.height)),2);return this[e]=t,this},toggle:function(e){var t=this.get(e);return typeof t=="boolean"&&this.set(e,!t),this},setSourcePath:function(e){return this.sourcePath=e,this},render:function(e,n){if(this.width===0||this.height===0||!this.visible)return;e.save();var r=this.transformMatrix;r&&!this.group&&e.setTransform(r[0],r[1],r[2],r[3],r[4],r[5]),n||this.transform(e),this.stroke&&(e.lineWidth=this.strokeWidth,e.lineCap=this.strokeLineCap,e.lineJoin=this.strokeLineJoin,e.miterLimit=this.strokeMiterLimit,e.strokeStyle=this.stroke.toLive?this.stroke.toLive(e):this.stroke),this.overlayFill?e.fillStyle=this.overlayFill:this.fill&&(e.fillStyle=this.fill.toLive?this.fill.toLive(e):this.fill),r&&this.group&&(e.translate(-this.group.width/2,-this.group.height/2),e.transform(r[0],r[1],r[2],r[3],r[4],r[5])),this._setShadow(e),this.clipTo&&t.util.clipContext(this,e),this._render(e,n),this.clipTo&&e.restore(),this._removeShadow(e),this.active&&!n&&(this.drawBorders(e),this.drawControls(e)),e.restore()},_setShadow:function(e){if(!this.shadow)return;e.shadowColor=this.shadow.color,e.shadowBlur=this.shadow.blur,e.shadowOffsetX=this.shadow.offsetX,e.shadowOffsetY=this.shadow.offsetY},_removeShadow:function(e){e.shadowColor="",e.shadowBlur=e.shadowOffsetX=e.shadowOffsetY=0},_renderFill:function(e){if(!this.fill)return;this.fill.toLive&&(e.save(),e.translate(-this.width/2+this.fill.offsetX||0,-this.height/2+this.fill.offsetY||0)),e.fill(),this.fill.toLive&&e.restore(),this.shadow&&!this.shadow.affectStroke&&this._removeShadow(e)},_renderStroke:function(e){if(!this.stroke)return;e.save(),this.strokeDashArray?(1&this.strokeDashArray.length&&this.strokeDashArray.push.apply(this.strokeDashArray,this.strokeDashArray),o?(e.setLineDash(this.strokeDashArray),this._stroke&&this._stroke(e)):this._renderDashedStroke&&this._renderDashedStroke(e),e.stroke()):this._stroke?this._stroke(e):e.stroke(),this._removeShadow(e),e.restore()},clone:function(e,n){return this.constructor.fromObject?this.constructor.fromObject(this.toObject(n),e):new t.Object(this.toObject(n))},cloneAsImage:function(e){var n=this.toDataURL();return t.util.loadImage(n,function(n){e&&e(new t.Image(n))}),this},toDataURL:function(e){e||(e={});var n=t.util.createCanvasElement();n.width=this.getBoundingRectWidth(),n.height=this.getBoundingRectHeight(),t.util.wrapElement(n,"div");var r=new t.Canvas(n);e.format==="jpeg"&&(r.backgroundColor="#fff");var i={active:this.get("active"),left:this.getLeft(),top:this.getTop()};this.set({active:!1,left:n.width/2,top:n.height/2}),r.add(this);var s=r.toDataURL(e);return this.set(i).setCoords(),r.dispose(),r=null,s},isType:function(e){return this.type===e},toGrayscale:function(){var e=this.get("fill");return e&&this.set("overlayFill",(new t.Color(e)).toGrayscale().toRgb()),this},complexity:function(){return 0},toJSON:function(e){return this.toObject(e)},setGradient:function(e,n){n||(n={});var r={colorStops:[]};r.type=n.type||(n.r1||n.r2?"radial":"linear"),r.coords={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2};if(n.r1||n.r2)r.coords.r1=n.r1,r.coords.r2=n.r2;for(var i in n.colorStops){var s=new t.Color(n.colorStops[i]);r.colorStops.push({offset:i,color:s.toRgb(),opacity:s.getAlpha()})}this.set(e,t.Gradient.forObject(this,r))},setPatternFill:function(e){return this.set("fill",new t.Pattern(e))},setShadow:function(e){return this.set("shadow",new t.Shadow(e))},animate:function(){if(arguments[0]&&typeof arguments[0]=="object"){var e=[],t,n;for(t in arguments[0])e.push(t);for(var r=0,i=e.length;re.x&&n.left+n.widthe.y&&n.top+n.height=e.y&&f.d.y>=e.y)continue;f.o.x===f.d.x&&f.o.x>=e.x?(o=f.o.x,u=e.y):(n=0,r=(f.d.y-f.o.y)/(f.d.x-f.o.x),i=e.y-n*e.x,s=f.o.y-r*f.o.x,o=-(i-s)/(n-r),u=i+n*o),o>=e.x&&(a+=1);if(a===2)break}return a},getBoundingRectWidth:function(){return this.getBoundingRect().width},getBoundingRectHeight:function(){return this.getBoundingRect().height},getBoundingRect:function(){this.oCoords||this.setCoords();var e=[this.oCoords.tl.x,this.oCoords.tr.x,this.oCoords.br.x,this.oCoords.bl.x],t=fabric.util.array.min(e),n=fabric.util.array.max(e),r=Math.abs(t-n),i=[this.oCoords.tl.y,this.oCoords.tr.y,this.oCoords.br.y,this.oCoords.bl.y],s=fabric.util.array.min(i),o=fabric.util.array.max(i),u=Math.abs(s-o);return{left:t,top:s,width:r,height:u}},getWidth:function(){return this.width*this.scaleX},getHeight:function(){return this.height*this.scaleY},_constrainScale:function(e){return Math.abs(e)1?this.strokeWidth:0,n=this.padding,r=e(this.angle);this.currentWidth=(this.width+t)*this.scaleX+n*2,this.currentHeight=(this.height+t)*this.scaleY+n*2,this.currentWidth<0&&(this.currentWidth=Math.abs(this.currentWidth));var i=Math.sqrt(Math.pow(this.currentWidth/2,2)+Math.pow(this.currentHeight/2,2)),s=Math.atan(isFinite(this.currentHeight/this.currentWidth)?this.currentHeight/this.currentWidth:0),o=Math.cos(s+r)*i,u=Math.sin(s+r)*i,a=Math.sin(r),f=Math.cos(r),l=this.getCenterPoint(),c={x:l.x-o,y:l.y-u},h={x:c.x+this.currentWidth*f,y:c.y+this.currentWidth*a},p={x:h.x-this.currentHeight*a,y:h.y+this.currentHeight*f},d={x:c.x-this.currentHeight*a,y:c.y+this.currentHeight*f},v={x:c.x-this.currentHeight/2*a,y:c.y+this.currentHeight/2*f},m={x:c.x+this.currentWidth/2*f,y:c.y+this.currentWidth/2*a},g={x:h.x-this.currentHeight/2*a,y:h.y+this.currentHeight/2*f},y={x:d.x+this.currentWidth/2*f,y:d.y+this.currentWidth/2*a},b={x:m.x,y:m.y};return this.oCoords={tl:c,tr:h,br:p,bl:d,ml:v,mt:m,mr:g,mb:y,mtr:b},this._setCornerCoords&&this._setCornerCoords(),this}})}(),fabric.util.object.extend(fabric.Object.prototype,{hasStateChanged:function(){return this.stateProperties.some(function(e){return this[e]!==this.originalState[e]},this)},saveState:function(e){return this.stateProperties.forEach(function(e){this.originalState[e]=this.get(e)},this),e&&e.stateProperties&&e.stateProperties.forEach(function(e){this.originalState[e]=this.get(e)},this),this},setupState:function(){return this.originalState={},this.saveState(),this}}),function(){var e=fabric.util.getPointer,t=fabric.util.degreesToRadians;fabric.util.object.extend(fabric.Object.prototype,{_findTargetCorner:function(t,n){if(!this.hasControls||!this.active)return!1;var r=e(t,this.canvas.upperCanvasEl),i=r.x-n.left,s=r.y-n.top,o,u;for(var a in this.oCoords){if(a==="mtr"&&!this.hasRotatingPoint)continue;if(!(!this.get("lockUniScaling")||a!=="mt"&&a!=="mr"&&a!=="mb"&&a!=="ml"))continue;u=this._getImageLines(this.oCoords[a].corner),o=this._findCrossPoints({x:i,y:s},u);if(o!==0&&o%2===1)return this.__corner=a,a}return!1},_setCornerCoords:function(){var e=this.oCoords,n=t(this.angle),r=t(45-this.angle),i=Math.sqrt(2*Math.pow(this.cornerSize,2))/2,s=i*Math.cos(r),o=i*Math.sin(r),u=Math.sin(n),a=Math.cos(n);e.tl.corner={tl:{x:e.tl.x-o,y:e.tl.y-s},tr:{x:e.tl.x+s,y:e.tl.y-o},bl:{x:e.tl.x-s,y:e.tl.y+o},br:{x:e.tl.x+o,y:e.tl.y+s}},e.tr.corner={tl:{x:e.tr.x-o,y:e.tr.y-s},tr:{x:e.tr.x+s,y:e.tr.y-o},br:{x:e.tr.x+o,y:e.tr.y+s},bl:{x:e.tr.x-s,y:e.tr.y+o}},e.bl.corner={tl:{x:e.bl.x-o,y:e.bl.y-s},bl:{x:e.bl.x-s,y:e.bl.y+o},br:{x:e.bl.x+o,y:e.bl.y+s},tr:{x:e.bl.x+s,y:e.bl.y-o}},e.br.corner={tr:{x:e.br.x+s,y:e.br.y-o},bl:{x:e.br.x-s,y:e.br.y+o},br:{x:e.br.x+o,y:e.br.y+s},tl:{x:e.br.x-o,y:e.br.y-s}},e.ml.corner={tl:{x:e.ml.x-o,y:e.ml.y-s},tr:{x:e.ml.x+s,y:e.ml.y-o},bl:{x:e.ml.x-s,y:e.ml.y+o},br:{x:e.ml.x+o,y:e.ml.y+s}},e.mt.corner={tl:{x:e.mt.x-o,y:e.mt.y-s},tr:{x:e.mt.x+s,y:e.mt.y-o},bl:{x:e.mt.x-s,y:e.mt.y+o},br:{x:e.mt.x+o,y:e.mt.y+s}},e.mr.corner={tl:{x:e.mr.x-o,y:e.mr.y-s},tr:{x:e.mr.x+s,y:e.mr.y-o},bl:{x:e.mr.x-s,y:e.mr.y+o},br:{x:e.mr.x+o,y:e.mr.y+s}},e.mb.corner={tl:{x:e.mb.x-o,y:e.mb.y-s},tr:{x:e.mb.x+s,y:e.mb.y-o},bl:{x:e.mb.x-s,y:e.mb.y+o},br:{x:e.mb.x+o,y:e.mb.y+s}},e.mtr.corner={tl:{x:e.mtr.x-o+u*this.rotatingPointOffset,y:e.mtr.y-s-a*this.rotatingPointOffset},tr:{x:e.mtr.x+s+u*this.rotatingPointOffset,y:e.mtr.y-o-a*this.rotatingPointOffset},bl:{x:e.mtr.x-s+u*this.rotatingPointOffset,y:e.mtr.y+o-a*this.rotatingPointOffset},br:{x:e.mtr.x+o+u*this.rotatingPointOffset,y:e.mtr.y+s-a*this.rotatingPointOffset}}},drawBorders:function(e){if(!this.hasBorders)return this;var t=this.padding,n=t*2,r=this.strokeWidth>1?this.strokeWidth:0;e.save(),e.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,e.strokeStyle=this.borderColor;var i=1/this._constrainScale(this.scaleX),s=1/this._constrainScale(this.scaleY);e.lineWidth=1/this.borderScaleFactor,e.scale(i,s);var o=this.getWidth(),u=this.getHeight();e.strokeRect(~~(-(o/2)-t-r/2*this.scaleX)+.5,~~(-(u/2)-t-r/2*this.scaleY)+.5,~~(o+n+r*this.scaleX),~~(u+n+r*this.scaleY));if(this.hasRotatingPoint&&!this.get("lockRotation")&&this.hasControls){var a=(this.flipY?u+r*this.scaleY+t*2:-u-r*this.scaleY-t*2)/2;e.beginPath(),e.moveTo(0,a),e.lineTo(0,a+(this.flipY?this.rotatingPointOffset:-this.rotatingPointOffset)),e.closePath(),e.stroke()}return e.restore(),this},drawControls:function(e){if(!this.hasControls)return this;var t=this.cornerSize,n=t/2,r=this.strokeWidth>1?this.strokeWidth/2:0,i=-(this.width/2),s=-(this.height/2),o,u,a=t/this.scaleX,f=t/this.scaleY,l=this.padding/this.scaleX,c=this.padding/this.scaleY,h=n/this.scaleY,p=n/this.scaleX,d=(n-t)/this.scaleX,v=(n-t)/this.scaleY,m=this.height,g=this.width,y=this.transparentCorners?"strokeRect":"fillRect",b=this.transparentCorners,w=typeof G_vmlCanvasManager!="undefined";return e.save(),e.lineWidth=1/Math.max(this.scaleX,this.scaleY),e.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,e.strokeStyle=e.fillStyle=this.cornerColor,o=i-p-r-l,u=s-h-r-c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i+g-p+r+l,u=s-h-r-c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i-p-r-l,u=s+m+v+r+c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i+g+d+r+l,u=s+m+v+r+c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),this.get("lockUniScaling")||(o=i+g/2-p,u=s-h-r-c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i+g/2-p,u=s+m+v+r+c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i+g+d+r+l,u=s+m/2-h,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f),o=i-p-r-l,u=s+m/2-h,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f)),this.hasRotatingPoint&&(o=i+g/2-p,u=this.flipY?s+m+this.rotatingPointOffset/this.scaleY-f/2+r+c:s-this.rotatingPointOffset/this.scaleY-f/2-r-c,w||b||e.clearRect(o,u,a,f),e[y](o,u,a,f)),e.restore(),this}})}(),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.object.extend,r={x1:1,x2:1,y1:1,y2:1},i=t.StaticCanvas.supports("setLineDash");if(t.Line){t.warn("fabric.Line is already defined");return}t.Line=t.util.createClass(t.Object,{type:"line",initialize:function(e,t){t=t||{},e||(e=[0,0,0,0]),this.callSuper("initialize",t),this.set("x1",e[0]),this.set("y1",e[1]),this.set("x2",e[2]),this.set("y2",e[3]),this._setWidthHeight(t)},_setWidthHeight:function(e){e||(e={}),this.set("width",Math.abs(this.x2-this.x1)||1),this.set("height",Math.abs(this.y2-this.y1)||1),this.set("left","left"in e?e.left:Math.min(this.x1,this.x2)+this.width/2),this.set("top","top"in e?e.top:Math.min(this.y1,this.y2)+this.height/2)},_set:function(e,t){return this[e]=t,e in r&&this._setWidthHeight(),this},_render:function(e){e.beginPath();var t=this.group&&this.group.type!=="group";t&&!this.transformMatrix&&e.translate(-this.group.width/2+this.left,-this.group.height/2+this.top);if(!this.strokeDashArray||this.strokeDashArray&&i){var n=this.x1<=this.x2?-1:1,r=this.y1<=this.y2?-1:1;e.moveTo(this.width===1?0:n*this.width/2,this.height===1?0:r*this.height/2),e.lineTo(this.width===1?0:n*-1*this.width/2,this.height===1?0:r*-1*this.height/2)}e.lineWidth=this.strokeWidth;var s=e.strokeStyle;e.strokeStyle=this.stroke||e.fillStyle,this._renderStroke(e),e.strokeStyle=s},_renderDashedStroke:function(e){var n=this.x1<=this.x2?-1:1,r=this.y1<=this.y2?-1:1,i=this.width===1?0:n*this.width/2,s=this.height===1?0:r*this.height/2;e.beginPath(),t.util.drawDashedLine(e,i,s,-i,-s,this.strokeDashArray),e.closePath()},toObject:function(e){return n(this.callSuper("toObject",e),{x1:this.get("x1"),y1:this.get("y1"),x2:this.get("x2"),y2:this.get("y2")})},toSVG:function(){var e=[];return this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!0)),e.push("'),e.join("")},complexity:function(){return 1}}),t.Line.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("x1 y1 x2 y2".split(" ")),t.Line.fromElement=function(e,r){var i=t.parseAttributes(e,t.Line.ATTRIBUTE_NAMES),s=[i.x1||0,i.y1||0,i.x2||0,i.y2||0];return new t.Line(s,n(i,r))},t.Line.fromObject=function(e){var n=[e.x1,e.y1,e.x2,e.y2];return new t.Line(n,e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";function i(e){return"radius"in e&&e.radius>0}var t=e.fabric||(e.fabric={}),n=Math.PI*2,r=t.util.object.extend;if(t.Circle){t.warn("fabric.Circle is already defined.");return}t.Circle=t.util.createClass(t.Object,{type:"circle",initialize:function(e){e=e||{},this.set("radius",e.radius||0),this.callSuper("initialize",e);var t=this.get("radius")*2;this.set("width",t).set("height",t)},toObject:function(e){return r(this.callSuper("toObject",e),{radius:this.get("radius")})},toSVG:function(){var e=[];return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!1)),e.push("'),e.join("")},_render:function(e,t){e.beginPath(),e.globalAlpha=this.group?e.globalAlpha*this.opacity:this.opacity,e.arc(t?this.left:0,t?this.top:0,this.radius,0,n,!1),e.closePath -(),this._renderFill(e),this._renderStroke(e)},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(e){this.radius=e,this.set("width",e*2).set("height",e*2)},complexity:function(){return 1}}),t.Circle.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("cx cy r".split(" ")),t.Circle.fromElement=function(e,n){n||(n={});var s=t.parseAttributes(e,t.Circle.ATTRIBUTE_NAMES);if(!i(s))throw new Error("value of `r` attribute is required and can not be negative");"left"in s&&(s.left-=n.width/2||0),"top"in s&&(s.top-=n.height/2||0);var o=new t.Circle(r(s,n));return o.cx=parseFloat(e.getAttribute("cx"))||0,o.cy=parseFloat(e.getAttribute("cy"))||0,o},t.Circle.fromObject=function(e){return new t.Circle(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={});if(t.Triangle){t.warn("fabric.Triangle is already defined");return}t.Triangle=t.util.createClass(t.Object,{type:"triangle",initialize:function(e){e=e||{},this.callSuper("initialize",e),this.set("width",e.width||100).set("height",e.height||100)},_render:function(e){var t=this.width/2,n=this.height/2;e.beginPath(),e.moveTo(-t,n),e.lineTo(0,-n),e.lineTo(t,n),e.closePath(),this._renderFill(e),this._renderStroke(e)},_renderDashedStroke:function(e){var n=this.width/2,r=this.height/2;e.beginPath(),t.util.drawDashedLine(e,-n,r,0,-r,this.strokeDashArray),t.util.drawDashedLine(e,0,-r,n,r,this.strokeDashArray),t.util.drawDashedLine(e,n,r,-n,r,this.strokeDashArray),e.closePath()},toSVG:function(){var e=[],t=this.width/2,n=this.height/2,r=[-t+" "+n,"0 "+ -n,t+" "+n].join(",");return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!0)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!0)),e.push("'),e.join("")},complexity:function(){return 1}}),t.Triangle.fromObject=function(e){return new t.Triangle(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=Math.PI*2,r=t.util.object.extend;if(t.Ellipse){t.warn("fabric.Ellipse is already defined.");return}t.Ellipse=t.util.createClass(t.Object,{type:"ellipse",rx:0,ry:0,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(e){return r(this.callSuper("toObject",e),{rx:this.get("rx"),ry:this.get("ry")})},toSVG:function(){var e=[];return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!1)),e.push("'),e.join("")},render:function(e,t){if(this.rx===0||this.ry===0)return;return this.callSuper("render",e,t)},_render:function(e,t){e.beginPath(),e.save(),e.globalAlpha=this.group?e.globalAlpha*this.opacity:this.opacity,this.transformMatrix&&this.group&&e.translate(this.cx,this.cy),e.transform(1,0,0,this.ry/this.rx,0,0),e.arc(t?this.left:0,t?this.top:0,this.rx,0,n,!1),this._renderFill(e),this._renderStroke(e),e.restore()},complexity:function(){return 1}}),t.Ellipse.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("cx cy rx ry".split(" ")),t.Ellipse.fromElement=function(e,n){n||(n={});var i=t.parseAttributes(e,t.Ellipse.ATTRIBUTE_NAMES),s=i.left,o=i.top;"left"in i&&(i.left-=n.width/2||0),"top"in i&&(i.top-=n.height/2||0);var u=new t.Ellipse(r(i,n));return u.cx=s||0,u.cy=o||0,u},t.Ellipse.fromObject=function(e){return new t.Ellipse(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";function r(e){return e.left=e.left||0,e.top=e.top||0,e}var t=e.fabric||(e.fabric={}),n=t.util.object.extend;if(t.Rect){console.warn("fabric.Rect is already defined");return}t.Rect=t.util.createClass(t.Object,{type:"rect",rx:0,ry:0,strokeDashArray:null,initialize:function(e){e=e||{},this._initStateProperties(),this.callSuper("initialize",e),this._initRxRy(),this.x=e.x||0,this.y=e.y||0},_initStateProperties:function(){this.stateProperties=this.stateProperties.concat(["rx","ry"])},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(e){var t=this.rx||0,n=this.ry||0,r=-this.width/2,i=-this.height/2,s=this.width,o=this.height,u=this.group&&this.group.type!=="group";e.beginPath(),e.globalAlpha=u?e.globalAlpha*this.opacity:this.opacity,this.transformMatrix&&u&&e.translate(this.width/2+this.x,this.height/2+this.y),!this.transformMatrix&&u&&e.translate(-this.group.width/2+this.width/2+this.x,-this.group.height/2+this.height/2+this.y);var a=t!==0||n!==0;e.moveTo(r+t,i),e.lineTo(r+s-t,i),a&&e.quadraticCurveTo(r+s,i,r+s,i+n,r+s,i+n),e.lineTo(r+s,i+o-n),a&&e.quadraticCurveTo(r+s,i+o,r+s-t,i+o,r+s-t,i+o),e.lineTo(r+t,i+o),a&&e.quadraticCurveTo(r,i+o,r,i+o-n,r,i+o-n),e.lineTo(r,i+n),a&&e.quadraticCurveTo(r,i,r+t,i,r+t,i),e.closePath(),this._renderFill(e),this._renderStroke(e)},_renderDashedStroke:function(e){var n=-this.width/2,r=-this.height/2,i=this.width,s=this.height;e.beginPath(),t.util.drawDashedLine(e,n,r,n+i,r,this.strokeDashArray),t.util.drawDashedLine(e,n+i,r,n+i,r+s,this.strokeDashArray),t.util.drawDashedLine(e,n+i,r+s,n,r+s,this.strokeDashArray),t.util.drawDashedLine(e,n,r+s,n,r,this.strokeDashArray),e.closePath()},_normalizeLeftTopProperties:function(e){return"left"in e&&this.set("left",e.left+this.getWidth()/2),this.set("x",e.left||0),"top"in e&&this.set("top",e.top+this.getHeight()/2),this.set("y",e.top||0),this},toObject:function(e){return n(this.callSuper("toObject",e),{rx:this.get("rx")||0,ry:this.get("ry")||0,x:this.get("x"),y:this.get("y")})},toSVG:function(){var e=[];return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!1)),e.push("'),e.join("")},complexity:function(){return 1}}),t.Rect.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("x y rx ry width height".split(" ")),t.Rect.fromElement=function(e,i){if(!e)return null;var s=t.parseAttributes(e,t.Rect.ATTRIBUTE_NAMES);s=r(s);var o=new t.Rect(n(i?t.util.object.clone(i):{},s));return o._normalizeLeftTopProperties(s),o},t.Rect.fromObject=function(e){return new t.Rect(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.toFixed,r=t.util.array.min;if(t.Polyline){t.warn("fabric.Polyline is already defined");return}t.Polyline=t.util.createClass(t.Object,{type:"polyline",initialize:function(e,t,n){t=t||{},this.set("points",e),this.callSuper("initialize",t),this._calcDimensions(n)},_calcDimensions:function(e){return t.Polygon.prototype._calcDimensions.call(this,e)},toObject:function(e){return t.Polygon.prototype.toObject.call(this,e)},toSVG:function(){var e=[],t=[];for(var r=0,i=this.points.length;r'),t.join("")},_render:function(e){var t;e.beginPath(),e.moveTo(this.points[0].x,this.points[0].y);for(var n=0,r=this.points.length;n'),t.join("")},_render:function(e){var t;e.beginPath(),e.moveTo(this.points[0].x,this.points[0].y);for(var n=0,r=this.points.length;n"},toObject:function(e){var t=s(this.callSuper("toObject",e),{path:this.path,pathOffset:this.pathOffset});return this.sourcePath&&(t.sourcePath=this.sourcePath),this.transformMatrix&&(t.transformMatrix=this.transformMatrix),t},toDatalessObject:function(e){var t=this.toObject(e);return this.sourcePath&&(t.path=this.sourcePath),delete t.sourcePath,t},toSVG:function(){var e=[],t=[];for(var n=0,r=this.path.length;n',"",""),t.join("")},complexity:function(){return this.path.length},_parsePath:function(){var e=[],n=[],r,i,s=/(-?\.\d+)|(-?\d+(\.\d+)?)/g,o,u;for(var a=0,f,l=this.path.length;ad)for(var v=1,m=f.length;v"];for(var n=0,r=e.length;n"),t.join("")},toString:function(){return"#"},isSameColor:function(){var e=this.getObjects()[0].get("fill");return this.getObjects().every(function(t){return t.get("fill")===e})},complexity:function(){return this.paths.reduce(function(e,t){return e+(t&&t.complexity?t.complexity():0)},0)},toGrayscale:function(){var e=this.paths.length;while(e--)this.paths[e].toGrayscale();return this},getObjects:function(){return this.paths}}),t.PathGroup.fromObject=function(e,n){if(typeof e.paths=="string")t.loadSVGFromURL(e.paths,function(r){var i=e.paths;delete e.paths;var s=t.util.groupSVGElements(r,e,i);n(s)});else{var r=u(e.paths);n(new t.PathGroup(r,e))}},t.PathGroup.async=!0}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.object.extend,r=t.util.array.min,i=t.util.array.max,s=t.util.array.invoke;if(t.Group)return;var o={lockMovementX:!0,lockMovementY:!0,lockRotation:!0,lockScalingX:!0,lockScalingY:!0,lockUniScaling:!0};t.Group=t.util.createClass(t.Object,t.Collection,{type:"group",initialize:function(e,t){t=t||{},this._objects=e||[];for(var r=this._objects.length;r--;)this._objects[r].group=this;this.originalState={},this.callSuper("initialize"),this._calcBounds(),this._updateObjectsCoords(),t&&n(this,t),this._setOpacityIfSame(),this.setCoords(!0),this.saveCoords()},_updateObjectsCoords:function(){var e=this.left,t=this.top;this.forEachObject(function(n){var r=n.get("left"),i=n.get("top");n.set("originalLeft",r),n.set("originalTop",i),n.set("left",r-e),n.set("top",i-t),n.setCoords(),n.__origHasControls=n.hasControls,n.hasControls=!1},this)},toString:function(){return"#"},getObjects:function(){return this._objects},addWithUpdate:function(e){return this._restoreObjectsState(),this._objects.push(e),e.group=this,this.forEachObject(function(e){e.set("active",!0),e.group=this},this),this._calcBounds(),this._updateObjectsCoords(),this},removeWithUpdate:function(e){return this._restoreObjectsState(),this.forEachObject(function(e){e.set("active",!0),e.group=this},this),this.remove(e),this._calcBounds(),this._updateObjectsCoords(),this},_onObjectAdded:function(e){e.group=this},_onObjectRemoved:function(e){delete e.group,e.set("active",!1)},delegatedProperties:{fill:!0,opacity:!0,fontFamily:!0,fontWeight:!0,fontSize:!0,fontStyle:!0,lineHeight:!0,textDecoration:!0,textShadow:!0,textAlign:!0,backgroundColor:!0},_set:function(e,t){if(e in this.delegatedProperties){var n=this._objects.length;this[e]=t;while(n--)this._objects[n].set(e,t)}else this[e]=t},toObject:function(e){return n(this.callSuper("toObject",e),{objects:s(this._objects,"toObject",e)})},render:function(e,n){if(!this.visible)return;e.save(),this.transform(e);var r=Math.max(this.scaleX,this.scaleY);this.clipTo&&t.util.clipContext(this,e);for(var i=0,s=this._objects.length;i'+e.join("")+""},get:function(e){if(e in o){if(this[e])return this[e];for(var t=0,n=this._objects.length;t','');if(this.stroke||this.strokeDashArray){var t=this.fill;this.fill=null,e.push("'),this.fill=t}return e.push(""),e.join("")},getSrc:function(){return this.getElement().src||this.getElement()._src},toString:function(){return'#'},clone:function(e,t){this.constructor.fromObject(this.toObject(t),e)},applyFilters:function(e){if(this.filters.length===0){this.setElement(this._originalImage),e&&e();return}var t=this._originalImage,n=fabric.util.createCanvasElement(),r=fabric.util.createImage(),i=this;n.width=t.width,n.height=t.height,n.getContext("2d").drawImage(t,0,0,t.width,t.height),this.filters.forEach(function(e){e&&e.applyTo(n)}),r.width=t.width,r.height=t.height;if(fabric.isLikelyNode){var s=n.toDataURL("image/png").substring(22);r.src=new Buffer(s,"base64"),i._element=r,e&&e()}else r.onload=function(){i._element=r,e&&e(),r.onload=n=t=null},r.src=n.toDataURL("image/png");return this},_render:function(e){e.drawImage(this._element,-this.width/2,-this.height/2,this.width,this.height)},_resetWidthHeight:function(){var e=this.getElement();this.set("width",e.width),this.set("height",e.height)},_initElement:function(e){this.setElement(fabric.util.getById(e)),fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(e){e||(e={}),this.setOptions(e),this._setWidthHeight(e)},_initFilters:function(e){e.filters&&e.filters.length&&(this.filters=e.filters.map(function(e){return e&&fabric.Image.filters[e.type].fromObject(e)}))},_setWidthHeight:function(e){this.width="width"in e?e.width:this.getElement().width||0,this.height="height"in e?e.height:this.getElement().height||0},complexity:function(){return 1}}),fabric.Image.CSS_CANVAS="canvas-img",fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc,fabric.Image.fromObject=function(e,t){var n=fabric.document.createElement("img"),r=e.src;e.width&&(n.width=e.width),e.height&&(n.height=e.height),n.onload=function(){fabric.Image.prototype._initFilters.call(e,e);var r=new fabric.Image(n,e);t&&t(r),n=n.onload=n.onerror=null},n.onerror=function(){fabric.log("Error loading "+n.src),t&&t(null,!0),n=n.onload=n.onerror=null},n.src=r},fabric.Image.fromURL=function(e,t,n){fabric.util.loadImage(e,function(e){t(new fabric.Image(e,n))})},fabric.Image.ATTRIBUTE_NAMES=fabric.SHARED_ATTRIBUTES.concat("x y width height xlink:href".split(" ")),fabric.Image.fromElement=function(e,n,r){var i=fabric.parseAttributes(e,fabric.Image.ATTRIBUTE_NAMES);fabric.Image.fromURL(i["xlink:href"],n,t(r?fabric.util.object.clone(r):{},i))},fabric.Image.async=!0}(typeof exports!="undefined"?exports:this),fabric.util.object.extend(fabric.Object.prototype,{_getAngleValueForStraighten:function(){var e=this.getAngle()%360;return e>0?Math.round((e-1)/90)*90:Math.round(e/90)*90},straighten:function(){return this.setAngle(this._getAngleValueForStraighten()),this},fxStraighten:function(e){e=e||{};var t=function(){},n=e.onComplete||t,r=e.onChange||t,i=this;return fabric.util.animate({startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(e){i.setAngle(e),r()},onComplete:function(){i.setCoords(),n()},onStart:function(){i.set("active",!1)}}),this}}),fabric.util.object.extend(fabric.StaticCanvas.prototype,{straightenObject:function(e){return e.straighten(),this.renderAll(),this},fxStraightenObject:function(e){return e.fxStraighten({onChange:this.renderAll.bind(this)}),this}}),fabric.Image.filters=fabric.Image.filters||{},fabric.Image.filters.Brightness=fabric.util.createClass({type:"Brightness",initialize:function(e){e=e||{},this.brightness=e.brightness||100},applyTo:function(e){var t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height),r=n.data,i=this.brightness;for(var s=0,o=r.length;s=0&&N=0&&C'),e.join("")},complexity:function(){return 1}}),t.Triangle.fromObject=function(e){return new t.Triangle(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=Math.PI*2,r=t.util.object.extend;if(t.Ellipse){t.warn("fabric.Ellipse is already defined.");return}t.Ellipse=t.util.createClass(t.Object,{type:"ellipse",rx:0,ry:0,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(e){return r(this.callSuper("toObject",e),{rx:this.get("rx"),ry:this.get("ry")})},toSVG:function(){var e=[];return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!1)),e.push("'),e.join("")},render:function(e,t){if(this.rx===0||this.ry===0)return;return this.callSuper("render",e,t)},_render:function(e,t){e.beginPath(),e.save(),e.globalAlpha=this.group?e.globalAlpha*this.opacity:this.opacity,this.transformMatrix&&this.group&&e.translate(this.cx,this.cy),e.transform(1,0,0,this.ry/this.rx,0,0),e.arc(t?this.left:0,t?this.top:0,this.rx,0,n,!1),this._renderFill(e),this._renderStroke(e),e.restore()},complexity:function(){return 1}}),t.Ellipse.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("cx cy rx ry".split(" ")),t.Ellipse.fromElement=function(e,n){n||(n={});var i=t.parseAttributes(e,t.Ellipse.ATTRIBUTE_NAMES),s=i.left,o=i.top;"left"in i&&(i.left-=n.width/2||0),"top"in i&&(i.top-=n.height/2||0);var u=new t.Ellipse(r(i,n));return u.cx=s||0,u.cy=o||0,u},t.Ellipse.fromObject=function(e){return new t.Ellipse(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";function r(e){return e.left=e.left||0,e.top=e.top||0,e}var t=e.fabric||(e.fabric={}),n=t.util.object.extend;if(t.Rect){console.warn("fabric.Rect is already defined");return}t.Rect=t.util.createClass(t.Object,{type:"rect",rx:0,ry:0,strokeDashArray:null,initialize:function(e){e=e||{},this._initStateProperties(),this.callSuper("initialize",e),this._initRxRy(),this.x=e.x||0,this.y=e.y||0},_initStateProperties:function(){this.stateProperties=this.stateProperties.concat(["rx","ry"])},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(e){var t=this.rx||0,n=this.ry||0,r=-this.width/2,i=-this.height/2,s=this.width,o=this.height,u=this.group&&this.group.type!=="group";e.beginPath(),e.globalAlpha=u?e.globalAlpha*this.opacity:this.opacity,this.transformMatrix&&u&&e.translate(this.width/2+this.x,this.height/2+this.y),!this.transformMatrix&&u&&e.translate(-this.group.width/2+this.width/2+this.x,-this.group.height/2+this.height/2+this.y);var a=t!==0||n!==0;e.moveTo(r+t,i),e.lineTo(r+s-t,i),a&&e.quadraticCurveTo(r+s,i,r+s,i+n,r+s,i+n),e.lineTo(r+s,i+o-n),a&&e.quadraticCurveTo(r+s,i+o,r+s-t,i+o,r+s-t,i+o),e.lineTo(r+t,i+o),a&&e.quadraticCurveTo(r,i+o,r,i+o-n,r,i+o-n),e.lineTo(r,i+n),a&&e.quadraticCurveTo(r,i,r+t,i,r+t,i),e.closePath(),this._renderFill(e),this._renderStroke(e)},_renderDashedStroke:function(e){var n=-this.width/2,r=-this.height/2,i=this.width,s=this.height;e.beginPath(),t.util.drawDashedLine(e,n,r,n+i,r,this.strokeDashArray),t.util.drawDashedLine(e,n+i,r,n+i,r+s,this.strokeDashArray),t.util.drawDashedLine(e,n+i,r+s,n,r+s,this.strokeDashArray),t.util.drawDashedLine(e,n,r+s,n,r,this.strokeDashArray),e.closePath()},_normalizeLeftTopProperties:function(e){return"left"in e&&this.set("left",e.left+this.getWidth()/2),this.set("x",e.left||0),"top"in e&&this.set("top",e.top+this.getHeight()/2),this.set("y",e.top||0),this},toObject:function(e){return n(this.callSuper("toObject",e),{rx:this.get("rx")||0,ry:this.get("ry")||0,x:this.get("x"),y:this.get("y")})},toSVG:function(){var e=[];return this.fill&&this.fill.toLive&&e.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&e.push(this.stroke.toSVG(this,!1)),e.push("'),e.join("")},complexity:function(){return 1}}),t.Rect.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("x y rx ry width height".split(" ")),t.Rect.fromElement=function(e,i){if(!e)return null;var s=t.parseAttributes(e,t.Rect.ATTRIBUTE_NAMES);s=r(s);var o=new t.Rect(n(i?t.util.object.clone(i):{},s));return o._normalizeLeftTopProperties(s),o},t.Rect.fromObject=function(e){return new t.Rect(e)}}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.toFixed,r=t.util.array.min;if(t.Polyline){t.warn("fabric.Polyline is already defined");return}t.Polyline=t.util.createClass(t.Object,{type:"polyline",initialize:function(e,t,n){t=t||{},this.set("points",e),this.callSuper("initialize",t),this._calcDimensions(n)},_calcDimensions:function(e){return t.Polygon.prototype._calcDimensions.call(this,e)},toObject:function(e){return t.Polygon.prototype.toObject.call(this,e)},toSVG:function(){var e=[],t=[];for(var r=0,i=this.points.length;r'),t.join("")},_render:function(e){var t;e.beginPath(),e.moveTo(this.points[0].x,this.points[0].y);for(var n=0,r=this.points.length;n'),t.join("")},_render:function(e){var t;e.beginPath(),e.moveTo(this.points[0].x,this.points[0].y);for(var n=0,r=this.points.length;n"},toObject:function(e){var t=s(this.callSuper("toObject",e),{path:this.path,pathOffset:this.pathOffset});return this.sourcePath&&(t.sourcePath=this.sourcePath),this.transformMatrix&&(t.transformMatrix=this.transformMatrix),t},toDatalessObject:function(e){var t=this.toObject(e);return this.sourcePath&&(t.path=this.sourcePath),delete t.sourcePath,t},toSVG:function(){var e=[],t=[];for(var n=0,r=this.path.length;n',"",""),t.join("")},complexity:function(){return this.path.length},_parsePath:function(){var e=[],n=[],r,i,s=/(-?\.\d+)|(-?\d+(\.\d+)?)/g,o,u;for(var a=0,f,l=this.path.length;ad)for(var v=1,m=f.length;v"];for(var n=0,r=e.length;n"),t.join("")},toString:function(){return"#"},isSameColor:function(){var e=this.getObjects()[0].get("fill");return this.getObjects().every(function(t){return t.get("fill")===e})},complexity:function(){return this.paths.reduce(function(e,t){return e+(t&&t.complexity?t.complexity():0)},0)},toGrayscale:function(){var e=this.paths.length;while(e--)this.paths[e].toGrayscale();return this},getObjects:function(){return this.paths}}),t.PathGroup.fromObject=function(e,n){if(typeof e.paths=="string")t.loadSVGFromURL(e.paths,function(r){var i=e.paths;delete e.paths;var s=t.util.groupSVGElements(r,e,i);n(s)});else{var r=u(e.paths);n(new t.PathGroup(r,e))}},t.PathGroup.async=!0}(typeof exports!="undefined"?exports:this),function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.object.extend,r=t.util.array.min,i=t.util.array.max,s=t.util.array.invoke;if(t.Group)return;var o={lockMovementX:!0,lockMovementY:!0,lockRotation:!0,lockScalingX:!0,lockScalingY:!0,lockUniScaling:!0};t.Group=t.util.createClass(t.Object,t.Collection,{type:"group",initialize:function(e,t){t=t||{},this._objects=e||[];for(var r=this._objects.length;r--;)this._objects[r].group=this;this.originalState={},this.callSuper("initialize"),this._calcBounds(),this._updateObjectsCoords(),t&&n(this,t),this._setOpacityIfSame(),this.setCoords(!0),this.saveCoords()},_updateObjectsCoords:function(){var e=this.left,t=this.top;this.forEachObject(function(n){var r=n.get("left"),i=n.get("top");n.set("originalLeft",r),n.set("originalTop",i),n.set("left",r-e),n.set("top",i-t),n.setCoords(),n.__origHasControls=n.hasControls,n.hasControls=!1},this)},toString:function(){return"#"},getObjects:function(){return this._objects},addWithUpdate:function(e){return this._restoreObjectsState(),this._objects.push(e),e.group=this,this.forEachObject(function(e){e.set("active",!0),e.group=this},this),this._calcBounds(),this._updateObjectsCoords(),this},removeWithUpdate:function(e){return this._restoreObjectsState(),this.forEachObject(function(e){e.set("active",!0),e.group=this},this),this.remove(e),this._calcBounds(),this._updateObjectsCoords(),this},_onObjectAdded:function(e){e.group=this},_onObjectRemoved:function(e){delete e.group,e.set("active",!1)},delegatedProperties:{fill:!0,opacity:!0,fontFamily:!0,fontWeight:!0,fontSize:!0,fontStyle:!0,lineHeight:!0,textDecoration:!0,textShadow:!0,textAlign:!0,backgroundColor:!0},_set:function(e,t){if(e in this.delegatedProperties){var n=this._objects.length;this[e]=t;while(n--)this._objects[n].set(e,t)}else this[e]=t},toObject:function(e){return n(this.callSuper("toObject",e),{objects:s(this._objects,"toObject",e)})},render:function(e,n){if(!this.visible)return;e.save(),this.transform(e);var r=Math.max(this.scaleX,this.scaleY);this.clipTo&&t.util.clipContext(this,e);for(var i=0,s=this._objects.length;i'+e.join("")+""},get:function(e){if(e in o){if(this[e])return this[e];for(var t=0,n=this._objects.length;t','');if(this.stroke||this.strokeDashArray){var t=this.fill;this.fill=null,e.push("'),this.fill=t}return e.push(""),e.join("")},getSrc:function(){return this.getElement().src||this.getElement()._src},toString:function(){return'#'},clone:function(e,t){this.constructor.fromObject(this.toObject(t),e)},applyFilters:function(e){if(this.filters.length===0){this.setElement(this._originalImage),e&&e();return}var t=this._originalImage,n=fabric.util.createCanvasElement(),r=fabric.util.createImage(),i=this;n.width=t.width,n.height=t.height,n.getContext("2d").drawImage(t,0,0,t.width,t.height),this.filters.forEach(function(e){e&&e.applyTo(n)}),r.width=t.width,r.height=t.height;if(fabric.isLikelyNode){var s=n.toDataURL("image/png").substring(22);r.src=new Buffer(s,"base64"),i._element=r,e&&e()}else r.onload=function(){i._element=r,e&&e(),r.onload=n=t=null},r.src=n.toDataURL("image/png");return this},_render:function(e){e.drawImage(this._element,-this.width/2,-this.height/2,this.width,this.height)},_resetWidthHeight:function(){var e=this.getElement();this.set("width",e.width),this.set("height",e.height)},_initElement:function(e){this.setElement(fabric.util.getById(e)),fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(e){e||(e={}),this.setOptions(e),this._setWidthHeight(e)},_initFilters:function(e){e.filters&&e.filters.length&&(this.filters=e.filters.map(function(e){return e&&fabric.Image.filters[e.type].fromObject(e)}))},_setWidthHeight:function(e){this.width="width"in e?e.width:this.getElement().width||0,this.height="height"in e?e.height:this.getElement().height||0},complexity:function(){return 1}}),fabric.Image.CSS_CANVAS="canvas-img",fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc,fabric.Image.fromObject=function(e,t){var n=fabric.document.createElement("img"),r=e.src;e.width&&(n.width=e.width),e.height&&(n.height=e.height),n.onload=function(){fabric.Image.prototype._initFilters.call(e,e);var r=new fabric.Image(n,e);t&&t(r),n=n.onload=n.onerror=null},n.onerror=function(){fabric.log("Error loading "+n.src),t&&t(null,!0),n=n.onload=n.onerror=null},n.src=r},fabric.Image.fromURL=function(e,t,n){fabric.util.loadImage(e,function(e){t(new fabric.Image(e,n))})},fabric.Image.ATTRIBUTE_NAMES=fabric.SHARED_ATTRIBUTES.concat("x y width height xlink:href".split(" ")),fabric.Image.fromElement=function(e,n,r){var i=fabric.parseAttributes(e,fabric.Image.ATTRIBUTE_NAMES);fabric.Image.fromURL(i["xlink:href"],n,t(r?fabric.util.object.clone(r):{},i))},fabric.Image.async=!0}(typeof exports!="undefined"?exports:this),fabric.util.object.extend(fabric.Object.prototype,{_getAngleValueForStraighten:function(){var e=this.getAngle()%360;return e>0?Math.round((e-1)/90)*90:Math.round(e/90)*90},straighten:function(){return this.setAngle(this._getAngleValueForStraighten()),this},fxStraighten:function(e){e=e||{};var t=function(){},n=e.onComplete||t,r=e.onChange||t,i=this;return fabric.util.animate({startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(e){i.setAngle(e),r()},onComplete:function(){i.setCoords(),n()},onStart:function(){i.set("active",!1)}}),this}}),fabric.util.object.extend(fabric.StaticCanvas.prototype,{straightenObject:function(e){return e.straighten(),this.renderAll(),this},fxStraightenObject:function(e){return e.fxStraighten({onChange:this.renderAll.bind(this)}),this}}),fabric.Image.filters=fabric.Image.filters||{},fabric.Image.filters.Brightness=fabric.util.createClass({type:"Brightness",initialize:function(e){e=e||{},this.brightness=e.brightness||100},applyTo:function(e){var t=e.getContext("2d"),n=t.getImageData(0,0,e.width,e.height),r=n.data,i=this.brightness;for(var s=0,o=r.length;s=0&&N=0&&Co&&f>o&&l>o&&u(a-f)0&&(r[s]=a,r[s+1]=f,r[s+2]=l);t.putImageData(n,0,0)},toJSON:function(){return{type:this.type,color:this.color}}}),fabric.Image.filters.Tint.fromObject=function(e){return new fabric.Image.filters.Tint(e)},function(e){"use strict";var t=e.fabric||(e.fabric={}),n=t.util.object.extend,r=t.util.object.clone,i=t.util.toFixed,s=t.StaticCanvas.supports("setLineDash");if(t.Text){t.warn("fabric.Text is already defined");return}var o=t.Object.prototype.stateProperties.concat();o.push("fontFamily","fontWeight","fontSize","path","text","textDecoration","textShadow","textAlign","fontStyle","lineHeight","backgroundColor","textBackgroundColor","useNative"),t.Text=t.util.createClass(t.Object,{_dimensionAffectingProps:{fontSize:!0,fontWeight:!0,fontFamily:!0,textDecoration:!0,fontStyle:!0,lineHeight:!0,stroke:!0,strokeWidth:!0,text:!0},type:"text",fontSize:40,fontWeight:"normal",fontFamily:"Times New Roman",textDecoration:"",textShadow:"",textAlign:"left",fontStyle:"",lineHeight:1.3,backgroundColor:"",textBackgroundColor:"",path:null,useNative:!0,stateProperties:o,initialize:function(e,t){t=t||{},this.text=e,this.__skipDimension=!0,this.setOptions(t),this.__skipDimension=!1,this._initDimensions(),this.setCoords()},_initDimensions:function(){if(this.__skipDimension)return;var e=t.util.createCanvasElement();this._render(e.getContext("2d"))},toString:function(){return"#'},_render:function(e){var t=this.group&&this.group.type!=="group";t&&!this.transformMatrix?e.translate(-this.group.width/2+this.left,-this.group.height/2+this.top):t&&this.transformMatrix&&e.translate(-this.group.width/2,-this.group.height/2),typeof Cufon=="undefined"||this.useNative===!0?this._renderViaNative(e):this._renderViaCufon(e)},_renderViaNative:function(e){this.transform(e,t.isLikelyNode),this._setTextStyles(e);var n=this.text.split(/\r?\n/);this.width=this._getTextWidth(e,n),this.height=this._getTextHeight(e,n),this.clipTo&&t.util.clipContext(this,e),this._renderTextBackground(e,n),this.textAlign!=="left"&&this.textAlign!=="justify"&&(e.save(),e.translate(this.textAlign==="center"?this.width/2:this.width,0)),e.save(),this._setTextShadow(e),this._renderTextFill(e,n),this._renderTextStroke(e,n),this.textShadow&&e.restore(),e.restore(),this.textAlign!=="left"&&this.textAlign!=="justify"&&e.restore(),this._renderTextDecoration(e,n),this.clipTo&&e.restore(),this._setBoundaries(e,n),this._totalLineHeight=0,this.setCoords()},_setBoundaries:function(e,t){this._boundaries=[];for(var n=0,r=t.length;nn&&(n=s)}return n},_setTextShadow:function(e){if(!this.textShadow)return;var t=/\s+(-?\d+)(?:px)?\s+(-?\d+)(?:px)?\s+(\d+)(?:px)?\s*/,n=this.textShadow,r=t.exec(this.textShadow),i=n.replace(t,"");e.save(),e.shadowColor=i,e.shadowOffsetX=parseInt(r[1],10),e.shadowOffsetY=parseInt(r[2],10),e.shadowBlur=parseInt(r[3],10),this._shadows=[{blur:e.shadowBlur,color:e.shadowColor,offX:e.shadowOffsetX,offY:e.shadowOffsetY}],this._shadowOffsets=[[parseInt(e.shadowOffsetX,10),parseInt(e.shadowOffsetY,10)]]},_drawTextLine:function(e,t,n,r,i){if(this.textAlign!=="justify"){t[e](n,r,i);return}var s=t.measureText(n).width,o=this.width;if(o>s){var u=n.split(/\s+/),a=t.measureText(n.replace(/\s+/g,"")).width,f=o-a,l=u.length-1,c=f/l,h=0;for(var p=0,d=u.length;p-1&&i(this.fontSize),this.textDecoration.indexOf("line-through")>-1&&i(this.fontSize/2),this.textDecoration.indexOf("overline")>-1&&i(0)},_getFontDeclaration:function(){return[t.isLikelyNode?this.fontWeight:this.fontStyle,t.isLikelyNode?this.fontStyle:this.fontWeight,this.fontSize+"px",t.isLikelyNode?'"'+this.fontFamily+'"':this.fontFamily].join(" ")},render:function(e,t){if(!this.visible)return;e.save(),this._render(e),!t&&this.active&&(this.drawBorders(e),this.drawControls(e)),e.restore()},toObject:function(e){return n(this.callSuper("toObject",e),{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,backgroundColor:this.backgroundColor,textBackgroundColor:this.textBackgroundColor,useNative:this.useNative})},toSVG:function(){var e=this.text.split(/\r?\n/),t=this.useNative?this.fontSize*this.lineHeight:-this._fontAscent-this._fontAscent/5*this.lineHeight,n=-(this.width/2),r=this.useNative?this.fontSize-1:this.height/2-e.length*this.fontSize-this._totalLineHeight,s=this._getSVGTextAndBg(t,n,e),o=this._getSVGShadows(t,e);return r+=this._fontAscent?this._fontAscent/5*this.lineHeight:0,['',s.textBgRects.join(""),"',o.join(""),s.textSpans.join(""),"",""].join("")},_getSVGShadows:function(e,n){var r=[],s,o,u,a,f=1;if(!this._shadows||!this._boundaries)return r;for(s=0,u=this._shadows.length;s",t.util.string.escapeXml(n[o]),""),f=1}else f++;return r},_getSVGTextAndBg:function(e,n,r){var s=[],o=[],u,a,f,l=1;this.backgroundColor&&this._boundaries&&o.push("');for(u=0,f=r.length;u",t.util.string.escapeXml(r[u]),""),l=1):l++;if(!this.textBackgroundColor||!this._boundaries)continue;o.push("')}return{textSpans:s,textBgRects:o}},_getFillAttributes:function(e){var n=e&&typeof e=="string"?new t.Color(e):"";return!n||!n.getSource()||n.getAlpha()===1?'fill="'+e+'"':'opacity="'+n.getAlpha()+'" fill="'+n.setAlpha(1).toRgb()+'"'},setColor:function(e){return this.set("fill",e),this},getText:function(){return this.text},_set:function(e,t){e==="fontFamily"&&this.path&&(this.path=this.path.replace(/(.*?)([^\/]*)(\.font\.js)/,"$1"+t+"$3")),this.callSuper("_set",e,t),e in this._dimensionAffectingProps&&(this._initDimensions(),this.setCoords())},complexity:function(){return 1}}),t.Text.ATTRIBUTE_NAMES=t.SHARED_ATTRIBUTES.concat("x y font-family font-style font-weight font-size text-decoration".split(" ")),t.Text.fromElement=function(e,n){if(!e)return null;var r=t.parseAttributes(e,t.Text.ATTRIBUTE_NAMES);n=t.util.object.extend(n?t.util.object.clone(n):{},r);var i=new t.Text(e.textContent,n);return i.set({left:i.getLeft()+i.getWidth()/2,top:i.getTop()-i.getHeight()/2}),i},t.Text.fromObject=function(e){return new t.Text(e.text,r(e))},t.util.createAccessors(t.Text)}(typeof exports!="undefined"?exports:this),fabric.util.object.extend(fabric.Text.prototype,{_renderViaCufon:function(e){var t=Cufon.textOptions||(Cufon.textOptions={});t.left=this.left,t.top=this.top,t.context=e,t.color=this.fill;var n=this._initDummyElementForCufon();this.transform(e),Cufon.replaceElement(n,{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,stroke:this.stroke,strokeWidth:this.strokeWidth,backgroundColor:this.backgroundColor,textBackgroundColor:this.textBackgroundColor}),this.width=t.width,this.height=t.height,this._totalLineHeight=t.totalLineHeight,this._fontAscent=t.fontAscent,this._boundaries=t.boundaries,this._shadowOffsets=t.shadowOffsets,this._shadows=t.shadows||[],n=null,this.setCoords()},_initDummyElementForCufon:function(){var e=fabric.document.createElement("pre"),t=fabric.document.createElement("div");return t.appendChild(e),typeof G_vmlCanvasManager=="undefined"?e.innerHTML=this.text:e.innerText=this.text.replace(/\r?\n/gi,"\r"),e.style.fontSize=this.fontSize+"px",e.style.letterSpacing="normal",e}}),function(){function request(e,t,n){var r=URL.parse(e);r.port||(r.port=r.protocol.indexOf("https:")===0?443:80);var i=r.port===443?HTTPS:HTTP,s=i.request({hostname:r.hostname,port:r.port,path:r.path,method:"GET"},function(e){var r="";t&&e.setEncoding(t),e.on("end",function(){n(r)}),e.on("data",function(t){e.statusCode===200&&(r+=t)})});s.on("error",function(e){e.errno===process.ECONNREFUSED?fabric.log("ECONNREFUSED: connection refused to "+r.hostname+":"+r.port):fabric.log(e.message)}),s.end()}function request_fs(e,t){var n=require("fs"),r=n.createReadStream(e),i="";r.on("data",function(e){i+=e}),r.on("end",function(){t(i)})}if(typeof document!="undefined"&&typeof window!="undefined")return;var DOMParser=(new require("xmldom")).DOMParser,URL=require("url"),HTTP=require("http"),HTTPS=require("https"),Canvas=require("canvas"),Image=require("canvas").Image;fabric.util.loadImage=function(e,t,n){var r=function(r){i.src=new Buffer(r,"binary"),i._src=e,t&&t.call(n,i)},i=new Image;e&&(e instanceof Buffer||e.indexOf("data")===0)?(i.src=i._src=e,t&&t.call(n,i)):e&&e.indexOf("http")!==0?request_fs(e,r):e&&request(e,"binary",r)},fabric.loadSVGFromURL=function(e,t){e=e.replace(/^\n\s*/,"").replace(/\?.*$/,"").trim(),e.indexOf("http")!==0?request_fs(e,function(e){fabric.loadSVGFromString(e,t)}):request(e,"",function(e){fabric.loadSVGFromString(e,t)})},fabric.loadSVGFromString=function(e,t){var n=(new DOMParser).parseFromString(e);fabric.parseSVGDocument(n.documentElement,function(e,n){t(e,n)})},fabric.util.getScript=function(url,callback){request(url,"",function(body){eval(body),callback&&callback()})},fabric.Image.fromObject=function(e,t){fabric.util.loadImage(e.src,function(n){var r=new fabric.Image(n);r._initConfig(e),r._initFilters(e),t(r)})},fabric.createCanvasForNode=function(e,t){var n=fabric.document.createElement("canvas"),r=new Canvas(e||600,t||600);n.style={},n.width=r.width,n.height=r.height;var i=fabric.Canvas||fabric.StaticCanvas,s=new i(n);return s.contextContainer=r.getContext("2d"),s.nodeCanvas=r,s.Font=Canvas.Font,s},fabric.StaticCanvas.prototype.createPNGStream=function(){return this.nodeCanvas.createPNGStream()},fabric.StaticCanvas.prototype.createJPEGStream=function(e){return this.nodeCanvas.createJPEGStream(e)};var origSetWidth=fabric.StaticCanvas.prototype.setWidth;fabric.StaticCanvas.prototype.setWidth=function(e){return origSetWidth.call(this,e),this.nodeCanvas.width=e,this},fabric.Canvas&&(fabric.Canvas.prototype.setWidth=fabric.StaticCanvas.prototype.setWidth);var origSetHeight=fabric.StaticCanvas.prototype.setHeight;fabric.StaticCanvas.prototype.setHeight=function(e){return origSetHeight.call(this,e),this.nodeCanvas.height=e,this},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 de5c928ce079f91e1a5275d8627c4845afd1e115..eff8ab642be555c7bb41b30192776184df74b5a5 100644 GIT binary patch delta 47802 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

4wG#x)M<|pty=!+y@o(LH| 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 diff --git a/package.json b/package.json index e15667e5..e5507d00 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fabric", "description": "Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.", - "version": "1.2.4", + "version": "1.2.5", "author": "Juriy Zaytsev ", "keywords": ["canvas", "graphic", "graphics", "SVG", "node-canvas", "parser", "HTML5", "object model"], "repository": "git://github.com/kangax/fabric.js", diff --git a/src/shapes/path.class.js b/src/shapes/path.class.js index 7a66091a..7e81d24f 100644 --- a/src/shapes/path.class.js +++ b/src/shapes/path.class.js @@ -715,9 +715,9 @@ * @param {Object} [options] Options object * @return {fabric.Path} Instance of fabric.Path */ - fabric.Path.fromElement = function(element, options) { + fabric.Path.fromElement = function(element, callback, options) { var parsedAttributes = fabric.parseAttributes(element, fabric.Path.ATTRIBUTE_NAMES); - return new fabric.Path(parsedAttributes.d, extend(parsedAttributes, options)); + callback && callback(new fabric.Path(parsedAttributes.d, extend(parsedAttributes, options))); }; /* _FROM_SVG_END_ */