no title [bookmarklet]

    
      
  • @private
    javascript:(()=>{varE=classn{static#t=[];static B(t,e){globalThis[t]=e,n.#t.push(t)}static C(t){return globalThis[t]}static D(){for(let t of[...n.#t])n.B(t,null)}static set A(t){n.B("canvas98",t)}static get A(){return n.C("canvas98")}};var R=class n{A;B;C;D;get J(){return this.C-this.A}get G(){return this.D-this.B}get R(){return this.A==null}get P(){return Math.max(0,this.A)}get Q(){return Math.max(0,this.B)}get S(){return Math.max(0,this.C)-this.P}get T(){return Math.max(0,this.D)-this.Q}constructor(t=null,e=null,r=null,i=null){this.A=t,this.B=e,this.C=r,this.D=i}E(t,e,r){return this.F(t-r,e-r).F(t+r,e+r),this}F(t,e){return this.A==null&&(this.C=this.A=t,this.D=this.B=e),this.A=Math.min(this.A,Math.floor(t)),this.B=Math.min(this.B,Math.floor(e)),this.C=Math.max(this.C,Math.ceil(t)),this.D=Math.max(this.D,Math.ceil(e)),this}N(t){return this.F(t.A,t.B).F(t.C,t.D)}K(){this.C=this.A=null,this.D=this.B=null}O(){return new n(this.A,this.B,this.C,this.D)}H(t){return Math.max(0,Math.min(this.A,t))}I(t){return Math.max(0,Math.min(this.B,t))}L(t){return Math.max(0,Math.min(this.C,t))-this.H(t)}M(t){return Math.max(0,Math.min(this.D,t))-this.I(t)}};var u=class n{r;B;C;D;get N(){let t=this.r/255,e=this.B/255,r=this.C/255,i=Math.max(t,e,r),s=Math.min(t,e,r),o=i-s;return o==0?0:i==t?Math.PI/3*(((e-r)/o+6)%6):i==e?Math.PI/3*((r-t)/o+2):Math.PI/3*((t-e)/o+4)}get value(){return Math.max(this.r,this.B,this.C)/255}get O(){let t=Math.max(this.r,this.B,this.C);if(t==0)return 0;let e=Math.min(this.r,this.B,this.C);return(t-e)/t}constructor(t=0,e=0,r=0,i=255){this.r=t,this.B=e,this.C=r,this.D=i}A(t=1){return n.A(this.r,this.B,this.C,this.D/255*t)}static get H(){return new n(0,0,0,0)}static get G(){return new n(255,255,255)}static get J(){return new n(0,0,0)}static get P(){return new n(255,0,0)}static get Q(){return new n(255,255,0)}static get R(){return new n(0,255,0)}static get S(){return new n(0,255,255)}static get T(){return new n(0,0,255)}static get U(){return new n(255,0,255)}static get F(){return new n(128,0,0)}static get E(){return new n(240,224,214)}static get K(){return new n(238,96,96)}static get V(){return new n(240,208,195)}static get L(){return new n(255,255,238)}static get W(){return new n(224,160,128)}static X(t,e,r){return new n(e.r*r+t.r*(1-r),e.B*r+t.B*(1-r),e.C*r+t.C*(1-r))}static I(t,e=1,r=1){let i=[0,0,0,0];return it(i,t,e,r),new n(i[0],i[1],i[2])}static A(t,e,r,i=1){return"rgba("+Math.round(t)+","+Math.round(e)+","+Math.round(r)+","+i+")"}static M(t){let e=t.substring(1,3),r=t.substring(3,5),i=t.substring(5,7);return new n(parseInt(e,16),parseInt(r,16),parseInt(i,16))}};function it(n,t,e=1,r=1,i=0){let s=r*e,o=s*(1-Math.abs(t/(Math.PI/3)%2-1)),l=r-s,p=0,A=0,y=0;t<Math.PI/3?(p=s,A=o):t<Math.PI*2/3?(p=o,A=s):t<Math.PI?(A=s,y=o):t<Math.PI*4/3?(A=o,y=s):t<Math.PI*5/3?(p=o,y=s):(p=s,y=o),n[i]=(p+l)*255,n[i+1]=(A+l)*255,n[i+2]=(y+l)*255,n[i+3]=255}var M=class{static get A(){return"source-over"}};var a=class n{static B(t=null,e=null){let r=document.createElement("canvas");return t!=null&&e!=null&&(r.width=t,r.height=e),r}static A(t){return t.getContext("2d",{willReadFrequently:!0})}static F(t,e,r=n.J(t)){let i=n.A(t),s=r.H(t.width),o=r.I(t.height),l=r.L(t.width),p=r.M(t.height);i.clearRect(s,o,l,p),i.save(),i.globalAlpha=1,n.E(i),i.fillStyle=e.A(),i.beginPath(),i.fillRect(s,o,l,p),i.restore()}static G(t,e){let r=e.H(t.width),i=e.I(t.height),s=e.L(t.width),o=e.M(t.height);n.A(t).clearRect(r,i,s,o)}static D(t){let e=n.B(t.width,t.height);return n.A(e).drawImage(t,0,0),e}static L(t,e){let r=e.H(t.width),i=e.I(t.height),s=e.L(t.width),o=e.M(t.height);if(s==0||o==0)return null;let l=n.B(s,o);return n.A(l).drawImage(t,r,i,s,o,0,0,s,o),l}static H(t,e){e.width=t.width,e.height=t.height,n.A(e).drawImage(t,0,0)}static J(t){return t==null?null:new R(0,0,t.width,t.height)}static M(t,e,r=null){r==null&&(r=n.J(t));let i=n.A(e);i.clearRect(r.P,r.Q,r.S,r.T),n.E(i),n.C(t,e,r)}static C(t,e,r){let i=r.H(e.width),s=r.I(e.height),o=r.L(e.width),l=r.M(e.height);o==0||l==0||n.A(e).drawImage(t,i,s,o,l,i,s,o,l)}static N(t,e,r){let s=n.A(t).getImageData(e,r,1,1).data;return new u(s[0],s[1],s[2],s[3])}static P(t,e,r){return 0<=e&&e<t.width&&0<=r&&r<t.height}static K(t,e,r){if(e==null)return;let i=r.H(t.width),s=r.I(t.height),o=r.L(t.width),l=r.M(t.height),p=n.A(t);p.clearRect(i,s,o,l),n.E(p),p.drawImage(e,i,s)}static O(t,e,r,i,s,o,l){i=Math.max(0,i),l=Math.max(0,l);let p=Math.asin((l-i)/2/Math.sqrt((e-s)**2+(r-o)**2)),A=Math.PI/2+Math.atan2(r-o,e-s)-p,y=A-Math.PI+p*2;Number.isNaN(A)&&(A=0,y=Math.PI*2),t.beginPath(),t.arc(e,r,i/2,y,A),t.arc(s,o,l/2,A,y),t.fill()}static E(t){n.I(t,M.A)}static I(t,e){t.globalCompositeOperation=e}};var st=class{A=[];B=0;G=30;get E(){return this.A.length-this.B}F(t){let e=this.A;e=e.slice(0,this.E),e=e.slice(Math.max(0,e.length-this.G+1)),e.push(t),this.A=e,this.B=0}C(){let t=this.A[this.E-1];t!=null&&(t.A(),this.B++)}D(){let t=this.A[this.E];t!=null&&(t.B(),this.B--)}};var x=class n{static#t;static A(t){return t.deltaY}static B(t){return["user-select"].some(r=>r==t)?["","-moz-","-webkit-","-ms-"]:[""]}static get C(){if(n.#t==null){let t=navigator.userAgent.toLowerCase(),e=["apple","android"];n.#t=e.some(r=>t.indexOf(r)!=-1)}return n.#t}static get D(){return n.C?.7:.3}static get E(){return["apple"].some(t=>navigator.userAgent.toLowerCase().indexOf(t)!=-1)}static#e=void 0;static get F(){return n.#e===void 0&&(n.#e=!!navigator.userAgent.toLowerCase().match(/ipad|macintosh/)),n.#e}};var d=class n{x;y;constructor(t=0,e=0){this.x=t,this.y=e}G(t){this.x=t.x,this.y=t.y}H(t,e){return this.x=t,this.y=e,this}N(){return Math.sqrt(this.x*this.x+this.y*this.y)}B(){return new n(this.x,this.y)}D(t){let e=this.x*Math.cos(t)-this.y*Math.sin(t),r=this.x*Math.sin(t)+this.y*Math.cos(t);return this.x=e,this.y=r,this}I(t){return this.x*=t,this.y*=t,this}C(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}J(t){return this.C(t,1)}E(t){return this.C(t,-1)}L(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}static F(t,e){return Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2)}};var h=class n{#t;get C(){return this.#t}constructor(t){if(typeof t=="string"){let e=n.K().C;e.innerHTML=t,this.#t=e.firstElementChild;return}this.#t=t}static H(t){return f(document.createElement(t))}X(){let t=this.C.getBoundingClientRect();return new d(t.left+t.width/2,t.top+t.height/2)}I(t,e,r){return this.#t.addEventListener(t,e,r),this}click(t,e){return this.I("click",t,e)}R(t,e){return this.I("pointerdown",t,e)}S(t,e){return this.I("pointermove",t,e)}N(t,e){return this.I("pointerup",t,e)}Q(t){return f(this.#t.querySelector(t))}D(t){return n.D(this.C,t),this}B(t,e){if(typeof t=="string"){let r=t,i=e;for(let s of x.B(r))this.C.style.setProperty(s+r,i)}else{let r=t;for(let i in r)this.B(i,r[i])}return this}append(t){return t instanceof Element?this.C.appendChild(t):typeof t=="string"?this.append(f(t)):this.append(t.C),this}A(t){return t.append(this),this}remove(){return this.C.remove(),this}J(t){return this.C.classList.add(...t.split(" ")),this}V(t){return this.C.classList.remove(...t.split(" ")),this}c(t){return this.a(t)?this.V(t):this.J(t),this}a(t){return this.C.classList.contains(t)}F(t){return this.C.textContent=t,this}W(t){return this.C.innerHTML=t,this}L(t){return this.B("visibility",t?"":"hidden")}b(){let t=this.C.parentElement;if(t==null)return[];let e=f(t);return[e].concat(e.b())}U(t){return this.I(t,e=>{e.stopPropagation()}),this}Z(){return this.U("click")}Y(){return this.U("pointermove")}G(t,e){return this.B({width:this.#e(t),height:this.#e(e)})}O(t,e){return this.B({left:this.#e(t),top:this.#e(e)})}T(t){return this.B({position:t})}P(){return this.T("absolute")}#e(t){return typeof t=="number"?t+"px":t}static M(t){return f(document.createElementNS("http://www.w3.org/2000/svg",t))}static D(t,e){for(let r in e)t.setAttribute(r,e[r]+"")}static E(){return n.K().B({display:"flex"})}static K(){return n.H("div")}};function f(n){return new h(n)}var g=class{#t=[];A(t){this.#t.push(t)}C(t){this.#t=this.#t.filter(e=>e!=t)}B(t){for(let e of this.#t)e(t)}};var I=class n{#t;get F(){return this.#t()}A;B;#e;constructor(t,e=()=>M.A,r=1,i=s=>s){this.B=t,this.#t=e,this.A=r,this.#e=i}C(t){return this.#e(t)}static D=new n("default");static E=new n("maker",()=>"darken",.5)};var S=class{static A(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}};var b=class n{static#t;static get A(){return n.#t==null&&(n.#t=new n),n.#t}#e;get B(){return document.getElementById("oejs")}get C(){return this.B!=null}get D(){return document.getElementById("oebtnj")??document.getElementById("oebtnj_f")}async E(){return new Promise(t=>{let e=screen.width<400?.75:1;if(this.#e=f(`<meta name="viewport" content="width=device-width, maximum-scale=${e}, user-scalable=0">`),document.head.appendChild(this.#e.C),this.C){t();return}this.#r(t),this.D?.click()})}#r(t){let e=new MutationObserver(()=>{this.C&&(t(),e.disconnect())});e.observe(document.getElementById("ftbl"),{attributes:!0,childList:!0,subtree:!0})}F(){let t=document.getElementById("oe3");t!=null&&(t.style.visibility="visible")}G(){f(this.B).B({visibility:"","image-rendering":"auto"}),this.#e.D({content:""}).remove()}H(){let t=document.getElementById("oe3");t!=null&&(t.style.visibility="hidden",this.B.style.visibility="hidden")}};var J=class{#t=!1;#e=null;#r;C=()=>{};get A(){return this.#r}#s(t=null){this.#t&&(window.requestAnimationFrame(e=>{this.#s(e)}),this.#i(t),this.C())}#i(t=null){this.#e==null&&(this.#e=t),this.#r=this.#n(t)}#n(t=null){return t==null?0:this.#e==null?t:t-this.#e}D(){this.#t=!0,this.#e=null,this.#s()}B(){this.#t=!1}};var H=class{#t;#e=t=>{};constructor(t,e){this.#e=t,this.#t=e}A(){return new Promise(t=>{let e=0;var r=new J;r.C=()=>{if(this.#e(e),e>=1){r.B(),t();return}e=r.A/this.#t,e=Math.min(1,e)},r.D()})}B(){return new Promise(t=>{let e=1;var r=new J;r.C=()=>{if(this.#e(e),e<=0){r.B(),t();return}e=1-r.A/this.#t,e=Math.max(0,e)},r.D()})}static async C(t){for(let e of t)await e.A()}static async D(t){for(let e=0;e<t.length;e++)await t[t.length-1-e].B()}};var U=class{#t(t,e){t.A.E.J(e,t.J,b.A.B)}#e(t,e){t.A.D.C(e,t.A.B)}#r(t,e){t.A.A.H.C(e)}#s(t,e){t.A.A.A.J(e)}#i(t){var e=new H(o=>{this.#t(t,o)},200),r=new H(o=>{this.#e(t,o)},300),i=new H(o=>{this.#r(t,o)},150),s=new H(o=>{this.#s(t,o)},150);return[e,r,i,s]}async A(t){await H.C(this.#i(t))}async B(t){await H.D(this.#i(t))}};var j=class n{constructor(t){this.A=t}#t=[];get F(){return this.#t}static G(t){let e;try{t&&(e=JSON.parse(t))}catch{}return e??={},e.pens??=[],e.selectedPens??=[],e.keys??=[],new n(e)}B(){return JSON.stringify(this.A)}C(t){let e=null,r=this.A;for(let i of this.#t)i.name==t&&(e=i.value);for(let i of r.keys??[])i.name==t&&(e=i.value);return e}D(t,e){this.#t.push({name:t,value:e})}static#e=n.G(localStorage.getItem("canvas98Settings"));static E(){return n.#e}};var nt=class n{B;C;A;constructor(t,e,r){this.B=t,this.C=e,this.A=r}get D(){return this.B>this.A.x||this.C>this.A.y}get E(){return Math.min(this.A.x/this.B,this.A.y/this.C)}static async F(t,e,r){var i=new n(t.width,t.height,e);i.D&&confirm("キャンバスが大きすぎます。400x400以下に縮小しますか?")&&await r.B(t,i.E)}};var ot=class{async B(t,e){var r=this.A(t,e);a.H(r,t)}A(t,e){var r=a.B(Math.floor(t.width*e),Math.floor(t.height*e)),i=a.A(r);return i.imageSmoothingEnabled=!0,i.imageSmoothingQuality="high",i.drawImage(t,0,0,t.width,t.height,0,0,r.width,r.height),r}};var $=class n{#t=!1;#e=1;B=new d;#r=0;#s=new g;get D(){return this.#s}get E(){return this.#t}get C(){return this.#e}set C(t){this.#e=t,this.#i()}get G(){return(this.E?-1:1)*this.C}get A(){return this.#r}set A(t){this.#r!=t&&(this.#r=t,this.#i())}get K(){return n.J(this.B,this.A,this.C,this.E)}H(){this.#t=!this.#t,this.#i()}F(t){this.C=Math.max(this.#e*t,1)}I(t){this.B.x+=t.x,this.B.y+=t.y,this.#i()}M(t,e){this.B.H(t,e),this.#i()}#i(){this.D.B()}static J(t,e,r,i=!1){var s="translate("+t.x+"px, "+t.y+"px)",o="scale("+(i?-r:r)+", "+r+")",l=" rotate("+e+"rad)";return s+o+l}L(t,e,r,i){var s=r-t;this.B.x+=s/2*Math.cos(this.A)*this.G-s/2,this.B.y+=s/2*Math.sin(this.A)*this.C;var o=i-e;this.B.y+=o/2*Math.cos(-this.A)*this.C-o/2,this.B.x+=o/2*Math.sin(-this.A)*this.G,this.#i()}};var at=class{A;#t;B;#e;#r;C=!1;constructor(){var t=a.B();this.A=t,this.#t=a.B(),this.B=a.B(),this.#e=a.B(),this.#r=[t,this.#t,this.B,this.#e]}D(t,e){for(let r of this.#r)r.width=t,r.height=e}E(t){for(let e of this.#r)a.G(e,t)}F(t,e){var r=this.A.getContext("2d");if(this.C)a.E(r),a.C(this.B,this.A,e);else{a.C(this.A,this.#t,e),a.F(this.#e,t,e);var i=a.A(this.#e);a.I(i,"destination-out"),a.C(this.B,this.#e,e),a.I(i,"lighter"),a.C(this.#t,this.#e,e),a.F(this.A,t,e),a.I(r,"destination-out"),a.C(this.#e,this.A,e),a.I(r,"lighter"),a.C(this.#t,this.A,e),a.G(this.#t,e)}a.G(this.B,e)}};var ht=class{#t=new at;#e=I.D;D=new R;C=new R;H=new g;B=!0;get I(){return this.#t.A}get J(){return a.A(this.#t.B)}get A(){return this.#e}set A(t){this.#e=t,this.H.B()}E(t,e){this.#t.D(t,e)}K(){var t=this.D;t.R||(this.#t.E(t),t.K())}L(t){this.#t.C=this.A==I.E||!this.B,this.#t.F(t,this.C)}#r(t,e,r,i,s,o){this.D.E(t,e,r/2+1).E(i,s,o/2+1),this.C.K(),this.C.E(t,e,r/2+1).E(i,s,o/2+1)}M(t,e,r,i,s){var o=Math.max(r,s);if(o==0){this.#r(e.x,e.y,r,i.x,i.y,s);return}var l=1;o<1&&(r/=o,s/=o,l*=o),this.#r(e.x,e.y,r,i.x,i.y,s);var p=this.J,A=this.G(e,r,i,s,.67);p.globalAlpha=this.A.A*A*l;var y=this.A.C(t);p.fillStyle=y.A(),a.O(p,e.x,e.y,r,i.x,i.y,s);var L=this.F(r),C=this.F(s),D=Math.max(L,C),K=1;D<1&&(L/=D,C/=D,K*=D),p.globalAlpha=this.A.A*this.G(e,L,i,C,.94)*K*l,a.O(p,e.x,e.y,L,i.x,i.y,C),this.L(y)}F(t){return t>2?t-1.4:t>1?.6:t*.6}G(t,e,r,i,s){let o=d.F(t,r),l=(e+i)/2;return 1+(s-1)/Math.pow(4/(4-s*Math.PI),l/o)}};var lt=class{#t=2;#e;#r;#s;#i=!1;#n=u.F;#o=new g;C=!1;A=new ht;B=1-x.D;get D(){return this.#i}set D(t){this.#i=t,this.G.B()}get G(){return this.#o}get F(){return this.#n}set F(t){this.#n=t}get E(){return this.#t}set E(t){this.#t=t}H(t,e,r){this.#e=new d(t,e),this.#r=new d(t,e),this.#s=r,this.C=!0}I(t,e,r){if(!this.C)return;var i=1-this.B;this.#e.x+=(t-this.#e.x)*i,this.#e.y+=(e-this.#e.y)*i;let s=(this.D?this.#s:1)*this.E,o=(this.D?r:1)*this.E;this.A.M(this.F,this.#r,s,this.#e,o),this.#r.x=this.#e.x,this.#r.y=this.#e.y,this.#s=r}J(){this.C=!1}};var v=class{A=a.B();G=a.B();background=u.H;opacity=1;layers;blendingMode;C;isClipped;N;I(t,e){let r=a.D(this.A),i=a.B();return i.width=t,i.height=e,a.F(i,this.background),a.M(r,i),this.H(i),{A:()=>{this.H(r)},B:()=>{this.H(i)}}}H(t){a.H(t,this.A),a.H(this.A,this.G)}X(t,e){a.K(this.A,t,e),a.K(this.G,t,e)}R(t){t(this)}S(t){t(this)}E(){this.N=!0,this.C&&this.C.E()}};var mt=class{#t;constructor(t){this.#t=t}B(t,e){}A(t,e){}C(t,e,r){}D(t,e,r){a.F(t,u.G,r);for(let i of e)a.A(t).globalAlpha=i.opacity,a.C(i.A,t,r)}E(t,e){let r=this.#t;var i=r.layers.slice(0),s=r.B;r.M(t(),e);var o=r.layers.slice(0);return{A:()=>{r.M(i,s)},B:()=>{r.M(o,e)}}}};var pt=class{layers=[];#t;#e;P;O;T=new g;U=new g;c=new g;V=new g;get B(){return this.#e}set B(t){this.#e!=t&&(this.#e=t,this.V.B())}set F(t){for(let e of this.layers)e.I(t.width,t.height);this.layers[0].H(t),this.#t=t}get F(){return this.#t}get width(){return this.layers[0].A.width}get height(){return this.layers[0].A.height}constructor(){this.P=new mt(this);let t=new v;t.background=u.E,this.layers.push(t),this.B=t}M(t,e){let r=!(t[0].A.width==this.width&&t[0].A.height==this.height);this.layers=t,this.B=e,this.#r(i=>{i.N=!0}),this.U.B(),r?this.W():this.D()}#r(t,e=this.layers){e.forEach(r=>{t(r),r.layers&&this.#r(t,r.layers)})}K(t){return this.c.B(t),t}d(t,e){return this.P.E(t,e)}L(t,e){return this.K(this.d(t,e))}D(t=a.J(this.F)){this.F!=null&&this.P.D(this.F,this.layers,t)}W(){let t=new d(this.F.width,this.F.height);this.F.width=this.width,this.F.height=this.height,this.D(),this.T.B(t)}I(t,e){let r=this.layers.map(i=>i.I(t,e));return this.W(),this.K({A:()=>{for(let i of r)i.A();this.W()},B:()=>{for(let i of r)i.B();this.W()}})}e(){let t=this.B,e=a.D(t.A),r=a.D(t.A);return a.F(r,t.background),t.H(r),t.E(),this.D(),this.K({A:()=>{t.H(e),t.E(),this.D()},B:()=>{t.H(r),t.E(),this.D()}})}a(t,e,r=M.A){let i=this.B;a.M(i.G,i.A,e),a.I(i.A.getContext("2d"),r),a.C(t,i.A,e),i.E(),this.D(e)}Q(t){let e=this.B;t=t.O();let r=a.L(e.G,t);a.M(e.A,e.G,t);let i=a.L(e.G,t);if(r!=null)return this.K({A:()=>{e.X(r,t),e.E(),this.D(t)},B:()=>{e.X(i,t),e.E(),this.D(t)}})}};var T=class{static A(t){return new Promise(e=>{let r=new Image;r.onload=()=>{e(r)},r.src=t})}};var ct=class{#t;F;E;constructor(t,e){this.#t=t,this.F=e}A(){localStorage.setItem("lastImageData",this.#t.toDataURL())}async D(){let t=localStorage.getItem("lastImageData");if(t==null)return;let e=await T.A(t);a.H(e,this.#t),this.F()}};var ut=class{static A(t){let e=t.A;t.G=new ct(e.B,()=>{let i=new v;i.background=u.E,i.H(e.B),t.layers.L(()=>[i],i)}),t.M(e.A.F,()=>{t.G.D()});let r=()=>{t.G.A()};window.addEventListener("pagehide",r),t.F.A(()=>{t.G.A(),window.removeEventListener("pagehide",r)})}};var z=class{#t=!1;#e;#r;get D(){return this.#r}constructor(t){this.#r=t}B(t){this.#t=!0,this.#e=t}C(t){this.#t&&(this.D.I(new d(t.x-this.#e.x,t.y-this.#e.y)),this.#e=t)}A(){this.#t=!1}};var ft=class{static A(t){var e=new Be(t.J);t.P(e," ",!0)}},Be=class{#t;constructor(t){this.#t=new z(t)}B(){}C(){}A(t){this.#t.B(new d(t.pageX,t.pageY))}D(t){this.#t.C(new d(t.pageX,t.pageY))}E(t){this.#t.A()}F(){}};var gt=class{#t;#e;#r;get A(){return this.#t}set C(t){this.#e.B("stroke",t)}set D(t){this.#r.B("stroke",t)}set B(t){this.A.L(t)}constructor(){this.#s(),this.#i()}#s(){var t=40,e=10;this.#t=h.E();var r=(t+e)*2,i=h.M("svg").D({width:r,height:r,viewBox:-r/2+", "+-r/2+", "+r+", "+r}).P().B({transform:"translate(-50%, -50%)"}).A(this.A);this.#r=h.M("circle").D({r:t,"stroke-width":e,fill:"transparent"}).A(i),this.#e=h.M("circle").D({r:t,"stroke-width":e-4,fill:"transparent"}).A(i)}#i(){this.A.T("fixed")}E(t,e){this.A.O(t,e)}};var At=class{#t;#e=h.K().D({id:"eyedropperListener"}).G("100%","100%").O(0,0).P().B({"touch-action":"none"});#r=new gt;constructor(t){this.#t=t,this.#r.B=!1,this.#r.D="lightgray"}B(){this.#r.A.A(f(this.#t.E.A)),this.#e.A(f(this.#t.E.A))}C(){this.#r.A.remove(),this.#e.remove(),this.#s(!1)}A(t){}D(t){var e=this.#t,r=this.#r;r.E(t.offsetX,t.offsetY),r.C=a.N(e.B,t.offsetX,t.offsetY).A(),this.#s(a.P(e.B,t.offsetX,t.offsetY))}#s(t){this.#r.B=t}E(t){var e=this.#t;a.P(e.B,t.offsetX,t.offsetY)&&(e.A.C.A.A.A=a.N(e.B,t.offsetX,t.offsetY))}F(){this.#s(!1)}};var dt=class{static A(t){var e=t.A,r=new At(e),i=e.A.A.B;i.C.A.click(()=>{t.B.A=r}),t.B.B.A(()=>{i.C.B=t.B.A==r}),t.D(r,"i","スポイト")}};var yt=class{static A(t){let e=t.A.A.J,r=t.J;e.A.click(()=>{r.H()}),t.I.A(i=>{i.key.toLocaleLowerCase()=="h"&&r.H()}),r.D.A(()=>{let i=r.E;e.B=i})}};var Ct=class{static A(t){let e=t.A,r=t.J;e.A.E.A.click(()=>{e.F.A=!e.F.A,e.A.E.B=e.F.A}),e.F.E=()=>{r.A=e.F.C},e.D.A.I("wheel",i=>{i.shiftKey&&(r.A-=x.A(i)*.001,i.stopImmediatePropagation())},!0),t.J.D.A(()=>{e.F.C=r.A,e.E.E=r.A,e.F.G=r.E})}};var B=class n{#t=h.H("style");get B(){return this.#t}get C(){return this.B.C.textContent}constructor(t,e){t!=null&&this.A(t,e)}A(t,e){return this.B.F(this.C+n.E(t,e)),this}static D(t){var e=new n;for(let r of t)e.B.F(e.C+r.C);return e}static E(t,e){var r=t+"{";for(let i in e)for(let s of x.B(i))r+=s+i+":"+e[i]+";";return r+="}",r}};var m=class n{static get N(){return"--canvas98SelectedColor"}static get O(){return n.A(n.N)}static get C(){return"canvas98MenuItemSelected"}static get J(){return"canvas98MenuItemParent"}static get K(){return"--canvas98DefaultColor"}static get E(){return n.A(n.K)}static get P(){return"--canvas98HighlightedBackground"}static get L(){return n.A(n.P)}static get G(){return"--canvas98MenuBackground"}static get H(){return n.A(n.G)}static get F(){return"--canvas98MenuColor"}static get M(){return"--canvas98PageBackground"}static get I(){return n.A(n.F)}static A(t){return"var("+t+")"}static get B(){return"--canvas98MenuDefaultBackground"}static get D(){return"var(--canvas98Shadow)"}};var Bt=class{#t=!1;#e;get B(){return this.#e}set A(t){this.#t=t,this.#e.L(t)}get A(){return this.#t}constructor(){this.#e=h.M("polygon").D({points:"20, 20 13, 20 20, 13",fill:m.I})}};var c=class n{static get D(){return"50px"}static get style(){return new B().A(".canvas98MenuItem",{margin:0,"list-style":"none","text-align":"center",cursor:"pointer","user-select":"none",background:m.A(m.G),color:m.A(m.F),position:"relative",display:"flex","align-items":"center","justify-content":"center"}).A(".canvas98MenuItem:hover",{[m.G]:m.L,[m.F]:m.E}).A(".canvas98MenuItemSelected",{[m.G]:m.L,[m.F]:m.O}).A(".canvas98MenuItemSelected:hover",{[m.G]:m.L,[m.F]:m.O}).A(".canvas98MenuItem.material-icons",{width:n.D,height:n.D,"font-size":"26px"}).A(".canvas98VerticalMenu .canvas98MenuItem",{width:n.D,height:"45px"})}static E(t,e){for(let r of e)r.B=!1;t.B=!0}#t;#e;#r=new g;get M(){return this.#r}#s=new g;#i=new g;get H(){return this.#s}get I(){return this.#i}get L(){return this.A.C}get A(){return this.#t}get N(){return this.#e}set B(t){t?this.A.J(m.C):this.A.V(m.C),this.N!=null&&(this.N.A=this.B),this.M.B()}get B(){return this.A.a(m.C)}constructor(t=h.H("li")){this.#t=t.J("canvas98MenuItem").click(()=>{this.B?this.I.B():this.H.B()})}Q(t){return t(this.A),this}static F(){return h.M("svg").D({width:"47",height:"47",viewBox:"-25, -25, 50, 50"}).B({"vertical-align":"middle"})}C(t,e){return this.A.J("material-icons").D({title:e}).F(t),this}G(){return this.#e=new Bt,this.#e.A=!1,n.F().P().B({bottom:"0",right:"0"}).append(this.#e.B).A(this.A),this}static K(){return h.H("ul").J(m.J)}};var vt=class{#t;#e;#r;#s;#i;A=()=>{};D=()=>{};get B(){return this.#t}constructor(){this.#t=h.K().P().B({transform:"translate(-50%, -50%)"}),this.#r=this.#o("M-7,-7 L7,7 L7,0 M7,7 L0,7 M0,-7 L-7,-7 L-7,0"),this.#s=this.#o("M-10,0 L10,0 M5,5 L10,0 L5,-5 M-5,5 L-10,0 L-5,-5"),this.#i=this.#o("M0,-10 L0,10 M5,5 L0,10 L-5,5 M5,-5 L0,-10 L-5,-5"),this.#e=[this.#r,this.#s,this.#i],this.#n()}#n(){this.C(),new B().A(".resizeCursor",{position:"absolute",transform:"translate(-50%, -50%)"}).A(".resizeCursor path",{"stroke-width":2,stroke:"black",fill:"transparent"}).B.A(this.B)}#o(t){return h.M("svg").J("resizeCursor").D({width:24,height:24,viewBox:"-12, -12, 24, 24"}).append(h.M("path").D({d:t})).A(this.B)}C(){this.#a(),this.D()}#a(){for(let t of this.#e)t.L(!1)}#h(t){this.#a(),this.B.O(t.x,t.y)}E(t){this.#h(t),this.#s.L(!0),this.A()}F(t){this.#h(t),this.#r.L(!0),this.A()}G(t){this.#h(t),this.#i.L(!0),this.A()}};var Et=class{#t;H;#e;#r;#s;A;C=!0;D=(t,e)=>{};E=(t,e)=>{};get B(){return this.#s}set B(t){this.#s=t,this.G(),this.F.L(t)}get F(){return this.#t}#i;#n;#o;constructor(t,e){this.H=t,this.A=e,this.#t=this.#a(),this.#h(),this.#p()}G(t=this.H.width,e=this.H.height){f(this.#o).G(t,e),f(this.#i).G(t,e)}#a(){return this.#o=h.K().O(0,0).P().B({background:"rgba(200, 200, 200, 0.5)","border-right":"solid","border-bottom":"solid","border-width":"10px","border-color":"rgba(128, 128, 128, 0.5)"}).C,this.#n=h.K(),this.#i=h.K().G("100%","100%").O(0,0).P().B({background:"transparent","border-right":"solid","border-bottom":"solid","border-width":"10px","border-color":"transparent","user-select":"none"}).C,h.K().append(this.#o).append(this.#n).append(this.#i).O(0,0).P()}#h(){var t=null;this.#e=!1,this.#r=!1;var e=this.#i;f(e).R(r=>{this.#e=r.offsetX>this.#o.clientWidth,this.#r=r.offsetY>this.#o.clientHeight,(this.#e||this.#r)&&(t={x:r.offsetX,y:r.offsetY}),e.setPointerCapture(r.pointerId)}).S(r=>{if(t!=null&&r.buttons!=0){var i=e.clientWidth,s=e.clientHeight;this.#e&&(i=this.#l(i+r.offsetX-t.x)),this.#r&&(s=this.#m(s+r.offsetY-t.y)),this.E(i,s),this.G(i,s),t.x=r.offsetX,t.y=r.offsetY}}).N(r=>{t=null,this.#e=!1,this.#r=!1,this.D(e.clientWidth,e.clientHeight)})}#l(t){var e=Math.round(t);return this.C&&(e=Math.min(e,this.A.x)),Math.max(100,e)}#m(t){var e=Math.round(t);return this.C&&(e=Math.min(e,this.A.y)),Math.max(100,e)}I(){if(this.C){var t=this.#i.clientHeight;this.E(this.A.x,t),this.D(this.A.x,t)}}J(){if(this.C){var t=this.#i.clientWidth;this.E(t,this.A.y),this.D(t,this.A.y)}}#p(){var t=new vt;t.A=()=>{this.F.B("cursor","none")},t.D=()=>{this.F.B("cursor","default")},this.#n.append(t.B),f(this.#i).S(e=>{var r={x:e.offsetX,y:e.offsetY},i=r.x>this.#o.clientWidth,s=r.y>this.#o.clientHeight;(this.#e||this.#r)&&(i=this.#e,s=this.#r),i&&s?t.F(r):i?t.E(r):s?t.G(r):t.C()}).I("pointerout",e=>{t.C()})}};var xt=class{#t;#e;#r;#s;#i=!0;#n;#o;#a;#h=new g;#l=new g;#m=new g;get F(){return this.#h}get G(){return this.#l}get H(){return this.#m}get B(){return this.#t}get C(){return this.#n.valueAsNumber}set C(t){this.#n.valueAsNumber=t}get D(){return this.#o.valueAsNumber}set D(t){this.#o.valueAsNumber=t}get A(){return this.#e}set A(t){this.#e=t,this.#r.F(this.A?"check_box":"check_box_outline_blank"),this.#s.B=this.A,this.#p(),this.F.B()}get E(){return this.#i}set E(t){this.#i=t,this.B.L(t)}constructor(t){this.#a=t,this.#t=h.E().B({[m.G]:m.A(m.B),[m.F]:m.E,background:m.H,"flex-direction":"column","justify-content":"space-between","border-top":"solid 6px "+m.E,"font-family":"Arial",cursor:"default","user-select":"none","font-size":"16px",width:"270px"}).click(o=>{o.stopPropagation()});var e=new c;e.A.B({height:"50px",display:"flex","align-items":"center","justify-content":"space-between"}).click(()=>{this.A=!this.A}).A(this.B).D({title:"キャンバスサイズの上限"}),this.#s=e,h.H("span").F("最大400x400まで").B({"margin-left":"20px"}).A(e.A),this.#r=h.E().B({"align-items":"center","margin-right":"20px"}).F("toggle_on").J("material-icons").A(e.A);var r=h.E().B({height:"50px","margin-left":"20px",color:m.I,"justify-content":"space-between"}).A(this.B);let i=h.E().B({"align-items":"center"}).D({title:"キャンバスサイズ"}).A(r);this.#n=this.#c(i),h.E().F("x").B({margin:"2px"}).A(i),this.#o=this.#c(i),this.#p();var s=h.E().B({"justify-content":"space-between"}).A(this.B);new c().C("keyboard_tab","横幅を最大化").A.B({width:"100%"}).click(()=>{this.G.B()}).A(s),new c().C("vertical_align_bottom","縦幅を最大化").A.B({width:"100%"}).click(()=>{this.H.B()}).A(s),this.A=!0}#p(){this.#n.min="0",this.#o.min="0",this.#n.max=this.#e?this.#a.x+"":"",this.#o.max=this.#e?this.#a.y+"":""}#c(t){return h.H("input").D({type:"number"}).B({width:"60px"}).I("keydown",e=>{e.stopPropagation()}).I("input",()=>{this.I.B()}).I("blur",()=>{console.log("blur"),this.J.B()}).A(t).C}I=new g;J=new g};var wt=class{#t;#e;#r;#s;get K(){return this.#e.A}constructor(t,e,r,i){this.#t=t,this.#e=new Et(t.B,i);let s=this.#e;s.B=!1,s.F.A(f(t.E.A)),s.D=(l,p)=>{e.I(l,p)},s.E=(l,p)=>{o.C=l,o.D=p},e.T.A(()=>{s.G(),o.C=e.F.width,o.D=e.F.height});let o=new xt(s.A);o.E=!1,o.B.P().B({top:"100%","margin-top":"10px",right:"0"}),o.F.A(()=>{s.C=o.A}),o.G.A(()=>{s.I()}),o.H.A(()=>{s.J()}),o.I.A(()=>{s.G(o.C,o.D)}),o.J.A(()=>{e.I(o.C,o.D)}),this.#r=o,r.A.append(o.B),this.#s=r}B(){this.#i()}C(){this.#i()}#i(){let t=this.#t,e=this.#e,r=this.#r;e.B=!e.B,r.E=e.B,r.C=t.B.width,r.D=t.B.height,this.#s.B=e.B}A(t){}D(t){}E(t){}F(){}L(){this.#r.E=!1,this.#e.B=!1}};var Lt=class{static A(t){let e=t.A,r=t.B,i=e.A.B.Q("#canvas98ExtensionContainer"),s=new c().C("zoom_out_map","キャンバスサイズを変更");s.A.A(i);let o=new wt(e,t.layers,s,t.max);s.A.click(()=>{r.A==o?r.D():r.C(o)}),t.F.A(()=>{o.L()}),t.T.A(()=>{o.K.G(t.max)})}};var bt=class{static A(t){let e=t.A.A,r=t.layers,i=t.L;r.c.A(s=>{i.F(s)}),e.F.click(()=>{i.C()}),e.I.click(()=>{i.D()}),t.I.A(s=>{let o=s.key.toLowerCase();s.ctrlKey&&o=="z"&&i.C(),s.ctrlKey&&o=="y"&&i.D()})}};var Mt=class{static A(t){let e=t.A,r=t.J;e.A.K.click(()=>{r.F(2/3)}),e.A.L.click(()=>{r.F(3/2)}),e.D.A.I("wheel",i=>{r.F(1-x.A(i)*.001),i.preventDefault()}),r.D.A(()=>{e.B.style.setProperty("image-rendering",r.C>=1.5?"pixelated":"auto")})}};var It=class{#t=1;#e=!1;#r=new g;#s=new g;get C(){return this.#r}get D(){return this.#s}get A(){return this.#t}set A(t){t=parseFloat(t.toFixed(1)),this.#t=Math.max(.1,t),this.C.B()}get B(){return this.#e}set B(t){this.#e=t,this.D.B()}constructor(t){this.A=t}E(t){this.A+=t}};var O=class n{B=n.D().map(t=>new It(t));#t;C=()=>{};get A(){return this.#t}set A(t){this.A!=null&&(this.A.B=!1),this.#t=t,this.A.B=!0,this.C()}constructor(){for(let t of this.B)t.C.A(()=>{this.C()});this.#t=this.B[n.E()]}static D(){return[1,2,3,4,10,20]}static E(){return 1}};var Z=class{constructor(t=O.D(),e=O.E()){this.A=t;this.B=e}},q=class{B;#t;A=new Map;D(t){this.A.set(t.name,new Z(t.thicknesses,t.selectedIndex))}C(t){this.B!=null&&this.A.set(this.#t,this.B),this.A.has(t)?this.#e(t):this.B=new Z,this.#t=t}E(){for(let t of this.A.keys())this.A.set(t,new Z);this.#e(this.#t)}#e(t){let e=this.A.get(t);this.B=e}};var Dt=class n{static#t;static A(t){return n.#t==null&&(n.#t=new n(t)),n.#t}#e;#r=new Map;constructor(t){this.#e=t,t.A.C.I("keydown",e=>{let r=this.#r.get(e.key);r?.D(t.B.A)}).I("keyup",e=>{let r=this.#r.get(e.key);r?.E()})}B(t,e,r){this.#r.has(e)||this.#r.set(e,new Ee),this.#r.get(e).F(this.#e.B,t,r)}},ve=class{B;C;#t;get A(){return this.#t}set A(t){this.#t=t}},Ee=class{A=[];#t;#e=0;get B(){return this.A[this.#e]}C(t){let e=this.A;this.#e=0;for(let r=0;r<e.length;r++)if(e[r].A==t){let i=r<e.length-1?r+1:0;this.#e=i}}D(t){this.#t||(this.#t=!0,this.C(t),this.B.B())}E(){this.#t=!1,this.B.C()}F(t,e,r){let i=null,s,o=new ve;o.A=e,o.B=()=>{t.A!=e&&(i=t.A,t.A=e,s=Date.now())},o.C=()=>{(Date.now()-s>500||r)&&i!=null&&(t.A=i),i=null},this.A.push(o)}};function xe(n){if(!x.F||n.target instanceof HTMLCanvasElement)return 0;let t=n.target;return(t.offsetWidth-t.clientWidth)/2}var Ht=class{#t;#e;#r;#s;#i;#n;#o=!1;#a;set G(t){this.#o=t,this.#a&&(this.#e.D=this.G,this.#t.N(this.H))}get G(){return this.#o}get H(){return this.#s.B+(this.G?"-pressureWidth":"")}set H(t){this.G=t.endsWith("-pressureWidth")}get I(){return this.#s.B}constructor(t,e,r){this.#t=t,this.#e=t.C,this.#r=t.layers,this.#n=t.A.A.A.A,this.#s=e,this.#i=r}B(){this.#e.A.A=this.#s,this.#n.F(this.#i),this.#e.D=this.G,this.#n.C.B=this.G,this.#a=!0,this.#t.N(this.H)}C(){this.#a=!1,this.#e.C&&this.#l(this.#e)}#h(){let t=this.#e;t.J(),this.#l(t)}#l(t){this.#r.Q(t.A.D),t.A.K()}J(t){let e=this.#e,r=xe(t);e.I(t.offsetX-r,t.offsetY-r,t.pressure),this.#r.a(e.A.I,e.A.C,e.A.A.F)}A(t){let e=xe(t);this.#e.H(t.offsetX-e,t.offsetY-e,t.pressure)}D(t){this.#e.C&&(this.J(t),t.buttons==0&&this.#h())}E(t){this.#e.C&&(this.J(t),this.#h())}F(){}};var Pt=class{#t;#e;#r=new g;get B(){return this.#r}get A(){return this.#e}set A(t){this.#s(),this.#e=t,t.B(),this.B.B()}C(t){this.#t=this.#e,this.A=t}D(){this.A=this.#t}#s(){this.#e&&this.#e.C()}};var we=class{A=.7;B=2;#t=null;C=()=>{};D=()=>{};E=()=>{};F=()=>{};get H(){return(this.#t.A/1e3-this.A)/(this.B-this.A)}I(){this.#t!=null&&(this.#t.B(),this.#t=null),this.#t=new J;var t=!1;this.#t.C=()=>{this.D(),t||this.#t.A>1e3*this.A&&(t=!0,this.C()),this.#t.A>1e3*this.B&&(this.#t.B(),this.E())},this.#t.D()}G(){this.#t!=null&&(this.#t.B(),this.#t=null,this.F())}},Le=class{#t;#e=32;#r=32;#s;#i;get B(){return this.#i}get C(){return this.#t}set C(t){this.#t=t;var e="",r=64;let i=12;for(let l=0;l<r;l++){var s=l/(r-1)*Math.PI*2*t,o=l==0?"M":"L";o+=this.#e/2+i*Math.sin(s)+" ",o+=this.#r/2-i*Math.cos(s)+" ",e+=o}this.#s.D({d:e})}set D(t){this.#s.D({stroke:t})}set E(t){this.#s.D({"stroke-width":t+""})}set A(t){this.B.L(t)}constructor(){this.#i=h.M("svg").G(""+this.#e,""+this.#r).P().B({filter:"drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.3))"}),this.#s=h.M("path").A(this.B).D({fill:"transparent"}),this.D="deepskyblue",this.E=6,this.#t=0,this.A=!0}},St=class{#t=!1;get A(){return this.#t}constructor(t,e){var r=new we,i;r.C=()=>{i==null&&(i=new Le,i.B.A(t)),i.A=!0},r.D=()=>{i!=null&&(i.C=r.H)},r.E=()=>{i.A=!1,e(),this.#t=!0},r.F=()=>{i!=null&&(i.A=!1)},t.R(()=>{this.#t=!1,r.I()}).I("pointerleave",s=>{r.G()}).N(s=>{r.G()}).click(s=>{this.A&&s.stopPropagation()},!0)}};var Tt=class{#t;#e;#r;#s;#i;#n;#o;get A(){return this.#i}get B(){return this.#n}get C(){return this.#t}set C(t){this.#t=t,this.#a(f(this.A),t,"white"),this.B.B({transform:"translate("+-this.C+"px, "+-this.C+"px)"}),this.#o.B({width:"calc(100% + "+t*2+"px)"}),this.#h(this.#o,t)}#a(t,e,r){t.B({border:"solid "+r+" "+e+"px","border-radius":e+"px","border-top-left-radius":"0px","border-top-right-radius":"0px"})}#h(t,e){t.O(-e,-e)}get D(){return this.#e}set D(t){this.A.replaceChild(t,this.#e),this.#e=t}set E(t){let e=new d(2,2).D(-t);this.A.style.boxShadow=e.x+"px "+e.y+"px 4px rgba(0, 0, 0, 0.1)"}set F(t){this.A.style.transform=t}get G(){return this.#r}get H(){return this.#s}I(t,e){this.#r=t,this.#s=e,this.B.O(t,e)}constructor(){this.#n=h.K(),this.#e=a.B(),this.#o=this.#l(),this.#i=h.K().A(this.B).append(this.#e).append(this.#o).C,this.#m(),this.#p()}#l(){return h.K().O(0,0).P().B({height:"6px",right:"0",background:u.W.A()}).U("pointerdown").Y()}#m(){this.B.Z().Y()}#p(){this.B.G(0,0).T("fixed"),f(this.A).P().B({background:"white",cursor:"default"}),this.C=0,this.E=0}J(t,e,r){this.A.style.transform=this.#c(e,t);let i=r.getBoundingClientRect();this.B.O(i.left+(this.G-i.left)*t,i.top+(this.H-i.top)*t),this.C=t*50}#c(t,e){let r=t.B.B().I(e),i=1+e*(t.C-1),s=t.A*e;return $.J(r,s,i,t.E)}};var Ft=class{#t;#e;#r;#s;#i=250;#n=0;#o=!0;#a=!1;E=()=>{};get B(){return this.#t}get C(){return this.#n}set C(t){this.#n!=t&&(this.#n=t,this.#h())}set G(t){this.#a=t,this.#h()}get F(){return this.#a?-1:1}get D(){return this.F*this.C}set D(t){this.C=this.F*t}#h(){let t=this.D;this.#r.D({cx:100*Math.sin(t)+"",cy:100*-Math.cos(t)+""}),this.#e.B("transform","rotate("+t+"rad)")}get A(){return this.#o}set A(t){this.#o=t,this.B.L(this.A)}H(t,e){var r=Math.max(t,e),i=t/r*100,s=e/r*100;this.#e.D({width:i,height:s,x:-i/2,y:-s/2})}constructor(){var t=`\n<div style="height:100%;display:flex;align-items:center;justify-content:center;" title="つまみをドラッグで回転">\n<svg class="rotationSvg">\n<rect class="canvasIcon" width="100" height="100" x="-50" y="-50"></rect>\n<circle r="100" fill="transparent" stroke="var(--canvas98DefaultColor)" stroke-width="5"></circle>\n<circle \nclass="canvas98MenuItem rotationHandle" cy="-100" r="15" \nfill="var(--canvas98MenuBackground)" stroke="var(--canvas98MenuColor)" stroke-width="5"\n            ></circle>\n</svg>\n</div>`,e=h.E().B({"justify-content":"space-between","align-items":"center"});this.#l("rotate_left","左回転").A(e).click(()=>{this.D-=Math.PI/4,this.E()}),this.#l("trip_origin","回転をリセット").A(e).click(()=>{this.D=0,this.E()}),this.#l("rotate_right","右回転").A(e).click(()=>{this.D+=Math.PI/4,this.E()}),this.#t=h.E().W(t).append(e).G(250,300).B({background:m.H,[m.G]:m.A(m.B),[m.F]:m.E,"box-shadow":m.D,"flex-direction":"column",cursor:"default"}),this.#s=this.B.Q(".rotationSvg").D({width:this.#i,height:this.#i,viewBox:-this.#i/2+", "+-this.#i/2+", "+this.#i+", "+this.#i}),this.#r=this.B.Q(".rotationHandle"),this.#e=this.B.Q(".canvasIcon").B({stroke:m.E,"stroke-width":"5",fill:"transparent"}),this.#m(),this.C=0}#l(t,e){return new c().C(t,e).A.B({width:"100%"})}#m(){var t=!1;this.#r.R(e=>{t=!0,this.#r.C.setPointerCapture(e.pointerId)}).S(e=>{if(t){var r=new d(e.clientX,e.clientY).E(this.#s.X());this.D=Math.atan2(r.y,r.x)+Math.PI/2,this.E()}}).N(e=>{t=!1}),this.B.click(e=>{e.stopPropagation()})}};var kt=class n{#t;B=new d(300,300);C=new d(50,50);#e;get A(){return this.#e}constructor(t,e){this.#e=t,this.#t=e}static D(t){let e=f(t).b(),r=[];for(let i of e)if(r.push(i.C),n.#r(i.C)=="fixed")break;return r.filter(i=>n.E(i)).map(i=>new d(i.offsetLeft,i.offsetTop)).reduce((i,s)=>i.J(s))}static#r(t){return window.getComputedStyle(t).position}static E(t){let e=n.#r(t);return e=="absolute"||e=="fixed"}F(t,e){this.#t.A+=t;let r=f(this.A).X().E(this.B).D(t).I(e);this.#t.B.G(this.B.B().J(r).E(n.D(this.A)).E(new d(this.A.offsetWidth/2,this.A.offsetHeight/2)).J(this.C)),this.#t.C*=e}},Wt=class{#t;#e;A;B;E(t){this.#t=t,!(t.length>2)&&(this.#e=t.map(e=>e.identifier))}C(t,e){let r=t.sort((i,s)=>i.identifier-s.identifier).filter(i=>this.#e.indexOf(i.identifier)!=-1);return e!=null&&(r=r.filter(i=>e.some(s=>s.identifier==i.identifier))),r.map(i=>new d(i.clientX,i.clientY))}F(t){let e=this.C(t),r=this.C(this.#t,t);if(e.length==1&&this.A?.(e[0].x-r[0].x,e[0].y-r[0].y),e.length==2){let i=r[0].B().L(r[1],.5),s=e[0].B().L(e[1],.5);this.A?.(s.x-i.x,s.y-i.y);let o=this.D(e[0],e[1])-this.D(r[0],r[1]),l=d.F(e[0],e[1])/d.F(r[0],r[1]);this.B?.(s,o,l)}this.#t=t}D(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}};var Gt=class{#t;get A(){return this.#t}constructor(){this.#t=h.K().G("0%","0%").T("fixed").B({background:m.A(m.M),cursor:"default"})}B(t,e,r){var i=this;if("ontouchstart"in window){var s=new kt(t.A,e),o=new Wt;o.A=(p,A)=>{e.I(new d(p,A))},o.B=(p,A,y)=>{s.B.G(p),s.F(A,y)},i.A.I("touchstart",p=>{s.C.H(t.C,t.C),o.E([...p.touches].filter(A=>A.target==i.A.C))}).I("touchmove",p=>{r.C||o.F([...p.touches].filter(A=>A.target==i.A.C))})}else{var l=new z(e);i.A.R(p=>{i.#e(l,p)}).S(p=>{i.#r(l,r,p)}).N(p=>{l.A()})}}#e(t,e){t.B(new d(e.pageX,e.pageY)),e.target.setPointerCapture!=null&&e.target.setPointerCapture(e.pointerId)}#r(t,e,r){e.C||(r.buttons==0&&t.A(),t.C(new d(r.pageX,r.pageY)))}C(t,e){var r=Math.round(t*100),i=f(e).X().I(1-t);this.A.G(r+"%",r+"%").O(i.x,i.y)}};var X=class{static get B(){return new B().A(".canvas98HorizontalMainMenu",{width:"100%",height:c.D,left:0,top:"-50px"}).A(`.canvas98HorizontalMainMenu. ${m.J}`,{height:"100%"})}#t;get A(){return this.#t}constructor(){let t="canvas98MenuItem material-icons",e=`<ul id="canvas98HorizontalMainMenu" class="canvas98MainMenu canvas98HorizontalMainMenu">\n\n<li>\n<ul class="${m.J}">\n<li id="canvas98UndoButton" class="${t}" title="元に戻す">undo</li>\n<li id="canvas98RedoButton" class="${t}" title="やり直し">redo</li>\n<li id="canvas98DeleteButton" class="${t}" title="消去">delete</li>\n</ul>\n</li>\n\n<li>\n<ul class="${m.J}">\n<li id="canvas98FlipButton" class="${t}" title="左右反転">flip</li>\n<li id="canvas98ZoomOutButton" class="${t}" title="縮小">zoom_out</li>\n<li id="canvas98ZoomInButton" class="${t}" title="拡大">zoom_in</li>\n<li id="canvas98RotationButton" class="${t}" title="回転">screen_rotation</li>\n</ul>\n</li>\n<li>\n<ul class="${m.J}">\n<div id="canvas98ExtensionContainer"></div>\n<li id="canvas98ExitButton" class="${t}" title="閉じる">close</li>\n</ul>\n</li>\n</ul>\n`;this.#t=f(e)}C(t){var e=this.A.C;e.style.top=Math.round(-(1-t)*e.offsetHeight)+"px"}};var F=class extends c{#t=!1;#e;#r;#s;set J(t){this.#t=t,this.J?(this.#e.D({r:"13"}),this.#r.D({r:"10"})):(this.#e.D({r:"19"}),this.#r.D({r:"16"}))}get J(){return this.#t}set color(t){this.#s=t,this.#e.D({stroke:t.A()}),this.#r.D({fill:t.A()})}get color(){return this.#s}constructor(){super(),this.M.A(()=>{this.#e.L(this.B)}),this.#i()}#i(){this.#n(),this.#o()}#n(){let t=c.F().A(this.A);this.#e=h.M("circle").A(t),this.#r=h.M("circle").A(t)}#o(){this.#e.D({fill:"none"}),this.B=!1,this.J=!1}};var k=class{#t=!1;#e;#r=!1;#s=new g;#i=new g;get D(){return this.#s}get E(){return this.#i}get A(){return this.#e}set A(t){this.#e=t,this.D.B()}get B(){return this.#r}set B(t){let e=this.B;this.#r=t,this.B!=e&&this.E.B()}get C(){return this.#t}set C(t){this.#t=t}constructor(t){this.#e=t}};var Rt=class{A=new Array;B=new k(u.F);C=new k(u.E);constructor(){this.A.push(this.B);for(let t=0;t<3;t++){let e=new k(u.J);e.C=!0,this.A.push(e)}this.A.push(this.C),this.#t(),this.B.D.A(()=>{this.#t()}),this.C.D.A(()=>{this.#t()})}#t(){for(let t=0;t<this.A.length-2;t++){let e=(t+1)/(this.A.length-1),r=u.X(this.B.A,this.C.A,e);this.A[t+1].A=r}}};var Jt=class{#t=new Rt;#e;B=[];C;#r=new g;get D(){return this.#r}get E(){return this.#t}get A(){return this.#e}set A(t){this.#e=t;for(let e of this.B)e.B=this.A==e;this.D.B()}constructor(){for(let t of this.#t.A)this.F(t);this.F(new k(u.G)),this.A=this.B[0]}F(t){this.B.push(t),t.D.A(()=>{t==this.A&&this.D.B()}),t.E.A(()=>{t.B&&(this.A=t)})}};var Ot=class{A=[];#t;get B(){return this.#t}constructor(){var t=c.K().G(300,250).P().B({margin:"0"});this.#t=t;let e=this.#e(u.G);e.A.B({right:"0",bottom:"0"}).A(t),this.A.push(e);let r=this.#e(u.J);r.A.B({left:"0",bottom:"0"}).A(t),this.A.push(r);let i=this.#e(u.E);i.A.B({right:"0",top:"0"}).A(t),this.A.push(i);let s=this.#e(u.F);s.A.B({left:"0",top:"0"}).A(t),this.A.push(s);var o=c.K().G(150,150).T("relative").B({margin:"auto"}).A(t),l=[u.P,u.Q,u.R,u.S,u.T,u.U];for(let p=0;p<l.length;p++){let A=this.#e(l[p]);A.A.O(100*(1-Math.cos(Math.PI/3*p+Math.PI/6))/2+"%",100*(1-Math.sin(Math.PI/3*p+Math.PI/6))/2+"%").B({transform:"translate(-50%, -50%)"}).A(o),this.A.push(A)}}#e(t){var e=new F;return e.color=t,e.A.P(),e}};var _=class{#t;#e;#r;#s;get B(){return this.#t}get C(){return this.#e}get E(){return this.#r}get A(){return this.#s}get D(){return new d(this.B.width/2,this.B.height/2)}constructor(t,e,r,i,s){this.#s=s,this.#e=r,this.#r=i,this.#t=a.B(t,e),this.#i(),this.F(0)}#i(){var t=this.D,e=this.C+this.E/2,r=this.C-this.E/2,i=this.B.getContext("2d");let s=200;for(let l=0;l<s;l++){let p=l/s*Math.PI*2;var o=[0,0,0,0];it(o,(p+Math.PI*(1/3+1/2))%(Math.PI*2)),i.fillStyle=new u(o[0],o[1],o[2]).A(),i.beginPath();let A=(l+1.1)/s*Math.PI*2;i.moveTo(t.x+e*Math.cos(p),t.y+e*Math.sin(p)),i.lineTo(t.x+e*Math.cos(A),t.y+e*Math.sin(A)),i.lineTo(t.x+r*Math.cos(A),t.y+r*Math.sin(A)),i.lineTo(t.x+r*Math.cos(p),t.y+r*Math.sin(p)),i.fill()}}F(t){var e=this.B,r=this.A,i=this.A,s=this.D,o=e.getContext("2d"),l=o.createImageData(r,i);for(let p=0;p<l.height;p++){let A=1-p/(l.height-1);for(let y=0;y<l.width;y++){let L=y/(l.width-1),C=(y+p*l.width)*4;it(l.data,t,L,A,C)}}o.putImageData(l,s.x-l.width/2,s.y-l.height/2)}},Vt=class{#t;#e;#r;#s;#i;#n;#o;#a;#h;#l=new g;get D(){return this.#l}get F(){return this.#t}get C(){return this.#s}set C(t){t=this.#m(t),this.#s=t,this.#e.F(t);var e=this.#e.D,r=t-this.#i;this.#n.O(e.x+this.#e.C*Math.cos(r),e.y+this.#e.C*Math.sin(r)).B({background:u.I(t).A()}),this.D.B()}#m(t){return(t+2*Math.PI)%(2*Math.PI)}get A(){return this.#o}set A(t){this.#o=Math.min(Math.max(0,t),1),this.#a.B("left",this.#e.D.x+this.#e.A*(this.A-1/2)+"px"),this.D.B()}get B(){return this.#h}set B(t){this.#h=Math.min(Math.max(0,t),1),this.#a.B("top",this.#e.D.y-this.#e.A*(this.B-1/2)+"px"),this.D.B()}get E(){return u.I(this.C,this.A,this.B)}set E(t){this.C=t.N,this.A=t.O,this.B=t.value}constructor(){this.#i=Math.PI*(1/3+1/2);let t=250,e=250;this.#t=h.E().B({height:e+"px","justify-content":"center","user-select":"none"}).J("canvasMenuItemParent");var r=h.K().G(t+"px",e+"px").T("relative").A(this.F);this.#r=r,this.#e=new _(t,e,95,20,110),r.append(this.#e.B),this.#n=this.#p(15,3).A(r),this.#a=this.#p(10,3).A(r),this.C=Math.PI/2,this.A=1,this.B=1,this.#c()}#p(t,e){return h.K().G(t*2+"px",t*2+"px").P().B({border:"solid "+e+"px lightgray","border-radius":t+e+"px",transform:"translate(-50%, -50%)"})}#c(){var t=!1;this.#r.R(e=>{var r=this.#u(e);Math.abs(r.N()-this.#e.C)>this.#e.E/2||(t=!0,this.C=Math.atan2(r.y,r.x)+this.#i,this.#r.C.setPointerCapture(e.pointerId))}).S(e=>{if(e.buttons==0&&(t=!1),!!t){var r=this.#u(e);this.C=Math.atan2(r.y,r.x)+this.#i}}).N(e=>{t=!1}),this.#f()}#f(){var t=!1;this.#r.R(e=>{var r=this.#u(e);Math.abs(r.x)>this.#e.A/2||Math.abs(r.y)>this.#e.A/2||(t=!0,this.A=r.x/this.#e.A+1/2,this.B=-r.y/this.#e.A+1/2,this.#r.C.setPointerCapture(e.pointerId))}).S(e=>{if(e.buttons==0&&(t=!1),!!t){var r=this.#u(e);this.A=r.x/this.#e.A+1/2,this.B=-r.y/this.#e.A+1/2}}).N(e=>{t=!1})}#u(t){return new d(t.clientX,t.clientY).E(this.#r.X())}};var Nt=class{#t;#e=!1;#r;#s;B=()=>{};get C(){return this.#t.L}get A(){return this.#e}set A(t){this.#e=t,this.B(),this.#r.B.style.display=t?"none":"",this.#s.style.display=t?"":"none",this.C.title=t?"シンプル":"カラーホイール"}constructor(){var t=new c;t.A.G("100%","50px");var e=new _(50,50,12,2,13);t.A.append(e.B),this.#r=e;var r=a.B(50,50),i=r.getContext("2d");for(let l=0;l<6;l++){var s=l/6*2*Math.PI;i.fillStyle=u.I(s).A();var o=s-Math.PI*(5/6);i.beginPath(),i.ellipse(r.width/2+12*Math.cos(o),r.height/2+12*Math.sin(o),3,3,0,0,2*Math.PI),i.fill()}r.style.display="none",t.A.append(r),this.#s=r,t.A.click(()=>{this.A=!this.A}),this.#t=t,this.A=!1}};var Kt=class{#t;#e;#r;#s;#i;#n;#o;#a;#h=new Nt;get C(){return this.#n}get A(){return this.#t}constructor(t){this.#i=t,this.#t=h.E().J("colorPicker").G(300,400).B({"list-style":"none",background:m.A(m.B),cursor:"default","flex-direction":"column",[m.G]:m.A(m.B),[m.F]:m.E,"box-shadow":m.D}).click(e=>{e.stopPropagation()}),this.#p(),this.#c(),this.#m(),this.#l(),this.B()}#l(){for(let t of this.#r)t.A.click(()=>{this.#i.A.A=t.color});for(let t of this.#s)t.A.click(()=>{c.E(t,this.#s)});this.#a.D.A(()=>{this.#i.A.A=this.#a.E})}#m(){var t=h.E().G("100%",50).B({"justify-content":"space-between"}).A(this.A),e=this.#h;t.append(e.C),e.B=()=>{e.A&&(this.#a.E=this.#i.A.A),this.#a.F.L(e.A),this.#o.B.L(!e.A)};let r=new c(h.H("input")).A.D({type:"color"}).I("input",()=>{this.#i.A.A=u.M(r.value)}).A(t).C;var i=new c().C("colorize","スポイト");i.A.G("100%","100%").click(()=>{i.B=!i.B}).A(t),this.#n=i,this.#s=[...this.#r,i]}#p(){var t=h.H("ol").J(m.J).G("100%",60).B({margin:"0"}).A(this.A);this.#e=[];for(let e=0;e<this.#i.E.A.length;e++){let r=new F;r.J=this.#i.E.A[e].C,this.#e.push(r),t.append(r.A)}this.#r=[...this.#e]}#c(){var t=h.E().G("100%","100%").T("relative").B({"justify-content":"center","align-items":"center"}).A(this.A),e=new Ot;this.#o=e,this.#r=this.#r.concat(e.A),t.append(e.B);var r=new Vt;this.#a=r,r.D.A(()=>{for(let i of this.#s)i.B=!1}),r.F.L(!1).A(t)}B(){this.#a.E=this.#i.A.A;for(let t of this.#r)t.B=!1;for(let t=0;t<this.#i.E.A.length;t++)this.#e[t].color=this.#i.E.A[t].A,this.#e[t].B=this.#i.A==this.#i.B[t];this.#n.B=!1}};var $t=class{#t;#e;#r;#s=new Jt;#i=!1;get B(){return this.#t}get C(){return this.#r.C}get A(){return this.#s}constructor(){this.#t=c.K(),this.#n(),this.#r=new Kt(this.#s)}#n(){this.#e=this.#o();for(let t=0;t<this.#e.length;t++){let e=this.#e[t],r=this.A.B[t];r.C||e.G(),e.I.A(()=>{r.C||this.#a(e)}),e.H.A(()=>{this.D(),this.A.A=r}),e.A.A(this.B),e.B=r.B,r.D.A(()=>{e.color=r.A}),r.E.A(()=>{e.B=r.B})}}#o(){var t=[];for(let e of this.A.B){let r=new F;r.color=e.A,r.J=e.C,e.C&&r.A.B({height:"35px"}),t.push(r)}return t}#a(t){if(this.#i){this.#r.B();return}this.#r.B(),this.#r.A.O("calc(100% + 10px)",20).P().A(t.A),this.#i=!0}D(){this.#i&&(this.#r.A.remove(),this.#i=!1)}};var zt=class extends c{#t;#e;#r=10;#s;get O(){return this.#s}constructor(t){super(),this.G(),this.#i(),this.#s=t,this.P(t.A),t.C.A(()=>{this.P(t.A)})}P(t){this.#t.D({r:""+Math.min(t/2,this.#r)}),this.#e.F(""+t),this.L.title="ペンの太さ:"+t}#i(){var t=c.F().A(this.A),e=m.I;h.M("circle").D({fill:"none",r:this.#r,stroke:e}).A(t),this.#t=h.M("circle").D({fill:e}).A(t),this.#e=h.M("text").D({x:0,y:20,fill:e,"text-anchor":"middle","font-size":"12","font-weight":"bold","font-family":"sans-serif"}).A(t),this.B=!1}};var Xt=class{#t;#e;#r="canvas98-up-down-control";#s="canvas98-up-down-button";#i="canvas98-thickness";#n="canvas98-plus-button";#o="canvas98-minus-button";get A(){return this.#t}get C(){return 150}constructor(t){this.#e=t;var e=this.B(.1,"01")+this.B(1,"1")+this.B(10,"10");this.#t=h.E().W(e).B({height:this.C+"px","flex-direction":"column"}),new B().A(`.${this.#r}`,{width:"80px",height:"100%","border-radius":"10px",display:"flex","flex-direction":"row-reverse",overflow:"hidden",background:"#f0d0c3",color:m.E,"font-weight":"bold",margin:"5px","font-size":"14px","box-shadow":m.D}).A(`.${this.#s}`,{width:"100%",display:"flex","justify-content":"center","align-items":"center"}).A(`.${this.#s}:hover`,{background:"#F0E0D6"}).B.A(this.A),this.#a()}B(t,e){return`\n<div class="${this.#r} ${this.#i}-${e}">\n<div class="${this.#n} ${this.#s}" title="太さ+${t}">+${t}</div>\n<div class="${this.#o} ${this.#s}" title="太さ-${t}">-${t}</div>\n</div>`}#a(){this.#h(this.A.Q(`.${this.#i}-01`),.1),this.#h(this.A.Q(`.${this.#i}-1`),1),this.#h(this.A.Q(`.${this.#i}-10`),10)}#h(t,e){t.Q(`.${this.#n}`).click(()=>{this.#e.E(e)}),t.Q(`.${this.#o}`).click(()=>{this.#e.E(-e)})}};var Yt=class{#t;#e=new Array;#r;#s=new O;get B(){return this.#t}get A(){return this.#s}constructor(){this.#t=c.K(),this.#i()}#i(){for(let t of this.A.B){let e=new zt(t);e.H.A(()=>{this.C(),c.E(e,this.#e),this.A.A=e.O}),e.I.A(()=>{this.#n(e)}),e.B=t.B,t.D.A(()=>{e.B=t.B}),this.#e.push(e),this.B.append(e.A)}}#n(t){this.#r==null&&(this.#r=new Xt(t.O),t.A.append(this.#r.A),this.#r.A.click(e=>{e.stopPropagation()}).P().B({left:"calc(100% + 10px)",transform:"translate(0, -50%)"}),this.#r.A.B("top",this.#o(t)))}#o(t){var e=t.L.getBoundingClientRect(),r=window.innerHeight-e.bottom-(this.#r.C-e.height)/2;return r>0?"50%":"calc(50% + "+r+"px)"}C(){this.#r!=null&&(this.#r.A.remove(),this.#r=null)}};var Qt=class{static A(){return f(`<li class="canvas98MenuItem" title="筆圧太さ">\n<svg width="50" height="50">\n<path d="M 5 30 C 10 25, 20 20, 25 20 S 40 25, 45 20 C 40 25, 30 30, 25 30 S 10 25, 5 30" fill="var(--canvas98MenuColor)"></path>\n</svg>\n</li>`)}};var Ut=class{#t;#e;#r;#s=[];#i;get B(){return this.#t}get C(){return this.#r}constructor(){this.#t=h.H("ul").J(m.J),this.#e=h.K().P().B({top:"0",left:"10px",transform:"translate(100%, 0)"}).A(this.B).L(!1),this.#r=new c(Qt.A().A(this.#e))}A(t){this.#s.push(t),h.K().T("relative").append(t.A).A(this.B)}E(t,e=this.#e){this.D(),e.A(f(t.C.parentElement)).L(!0),this.#i=e}D(){this.#i!=null&&(this.#i.remove(),this.#i.L(!1))}F(t){c.E(t,this.#s)}};var Y=class{static get F(){return new B().A("#canvas98VerticalMainMenu",{top:c.D,left:"-200px",bottom:0,width:c.D}).A(".canvas98VerticalMenu",{"flex-direction":"column"}).A(".canvas98VerticalMenu ul",{"flex-direction":"column"})}#t=h.H("ul").D({id:"canvas98VerticalMainMenu"}).J("canvas98MainMenu canvas98VerticalMenu");#e=new $t;#r=new Yt;#s;#i;#n=new Ut;get D(){return this.#t}get B(){return this.#e}get C(){return this.#r}get G(){return this.#s}get H(){return this.#i}get A(){return this.#n}constructor(){this.#o(this.B.B),this.#o(this.A.B),this.#o(this.C.B),this.#i=new c().C("edit","ペン").G(),this.#n.A(this.#i),this.#s=this.E().G(),this.#n.A(this.#s)}E(){var t=new c;return t.A.append(c.F().W(`<g transform="rotate(-45)" fill="var(--canvas98MenuColor)">\n<rect x="-8" y ="-5" width="20" height="10"></rect>\n<path d = "M-10 -3 L-10 3 L-14 3 L-16 -3 Z"></path>\n</g>`)).D({title:"マーカー"}),t}#o(t){h.H("li").append(t).A(this.D)}I(){this.B.D(),this.C.C(),this.#n.D()}J(t){var e=this.D.C;e.style.left=Math.round(-(1-t)*e.offsetWidth)+"px"}};var jt={get A(){return new B(":root",{[m.N]:u.K.A(),[m.K]:u.F.A(),[m.P]:u.E.A(),[m.B]:u.V.A(),[m.G]:m.A(m.B),[m.F]:m.E,[m.M]:u.L.A(),"--canvas98Shadow":"2px 2px 4px rgba(0, 0, 0, 0.1)"})},get B(){return h.H("link").D({rel:"stylesheet",href:"https://fonts.googleapis.com/icon?family=Material+Icons",referrerpolicy:"no-referrer"})},get style(){return B.D([jt.A,new B(".canvas98MainMenu",{display:"flex","justify-content":"space-between","list-style":"none",margin:"0",padding:"0",position:"fixed","background-color":m.H,color:m.A(m.F),"box-shadow":m.D}),c.style,new B(".canvas98MenuItemParent",{padding:"0",display:"flex","justify-content":"space-between"}),X.B,Y.F])}};var Zt=class{#t;#e=new Y;#r=new X;#s;#i;get B(){return this.#t}get A(){return this.#e}get H(){return this.#r}constructor(){this.#t=h.K().append(jt.B).append(jt.style.B).append(this.#r.A).append(this.#e.D).B("cursor","default").Y().Z(),this.#s=new c(this.B.Q("#canvas98FlipButton")),this.#i=new c(this.B.Q("#canvas98RotationButton"))}get F(){return this.B.Q("#canvas98UndoButton")}get I(){return this.B.Q("#canvas98RedoButton")}get J(){return this.#s}get K(){return this.B.Q("#canvas98ZoomOutButton")}get L(){return this.B.Q("#canvas98ZoomInButton")}get E(){return this.#i}get M(){return this.B.Q("#canvas98ExitButton")}get N(){return this.B.Q("#canvas98DeleteButton")}get C(){return this.#e.B}get D(){return this.#e.C}G(){this.A.I()}};var tt=class{#t;#e;#r=new Zt;#s;#i=new Ft;get C(){return this.#t}get D(){return this.#e}get A(){return this.#r}get B(){return this.#s.D}get E(){return this.#s}get F(){return this.#i}constructor(){this.#t=h.K(),(this.#e=new Gt).A.A(this.C),(this.#s=new Tt).B.A(this.D.A),this.E.D=a.B(),this.D.A.append(this.A.B),this.A.E.A.append(this.F.B),this.#n(),this.#a()}#n(){this.C.T("fixed").B({"z-index":"3000000000","touch-action":"none","user-select":"none"}).C.id="canvas98Element",this.D.A.click(()=>{this.#o()}),this.F.A=!1,this.F.B.O("50%","100%").P().B({"margin-top":"10px",transform:"translate(-50%, 0)"}),document.body.style.overflow="hidden"}#o(){this.A.G(),this.F.A=!1,this.A.E.B=!1}#a(){this.C.I("contextmenu",t=>{t.button!=2&&t.preventDefault()})}G(){this.A.G(),this.F.A=!1}H(){this.C.remove(),document.body.style.overflow="auto"}static get I(){return document.getElementById("canvas98Element")!=null}};var qt=class n{#t=new $;A=new tt;layers=new pt;C=new lt;G;E=new q;S=new Map;L=new st;H=new ot;max=new d(400,400);F=new g;O=new g;I=new g;T=new g;get J(){return this.#t}#e=new Pt;get B(){return this.#e}get K(){return j.E()}constructor(t){this.#r(t),this.#t.D.A(()=>{this.A.E.F=this.#t.K})}#r(t){a.H(t,this.A.B);let e=t.getBoundingClientRect();this.A.E.I(e.left,e.top)}V(){document.body.appendChild(this.A.C.C),this.#i()}#s(t){let e=this.B;dt.A(this),f(t.A).R(r=>{r.target.setPointerCapture(r.pointerId),e.A.A(r)}).S(r=>{e.A.D(r)}).N(r=>{e.A.E(r)}).I("pointerout",()=>{e.A.F()})}#i(){let t=this.layers,e=this.C,r=this.A;t.F=this.A.B,t.T.A(i=>{e.A.E(t.width,t.height),this.#t.L(i.x,i.y,t.width,t.height)}),e.A.E(t.width,t.height),this.#s(r.E),r.D.B(r.E,this.#t,e),r.A.M.click(()=>{this.#m()}),ut.A(this),bt.A(this),Ct.A(this),Mt.A(this),yt.A(this),Lt.A(this),ft.A(this),r.A.N.click(()=>{t.e()}),r.A.C.A.D.A(()=>{e.F=r.A.C.A.A.A}),r.A.D.A.C=()=>{e.E=r.A.D.A.A.A},this.#h(),this.#o(),this.B.B.A(()=>{this.A.A.A.A.D()}),this.#n(t)}M(t,e){new St(t,e)}#n(t){this.I.A(e=>{let r=e.key.toLowerCase();r=="delete"&&t.e(),r!="f5"&&e.preventDefault()}),this.A.C.D({tabIndex:0}).I("keydown",e=>{this.I.B(e)}).C.focus()}P(t,e,r=!1){Dt.A(this).B(t,e,r)}D(t,e,r){let i=this.K;i.D(r,e),this.P(t,i.C(r))}#o(){let t=this.A.A,e=t.A,r=this.C,i=e.A,s=this.B,o=this.Q(I.D,e.H),l=this.Q(I.E,e.G);this.D(o,"p","ペン"),this.D(l,"p","マーカー"),this.#a(o),i.C.A.click(()=>{let p=s.A;p.G=!p.G}),r.G.A(()=>{i.C.B=r.D})}#a(t){this.E.C(t.H);let e=this.E.A.get(t.H);this.R(this.A.A.A.C.A,e),this.B.A=t}Q(t,e){let r=new Ht(this,t,e);return this.W(r,e),r}W(t,e){this.S.set(t.I,t);let r=this.A.A.A;e.H.A(()=>{this.B.A=t}),e.I.A(()=>{r.A.E(e.A)}),this.B.B.A(()=>{e.B=this.B.A==t});for(let i of this.#l)i.split("-")[0]==t.I&&(t.H=i)}#h(){let t=j.E().A,e=new q;for(let i of t.pens??[])e.D(i);this.E=e;let r=this.C;t.isSmooth!=null&&(r.A.B=t.isSmooth),t.correction!=null&&(r.B=t.correction),this.#l=t.selectedPens??[],this.max.H(t.max?.A??this.max.x,t.max?.B??this.max.y),this.T.B()}#l=[];N(t){let e=this.E,r=this.A.A.D.A;this.U(e,r,t),this.R(r)}U(t,e,r=this.B.A.H){let i=t.B;i.A=e.B.map(s=>s.A),i.B=e.B.indexOf(e.A),t.C(r)}R(t,e=this.E.B){for(let r=0;r<e.A.length;r++){let i=e.A[r];t.B[r].A=i}t.A=t.B[e.B]}remove(){this.A.H(),E.D()}async#m(){let t=this.A;await nt.F(t.B,this.max,this.H),t.G(),this.F.B()}static get X(){return tt.I}static async Y(){if(n.X)return;let t=new n(b.A.B);E.A=t,t.F.A(async()=>{b.A.F(),await new U().B(t),t.O.B(),t.remove()}),t.O.A(()=>{b.A.G(),a.H(t.A.B,b.A.B)}),t.V(),await new U().A(t),b.A.H()}static async Z(){await S.A(0),await b.A.E(),await n.Y()}};E.B("canvas98Loaded",qt.Z());var _t=class{static async A(t){await S.A(0);let e=E.C("canvas98Loaded");e&&(await e,t())}};var Q=class{static A(t,e){let r=t.A,i=t.B;t.A=()=>{r(),e.A()},t.B=()=>{i(),e.B()}}};var W=class extends v{layers=[];isClosed=!1;J=!1;I(t,e){let r=super.I(t,e),i=this.layers.map(s=>s.I(t,e));for(let s of i)Q.A(r,s);return r}Y(t){this.layers.push(t),t.C=this}R(t){for(let e of this.layers)e.R(t)}S(t){t(this);for(let e of this.layers)e.S(t)}};var w=class n{static E(t,e,r){let i=e.C?e.C:t;if(i.layers.length==1||n.B(e,r))return;i.layers=i.layers.filter(o=>o!=e);let s=r;n.D(t,e,s)}static B(t,e){return e?e.C==t?!0:n.B(t,e.C):!1}static F(t){let e=t.B,r=n.C(t);if(r!=null)return t.L(()=>{let i=e.C,s=i||t;return s.layers=s.layers.filter(o=>o!=e),t.layers},r)}static C(t){let e=t.B,r=e.C?e.C:t;if(r.layers.length==1)return;let i=r.layers.indexOf(e)-1;return i<0&&(i=1),r.layers[i]}static A(t,e=new v){return e.I(t.width,t.height),t.L(()=>n.D(t,e,t.B),e)}static D(t,e,r){let i=r&&r.C?r.C:t;return i.layers=n.#t(i.layers,e,r),e.E(),t.layers}static#t(t,e,r){if(r==null)return[e].concat(t);e.C=r.C;var i=t.indexOf(r)+1;return t.slice(0,i).concat([e]).concat(t.slice(i))}static#e(t,e,r){let i=a.D(e),s=a.A(e);a.E(s),s.clearRect(0,0,e.width,e.height),s.globalAlpha=r,s.drawImage(i,0,0),s.globalAlpha=t.opacity,s.drawImage(t.A,0,0),s.globalAlpha=1}static#r(t,e){var r=e.opacity,i=a.D(e.A);n.#e(t,e.A,e.opacity),n.#e(t,e.G,e.opacity),e.opacity=1;var s=e.opacity,o=a.D(e.A);return{A:()=>{e.H(i),e.opacity=r},B:()=>{e.H(o),e.opacity=s}}}static G(t,e){let r=n.C(t);if(r==null)return;let i=n.#r(e,r),s=t.d(()=>{let o=e.C,l=o||t;return l.layers=l.layers.filter(p=>p!=e),t.layers},r);Q.A(i,s),t.K(i)}static#s(t,e){return e.I(t.A.width,t.A.height),e.opacity=t.opacity,e.blendingMode=t.blendingMode,e.isClipped=t.isClipped,e}static#i(t){if(t.layers){let e=t,r=new W;return n.#s(t,r),r.layers=e.layers.map(i=>{let s=n.#i(i);return s.C=r,s}),r.isClosed=e.isClosed,r.J=e.J,r}else{let e=new v;return n.#s(t,e),e.H(t.A),e}}static H(t,e){let r=n.#i(e);n.A(t,r)}static J(t){let e=new W;e.Y(new v),n.A(t,e)}static I(t){let e=t.B;t.L(()=>{let r=new W;r.I(t.width,t.height);let i=e.C,s=i||t,o=s.layers.indexOf(e);return s.layers[o]=r,r.Y(e),r.C=i,t.layers},e)}};var te=class{#t;constructor(t){this.#t=t}B(t){w.A(this.#t.layers,t)}A=t=>t.isClosed?"folder":"folder_open"};var ee=class{static A(){return new c(f("<li><li>").append(this.#t()).D({title:"消しゴム"}))}static#t(){var t=h.M("svg").D({width:"40",height:"40",viewBox:"-20 -20 40 40"});return h.M("path").D({d:"M-7 7 l-4 -4 l15 -15 l8 8 l-15 15 Z",fill:"transparent",stroke:"var(--canvas98MenuColor)","stroke-width":"1.5"}).A(t),h.M("path").D({d:"M-3 3 l-4 -4 l11 -11 l8 8 l-11 11 Z",fill:"var(--canvas98MenuColor)"}).A(t),t}};var re=class n{C=this.D();A;#t;get B(){return this.A.layers.B.background}D(){var t=new I("eraser",()=>this.B.D==0?"destination-out":"source-over",1,e=>this.B.D==0?e:this.B);return t}constructor(t){this.A=t,this.#e(t)}#e(t){var e=ee.A().G();t.A.A.A.A.A(e),this.#t=t.Q(this.C,e),this.#r(),f(t.A.E.A).R(r=>{r.button==5&&(this.#t.A(r),t.B.C(this.#t))}).N(r=>{t.B.A==this.#t&&r.button==5&&t.B.D()})}#r(){this.A.D(this.#t,"e","消しゴム")}static E(t){let e=new n(t)}};var ie=class{A(t,e){for(let r=0;r<t.layers.length;r++){let i=t.layers[t.layers.length-1-r];if(a.N(i.A,e.x,e.y).D*i.opacity!=0){if(i.isClipped){let l=this.#t(t,i);if(l&&a.N(l.A,e.x,e.y).D*l.opacity==0)continue}let o=i;return o.layers?this.A(o,e):i}}return null}#t(t,e){let r=t.layers.indexOf(e);for(let i=0;i<r;i++){let s=t.layers[r-1-i];if(!s.isClipped)return s}return null}};var se=class{static A(t){f(t.A.E.A).R(e=>{if(e.ctrlKey&&e.shiftKey){e.stopImmediatePropagation();let i=new ie().A(t.layers,new d(e.offsetX,e.offsetY));i&&t.layers.M(t.layers.layers,i)}},!0)}};var be=class{C(t){let e={layers:[]};return e.layers=t.map(r=>this.B(r)),JSON.stringify(e)}B(t){return{data:t.A.toDataURL(),background:t.background.A(),opacity:t.opacity,blendingMode:t.blendingMode}}async A(t){let e=t.layers.map(r=>T.A(r.data).then(i=>{let s=new v;return s.H(a.D(i)),s.background=this.D(r.background),s.opacity=r.opacity==null?1:r.opacity,s.blendingMode=r.blendingMode,s}));return await Promise.all(e)}D(t){if(t==null)return u.H;let e=t.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);return e?new u(parseInt(e[1]),parseInt(e[2]),parseInt(e[3]),Math.round(parseFloat(e[4])*255)):u.H}},Me=new be;var Ie=class{C(t){let e={layers:t.map(r=>V.B(r))};return JSON.stringify(e)}B(t){let e=Me.B(t);return t.layers&&(e.layers=t.layers.map(r=>V.B(r)),e.isClosed=t.isClosed,e.isAnime=t.J),e.isClipped=t.isClipped,e}async A(t){let e=t.layers.map(r=>this.E(r));return await Promise.all(e)}async E(t){let e=await T.A(t.data),r;if(t.layers==null)r=new v;else{let i=new W;for(let s of t.layers)i.Y(await V.E(s));i.isClosed=t.isClosed,i.J=t.isAnime,r=i}return r.H(a.D(e)),r.background=Me.D(t.background),r.opacity=t.opacity==null?1:t.opacity,r.blendingMode=t.blendingMode,r.isClipped=t.isClipped,r}},V=new Ie;var ne=class{B;E=V;get C(){return window.localStorage.lastLayeredImageData}set C(t){window.localStorage.setItem("lastLayeredImageData",t)}get G(){return window.localStorage.lastImageData}constructor(t){this.B=t}A(){if(window.localStorage==null)return;let t=this.B.layers;try{this.C=V.C(t)}catch{alert("復元データ保存に失敗しました。作品サイズが大きすぎます。次回長押しによる作品の復元はできません。")}}async D(){if(window.localStorage==null)return;let t=this.H(),e=await V.A(t);this.B.L(()=>e,e[0])}H(){return this.C==null?this.G==null?{layers:[]}:{layers:[{data:this.B.F.toDataURL(),layers:null}]}:JSON.parse(this.C)}};var oe=class{#t;get A(){return this.#t}#e;constructor(t,e){this.#t=h.E().B({"justify-content":"center","align-items":"center"}).G("100%",c.D),this.#e=h.H("select").J("canvas98MenuItem").B({outline:"none",border:"solid "+m.I,"border-radius":"10px",padding:"5px"}).I("input",()=>{let i=e.blendingMode,s=this.#r(i),o={A:()=>{e.blendingMode=i,e.E(),t.D()},B:()=>{e.blendingMode=s,e.E(),t.D()}};o.B(),t.K(o)}).A(this.A);let r=this.#e.C;this.#s("通常",null),this.#s("乗算","multiply"),this.#s("加算","lighter"),this.#s("オーバーレイ","overlay");for(let i of r.options)i.value==e.blendingMode&&(r.selectedIndex=i.index)}#r(t){for(let e of this.#e.C.selectedOptions)t=e.value;return t}#s(t,e){let r=h.H("option").D({value:e}).A(this.#e);h.H("label").B("padding","5px").F(t).A(r)}};var et=class{static get A(){return"url(#transparentPattern)"}static B(){return h.M("pattern").D({id:"transparentPattern",viewBox:"0,0,2,2",width:"50%",height:"50%"}).append(this.#t(0,0,2,2,"white")).append(this.#t(0,0,1,1,"black",.4)).append(this.#t(1,1,1,1,"black",.4))}static#t(t,e,r,i,s,o=1){return h.M("rect").D({x:t,y:e,width:r,height:i,fill:s,opacity:o})}};var ae=class{#t=200;#e=40;#r=30;#s;#i;#n=h.H("div");get A(){return this.#n}#o;constructor(t,e){this.#s=t,this.#i=e,this.#a(),this.#h()}#a(){let t=h.M("svg").D({width:this.#t+"px",height:this.#e+"px"}).A(this.A);h.M("defs").append(et.B()).A(t);for(let e=0;e<5;e++){let r=e/4,i=this.#r+r*(this.#t-this.#r*2);h.M("circle").D({cx:i,cy:this.#e/2,r:"10",fill:et.A}).A(t),h.M("circle").J("canvas98MenuItem").D({cx:i,cy:this.#e/2,r:"10",fill:m.E,opacity:r}).R(()=>{this.#l(this.#i.opacity,r),this.#p(r)}).A(t)}}#h(){var t=!1;let e=this.#i.opacity,r=h.M("svg").D({width:this.#t+"px",height:this.#e+"px"}).R(i=>{e=this.#i.opacity,t=!0,this.#m(i,r),r.C.setPointerCapture(i.pointerId)}).S(i=>{t&&this.#m(i,r)}).N(i=>{t&&this.#l(e,this.#i.opacity),t=!1}).A(this.A);h.M("line").D({x1:this.#r,y1:this.#e/2,x2:this.#t-this.#r,y2:this.#e/2,stroke:m.E,"stroke-width":3}).A(r),this.#o=h.M("circle").J("canvas98MenuItem").D({r:10,cx:this.#r+this.#i.opacity*(this.#t-this.#r*2),cy:this.#e/2,stroke:m.I,"stroke-width":3,fill:m.H}).A(r)}#l(t,e){let r=this.#i,i={A:()=>{r.opacity=t,r.E(),this.#s.D()},B:()=>{r.opacity=e,r.E(),this.#s.D()}};this.#s.K(i)}#m(t,e){var r=t.clientX-e.X().x+this.#t/2;r=Math.max(this.#r,Math.min(r,this.#t-this.#r));let i=(r-this.#r)/(this.#t-this.#r*2);this.#p(i)}#p(t){this.#i.opacity=t,this.#i.E(),this.#s.D(),this.#o.D({cx:this.#r+this.#i.opacity*(this.#t-this.#r*2)})}};var he=class{#t;B=!1;C=new g;get A(){return this.#t}D(t){let e=-t+(this.A.C.clientHeight-this.A.C.parentElement.clientHeight)/2;this.A.B({transform:"translate(-100%, "+e+"px)"})}constructor(t,e){this.#t=h.H("div").B({position:"absolute",transform:"translate(-100%, 0)",background:m.A(m.B),cursor:"default","box-shadow":m.D,width:"200px",left:"0"}).N(r=>{r.stopPropagation()}).S(r=>{r.stopPropagation()}).R(r=>{r.stopPropagation()}),this.#i(t,e),this.#e(t,e),this.#r(t,e),this.#s(t,e)}#e(t,e){let r=h.E().B({"justify-content":"space-between"}).A(this.A);new oe(t,e).A.A(r);let i=new c().C("attachment","クリッピング"),s=e;i.B=s.isClipped,i.A.N(()=>{let o={A:()=>{s.isClipped=!s.isClipped,e.E(),t.D(),this.C.B(s)},B:()=>{o.A()}};o.A(),t.K(o),i.B=s.isClipped}).A(r)}#r(t,e){new c().A.B({"justify-content":"initial",height:c.D,"padding-left":"20px"}).F("下のレイヤーと結合").N(()=>{w.G(t,e)}).A(this.A)}#s(t,e){new c().A.B({"justify-content":"initial",height:c.D,"padding-left":"20px"}).F("複製").N(()=>{w.H(t,e)}).A(this.A)}E(){this.A.B({left:"-10px"})}F(){this.A.B({left:"0"})}#i(t,e){var r=new ae(t,e);r.A.A(this.A)}};var le=class{#t(t,e){let r=t;if(r.layers==null)return[{A:t,B:e}];let i=[];if(!r.isClosed)for(let s of r.layers)i.push(...this.#t(s,e+1));return i.push({A:t,B:e}),i}A(t){let e=[];for(let r of t.layers)e.push(...this.#t(r,0));return e.reverse()}};var N=class{static A(t){let e=window.getComputedStyle(t),r=document.createElement("div");return r.style.width=e.width,r.style.height=e.height,r.style.minHeight=e.minHeight,r.style.marginTop=e.marginTop,r.style.marginLeft=e.marginLeft,r.style.marginBottom=e.marginBottom,r.style.marginRight=e.marginRight,r.style.paddingTop=e.paddingTop,r.style.paddingLeft=e.paddingLeft,r.style.paddingBottom=e.paddingBottom,r.style.paddingRight=e.paddingRight,r}static B(t,e){let r=t.parentElement,i=t.nextElementSibling;i!=null&&r.insertBefore(i,e)}static C(t,e){let r=t.parentElement,i=e.previousElementSibling;i!=null&&r.insertBefore(i,t.nextSibling)}},me=class{B;A;get C(){return this.B.x+this.A.x}get D(){return this.B.y+this.A.y}E(t,e){this.A.x+=t,this.A.y+=e}F(t){this.A.x-=t.x-this.B.x,this.A.y-=t.y-this.B.y,this.B.x=t.x,this.B.y=t.y}},pe=class{A;B;C;D;constructor(t,e){this.A=t,this.B=e}E(t,e){this.C=t-this.A,this.D=e-this.B,this.A=t,this.B=e}};var G=class{static B(t){return{position:t.position,left:t.left,top:t.top,width:t.width,height:t.height,A:t.marginLeft,B:t.marginTop,C:t.marginRight,D:t.marginBottom}}static C(t){let e=window.getComputedStyle(t),r=P.D(t);return{position:"absolute",width:e.width,height:e.height,left:r.x+"px",top:r.y+"px",A:"",B:"",C:"",D:""}}static A(t,e){t.position=e.position,t.left=e.left,t.top=e.top,t.width=e.width,t.height=e.height,t.marginLeft=e.A,t.marginTop=e.B,t.marginRight=e.C,t.marginBottom=e.D}};var ce=class n{#t=!1;#e;#r;#s;#i;#n;#o;#a;#h;#l=!1;get D(){return this.#s}get A(){return this.#n}get E(){return this.#l}B=new g;C=new g;constructor(t,e,r){this.#n=t,this.#o=e,this.#a=r,f(t).R(i=>{this.#m(i)}).S(i=>{this.#p(i.clientX,i.clientY)}).N(()=>{this.#c()})}#m(t){this.#t||(this.F(t.clientX,t.clientY),t.target instanceof HTMLElement&&t.target.setPointerCapture(t.pointerId),t.stopPropagation())}F(t,e){this.#t=!0;let r=this.#n;this.#h=[...this.A.parentElement.children].indexOf(this.A),this.#i=new pe(t,e),this.#s=n.I(r);let i=G.C(r);this.#e=N.A(r),r.parentElement.insertBefore(this.#e,r),this.#r=G.B(r.style),G.A(r.style,i),this.B.B()}#p(t,e){if(!this.#t)return;this.#i.E(t,e),this.#s.E(this.#i.C,this.#i.D),P.J(this.#n,this.#e,this.#s)&&(this.#l=!0),f(this.#n).O(this.#s.C,this.#s.D),this.#a(this)}#c(){this.#l=!1,this.#t&&(this.#t=!1,G.A(this.#n.style,this.#r),this.#e.remove(),this.G()&&this.#o())}G(){return this.#h!=[...this.A.parentElement.children].indexOf(this.A)}H(){this.#t&&(this.#t=!1,G.A(this.#n.style,this.#r),this.#e.remove(),this.C.B())}static I(t){let e=new me;return e.B=P.D(t),e.A={x:0,y:0},e}};var P=class n{A=new g;B=new g;E=new g;F=new g;C;static I(t){let e=new n;e.A.A(()=>{e.C=null}),e.B.A(r=>{r.E&&(e.C=r.A)});for(let r of[...t.children])e.G(r);return e.#t(t),e}#t(t){let e=new Set([...t.children]);new MutationObserver(()=>{let i=[],s=[];for(let o of e.values())[...t.children].indexOf(o)==-1&&s.push(o);for(let o of s)e.delete(o);for(let o of[...t.children])e.has(o)||i.push(o);for(let o of i)e.add(o),this.G(o)}).observe(t,{childList:!0})}static D(t){return{x:t.offsetLeft-t.parentElement.scrollLeft,y:t.offsetTop-t.parentElement.scrollTop}}G(t){if(t.style.position=="absolute")return;let e=new ce(t,()=>{this.A.B(t)},r=>{this.B.B(r)});e.B.A(()=>{this.E.B(e)}),e.C.A(()=>{this.F.B(e)})}static J(t,e,r){return n.K(r,t)?(N.B(t,e),n.H(e,r),!0):n.L(r,t)?(N.C(t,e),n.H(e,r),!0):!1}static K(t,e){return t.A.y>e.offsetHeight*.55}static L(t,e){return t.A.y<-e.offsetHeight*.55}static H(t,e){let r=n.D(t);e.F(r)}};var ue=class{#t;#e;#r;get B(){return this.#r}get A(){return this.#r.C}#s=200;#i=70;#n;#o=[];#a=new le;constructor(){this.#r=h.E().B({"justify-content":"flex-start","align-items":"center","flex-direction":"column","max-height":"calc(100% - 300px)","overflow-y":"auto",padding:"10px"}).I("wheel",t=>{t.stopPropagation()}).Y().I("scroll",()=>{for(let t of this.#o)t.D(this.A.scrollTop)})}D(t){this.#n=P.I(this.A),this.#n.A.A(e=>{t.L(()=>{let r=this.#e.get(e),i=e.nextElementSibling,s=this.#e.get(i);return w.E(t,r,s),t.layers},t.B)}),this.#n.E.A(()=>{for(let e of this.#o)e.E()}),this.#n.F.A(()=>{for(let e of this.#o)e.F()}),this.#n.B.A(e=>{Math.abs(e.D.A.x)>100&&(e.H(),w.F(t))}),this.#c(t),t.T.A(()=>{this.#m(this.#a.A(t)),this.#p(t.B)}),t.U.A(()=>{this.#h(),this.#c(t)})}#h(){for(let t of[...this.A.children])t.remove()}#l(t){let e=this.#s/t.A.width,r=this.#i/t.A.height;return Math.min(e,r)}#m(t){for(let e of t){let r=e.A,i=this.#t.get(r),s=this.#l(r)*.9**e.B;f(i.C).Q(".canvas98LayerContainer").B({transform:"scale("+s+")"});let o=r.A.width*s+"px",l=r.A.height*s+"px";i.B({width:o,height:l,"min-width":o,"min-height":l,"margin-left":e.B*40+"px"});for(let p of f(i.C).C.querySelectorAll(".canvas98LayerInfoIcon"))f(p).B({transform:`scale(${1/s})`})}}#p(t){let e=this.#t.get(t),r=this.#l(t),i="0px 0px "+10/r+"px "+new u(255,127,0).A(.5),s=2/r+"px "+2/r+"px "+4/r+"px rgba(0, 0, 0, 0.1)";for(let o of this.#t.values()){let l=o.Q(".canvas98LayerContainer");l.C!=null&&l.B("box-shadow",s)}e&&e.Q(".canvas98LayerContainer").B("box-shadow",i)}#c(t){this.#t=new Map;let e=this.#t;this.#e=new Map;let r=this.#e,i=this.#a.A(t);for(let s of i){let o=h.E();e.set(s.A,o),r.set(o.C,s.A)}for(let s of i){let o=e.get(s.A);this.#u(t,o),o.S(p=>{p.stopPropagation()}).B({"justify-content":"center","align-items":"center","margin-top":"10px","margin-bottom":"10px",cursor:"grab","touch-action":"none","user-select":"none"}).A(this.B).R(()=>{t.B=s.A,this.#p(s.A)});let l=f("<div></div>").J("canvas98LayerContainer").T("relative").append(f(s.A.A)).A(o);if(this.#f(s.A),s.A.layers!=null){let p=s.A,A=new c().C("",""),y=()=>{let C=E.A.layers.O.A(p);A.A.F(C)};y(),A.A.J("canvas98LayerInfoIcon").P().B({background:"transparent",top:"0",left:"0"}).U("pointerdown").R(()=>{w.B(p,t.B)&&(t.B=p),p.isClosed=!p.isClosed,y(),t.U.B()}).A(l)}}this.#m(i),this.#p(t.B)}#f(t){this.#t.get(t).B({"border-left":t.isClipped?`solid ${new u(0,144,237).A(.4)} 5px`:"none","border-radius":"5px"})}#u(t,e){let r=!1,i,s=this.#e.get(e.C);e.R(()=>{r=t.B==s}).N(o=>{if(i!=null&&!i.B){this.C(),i=null;return}let l=e.C==this.#n.C;r&&!l&&(i=new he(t,s),i.C.A(()=>{this.#f(s)}),i.A.A(e),i.D(this.A.scrollTop),this.#o.push(i),o.stopPropagation())})}C(){for(let t of this.#o)t.A.remove(),t.B=!0;this.#o=[]}};var fe=class{#t=new ue;#e;get A(){return this.#e}E(t){let e=f("<div></div>").B({height:"100%",right:"0px",bottom:"0",position:"absolute",display:"flex","flex-direction":"column","justify-content":"center","align-items":"center",opacity:"0","transition-property":"visibility opacity","transition-duration":"0.2s"});this.#e=e,t.F.A(()=>{this.D()}),this.F(e,t),this.#t.B.A(e),this.#t.D(t.layers),t.A.D.A.C.insertBefore(this.A.C,t.A.A.B.C)}F(t,e){let r=f("<div></div>").F("add").J("canvas98MenuItem material-icons").B({"border-radius":"25px"}).D({title:"新規レイヤー"}).click(()=>{w.A(e.layers)}).S(i=>{i.stopPropagation()}).A(t);e.M(r,()=>{w.I(e.layers)})}#r=!1;B=new g;get G(){return this.#r}H(){this.#r?this.D():this.C()}C(){this.A.B({opacity:"1",visibility:""}),this.#r=!0,this.B.B()}D(){this.A.B({opacity:"0",visibility:"hidden"}),this.#r=!1,this.B.B()}I(){this.#t.C()}};var ge=class{#t=[];get A(){return this.#t[this.#t.length-1]}constructor(){for(let t=0;t<2;t++)this.#t.push(a.B())}B(t,e){this.#e(t);let r=this.#t[0],i=this.#t[1];a.E(a.A(i)),a.G(r,e),a.G(i,e);let s=t;for(let o=0;o<3;o++)a.C(s,r,e),a.C(s,r,e),a.C(r,i,e),a.C(r,i,e),s=i}#e(t){if(t.width!=this.A.width||t.height!=this.A.height)for(let e of this.#t)e.width=t.width,e.height=t.height}};var rt=class{B;A=[];C;constructor(t){this.B=t;for(let e of t.layers)this.A.push(this.#t(e));this.C=t.B}#t(t){let e=t;if(e.layers==null)return{A:t,children:null};let r={A:t,children:[]};for(let i of e.layers)r.children.push(this.#t(i));return r}D(){for(let t of this.A)this.#e(t),t.A.C=null;this.B.M(this.A.map(t=>t.A),this.C)}#e(t){if(t.children==null)return;let e=t.A;e.layers=t.children.map(r=>r.A);for(let r of t.children)this.#e(r),r.A.C=t.A}};var Ae=class{C;A;B;#t;constructor(t){this.C=t}F(){this.#t=new rt(this.C)}G(){let t=new rt(this.C);this.A=()=>{this.#t.D()},this.B=()=>{t.D()}}};var de=class{#t;#e;constructor(t){this.#t=t,this.#e=new ge,this.A=(e,r)=>{a.G(e.A,r),this.B(e.layers,r),this.C(e.A,e.layers,r)}}A;D(t,e,r){a.F(t,u.G,r),this.B(e,r),this.C(t,e,r)}#r(t){let e=t.blendingMode;return e==null||e==""||e=="null"?M.A:e}B(t,e){for(let r of t)r.layers&&r.N&&this.A(r,e),r.N=!1}C(t,e,r){let i=a.A(t),s=!1,o;for(let l=0;l<e.length;l++){let p=e[l],A=e[l+1],y=A&&A.isClipped,L=A==null||A&&!A.isClipped;if(s){let C=a.A(this.#e.A);C.globalAlpha=p.opacity,C.globalCompositeOperation=this.#r(p),a.C(p.A,this.#e.A,r),L&&(C.globalAlpha=1,a.I(a.A(this.#e.A),"destination-in"),a.C(o.A,this.#e.A,r),i.globalAlpha=o.opacity,i.globalCompositeOperation=this.#r(o),a.C(this.#e.A,t,r),s=!1)}else{if(y){this.#e.B(p.A,r),s=!0,o=p;continue}i.globalAlpha=p.opacity,i.globalCompositeOperation=this.#r(p),a.C(p.A,t,r)}}}E(t,e){let r=this.#t,i=new Ae(r);return i.F(),r.M(t(),e),i.G(),i}};var ye=class{async B(t,e){var r=this.A(t,e);a.H(r,t)}A(t,e){var r=a.B(Math.floor(t.width*e),Math.floor(t.height*e)),i=new Float32Array(3*r.width*r.height),s=t.getContext("2d"),o=s.getImageData(0,0,t.width,t.height);for(let l=0;l<r.height;l++)for(let p=0;p<r.width;p++)this.#e(o,i,p,l,r);return this.#t(r,i),r}#t(t,e){var r=t.getContext("2d"),i=r.getImageData(0,0,t.width,t.height),s=i.data;for(let o=0;o<t.height;o++)for(let l=0;l<t.width;l++){let p=(l+t.width*o)*4,A=(l+t.width*o)*3;s[p+0]=Math.round(e[A+0]),s[p+1]=Math.round(e[A+1]),s[p+2]=Math.round(e[A+2]),s[p+3]=255}r.putImageData(i,0,0)}#e(t,e,r,i,s){let o=t.data,l=this.#r(i,s.height,t.height),p=this.#s(i,s.height,t.height),A=this.#r(r,s.width,t.width),y=this.#s(r,s.width,t.width),L=(r+s.width*i)*3;for(let C=l;C<p;C++)for(let D=A;D<y;D++){let K=(D+C*t.width)*4,He=this.#i(D,t.width,r,s.width),Pe=this.#i(C,t.height,i,s.height),Ce=He*Pe;e[L+0]+=o[K+0]*Ce,e[L+1]+=o[K+1]*Ce,e[L+2]+=o[K+2]*Ce}}#r(t,e,r){var i=t/e;return Math.floor(i*r)}#s(t,e,r){var i=(t+1)/e;return Math.ceil(i*r)}#i(t,e,r,i){let s=t/e,o=(t+1)/e,l=r/i,p=(r+1)/i,A=l<=s,y=o<=p;return A&&y?i/e:A?(p-s)*i:y?(o-l)*i:0}};var De=class n{A=new fe;#t;B;async C(){let t=E.A;this.B=t,!n.D&&(this.#e(t),this.#r(t),this.#s(t),re.E(t),se.A(t),t.H=new ye,t.layers.O=new te(t),t.layers.layers.length<=1&&t.layers.O.B(),await S.A(0),this.A.C())}#e(t){t.G=new ne(t.layers),t.layers.P=new de(t.layers)}#r(t){let e=t.A.A.B.Q("#canvas98ExtensionContainer").B({display:"flex","align-items":"stretch"});this.#t=f("<li></li>").J("canvas98MenuItem material-icons").F("layers").D({id:"canvas98LayerButton",title:"レイヤー"}).click(()=>{this.A.H()}).A(e)}#s(t){this.A.E(t),this.A.B.A(()=>{this.A.G?this.#t.J(m.C):this.#t.V(m.C)}),t.A.D.A.N(()=>{this.A.I()})}static get D(){return E.A.A.C.C.querySelector("#canvas98LayerButton")!=null}static E(){new n().C()}};_t.A(()=>De.E());})();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2026/05/26 20:21:46 - 05/26
  2. 2026/05/26 19:50:42 - 05/26