UNPKG

jianghh-canvas

Version:

canvas画板,支持笔写、手写、鼠标流畅绘图,自动保存,撤销重做

2 lines (1 loc) 1.14 kB
"use strict";var h=Object.defineProperty;var o=(t,e,i)=>e in t?h(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var s=(t,e,i)=>(o(t,typeof e!="symbol"?e+"":e,i),i);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class r{constructor(e){s(this,"revokeList",[]);s(this,"redoList",[]);s(this,"preItem","");s(this,"maxSize",5);this.revokeList=[],e&&(this.maxSize=e)}get revokeSize(){return this.revokeList.length}get redoSize(){return this.redoList.length}push(e){this.revokeSize===this.maxSize?this.revokeList.shift():this.revokeSize>this.maxSize&&(this.revokeList=this.revokeList.reverse().splice(0,this.maxSize-1).reverse()),this.preItem!==""&&this.revokeList.push(this.preItem),this.preItem=e,this.redoList=[]}pop(){this.redoList.push(this.preItem);const e=this.revokeSize?this.revokeList.pop():"";return this.preItem=e,e}popRedo(){if(this.redoSize){const e=this.redoList.pop();return this.revokeList.push(this.preItem),this.preItem=e,e}else return""}clear(){this.revokeList=[],this.redoList=[],this.preItem=""}}function p(t,e=5){const i=new r(e);t.cacheStack=i}exports.CacheStack=r;exports.useStack=p;