Socket
Socket
Sign inDemoInstall

trenette.js

Package Overview
Dependencies
0
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.6 to 0.1.7

2

build/trenette.min.js

@@ -1,1 +0,1 @@

!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t=t||self).Trenette={})}(this,function(t){"use strict";function o(){this.events=[]}function s(t,i){this.x=t||0,this.y=i||0}function l(t){void 0!==t?this.m=t:this.identity()}function i(){}function p(){this.uuid=i.generate(),this.children=[],this.parent=null,this.level=0,this.position=new s(0,0),this.origin=new s(0,0),this.scale=new s(1,1),this.rotation=0,this.visible=!0,this.layer=0,this.matrix=new l,this.globalMatrix=new l,this.inverseGlobalMatrix=new l,this.masks=[],this.matrixNeedsUpdate=!0,this.draggable=!1,this.pointerEvents=!0,this.ignoreViewport=!1,this.saveContextState=!0,this.restoreContextState=!0,this.pointerInside=!1,this.beingDragged=!1}function r(){this.pressed=!1,this.justPressed=!1,this.justReleased=!1}function y(t){this._keys=new Array(5),this._position=new s(0,0),this._positionUpdated=!1,this._delta=new s(0,0),this._wheel=0,this._wheelUpdated=!1,this._doubleClicked=new Array(5),this.keys=new Array(5),this.position=new s(0,0),this.delta=new s(0,0),this.wheel=0,this.doubleClicked=new Array(5),this.domElement=void 0!==t?t:window,this.canvas=null,this.events=new o;for(var i=0;i<5;i++)this._doubleClicked[i]=!1,this.doubleClicked[i]=!1,this._keys[i]=new r,this.keys[i]=new r;var e=this;if(void 0!==window.onmousewheel?this.events.add(this.domElement,"mousewheel",function(t){e._wheel=t.deltaY,e._wheelUpdated=!0}):void 0!==window.addEventListener?this.events.add(this.domElement,"DOMMouseScroll",function(t){e._wheel=30*t.detail,e._wheelUpdated=!0}):this.events.add(this.domElement,"wheel",function(t){e._wheel=t.deltaY,e._wheelUpdated=!0}),void 0!==window.ontouchstart||0<navigator.msMaxTouchPoints){var n=new s(0,0);this.events.add(this.domElement,"touchstart",function(t){var i=t.touches[0];e.updatePosition(i.clientX,i.clientY,0,0),e.updateKey(y.LEFT,r.DOWN),n.set(i.clientX,i.clientY)}),this.events.add(this.domElement,"touchend",function(t){e.updateKey(y.LEFT,r.UP)}),this.events.add(this.domElement,"touchcancel",function(t){e.updateKey(y.LEFT,r.UP)}),this.events.add(document.body,"touchmove",function(t){var i=t.touches[0];e.updatePosition(i.clientX,i.clientY,i.clientX-n.x,i.clientY-n.y),n.set(i.clientX,i.clientY)})}this.events.add(this.domElement,"mousemove",function(t){e.updatePosition(t.clientX,t.clientY,t.movementX,t.movementY)}),this.events.add(this.domElement,"mousedown",function(t){e.updateKey(t.which-1,r.DOWN)}),this.events.add(this.domElement,"mouseup",function(t){e.updateKey(t.which-1,r.UP)}),this.events.add(this.domElement,"dragstart",function(t){e.updateKey(t.which-1,r.UP)}),this.events.add(this.domElement,"dblclick",function(t){e._doubleClicked[t.which-1]=!0}),this.create()}function e(t,i){void 0===i&&(i={alpha:!0}),this.canvas=t,this.context=t.getContext("2d",{alpha:i.alpha}),this.context.imageSmoothingEnabled=!0,this.context.globalCompositeOperation="source-over",this.pointer=new y,this.pointer.setCanvas(t),this.autoClear=!0}function n(){this.uuid=i.generate(),this.position=new s(0,0),this.scale=1,this.rotation=0,this.matrix=new l,this.inverseMatrix=new l,this.matrixNeedsUpdate=!0,this.moveOnScale=!0,this.rotationPoint=null}function h(t,i){this.min=void 0!==t?t:new s,this.max=void 0!==i?i:new s}function a(){p.call(this)}function m(){a.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.invert=!1}function c(){p.call(this),this.radius=10,this.strokeStyle="#000000",this.lineWidth=1,this.fillStyle="#FFFFFF"}function u(){}function d(){p.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.strokeStyle="#000000",this.lineWidth=1,this.fillStyle="#FFFFFF"}function x(){p.call(this),this.from=new s,this.to=new s,this.strokeStyle="#000000",this.dashPattern=[5,5],this.lineWidth=1}function f(){p.call(this),this.text="",this.font="16px Arial",this.color="#000000",this.textAlign="center"}function v(t){p.call(this),this.box=new h,this.image=document.createElement("img"),void 0!==t&&this.setImage(t)}function b(t,i){p.call(this),this.parentDOM=t,this.element=document.createElement("div"),this.element.style.transformStyle="preserve-3d",this.element.style.position="absolute",this.element.style.top="0px",this.element.style.bottom="0px",this.element.style.transformOrigin="0px 0px",this.element.style.overflow="auto",this.element.style.pointerEvents="none",this.size=new s(100,100)}function g(t){p.call(this),this.box=new h,this.image=document.createElement("img"),this.repetition="repeat",void 0!==t&&this.setImage(t)}function w(){p.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.strokeStyle="rgb(0, 153, 255)",this.lineWidth=1,this.fillStyle="rgba(0, 153, 255, 0.3)",this.min=0,this.max=10,this.data=[]}function P(){p.call(this),this.from=new s,this.fromCp=new s,this.to=new s,this.toCp=new s,this.strokeStyle="#000000",this.dashPattern=[5,5],this.lineWidth=1}o.prototype.add=function(t,i,e){this.events.push([t,i,e,!1])},o.prototype.clear=function(){this.destroy(),this.events=[]},o.prototype.create=function(){for(var t=0;t<this.events.length;t++){var i=this.events[t];i[0].addEventListener(i[1],i[2]),i[3]=!0}},o.prototype.destroy=function(){for(var t=0;t<this.events.length;t++){var i=this.events[t];i[0].removeEventListener(i[1],i[2]),i[3]=!1}},s.prototype.set=function(t,i){this.x=t,this.y=i},s.prototype.setScalar=function(t){this.x=t,this.y=t},s.prototype.clone=function(){return new s(this.x,this.y)},s.prototype.copy=function(t){this.x=t.x,this.y=t.y},s.prototype.add=function(t){this.x+=t.x,this.y+=t.y},s.prototype.addScalar=function(t){this.x+=t,this.y+=t},s.prototype.addVectors=function(t,i){this.x=t.x+i.x,this.y=t.y+i.y},s.prototype.addScaledVector=function(t,i){this.x+=t.x*i,this.y+=t.y*i},s.prototype.sub=function(t){this.x-=t.x,this.y-=t.y},s.prototype.subScalar=function(t){this.x-=t,this.y-=t},s.prototype.subVectors=function(t,i){this.x=t.x-i.x,this.y=t.y-i.y},s.prototype.multiply=function(t){this.x*=t.x,this.y*=t.y},s.prototype.multiplyScalar=function(t){this.x*=t,this.y*=t},s.prototype.divide=function(t){this.x/=t.x,this.y/=t.y},s.prototype.divideScalar=function(t){return this.multiplyScalar(1/t)},s.prototype.min=function(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)},s.prototype.max=function(t){this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)},s.prototype.clamp=function(t,i){this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y))},s.prototype.clampScalar=function(t,i){this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y))},s.prototype.clampLength=function(t,i){var e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(t,Math.min(i,e)))},s.prototype.floor=function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},s.prototype.ceil=function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},s.prototype.round=function(){this.x=Math.round(this.x),this.y=Math.round(this.y)},s.prototype.roundToZero=function(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y)},s.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},s.prototype.dot=function(t){return this.x*t.x+this.y*t.y},s.prototype.cross=function(t){return this.x*t.y-this.y*t.x},s.prototype.lengthSq=function(){return this.x*this.x+this.y*this.y},s.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},s.prototype.manhattanLength=function(){return Math.abs(this.x)+Math.abs(this.y)},s.prototype.normalize=function(){return this.divideScalar(this.length()||1)},s.prototype.angle=function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},s.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},s.prototype.distanceToSquared=function(t){var i=this.x-t.x,e=this.y-t.y;return i*i+e*e},s.prototype.manhattanDistanceTo=function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},s.prototype.setLength=function(t){return this.normalize().multiplyScalar(t)},s.prototype.lerp=function(t,i){this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i},s.prototype.lerpVectors=function(t,i,e){return this.subVectors(i,t).multiplyScalar(e).add(t)},s.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},s.prototype.fromArray=function(t,i){void 0===i&&(i=0),this.x=t[i],this.y=t[i+1]},s.prototype.toArray=function(t,i){return void 0===t&&(t=[]),void 0===i&&(i=0),t[i]=this.x,t[i+1]=this.y,t},s.prototype.rotateAround=function(t,i){var e=Math.cos(i),n=Math.sin(i),o=this.x-t.x,s=this.y-t.y;this.x=o*e-s*n+t.x,this.y=o*n+s*e+t.y},l.prototype.copy=function(t){this.m=t.m.slice(0)},l.prototype.clone=function(){return new l(this.m.slice(0))},l.prototype.identity=function(){this.m=[1,0,0,1,0,0]},l.prototype.multiply=function(t){var i=this.m[0]*t.m[0]+this.m[2]*t.m[1],e=this.m[1]*t.m[0]+this.m[3]*t.m[1],n=this.m[0]*t.m[2]+this.m[2]*t.m[3],o=this.m[1]*t.m[2]+this.m[3]*t.m[3],s=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],r=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];this.m=[i,e,n,o,s,r]},l.prototype.premultiply=function(t){var i=t.m[0]*this.m[0]+t.m[2]*this.m[1],e=t.m[1]*this.m[0]+t.m[3]*this.m[1],n=t.m[0]*this.m[2]+t.m[2]*this.m[3],o=t.m[1]*this.m[2]+t.m[3]*this.m[3],s=t.m[0]*this.m[4]+t.m[2]*this.m[5]+t.m[4],r=t.m[1]*this.m[4]+t.m[3]*this.m[5]+t.m[5];this.m=[i,e,n,o,s,r]},l.prototype.compose=function(t,i,e,n,o,s,r){if(this.m=[1,0,0,1,t,i],0!==r){var h=Math.cos(r),a=Math.sin(r);this.multiply(new l([h,a,-a,h,0,0]))}0===o&&0===s||this.multiply(new l([1,0,0,1,-o,-s])),1===e&&1===n||this.scale(e,n)},l.prototype.translate=function(t,i){this.m[4]+=this.m[0]*t+this.m[2]*i,this.m[5]+=this.m[1]*t+this.m[3]*i},l.prototype.rotate=function(t){var i=Math.cos(t),e=Math.sin(t),n=this.m[0]*i+this.m[2]*e,o=this.m[1]*i+this.m[3]*e,s=this.m[0]*-e+this.m[2]*i,r=this.m[1]*-e+this.m[3]*i;this.m[0]=n,this.m[1]=o,this.m[2]=s,this.m[3]=r},l.prototype.scale=function(t,i){this.m[0]*=t,this.m[1]*=t,this.m[2]*=i,this.m[3]*=i},l.prototype.setPosition=function(t,i){this.m[4]=t,this.m[5]=i},l.prototype.getScale=function(){return new s(this.m[0],this.m[3])},l.prototype.getPosition=function(){return new s(this.m[4],this.m[5])},l.prototype.skew=function(t,i){this.multiply(new l([1,Math.tan(i),Math.tan(t),1,0,0]))},l.prototype.determinant=function(){return 1/(this.m[0]*this.m[3]-this.m[1]*this.m[2])},l.prototype.getInverse=function(){var t=this.determinant();return new l([this.m[3]*t,-this.m[1]*t,-this.m[2]*t,this.m[0]*t,t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),t*(this.m[1]*this.m[4]-this.m[0]*this.m[5])])},l.prototype.transformPoint=function(t){return new s(t.x*this.m[0]+t.y*this.m[2]+this.m[4],t.x*this.m[1]+t.y*this.m[3]+this.m[5])},l.prototype.setContextTransform=function(t){t.setTransform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},l.prototype.tranformContext=function(t){t.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},l.prototype.cssTransform=function(){return"matrix("+this.m[0]+","+this.m[1]+","+this.m[2]+","+this.m[3]+","+this.m[4]+","+this.m[5]+")"},i.generate=function(){for(var o=[],t=0;t<256;t++)o[t]=(t<16?"0":"")+t.toString(16);return function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,e=4294967295*Math.random()|0,n=4294967295*Math.random()|0;return(o[255&t]+o[t>>8&255]+o[t>>16&255]+o[t>>24&255]+"-"+o[255&i]+o[i>>8&255]+"-"+o[i>>16&15|64]+o[i>>24&255]+"-"+o[63&e|128]+o[e>>8&255]+"-"+o[e>>16&255]+o[e>>24&255]+o[255&n]+o[n>>8&255]+o[n>>16&255]+o[n>>24&255]).toUpperCase()}}(),p.prototype.traverse=function(t){t(this);for(var i=this.children,e=0;e<i.length;e++)i[e].traverse(t)},p.prototype.add=function(t){t.parent=this,t.level=this.level+1,t.traverse(function(t){null!==t.onAdd&&t.onAdd(this)}),this.children.push(t)},p.prototype.remove=function(t){var i=this.children.indexOf(t);-1!==i&&((t=this.children[i]).parent=null,t.level=0,t.traverse(function(t){null!==t.onRemove&&t.onRemove(this)}),this.children.splice(i,1))},p.prototype.isInside=function(t){return!1},p.prototype.updateMatrix=function(t){this.matrixNeedsUpdate&&(this.matrix.compose(this.position.x,this.position.y,this.scale.x,this.scale.y,this.origin.x,this.origin.y,this.rotation),this.globalMatrix.copy(this.matrix),null!==this.parent&&this.globalMatrix.premultiply(this.parent.globalMatrix),this.inverseGlobalMatrix=this.globalMatrix.getInverse())},p.prototype.transform=function(t,i){this.globalMatrix.tranformContext(t)},p.prototype.draw=function(t,i,e){},p.prototype.onAdd=null,p.prototype.onRemove=null,p.prototype.onUpdate=null,p.prototype.onPointerEnter=null,p.prototype.onPointerLeave=null,p.prototype.onPointerOver=null,p.prototype.onPointerDrag=function(t,i,e){this.position.add(e)},p.prototype.onButtonPressed=null,p.prototype.onButtonDown=null,p.prototype.onButtonUp=null,r.DOWN=-1,r.UP=1,r.RESET=0,(r.prototype.constructor=r).prototype.update=function(t){this.justPressed=!1,this.justReleased=!1,t===r.DOWN?(!1===this.pressed&&(this.justPressed=!0),this.pressed=!0):t===r.UP?(this.pressed&&(this.justReleased=!0),this.pressed=!1):t===r.RESET&&(this.justReleased=!1,this.justPressed=!1)},r.prototype.set=function(t,i,e){this.justPressed=t,this.pressed=i,this.justReleased=e},r.prototype.reset=function(){this.justPressed=!1,this.pressed=!1,this.justReleased=!1},((y.prototype=y).constructor=y).LEFT=0,y.MIDDLE=1,y.RIGHT=2,y.BACK=3,y.FORWARD=4,y.setCanvas=function(t){(this.canvas=t).pointerInside=!1,t.addEventListener("mouseenter",function(){this.pointerInside=!0}),t.addEventListener("mouseleave",function(){this.pointerInside=!1})},y.insideCanvas=function(){return null!==this.canvas&&this.canvas.pointerInside},y.buttonPressed=function(t){return this.keys[t].pressed},y.buttonDoubleClicked=function(t){return this.doubleClicked[t]},y.buttonJustPressed=function(t){return this.keys[t].justPressed},y.buttonJustReleased=function(t){return this.keys[t].justReleased},y.updatePosition=function(t,i,e,n){if(null!==this.canvas){var o=this.canvas.getBoundingClientRect();t-=o.left,i-=o.top}this._position.set(t,i),this._delta.x+=e,this._delta.y+=n,this._positionUpdated=!0},y.updateKey=function(t,i){-1<t&&this._keys[t].update(i)},y.update=function(){for(var t=0;t<5;t++)this._keys[t].justPressed&&this.keys[t].justPressed&&(this._keys[t].justPressed=!1),this._keys[t].justReleased&&this.keys[t].justReleased&&(this._keys[t].justReleased=!1),this.keys[t].set(this._keys[t].justPressed,this._keys[t].pressed,this._keys[t].justReleased),!0===this._doubleClicked[t]?(this.doubleClicked[t]=!0,this._doubleClicked[t]=!1):this.doubleClicked[t]=!1;this._wheelUpdated?(this.wheel=this._wheel,this._wheelUpdated=!1):this.wheel=0,this._positionUpdated?(this.delta.copy(this._delta),this.position.copy(this._position),this._delta.set(0,0),this._positionUpdated=!1):(this.delta.x=0,this.delta.y=0)},y.create=function(){this.events.create()},y.dispose=function(){this.events.destroy()},e.prototype.createRenderLoop=function(i,e,n){var o=this;!function t(){void 0!==n&&n(),o.update(i,e),requestAnimationFrame(t)}()},e.prototype.update=function(t,i){var e=[];t.traverse(function(t){t.visible&&e.push(t)}),e.sort(function(t,i){return i.layer===t.layer?i.level-t.level:i.layer-t.layer});var n=this.pointer;n.update(),i.updateControls(n),i.updateMatrix();for(var o=n.position.clone(),s=i.inverseMatrix.transformPoint(o),r=0;r<e.length;r++){if((a=e[r]).pointerEvents){var h=a.inverseGlobalMatrix.transformPoint(a.ignoreViewport?o:s);if(a.isInside(h)){if(a.pointerInside||null===a.onPointerEnter||a.onPointerEnter(n,i),null!==a.onPointerOver&&a.onPointerOver(n,i),n.buttonPressed(y.LEFT)&&null!==a.onButtonPressed&&a.onButtonPressed(n,i),n.buttonJustReleased(y.LEFT)&&null!==a.onButtonUp&&a.onButtonUp(n,i),n.buttonJustPressed(y.LEFT)&&(null!==a.onButtonDown&&a.onButtonDown(n,i),a.draggable)){a.beingDragged=!0;break}a.pointerInside=!0}else a.pointerInside&&(null!==a.onPointerLeave&&a.onPointerLeave(n,i),a.pointerInside=!1);n.buttonJustReleased(y.LEFT)&&a.draggable&&(a.beingDragged=!1)}}for(r=0;r<e.length;r++){var a;if((a=e[r]).beingDragged){var l=n.position.clone();l.sub(n.delta);var p=i.inverseMatrix.transformPoint(n.position),m=i.inverseMatrix.transformPoint(l);p.sub(m),null!==a.onPointerDrag&&a.onPointerDrag(n,i,p)}null!==a.onUpdate&&a.onUpdate()}t.traverse(function(t){t.updateMatrix()}),this.context.setTransform(1,0,0,1,0,0),this.autoClear&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height);for(r=e.length-1;0<=r;r--)if(!e[r].isMask){e[r].saveContextState&&this.context.save();for(var c=e[r].masks,u=0;u<c.length;u++)c[u].ignoreViewport||i.matrix.setContextTransform(this.context),c[u].transform(this.context,i,this.canvas),c[u].clip(this.context,i,this.canvas);e[r].ignoreViewport?0<c.length&&this.context.setTransform(1,0,0,1,0,0):i.matrix.setContextTransform(this.context),e[r].transform(this.context,i,this.canvas),e[r].draw(this.context,i,this.canvas),e[r].restoreContextState&&this.context.restore()}},n.prototype.updateControls=function(t){if(0!==t.wheel&&(this.scale-=.001*t.wheel*this.scale,this.moveOnScale)){var i=t.wheel/this.scale,e=t.canvas.width/2,n=t.canvas.height/2;this.position.x+=(t.position.x-e)/e*i,this.position.y+=(t.position.y-n)/n*i}t.buttonPressed(y.RIGHT)&&t.buttonPressed(y.LEFT)?this.rotation+=.01*t.delta.angle():t.buttonPressed(y.RIGHT)&&(this.position.x+=t.delta.x,this.position.y+=t.delta.y)},n.prototype.updateMatrix=function(){this.matrixNeedsUpdate&&(this.matrix.compose(this.position.x,this.position.y,this.scale,this.scale,0,0,this.rotation),this.inverseMatrix=this.matrix.getInverse())},h.prototype.set=function(t,i){return this.min.copy(t),this.max.copy(i),this},h.prototype.setFromPoints=function(t){this.min=new s(1/0,1/0),this.max=new s(-1/0,-1/0);for(var i=0,e=t.length;i<e;i++)this.expandByPoint(t[i]);return this},h.prototype.setFromCenterAndSize=function(t,i){var e=(new s).copy(i).multiplyScalar(.5);return this.min.copy(t).sub(e),this.max.copy(t).add(e),this},h.prototype.clone=function(){var t=new h;return t.copy(this),t},h.prototype.copy=function(t){this.min.copy(t.min),this.max.copy(t.max)},h.prototype.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y},h.prototype.getCenter=function(t){return void 0===t&&(t=new s),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5),t},h.prototype.getSize=function(t){return void 0===t&&(t=new s),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min),t},h.prototype.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},h.prototype.expandByVector=function(t){this.min.sub(t),this.max.add(t)},h.prototype.expandByScalar=function(t){this.min.addScalar(-t),this.max.addScalar(t)},h.prototype.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},h.prototype.containsBox=function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},h.prototype.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},h.prototype.clampPoint=function(t,i){return void 0===i&&(i=new s),i.copy(t).clamp(this.min,this.max),i},h.prototype.distanceToPoint=function(t){return(new s).copy(t).clamp(this.min,this.max).sub(t).length()},h.prototype.intersect=function(t){this.min.max(t.min),this.max.min(t.max)},h.prototype.union=function(t){this.min.min(t.min),this.max.max(t.max)},h.prototype.translate=function(t){this.min.add(t),this.max.add(t)},h.prototype.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},(a.prototype=Object.create(p.prototype)).isMask=!0,a.prototype.clip=function(t,i,e){},(m.prototype=Object.create(a.prototype)).isInside=function(t){return this.box.containsPoint(t)},m.prototype.clip=function(t,i,e){t.beginPath();var n=this.box.max.x-this.box.min.x;if(this.invert)t.rect(this.box.min.x-1e4,-5e3,1e4,1e4),t.rect(this.box.max.x,-5e3,1e4,1e4),t.rect(this.box.min.x,this.box.min.y-1e4,n,1e4),t.rect(this.box.min.x,this.box.max.y,n,1e4);else{var o=this.box.max.y-this.box.min.y;t.fillRect(this.box.min.x,this.box.min.y,n,o)}t.clip()},(c.prototype=Object.create(p.prototype)).isInside=function(t){return t.length()<=this.radius},c.prototype.onPointerEnter=function(t,i){this.fillStyle="#CCCCCC"},c.prototype.onPointerLeave=function(t,i){this.fillStyle="#FFFFFF"},c.prototype.draw=function(t,i,e){t.beginPath(),t.arc(0,0,this.radius,0,2*Math.PI),t.fillStyle=this.fillStyle,t.fill(),t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.stroke()},u.rotateTool=function(n){var t=new c;t.radius=4,t.layer=n.layer+1,t.onPointerDrag=function(t,i,e){n.rotation+=.001*e.x},n.add(t)},u.boxResizeTool=function(n){if(void 0!==n.box){var o=new c;o.radius=4,o.layer=n.layer+1,o.draggable=!0,o.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.box.min.copy(o.position),a()},n.add(o);var s=new c;s.radius=4,s.layer=n.layer+1,s.draggable=!0,s.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.box.max.x=s.position.x,n.box.min.y=s.position.y,a()},n.add(s);var r=new c;r.radius=4,r.layer=n.layer+1,r.draggable=!0,r.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.box.max.copy(r.position),a()},n.add(r);var h=new c;h.radius=4,h.layer=n.layer+1,h.draggable=!0,h.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.box.min.x=h.position.x,n.box.max.y=h.position.y,a()},n.add(h),a()}else console.warn("trenette.js: Helpers.boxResizeTool(), object box property missing.");function a(){o.position.copy(n.box.min),r.position.copy(n.box.max),s.position.set(n.box.max.x,n.box.min.y),h.position.set(n.box.min.x,n.box.max.y)}},(d.prototype=Object.create(p.prototype)).onPointerEnter=function(t,i){this.fillStyle="#CCCCCC"},d.prototype.onPointerLeave=function(t,i){this.fillStyle="#FFFFFF"},d.prototype.isInside=function(t){return this.box.containsPoint(t)},d.prototype.draw=function(t,i,e){var n=this.box.max.x-this.box.min.x,o=this.box.max.y-this.box.min.y;t.fillStyle=this.fillStyle,t.fillRect(this.box.min.x,this.box.min.y,n,o),t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.strokeRect(this.box.min.x,this.box.min.y,n,o)},(x.prototype=Object.create(p.prototype)).draw=function(t,i,e){t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.setLineDash(this.dashPattern),t.beginPath(),t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y),t.stroke()},(f.prototype=Object.create(p.prototype)).draw=function(t,i,e){t.font=this.font,t.textAlign=this.textAlign,t.fillStyle=this.color,t.textBaseline="middle",t.fillText(this.text,0,0)},(v.prototype=Object.create(p.prototype)).setImage=function(t){var i=this;this.image.onload=function(){i.box.min.set(0,0),i.box.max.set(this.naturalWidth,this.naturalHeight)},this.image.src=t},v.prototype.isInside=function(t){return this.box.containsPoint(t)},v.prototype.draw=function(t,i,e){0<this.image.src.length&&t.drawImage(this.image,0,0,this.image.naturalWidth,this.image.naturalHeight,this.box.min.x,this.box.min.y,this.box.max.x-this.box.min.x,this.box.max.y-this.box.min.y)},(b.prototype=Object.create(p.prototype)).onAdd=function(){this.parentDOM.appendChild(this.element)},b.prototype.onRemove=function(){this.parentDOM.removeChild(this.element)},b.prototype.transform=function(t,i,e){var n=i.matrix.clone();n.multiply(this.globalMatrix),this.element.style.transform=n.cssTransform(),this.element.style.width=this.size.x+"px",this.element.style.height=this.size.y+"px",this.element.style.display=this.visible?"block":"none"},(g.prototype=Object.create(p.prototype)).setImage=function(t){var i=this;this.image.onload=function(){i.box.min.set(0,0),i.box.max.set(this.naturalWidth,this.naturalHeight)},this.image.src=t},g.prototype.isInside=function(t){return this.box.containsPoint(t)},g.prototype.draw=function(t,i,e){var n=this.box.max.x-this.box.min.x,o=this.box.max.y-this.box.min.y;if(0<this.image.src.length){var s=t.createPattern(this.image,this.repetition);t.fillStyle=s,t.fillRect(this.box.min.x,this.box.min.y,n,o)}},(w.prototype=Object.create(p.prototype)).isInside=function(t){return this.box.containsPoint(t)},w.prototype.draw=function(t,i,e){if(0!==this.data.length){var n=this.box.max.x-this.box.min.x,o=this.box.max.y-this.box.min.y;t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.beginPath();var s=n/(this.data.length-1),r=this.max-this.min;t.moveTo(this.box.min.x,this.box.max.y-(this.data[0]-this.min)/r*o);for(var h=1,a=s;h<this.data.length;a+=s,h++)t.lineTo(this.box.min.x+a,this.box.max.y-(this.data[h]-this.min)/r*o);t.stroke(),null!==this.fillStyle&&(t.fillStyle=this.fillStyle,t.lineTo(this.box.max.x,this.box.max.y),t.lineTo(this.box.min.x,this.box.max.y),t.fill())}},P.prototype=Object.create(p.prototype),P.curveHelper=function(n){var o=new c;o.radius=3,o.layer=n.layer+1,o.draggable=!0,o.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.fromCp.copy(o.position)},n.parent.add(o);var t=new x;t.from=n.from,t.to=n.fromCp,n.parent.add(t);var s=new c;s.radius=3,s.layer=n.layer+1,s.draggable=!0,s.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),n.toCp.copy(s.position)},n.parent.add(s);var i=new x;i.from=n.to,i.to=n.toCp,n.parent.add(i)},P.prototype.draw=function(t,i,e){t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.setLineDash(this.dashPattern),t.beginPath(),t.moveTo(this.from.x,this.from.y),t.bezierCurveTo(this.fromCp.x,this.fromCp.y,this.toCp.x,this.toCp.y,this.to.x,this.to.y),t.stroke()},t.BezierCurve=P,t.Box=d,t.Box2=h,t.BoxMask=m,t.Circle=c,t.DOM=b,t.EventManager=o,t.Graph=w,t.Helpers=u,t.Image=v,t.Key=r,t.Line=x,t.Mask=a,t.Matrix=l,t.Object2D=p,t.Pattern=g,t.Pointer=y,t.Renderer=e,t.Text=f,t.UUID=i,t.Vector2=s,t.Viewport=n,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t=t||self).Trenette={})}(this,function(t){"use strict";function n(){this.events=[]}function s(t,i){this.x=t||0,this.y=i||0}function l(t){void 0!==t?this.m=t:this.identity()}function i(){}function p(){this.uuid=i.generate(),this.children=[],this.parent=null,this.level=0,this.position=new s(0,0),this.origin=new s(0,0),this.scale=new s(1,1),this.rotation=0,this.visible=!0,this.layer=0,this.matrix=new l,this.globalMatrix=new l,this.inverseGlobalMatrix=new l,this.masks=[],this.matrixNeedsUpdate=!0,this.draggable=!1,this.pointerEvents=!0,this.ignoreViewport=!1,this.saveContextState=!0,this.restoreContextState=!0,this.pointerInside=!1,this.beingDragged=!1}function r(){this.pressed=!1,this.justPressed=!1,this.justReleased=!1}function y(t){this._keys=new Array(5),this._position=new s(0,0),this._positionUpdated=!1,this._delta=new s(0,0),this._wheel=0,this._wheelUpdated=!1,this._doubleClicked=new Array(5),this.keys=new Array(5),this.position=new s(0,0),this.delta=new s(0,0),this.wheel=0,this.doubleClicked=new Array(5),this.domElement=void 0!==t?t:window,this.canvas=null,this.events=new n;for(var i=0;i<5;i++)this._doubleClicked[i]=!1,this.doubleClicked[i]=!1,this._keys[i]=new r,this.keys[i]=new r;var e=this;if(void 0!==window.onmousewheel?this.events.add(this.domElement,"mousewheel",function(t){e._wheel=t.deltaY,e._wheelUpdated=!0}):void 0!==window.addEventListener?this.events.add(this.domElement,"DOMMouseScroll",function(t){e._wheel=30*t.detail,e._wheelUpdated=!0}):this.events.add(this.domElement,"wheel",function(t){e._wheel=t.deltaY,e._wheelUpdated=!0}),void 0!==window.ontouchstart||0<navigator.msMaxTouchPoints){var o=new s(0,0);this.events.add(this.domElement,"touchstart",function(t){var i=t.touches[0];e.updatePosition(i.clientX,i.clientY,0,0),e.updateKey(y.LEFT,r.DOWN),o.set(i.clientX,i.clientY)}),this.events.add(this.domElement,"touchend",function(t){e.updateKey(y.LEFT,r.UP)}),this.events.add(this.domElement,"touchcancel",function(t){e.updateKey(y.LEFT,r.UP)}),this.events.add(document.body,"touchmove",function(t){var i=t.touches[0];e.updatePosition(i.clientX,i.clientY,i.clientX-o.x,i.clientY-o.y),o.set(i.clientX,i.clientY)})}this.events.add(this.domElement,"mousemove",function(t){e.updatePosition(t.clientX,t.clientY,t.movementX,t.movementY)}),this.events.add(this.domElement,"mousedown",function(t){e.updateKey(t.which-1,r.DOWN)}),this.events.add(this.domElement,"mouseup",function(t){e.updateKey(t.which-1,r.UP)}),this.events.add(this.domElement,"dragstart",function(t){e.updateKey(t.which-1,r.UP)}),this.events.add(this.domElement,"dblclick",function(t){e._doubleClicked[t.which-1]=!0}),this.create()}function e(t,i){void 0===i&&(i={alpha:!0}),this.canvas=t,this.context=t.getContext("2d",{alpha:i.alpha}),this.context.imageSmoothingEnabled=!0,this.context.globalCompositeOperation="source-over",this.pointer=new y,this.pointer.setCanvas(t),this.autoClear=!0}function o(){this.uuid=i.generate(),this.position=new s(0,0),this.scale=1,this.rotation=0,this.matrix=new l,this.inverseMatrix=new l,this.matrixNeedsUpdate=!0,this.moveOnScale=!0,this.rotationPoint=null}function h(t,i){this.min=void 0!==t?t:new s,this.max=void 0!==i?i:new s}function a(){p.call(this)}function m(){a.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.invert=!1}function c(){p.call(this),this.radius=10,this.strokeStyle="#000000",this.lineWidth=1,this.fillStyle="#FFFFFF"}function u(){}function d(){p.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.strokeStyle="#000000",this.lineWidth=1,this.fillStyle="#FFFFFF"}function x(){p.call(this),this.from=new s,this.to=new s,this.strokeStyle="#000000",this.dashPattern=[5,5],this.lineWidth=1}function f(){p.call(this),this.text="",this.font="16px Arial",this.color="#000000",this.textAlign="center"}function v(t){p.call(this),this.box=new h,this.image=document.createElement("img"),void 0!==t&&this.setImage(t)}function b(t,i){p.call(this),this.parentDOM=t,this.element=document.createElement("div"),this.element.style.transformStyle="preserve-3d",this.element.style.position="absolute",this.element.style.top="0px",this.element.style.bottom="0px",this.element.style.transformOrigin="0px 0px",this.element.style.overflow="auto",this.element.style.pointerEvents="none",this.size=new s(100,100)}function g(t){p.call(this),this.box=new h,this.image=document.createElement("img"),this.repetition="repeat",void 0!==t&&this.setImage(t)}function w(){p.call(this),this.box=new h(new s(-50,-35),new s(50,35)),this.strokeStyle="rgb(0, 153, 255)",this.lineWidth=1,this.fillStyle="rgba(0, 153, 255, 0.3)",this.min=0,this.max=10,this.data=[]}function P(){p.call(this),this.from=new s,this.fromCp=new s,this.to=new s,this.toCp=new s,this.strokeStyle="#000000",this.dashPattern=[5,5],this.lineWidth=1}n.prototype.add=function(t,i,e){this.events.push([t,i,e,!1])},n.prototype.clear=function(){this.destroy(),this.events=[]},n.prototype.create=function(){for(var t=0;t<this.events.length;t++){var i=this.events[t];i[0].addEventListener(i[1],i[2]),i[3]=!0}},n.prototype.destroy=function(){for(var t=0;t<this.events.length;t++){var i=this.events[t];i[0].removeEventListener(i[1],i[2]),i[3]=!1}},s.prototype.set=function(t,i){this.x=t,this.y=i},s.prototype.setScalar=function(t){this.x=t,this.y=t},s.prototype.clone=function(){return new s(this.x,this.y)},s.prototype.copy=function(t){this.x=t.x,this.y=t.y},s.prototype.add=function(t){this.x+=t.x,this.y+=t.y},s.prototype.addScalar=function(t){this.x+=t,this.y+=t},s.prototype.addVectors=function(t,i){this.x=t.x+i.x,this.y=t.y+i.y},s.prototype.addScaledVector=function(t,i){this.x+=t.x*i,this.y+=t.y*i},s.prototype.sub=function(t){this.x-=t.x,this.y-=t.y},s.prototype.subScalar=function(t){this.x-=t,this.y-=t},s.prototype.subVectors=function(t,i){this.x=t.x-i.x,this.y=t.y-i.y},s.prototype.multiply=function(t){this.x*=t.x,this.y*=t.y},s.prototype.multiplyScalar=function(t){this.x*=t,this.y*=t},s.prototype.divide=function(t){this.x/=t.x,this.y/=t.y},s.prototype.divideScalar=function(t){return this.multiplyScalar(1/t)},s.prototype.min=function(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y)},s.prototype.max=function(t){this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y)},s.prototype.clamp=function(t,i){this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y))},s.prototype.clampScalar=function(t,i){this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y))},s.prototype.clampLength=function(t,i){var e=this.length();return this.divideScalar(e||1).multiplyScalar(Math.max(t,Math.min(i,e)))},s.prototype.floor=function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},s.prototype.ceil=function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},s.prototype.round=function(){this.x=Math.round(this.x),this.y=Math.round(this.y)},s.prototype.roundToZero=function(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y)},s.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},s.prototype.dot=function(t){return this.x*t.x+this.y*t.y},s.prototype.cross=function(t){return this.x*t.y-this.y*t.x},s.prototype.lengthSq=function(){return this.x*this.x+this.y*this.y},s.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},s.prototype.manhattanLength=function(){return Math.abs(this.x)+Math.abs(this.y)},s.prototype.normalize=function(){return this.divideScalar(this.length()||1)},s.prototype.angle=function(){var t=Math.atan2(this.y,this.x);return t<0&&(t+=2*Math.PI),t},s.prototype.distanceTo=function(t){return Math.sqrt(this.distanceToSquared(t))},s.prototype.distanceToSquared=function(t){var i=this.x-t.x,e=this.y-t.y;return i*i+e*e},s.prototype.manhattanDistanceTo=function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},s.prototype.setLength=function(t){return this.normalize().multiplyScalar(t)},s.prototype.lerp=function(t,i){this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i},s.prototype.lerpVectors=function(t,i,e){return this.subVectors(i,t).multiplyScalar(e).add(t)},s.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},s.prototype.fromArray=function(t,i){void 0===i&&(i=0),this.x=t[i],this.y=t[i+1]},s.prototype.toArray=function(t,i){return void 0===t&&(t=[]),void 0===i&&(i=0),t[i]=this.x,t[i+1]=this.y,t},s.prototype.rotateAround=function(t,i){var e=Math.cos(i),o=Math.sin(i),n=this.x-t.x,s=this.y-t.y;this.x=n*e-s*o+t.x,this.y=n*o+s*e+t.y},l.prototype.copy=function(t){this.m=t.m.slice(0)},l.prototype.clone=function(){return new l(this.m.slice(0))},l.prototype.identity=function(){this.m=[1,0,0,1,0,0]},l.prototype.multiply=function(t){var i=this.m[0]*t.m[0]+this.m[2]*t.m[1],e=this.m[1]*t.m[0]+this.m[3]*t.m[1],o=this.m[0]*t.m[2]+this.m[2]*t.m[3],n=this.m[1]*t.m[2]+this.m[3]*t.m[3],s=this.m[0]*t.m[4]+this.m[2]*t.m[5]+this.m[4],r=this.m[1]*t.m[4]+this.m[3]*t.m[5]+this.m[5];this.m=[i,e,o,n,s,r]},l.prototype.premultiply=function(t){var i=t.m[0]*this.m[0]+t.m[2]*this.m[1],e=t.m[1]*this.m[0]+t.m[3]*this.m[1],o=t.m[0]*this.m[2]+t.m[2]*this.m[3],n=t.m[1]*this.m[2]+t.m[3]*this.m[3],s=t.m[0]*this.m[4]+t.m[2]*this.m[5]+t.m[4],r=t.m[1]*this.m[4]+t.m[3]*this.m[5]+t.m[5];this.m=[i,e,o,n,s,r]},l.prototype.compose=function(t,i,e,o,n,s,r){if(this.m=[1,0,0,1,t,i],0!==r){var h=Math.cos(r),a=Math.sin(r);this.multiply(new l([h,a,-a,h,0,0]))}0===n&&0===s||this.multiply(new l([1,0,0,1,-n,-s])),1===e&&1===o||this.scale(e,o)},l.prototype.translate=function(t,i){this.m[4]+=this.m[0]*t+this.m[2]*i,this.m[5]+=this.m[1]*t+this.m[3]*i},l.prototype.rotate=function(t){var i=Math.cos(t),e=Math.sin(t),o=this.m[0]*i+this.m[2]*e,n=this.m[1]*i+this.m[3]*e,s=this.m[0]*-e+this.m[2]*i,r=this.m[1]*-e+this.m[3]*i;this.m[0]=o,this.m[1]=n,this.m[2]=s,this.m[3]=r},l.prototype.scale=function(t,i){this.m[0]*=t,this.m[1]*=t,this.m[2]*=i,this.m[3]*=i},l.prototype.setPosition=function(t,i){this.m[4]=t,this.m[5]=i},l.prototype.getScale=function(){return new s(this.m[0],this.m[3])},l.prototype.getPosition=function(){return new s(this.m[4],this.m[5])},l.prototype.skew=function(t,i){this.multiply(new l([1,Math.tan(i),Math.tan(t),1,0,0]))},l.prototype.determinant=function(){return 1/(this.m[0]*this.m[3]-this.m[1]*this.m[2])},l.prototype.getInverse=function(){var t=this.determinant();return new l([this.m[3]*t,-this.m[1]*t,-this.m[2]*t,this.m[0]*t,t*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),t*(this.m[1]*this.m[4]-this.m[0]*this.m[5])])},l.prototype.transformPoint=function(t){return new s(t.x*this.m[0]+t.y*this.m[2]+this.m[4],t.x*this.m[1]+t.y*this.m[3]+this.m[5])},l.prototype.setContextTransform=function(t){t.setTransform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},l.prototype.tranformContext=function(t){t.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},l.prototype.cssTransform=function(){return"matrix("+this.m[0]+","+this.m[1]+","+this.m[2]+","+this.m[3]+","+this.m[4]+","+this.m[5]+")"},i.generate=function(){for(var n=[],t=0;t<256;t++)n[t]=(t<16?"0":"")+t.toString(16);return function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,e=4294967295*Math.random()|0,o=4294967295*Math.random()|0;return(n[255&t]+n[t>>8&255]+n[t>>16&255]+n[t>>24&255]+"-"+n[255&i]+n[i>>8&255]+"-"+n[i>>16&15|64]+n[i>>24&255]+"-"+n[63&e|128]+n[e>>8&255]+"-"+n[e>>16&255]+n[e>>24&255]+n[255&o]+n[o>>8&255]+n[o>>16&255]+n[o>>24&255]).toUpperCase()}}(),p.prototype.traverse=function(t){t(this);for(var i=this.children,e=0;e<i.length;e++)i[e].traverse(t)},p.prototype.add=function(t){t.parent=this,t.level=this.level+1,t.traverse(function(t){null!==t.onAdd&&t.onAdd(this)}),this.children.push(t)},p.prototype.remove=function(t){var i=this.children.indexOf(t);-1!==i&&((t=this.children[i]).parent=null,t.level=0,t.traverse(function(t){null!==t.onRemove&&t.onRemove(this)}),this.children.splice(i,1))},p.prototype.isInside=function(t){return!1},p.prototype.updateMatrix=function(t){this.matrixNeedsUpdate&&(this.matrix.compose(this.position.x,this.position.y,this.scale.x,this.scale.y,this.origin.x,this.origin.y,this.rotation),this.globalMatrix.copy(this.matrix),null!==this.parent&&this.globalMatrix.premultiply(this.parent.globalMatrix),this.inverseGlobalMatrix=this.globalMatrix.getInverse())},p.prototype.transform=function(t,i){this.globalMatrix.tranformContext(t)},p.prototype.draw=function(t,i,e){},p.prototype.onPointerDrag=function(t,i,e){this.position.add(e)},p.prototype.onAdd=null,p.prototype.onRemove=null,p.prototype.onUpdate=null,p.prototype.onPointerEnter=null,p.prototype.onPointerLeave=null,p.prototype.onPointerOver=null,p.prototype.onButtonPressed=null,p.prototype.onButtonDown=null,p.prototype.onButtonUp=null,r.DOWN=-1,r.UP=1,r.RESET=0,(r.prototype.constructor=r).prototype.update=function(t){this.justPressed=!1,this.justReleased=!1,t===r.DOWN?(!1===this.pressed&&(this.justPressed=!0),this.pressed=!0):t===r.UP?(this.pressed&&(this.justReleased=!0),this.pressed=!1):t===r.RESET&&(this.justReleased=!1,this.justPressed=!1)},r.prototype.set=function(t,i,e){this.justPressed=t,this.pressed=i,this.justReleased=e},r.prototype.reset=function(){this.justPressed=!1,this.pressed=!1,this.justReleased=!1},((y.prototype=y).constructor=y).LEFT=0,y.MIDDLE=1,y.RIGHT=2,y.BACK=3,y.FORWARD=4,y.setCanvas=function(t){(this.canvas=t).pointerInside=!1,t.addEventListener("mouseenter",function(){this.pointerInside=!0}),t.addEventListener("mouseleave",function(){this.pointerInside=!1})},y.insideCanvas=function(){return null!==this.canvas&&this.canvas.pointerInside},y.buttonPressed=function(t){return this.keys[t].pressed},y.buttonDoubleClicked=function(t){return this.doubleClicked[t]},y.buttonJustPressed=function(t){return this.keys[t].justPressed},y.buttonJustReleased=function(t){return this.keys[t].justReleased},y.updatePosition=function(t,i,e,o){if(null!==this.canvas){var n=this.canvas.getBoundingClientRect();t-=n.left,i-=n.top}this._position.set(t,i),this._delta.x+=e,this._delta.y+=o,this._positionUpdated=!0},y.updateKey=function(t,i){-1<t&&this._keys[t].update(i)},y.update=function(){for(var t=0;t<5;t++)this._keys[t].justPressed&&this.keys[t].justPressed&&(this._keys[t].justPressed=!1),this._keys[t].justReleased&&this.keys[t].justReleased&&(this._keys[t].justReleased=!1),this.keys[t].set(this._keys[t].justPressed,this._keys[t].pressed,this._keys[t].justReleased),!0===this._doubleClicked[t]?(this.doubleClicked[t]=!0,this._doubleClicked[t]=!1):this.doubleClicked[t]=!1;this._wheelUpdated?(this.wheel=this._wheel,this._wheelUpdated=!1):this.wheel=0,this._positionUpdated?(this.delta.copy(this._delta),this.position.copy(this._position),this._delta.set(0,0),this._positionUpdated=!1):(this.delta.x=0,this.delta.y=0)},y.create=function(){this.events.create()},y.dispose=function(){this.events.destroy()},e.prototype.createRenderLoop=function(i,e,o){var n=this;!function t(){void 0!==o&&o(),n.update(i,e),requestAnimationFrame(t)}()},e.prototype.update=function(t,i){var e=[];t.traverse(function(t){t.visible&&e.push(t)}),e.sort(function(t,i){return i.layer===t.layer?i.level-t.level:i.layer-t.layer});var o=this.pointer;o.update(),i.updateControls(o),i.updateMatrix();for(var n=o.position.clone(),s=i.inverseMatrix.transformPoint(n),r=0;r<e.length;r++){if((a=e[r]).pointerEvents){var h=a.inverseGlobalMatrix.transformPoint(a.ignoreViewport?n:s);if(a.isInside(h)){if(a.pointerInside||null===a.onPointerEnter||a.onPointerEnter(o,i),null!==a.onPointerOver&&a.onPointerOver(o,i),o.buttonPressed(y.LEFT)&&null!==a.onButtonPressed&&a.onButtonPressed(o,i),o.buttonJustReleased(y.LEFT)&&null!==a.onButtonUp&&a.onButtonUp(o,i),o.buttonJustPressed(y.LEFT)&&(null!==a.onButtonDown&&a.onButtonDown(o,i),a.draggable)){a.beingDragged=!0;break}a.pointerInside=!0}else a.pointerInside&&(null!==a.onPointerLeave&&a.onPointerLeave(o,i),a.pointerInside=!1);o.buttonJustReleased(y.LEFT)&&a.draggable&&(a.beingDragged=!1)}}for(r=0;r<e.length;r++){var a;if((a=e[r]).beingDragged){var l=o.position.clone();l.sub(o.delta);var p=i.inverseMatrix.transformPoint(o.position),m=i.inverseMatrix.transformPoint(l);p.sub(m),null!==a.onPointerDrag&&a.onPointerDrag(o,i,p)}null!==a.onUpdate&&a.onUpdate()}t.traverse(function(t){t.updateMatrix()}),this.context.setTransform(1,0,0,1,0,0),this.autoClear&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height);for(r=e.length-1;0<=r;r--)if(!e[r].isMask){e[r].saveContextState&&this.context.save();for(var c=e[r].masks,u=0;u<c.length;u++)c[u].ignoreViewport||i.matrix.setContextTransform(this.context),c[u].transform(this.context,i,this.canvas),c[u].clip(this.context,i,this.canvas);e[r].ignoreViewport?0<c.length&&this.context.setTransform(1,0,0,1,0,0):i.matrix.setContextTransform(this.context),e[r].transform(this.context,i,this.canvas),e[r].draw(this.context,i,this.canvas),e[r].restoreContextState&&this.context.restore()}},o.prototype.updateControls=function(t){if(0!==t.wheel&&(this.scale-=.001*t.wheel*this.scale,this.moveOnScale)){var i=t.wheel,e=t.canvas.width/2,o=t.canvas.height/2;this.position.x+=(t.position.x-e)/e*i,this.position.y+=(t.position.y-o)/o*i}t.buttonPressed(y.RIGHT)&&t.buttonPressed(y.LEFT)?this.rotation+=.001*t.delta.angle():t.buttonPressed(y.RIGHT)&&(this.position.x+=t.delta.x,this.position.y+=t.delta.y)},o.prototype.updateMatrix=function(){this.matrixNeedsUpdate&&(this.matrix.compose(this.position.x,this.position.y,this.scale,this.scale,0,0,this.rotation),this.inverseMatrix=this.matrix.getInverse())},o.prototype.centerObject=function(t,i){var e=t.globalMatrix.transformPoint(new s);e.multiplyScalar(-this.scale),e.x+=i.width/2,e.y+=i.height/2,this.position.copy(e)},h.prototype.set=function(t,i){return this.min.copy(t),this.max.copy(i),this},h.prototype.setFromPoints=function(t){this.min=new s(1/0,1/0),this.max=new s(-1/0,-1/0);for(var i=0,e=t.length;i<e;i++)this.expandByPoint(t[i]);return this},h.prototype.setFromCenterAndSize=function(t,i){var e=(new s).copy(i).multiplyScalar(.5);return this.min.copy(t).sub(e),this.max.copy(t).add(e),this},h.prototype.clone=function(){var t=new h;return t.copy(this),t},h.prototype.copy=function(t){this.min.copy(t.min),this.max.copy(t.max)},h.prototype.isEmpty=function(){return this.max.x<this.min.x||this.max.y<this.min.y},h.prototype.getCenter=function(t){return void 0===t&&(t=new s),this.isEmpty()?t.set(0,0):t.addVectors(this.min,this.max).multiplyScalar(.5),t},h.prototype.getSize=function(t){return void 0===t&&(t=new s),this.isEmpty()?t.set(0,0):t.subVectors(this.max,this.min),t},h.prototype.expandByPoint=function(t){return this.min.min(t),this.max.max(t),this},h.prototype.expandByVector=function(t){this.min.sub(t),this.max.add(t)},h.prototype.expandByScalar=function(t){this.min.addScalar(-t),this.max.addScalar(t)},h.prototype.containsPoint=function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y)},h.prototype.containsBox=function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y},h.prototype.intersectsBox=function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y)},h.prototype.clampPoint=function(t,i){return void 0===i&&(i=new s),i.copy(t).clamp(this.min,this.max),i},h.prototype.distanceToPoint=function(t){return(new s).copy(t).clamp(this.min,this.max).sub(t).length()},h.prototype.intersect=function(t){this.min.max(t.min),this.max.min(t.max)},h.prototype.union=function(t){this.min.min(t.min),this.max.max(t.max)},h.prototype.translate=function(t){this.min.add(t),this.max.add(t)},h.prototype.equals=function(t){return t.min.equals(this.min)&&t.max.equals(this.max)},(a.prototype=Object.create(p.prototype)).isMask=!0,a.prototype.clip=function(t,i,e){},(m.prototype=Object.create(a.prototype)).isInside=function(t){return this.box.containsPoint(t)},m.prototype.clip=function(t,i,e){t.beginPath();var o=this.box.max.x-this.box.min.x;if(this.invert)t.rect(this.box.min.x-1e4,-5e3,1e4,1e4),t.rect(this.box.max.x,-5e3,1e4,1e4),t.rect(this.box.min.x,this.box.min.y-1e4,o,1e4),t.rect(this.box.min.x,this.box.max.y,o,1e4);else{var n=this.box.max.y-this.box.min.y;t.fillRect(this.box.min.x,this.box.min.y,o,n)}t.clip()},(c.prototype=Object.create(p.prototype)).isInside=function(t){return t.length()<=this.radius},c.prototype.onPointerEnter=function(t,i){this.fillStyle="#CCCCCC"},c.prototype.onPointerLeave=function(t,i){this.fillStyle="#FFFFFF"},c.prototype.draw=function(t,i,e){t.beginPath(),t.arc(0,0,this.radius,0,2*Math.PI),t.fillStyle=this.fillStyle,t.fill(),t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.stroke()},u.rotateTool=function(o){var t=new c;t.radius=4,t.layer=o.layer+1,t.onPointerDrag=function(t,i,e){o.rotation+=.001*e.x},o.add(t)},u.boxResizeTool=function(o){if(void 0!==o.box){var n=new c;n.radius=4,n.layer=o.layer+1,n.draggable=!0,n.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.box.min.copy(n.position),a()},o.add(n);var s=new c;s.radius=4,s.layer=o.layer+1,s.draggable=!0,s.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.box.max.x=s.position.x,o.box.min.y=s.position.y,a()},o.add(s);var r=new c;r.radius=4,r.layer=o.layer+1,r.draggable=!0,r.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.box.max.copy(r.position),a()},o.add(r);var h=new c;h.radius=4,h.layer=o.layer+1,h.draggable=!0,h.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.box.min.x=h.position.x,o.box.max.y=h.position.y,a()},o.add(h),a()}else console.warn("trenette.js: Helpers.boxResizeTool(), object box property missing.");function a(){n.position.copy(o.box.min),r.position.copy(o.box.max),s.position.set(o.box.max.x,o.box.min.y),h.position.set(o.box.min.x,o.box.max.y)}},(d.prototype=Object.create(p.prototype)).onPointerEnter=function(t,i){this.fillStyle="#CCCCCC"},d.prototype.onPointerLeave=function(t,i){this.fillStyle="#FFFFFF"},d.prototype.isInside=function(t){return this.box.containsPoint(t)},d.prototype.draw=function(t,i,e){var o=this.box.max.x-this.box.min.x,n=this.box.max.y-this.box.min.y;t.fillStyle=this.fillStyle,t.fillRect(this.box.min.x,this.box.min.y,o,n),t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.strokeRect(this.box.min.x,this.box.min.y,o,n)},(x.prototype=Object.create(p.prototype)).draw=function(t,i,e){t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.setLineDash(this.dashPattern),t.beginPath(),t.moveTo(this.from.x,this.from.y),t.lineTo(this.to.x,this.to.y),t.stroke()},(f.prototype=Object.create(p.prototype)).draw=function(t,i,e){t.font=this.font,t.textAlign=this.textAlign,t.fillStyle=this.color,t.textBaseline="middle",t.fillText(this.text,0,0)},(v.prototype=Object.create(p.prototype)).setImage=function(t){var i=this;this.image.onload=function(){i.box.min.set(0,0),i.box.max.set(this.naturalWidth,this.naturalHeight)},this.image.src=t},v.prototype.isInside=function(t){return this.box.containsPoint(t)},v.prototype.draw=function(t,i,e){0<this.image.src.length&&t.drawImage(this.image,0,0,this.image.naturalWidth,this.image.naturalHeight,this.box.min.x,this.box.min.y,this.box.max.x-this.box.min.x,this.box.max.y-this.box.min.y)},(b.prototype=Object.create(p.prototype)).onAdd=function(){this.parentDOM.appendChild(this.element)},b.prototype.onRemove=function(){this.parentDOM.removeChild(this.element)},b.prototype.transform=function(t,i,e){var o=i.matrix.clone();o.multiply(this.globalMatrix),this.element.style.transform=o.cssTransform(),this.element.style.width=this.size.x+"px",this.element.style.height=this.size.y+"px",this.element.style.display=this.visible?"block":"none"},(g.prototype=Object.create(p.prototype)).setImage=function(t){var i=this;this.image.onload=function(){i.box.min.set(0,0),i.box.max.set(this.naturalWidth,this.naturalHeight)},this.image.src=t},g.prototype.isInside=function(t){return this.box.containsPoint(t)},g.prototype.draw=function(t,i,e){var o=this.box.max.x-this.box.min.x,n=this.box.max.y-this.box.min.y;if(0<this.image.src.length){var s=t.createPattern(this.image,this.repetition);t.fillStyle=s,t.fillRect(this.box.min.x,this.box.min.y,o,n)}},(w.prototype=Object.create(p.prototype)).isInside=function(t){return this.box.containsPoint(t)},w.prototype.draw=function(t,i,e){if(0!==this.data.length){var o=this.box.max.x-this.box.min.x,n=this.box.max.y-this.box.min.y;t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.beginPath();var s=o/(this.data.length-1),r=this.max-this.min;t.moveTo(this.box.min.x,this.box.max.y-(this.data[0]-this.min)/r*n);for(var h=1,a=s;h<this.data.length;a+=s,h++)t.lineTo(this.box.min.x+a,this.box.max.y-(this.data[h]-this.min)/r*n);t.stroke(),null!==this.fillStyle&&(t.fillStyle=this.fillStyle,t.lineTo(this.box.max.x,this.box.max.y),t.lineTo(this.box.min.x,this.box.max.y),t.fill())}},P.prototype=Object.create(p.prototype),P.curveHelper=function(o){var n=new c;n.radius=3,n.layer=o.layer+1,n.draggable=!0,n.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.fromCp.copy(n.position)},o.parent.add(n);var t=new x;t.from=o.from,t.to=o.fromCp,o.parent.add(t);var s=new c;s.radius=3,s.layer=o.layer+1,s.draggable=!0,s.onPointerDrag=function(t,i,e){p.prototype.onPointerDrag.call(this,t,i,e),o.toCp.copy(s.position)},o.parent.add(s);var i=new x;i.from=o.to,i.to=o.toCp,o.parent.add(i)},P.prototype.draw=function(t,i,e){t.lineWidth=this.lineWidth,t.strokeStyle=this.strokeStyle,t.setLineDash(this.dashPattern),t.beginPath(),t.moveTo(this.from.x,this.from.y),t.bezierCurveTo(this.fromCp.x,this.fromCp.y,this.toCp.x,this.toCp.y,this.to.x,this.to.y),t.stroke()},t.BezierCurve=P,t.Box=d,t.Box2=h,t.BoxMask=m,t.Circle=c,t.DOM=b,t.EventManager=n,t.Graph=w,t.Helpers=u,t.Image=v,t.Key=r,t.Line=x,t.Mask=a,t.Matrix=l,t.Object2D=p,t.Pattern=g,t.Pointer=y,t.Renderer=e,t.Text=f,t.UUID=i,t.Vector2=s,t.Viewport=o,Object.defineProperty(t,"__esModule",{value:!0})});
{
"name": "trenette.js",
"version": "0.1.6",
"version": "0.1.7",
"description": "trenette.js is a web library for building interactive diagrams and graphs.",

@@ -5,0 +5,0 @@ "main": "build/trenette.min.js",

@@ -0,0 +0,0 @@ # trenette.js

@@ -0,0 +0,0 @@ import strip from "rollup-plugin-strip";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -261,2 +261,16 @@ "use strict";

/**
* Callback method while the object is being dragged across the screen.
*
* By default is adds the delta value to the object position (making it follow the mouse movement).
*
* Delta is the movement of the pointer already translated into local object coordinates.
*
* Receives (pointer, viewport, delta) as arguments.
*/
Object2D.prototype.onPointerDrag = function(pointer, viewport, delta)
{
this.position.add(delta);
};
/**
* Method called when the object its added to a parent.

@@ -304,16 +318,2 @@ *

/**
* Callback method while the object is being dragged across the screen.
*
* By default is adds the delta value to the object position (making it follow the mouse movement).
*
* Delta is the movement of the pointer already translated into local object coordinates.
*
* Receives (pointer, viewport, delta) as arguments.
*/
Object2D.prototype.onPointerDrag = function(pointer, viewport, delta)
{
this.position.add(delta);
};
/**
* Callback method called while the pointer button is pressed.

@@ -320,0 +320,0 @@ *

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -14,2 +14,4 @@ "use strict";

*
* A mask objects is draw using the context.clip() method.
*
* @class

@@ -16,0 +18,0 @@ */

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -0,0 +0,0 @@ "use strict";

@@ -76,3 +76,3 @@ "use strict";

{
var speed = pointer.wheel / this.scale;
var speed = pointer.wheel;
var halfWidth = pointer.canvas.width / 2;

@@ -88,3 +88,3 @@ var halfWeight = pointer.canvas.height / 2;

{
this.rotation += pointer.delta.angle() * 1e-2;
this.rotation += pointer.delta.angle() * 1e-3;
}

@@ -113,2 +113,19 @@ else if(pointer.buttonPressed(Pointer.RIGHT))

/**
* Center the viewport relative to a object.
*
* @param {Object2D} object Object to be centered on the viewport.
* @param {DOM} canvas Canvas element where the image is drawn.
*/
Viewport.prototype.centerObject = function(object, canvas)
{
var position = object.globalMatrix.transformPoint(new Vector2());
position.multiplyScalar(-this.scale);
position.x += canvas.width / 2;
position.y += canvas.height / 2;
this.position.copy(position);
};
export {Viewport};

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc