diff --git a/dist/myst.ui.min.js b/dist/myst.ui.min.js index 6295a6c..e868c7d 100644 --- a/dist/myst.ui.min.js +++ b/dist/myst.ui.min.js @@ -1,4 +1,4 @@ -/* myst.ui.js 0.2.5 +/* myst.ui.js 0.2.6 * (c) 2023 Danijel Durakovic * MIT license */ -myst.ui=function(){"use strict";let i=null,t=null,o=function(){let e=0;return function(){return++e}}();function c(e,t){return null!=e?e:t}function u(e,t){e instanceof Function&&e.call(t)}let r={Base:function(e,i){(i=i||this)._x=c(e.x,0),i._y=c(e.y,0),i._width=c(e.width,0),i._height=c(e.height,0),i._alpha=c(e.alpha,1),i._angle=c(e.angle,0),i._background=null,i._zIndex=c(e.zIndex,0),i._enabled=Boolean(c(e.enabled,!0)),i._context=c(e.context,t),i._rootContext=i.context,i._owner=null,i._requestRepaint=!0,i._alwaysRepaint=!1,i._surface=new myst.Surface({width:i._width,height:i._height}),i._texSurface=i._surface.canvas,i._events={},i._events.onRepaint=C_EMPTYF,i._events.onAdded=function(){u(e.onAdded,i)},i._events.onRemoved=function(){u(e.onRemoved,i)},i._events.onResized=function(){u(e.onResized,i)},i._events.onEnabled=function(){u(e.onEnabled,i)},i._events.onDisabled=function(){u(e.onDisabled,i)},i.paint=i._surface.render,i.enable=function(){return!1===i._enabled&&(i._enabled=!0,i._events.onEnabled()),i},i.disable=function(){return!0===i._enabled&&(i._enabled=!1,i._events.onDisabled()),i},i.isEnabled=function(){let e=i;do{if(!e._enabled)return!1}while(e=e._owner);return!0},i.isDisabled=function(){return!i.isEnabled()},i.setX=function(e){return i._x=e,i},i.setY=function(e){return i._y=e,i},i.getX=function(){return i._x},i.getY=function(){return i._y},i.getPosition=function(){return[i._x,i._y]},i.getRealX=function(){let e=0,t=i;for(;e+=t._x,t=t._owner;);return e},i.getRealY=function(){let e=0,t=i;for(;e+=t._y,t=t._owner;);return e},i.getRealPosition=function(){let e=0,t=0,n=i;for(;e+=n._x,t+=n._y,n=n._owner;);return[e,t]},i.moveTo=function(e,t){return i._x=e,i._y=t,i},i.moveBy=function(e,t){return i._x+=e,i._y+=t,i},i.setWidth=function(e){return i._width=e,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i._events.onResized(),i},i.setHeight=function(e){return i._height=e,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i._events.onResized(),i},i.getWidth=function(){return i._width},i.getHeight=function(){return i._height},i.getSize=function(){return[i._width,i._height]},i.setSize=function(e,t){return i._width=e,i._height=t,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i._events.onResized(),i},i.growByWidth=function(e){return i._x-=e,i._width+=2*e,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i._events.onResized(),i},i.shrinkByWidth=function(e){i.growByWidth(-e)},i.growByHeight=function(e){return i._y-=e,i._height+=2*e,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i._events.onResized(),i},i.shrinkByHeight=function(e){i.growByHeight(-e)},i.growBy=function(e){return i._x-=e,i._width+=2*e,i._y-=e,i._height+=2*e,i._surface.resize(i._width,i._height),i._requestRepaint=!0,i},i.shrinkBy=function(e){return i.growBy(-e)},i.resetX=function(){return i.setX(c(e.x,0)),i},i.resetY=function(){return i.setY(c(e.y,0)),i},i.resetPosition=function(){return i.resetX().resetY()},i.resetWidth=function(){return i.setWidth(c(e.width,0)),i},i.resetHeight=function(){return i.setHeight(c(e.height,0)),i},i.resetSize=function(){return i.resetWidth().resetHeight()},i.show=function(){return i._alpha=1,i},i.hide=function(){return i._alpha=0,i},i.setAlpha=function(e){return i._alpha=myst.clamp(e,0,1),i},i.getAlpha=function(){return i._alpha},i.isVisible=function(){let e=i;do{if(e._alpha<=0)return!1}while(e=e._owner);return!0},i.centerX=function(){var e=i._owner?i._owner._width:i._context.surface.width;return i.setX(Math.floor((e-i._width)/2)),i},i.centerY=function(){var e=i._owner?i._owner._height:i._context.surface.height;return i.setY(Math.floor((e-i._height)/2)),i},i.center=function(){return i.centerX().centerY()},i.setAngle=function(e){return i._angle=e,i},i.getAngle=function(){return i._angle},i.setBackground=function(e){return e&&(i._background=e,i._surface.setFillClearMethod(e),i._requestRepaint=!0),i},i.removeBackground=function(){return i._background=null,i._surface.setDefaultClearMethod(),i._requestRepaint=!0,i},i.getBackground=function(){return i._background},i.setZIndex=function(e){return i._zIndex=e,null!==i._owner&&i._owner._reorderRenderList instanceof Function&&i._owner._reorderRenderList(),i},i.getZIndex=function(){return i._zIndex},i.forceRepaint=function(){i._requestRepaint=!0},i.draw=function(){(i._alwaysRepaint||i._requestRepaint)&&(i._surface.clear(),i._events.onRepaint(),i._requestRepaint=!1);var e,t,n=i.getAlpha();n<=0||(0!==i._angle&&(e=Math.floor(i._x+i._width/2),t=Math.floor(i._y+i._height/2),i._context.paint.rotate(i._angle,[e,t])),n<1&&i._context.paint.setAlpha(n),i._context.paint.graphics(i._texSurface,i._x,i._y),n<1&&i._context.paint.setAlpha(),0!==i._angle&&i._context.paint.restore())},e.background&&i.setBackground(e.background)},Debuggable:function(e,o){o=o||this;let r="";function t(){r="";for(let e=0;e