litecanvas 0.301.1 → 0.302.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dist.dev.js +12 -6
- package/dist/dist.js +11 -5
- package/dist/dist.min.js +1 -1
- package/package.json +5 -5
- package/src/index.js +14 -6
- package/src/version.js +1 -1
package/dist/dist.dev.js
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
var assert = (condition, message = "Assertion failed") => {
|
|
116
116
|
if (!condition) throw new Error("[Litecanvas] " + message);
|
|
117
117
|
};
|
|
118
|
-
var version = "0.
|
|
118
|
+
var version = "0.302.0";
|
|
119
119
|
function litecanvas(settings = {}) {
|
|
120
120
|
const root = window,
|
|
121
121
|
math = Math,
|
|
@@ -166,7 +166,8 @@
|
|
|
166
166
|
_fontSize = 20,
|
|
167
167
|
_fontLineHeight = 1.2,
|
|
168
168
|
_rngSeed = Date.now(),
|
|
169
|
-
|
|
169
|
+
_currentPalette = defaultPalette,
|
|
170
|
+
_lastPalette = defaultPalette,
|
|
170
171
|
_colorPaletteState = [],
|
|
171
172
|
_defaultSound = [0.5, 0, 1750, , , 0.3, 1, , , , 600, 0.1],
|
|
172
173
|
_eventListeners = {};
|
|
@@ -814,10 +815,15 @@
|
|
|
814
815
|
isNumber(textColor) && textColor >= 0,
|
|
815
816
|
"pal() 2nd argument must be a non-negative number",
|
|
816
817
|
);
|
|
817
|
-
|
|
818
|
+
if (null == colors) {
|
|
819
|
+
_currentPalette = _lastPalette;
|
|
820
|
+
} else {
|
|
821
|
+
_lastPalette = _currentPalette;
|
|
822
|
+
_currentPalette = colors;
|
|
823
|
+
}
|
|
818
824
|
_colorPaletteState = [];
|
|
819
825
|
_defaultTextColor = textColor;
|
|
820
|
-
instance.emit("pal",
|
|
826
|
+
instance.emit("pal", _currentPalette, _defaultTextColor);
|
|
821
827
|
},
|
|
822
828
|
palc(a, b) {
|
|
823
829
|
DEV: assert(
|
|
@@ -871,7 +877,7 @@
|
|
|
871
877
|
_fpsInterval / 1e3,
|
|
872
878
|
_canvasScale,
|
|
873
879
|
_eventListeners,
|
|
874
|
-
|
|
880
|
+
_currentPalette,
|
|
875
881
|
_defaultSound,
|
|
876
882
|
_timeScale,
|
|
877
883
|
root.zzfxV,
|
|
@@ -1188,7 +1194,7 @@
|
|
|
1188
1194
|
}
|
|
1189
1195
|
function getColor(index) {
|
|
1190
1196
|
const i = _colorPaletteState[index] ?? index;
|
|
1191
|
-
return
|
|
1197
|
+
return _currentPalette[~~i % _currentPalette.length];
|
|
1192
1198
|
}
|
|
1193
1199
|
if (settings.global) {
|
|
1194
1200
|
if (root.ENGINE) {
|
package/dist/dist.js
CHANGED
|
@@ -158,7 +158,8 @@
|
|
|
158
158
|
_fontSize = 20,
|
|
159
159
|
_fontLineHeight = 1.2,
|
|
160
160
|
_rngSeed = Date.now(),
|
|
161
|
-
|
|
161
|
+
_currentPalette = defaultPalette,
|
|
162
|
+
_lastPalette = defaultPalette,
|
|
162
163
|
_colorPaletteState = [],
|
|
163
164
|
_defaultSound = [0.5, 0, 1750, , , 0.3, 1, , , , 600, 0.1],
|
|
164
165
|
_eventListeners = {};
|
|
@@ -448,10 +449,15 @@
|
|
|
448
449
|
return arg1;
|
|
449
450
|
},
|
|
450
451
|
pal(colors, textColor = 3) {
|
|
451
|
-
|
|
452
|
+
if (null == colors) {
|
|
453
|
+
_currentPalette = _lastPalette;
|
|
454
|
+
} else {
|
|
455
|
+
_lastPalette = _currentPalette;
|
|
456
|
+
_currentPalette = colors;
|
|
457
|
+
}
|
|
452
458
|
_colorPaletteState = [];
|
|
453
459
|
_defaultTextColor = textColor;
|
|
454
|
-
instance.emit("pal",
|
|
460
|
+
instance.emit("pal", _currentPalette, _defaultTextColor);
|
|
455
461
|
},
|
|
456
462
|
palc(a, b) {
|
|
457
463
|
if (null == a) {
|
|
@@ -479,7 +485,7 @@
|
|
|
479
485
|
_fpsInterval / 1e3,
|
|
480
486
|
_canvasScale,
|
|
481
487
|
_eventListeners,
|
|
482
|
-
|
|
488
|
+
_currentPalette,
|
|
483
489
|
_defaultSound,
|
|
484
490
|
_timeScale,
|
|
485
491
|
root.zzfxV,
|
|
@@ -745,7 +751,7 @@
|
|
|
745
751
|
}
|
|
746
752
|
function getColor(index) {
|
|
747
753
|
const i = _colorPaletteState[index] ?? index;
|
|
748
|
-
return
|
|
754
|
+
return _currentPalette[~~i % _currentPalette.length];
|
|
749
755
|
}
|
|
750
756
|
if (settings.global) {
|
|
751
757
|
if (root.ENGINE) {
|
package/dist/dist.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e=["#211e20","#555568","#a0a08b","#e9efec"];window.litecanvas=function(t={}){let a,l=window,n=Math,i=performance,o=2*n.PI,r=requestAnimationFrame,s=[],f=(e,t,a)=>{e.addEventListener(t,a,!1),s.push(()=>e.removeEventListener(t,a,!1))},c=(l.zzfxX=new AudioContext,l.zzfxV=1,(e=1,t=.05,a=220,l=0,n=0,i=.1,o=0,r=1,s=0,f=0,c=0,d=0,u=0,p=0,h=0,m=0,g=0,w=1,v=0,x=0,y=0)=>{let b=Math,z=2*b.PI,k=s*=500*z/44100/44100,E=a*=(1-t+2*t*b.random(t=[]))*z/44100,T=0,C=0,P=0,I=1,D=0,L=0,S=0,A=y<0?-1:1,M=z*A*y*2/44100,N=b.cos(M),W=b.sin,X=W(M)/4,H=1+X,q=-2*N/H,B=(1-X)/H,V=(1+A*N)/2/H,O=-(A+N)/H,G=0,R=0,Y=0,$=0;for(l=44100*l+9,v*=44100,n*=44100,i*=44100,g*=44100,f*=500*z/85766121e6,h*=z/44100,c*=z/44100,d*=44100,u=44100*u|0,e*=.3*zzfxV,A=l+v+n+i+g|0;P<A;t[P++]=S*e)++L%(100*m|0)||(S=o?1<o?2<o?3<o?W(T*T):b.max(b.min(b.tan(T),1),-1):1-(2*T/z%2+2)%2:1-4*b.abs(b.round(T/z)-T/z):W(T),S=(u?1-x+x*W(z*P/u):1)*(S<0?-1:1)*b.abs(S)**r*(P<l?P/l:P<l+v?1-(P-l)/v*(1-w):P<l+v+n?w:P<A-g?(A-P-g)/i*w:0),S=g?S/2+(g>P?0:(P<A-g?1:(A-P)/g)*t[P-g|0]/2/e):S,y&&(S=$=V*G+O*(G=R)+V*(R=S)-B*Y-q*(Y=$))),T+=(M=(a+=s+=f)*b.cos(h*C++))+M*p*W(P**5),I&&++I>d&&(a+=c,E+=c,I=0),!u||++D%u||(a=E,s=k,I=I||1);(e=zzfxX.createBuffer(1,A,44100)).getChannelData(0).set(t),(a=zzfxX.createBufferSource()).buffer=e,a.connect(zzfxX.destination),a.start()}),d=(t=Object.assign({width:null,height:null,autoscale:!0,canvas:null,global:!0,loop:null,tapEvents:!0,keyboardEvents:!0},t)).loop,u,p,h,m=1,g,w=.5,v=1,x,y=1e3/60,b,z=0,k=3,E="sans-serif",T=20,C=1.2,P=Date.now(),I=e,D=[],
|
|
1
|
+
(()=>{var e=["#211e20","#555568","#a0a08b","#e9efec"];window.litecanvas=function(t={}){let a,l=window,n=Math,i=performance,o=2*n.PI,r=requestAnimationFrame,s=[],f=(e,t,a)=>{e.addEventListener(t,a,!1),s.push(()=>e.removeEventListener(t,a,!1))},c=(l.zzfxX=new AudioContext,l.zzfxV=1,(e=1,t=.05,a=220,l=0,n=0,i=.1,o=0,r=1,s=0,f=0,c=0,d=0,u=0,p=0,h=0,m=0,g=0,w=1,v=0,x=0,y=0)=>{let b=Math,z=2*b.PI,k=s*=500*z/44100/44100,E=a*=(1-t+2*t*b.random(t=[]))*z/44100,T=0,C=0,P=0,I=1,D=0,L=0,S=0,A=y<0?-1:1,M=z*A*y*2/44100,N=b.cos(M),W=b.sin,X=W(M)/4,H=1+X,q=-2*N/H,B=(1-X)/H,V=(1+A*N)/2/H,O=-(A+N)/H,G=0,R=0,Y=0,$=0;for(l=44100*l+9,v*=44100,n*=44100,i*=44100,g*=44100,f*=500*z/85766121e6,h*=z/44100,c*=z/44100,d*=44100,u=44100*u|0,e*=.3*zzfxV,A=l+v+n+i+g|0;P<A;t[P++]=S*e)++L%(100*m|0)||(S=o?1<o?2<o?3<o?W(T*T):b.max(b.min(b.tan(T),1),-1):1-(2*T/z%2+2)%2:1-4*b.abs(b.round(T/z)-T/z):W(T),S=(u?1-x+x*W(z*P/u):1)*(S<0?-1:1)*b.abs(S)**r*(P<l?P/l:P<l+v?1-(P-l)/v*(1-w):P<l+v+n?w:P<A-g?(A-P-g)/i*w:0),S=g?S/2+(g>P?0:(P<A-g?1:(A-P)/g)*t[P-g|0]/2/e):S,y&&(S=$=V*G+O*(G=R)+V*(R=S)-B*Y-q*(Y=$))),T+=(M=(a+=s+=f)*b.cos(h*C++))+M*p*W(P**5),I&&++I>d&&(a+=c,E+=c,I=0),!u||++D%u||(a=E,s=k,I=I||1);(e=zzfxX.createBuffer(1,A,44100)).getChannelData(0).set(t),(a=zzfxX.createBufferSource()).buffer=e,a.connect(zzfxX.destination),a.start()}),d=(t=Object.assign({width:null,height:null,autoscale:!0,canvas:null,global:!0,loop:null,tapEvents:!0,keyboardEvents:!0},t)).loop,u,p,h,m=1,g,w=.5,v=1,x,y=1e3/60,b,z=0,k=3,E="sans-serif",T=20,C=1.2,P=Date.now(),I=e,D=e,L=[],S=[.5,0,1750,,,.3,1,,,,600,.1],A={},M={W:0,H:0,T:0,MX:-1,MY:-1,TAU:o,lerp:(e,t,a)=>e+a*(t-e),deg2rad:e=>n.PI/180*e,rad2deg:e=>180/n.PI*e,mod:(e,t)=>(e%t+t)%t||0,round:(e,t=0)=>{if(!t)return n.round(e);let a=10**t;return n.round(e*a)/a},clamp:(e,t,a)=>e<t?t:e>a?a:e,dist:(e,t,a,l)=>n.hypot(a-e,l-t),wrap:(e,t,a)=>e-(a-t)*n.floor((e-t)/(a-t)),map(e,t,a,l,n,i){let o=(e-t)/(a-t)*(n-l)+l;return i?M.clamp(o,l,n):o},norm:(e,t,a)=>M.map(e,t,a,0,1),rand:(e=0,t=1)=>(P=(1664525*P+0x3c6ef35f)%0x100000000)/0x100000000*(t-e)+e,randi:(e=0,t=1)=>~~M.rand(e,t+1),rseed(e){P=~~e},cls(e){null==e?g.clearRect(0,0,M.W,M.H):M.rectfill(0,0,M.W,M.H,e)},rect(e,t,a,l,n,i){g.beginPath(),g[i?"roundRect":"rect"](~~e-w,~~t-w,~~a+2*w,~~l+2*w,i),M.stroke(n)},rectfill(e,t,a,l,n,i){g.beginPath(),g[i?"roundRect":"rect"](~~e,~~t,~~a,~~l,i),M.fill(n)},oval(e,t,a,l,n){g.beginPath(),g.ellipse(~~e,~~t,~~a,~~l,0,0,o),M.stroke(n)},ovalfill(e,t,a,l,n){g.beginPath(),g.ellipse(~~e,~~t,~~a,~~l,0,0,o),M.fill(n)},circ(e,t,a,l){M.oval(e,t,a,a,l)},circfill(e,t,a,l){M.ovalfill(e,t,a,a,l)},shape(e){g.beginPath();for(let t=0;t<e.length;t+=2)t?g.lineTo(~~e[t],~~e[t+1]):g.moveTo(~~e[t],~~e[t+1]);g.lineTo(~~e[0],~~e[1])},line(e,t,a,l,n){g.beginPath();let i=w&&~~e==~~a?.5:0,o=w&&~~t==~~l?.5:0;g.moveTo(~~e+i,~~t+o),g.lineTo(~~a+i,~~l+o),M.stroke(n)},linewidth(e){g.lineWidth=~~e,w=~~e%2?.5:0},linedash(e,t=0){g.setLineDash(e),g.lineDashOffset=t},text(e,t,a,l=k,n="normal"){g.font=`${n} ${T}px ${E}`,g.fillStyle=q(l);let i=(""+a).split("\n");for(let a=0;a<i.length;a++)g.fillText(i[a],~~e,~~t+T*C*a)},textgap(e){C=e},textfont(e){E=e},textsize(e){T=e},textalign(e,t){e&&(g.textAlign=e),t&&(g.textBaseline=t)},image(e,t,a){g.drawImage(a,~~e,~~t)},spr(e,t,a){let l=a.replace(/[^\w.\n]/g,"").split("\n").filter(e=>e);for(let a=0;a<l.length;a++)for(let n=0;n<l[a].length;n++)"."!==l[a][n]&&M.rectfill(e+n,t+a,1,1,parseInt(l[a][n],36)||0)},paint(e,t,a,l={}){let n=l.canvas||new OffscreenCanvas(1,1),i=l.scale||1,o=g;return n.width=e*i,n.height=t*i,(g=n.getContext("2d")).scale(i,i),a(g),g=o,n.transferToImageBitmap()},ctx:e=>(e&&(g=e),g),push(e=0,t=e,a=0,l=1,n=l){g.save(),M.translate(e,t),M.rotate(a),M.scale(l,n)},pop(){g.restore()},translate(e,t){g.translate(~~e,~~t)},scale(e,t=e){g.scale(e,t)},rotate(e){g.rotate(e)},alpha(e){g.globalAlpha=M.clamp(e,0,1)},fill(e){g.fillStyle=q(e),g.fill()},stroke(e){g.strokeStyle=q(e),g.stroke()},clip(e){g.beginPath(),e(g),g.clip()},sfx:(e,t,a)=>!!l.zzfxV&&(!navigator.userActivation||!!navigator.userActivation.hasBeenActive)&&(e||=S,(t||a>=0)&&((e=e.slice())[0]=a*(e[0]||1),e[10]=~~e[10]+t),c.apply(0,e),e),volume(e){l.zzfxV=e},canvas:()=>h,use(e,t={}){var a=e,l=t;let n=a(M,l);for(let e in n)M.def(e,n[e])},resize(e,a=e,l){t.width=e,t.height=a,t.autoscale=null==l?t.autoscale:l,X()},listen:(e,t)=>{A[e=e.toLowerCase()]=A[e]||new Set,A[e].add(t)},unlisten:(e,t)=>{A[e=e.toLowerCase()]&&A[e].delete(t)},emit:(e,t,a,n,i)=>(u&&(H("before:"+(e=e.toLowerCase()),t,a,n,i),d||l[e]===M[e]||"function"!=typeof l[e]||l[e](t,a,n,i),H(e,t,a,n,i),H("after:"+e,t,a,n,i)),t),pal(e,t=3){null==e?I=D:(D=I,I=e),L=[],k=t,M.emit("pal",I,k)},palc(e,t){null==e?L=[]:L[e]=t},def(e,a){M[e]=a,t.global&&(l[e]=a)},timescale(e){v=e},framerate(e){y=1e3/~~e},stat:e=>[t,u,y/1e3,m,A,I,S,v,l.zzfxV,P,T,E,L,C][e],ispaused:()=>p,pause(){p||(p=!0,z=~~cancelAnimationFrame(z),M.emit("paused"))},resume(){u&&p&&(N(),p=!1,M.emit("resumed"))},quit(){for(let e of(M.emit("quit"),M.pause(),u=!1,A={},s))e();if(t.global){for(let e in M)delete l[e];delete l.ENGINE}}};for(let e of"PI,sin,cos,atan2,hypot,tan,abs,ceil,floor,trunc,min,max,pow,sqrt,sign,exp".split(","))M[e]=n[e];function N(){z||(b=0,x=i.now(),z=r(W))}function W(){z=r(W);let e=i.now(),t=0,a=e-x;for(x=e,b+=a<100?a:y;b>=y;){t++,b-=y;let e=y/1e3*v;M.emit("update",e,t),M.def("T",M.T+e)}t&&(M.emit("draw",g),t>1&&(b=0))}function X(){let e=t.width>0?t.width:innerWidth,a=t.width>0?t.height||t.width:innerHeight;if(M.def("W",e),M.def("H",a),h.width=e,h.height=a,h.style="image-rendering:pixelated",t.autoscale){let l=+t.autoscale;h.style.display||(h.style.display="block",h.style.margin="auto"),m=n.min(innerWidth/e,innerHeight/a),m=l>1&&m>l?l:m,h.style.width=e*m+"px",h.style.height=a*m+"px"}g.imageSmoothingEnabled=!1,M.textalign("start","top"),M.emit("resized",m)}function H(e,t,a,l,n){if(A[e])for(let i of A[e])i(t,a,l,n)}function q(e){return I[~~(L[e]??e)%I.length]}if(t.global){if(l.ENGINE)throw Error("only one global litecanvas is allowed");Object.assign(l,M),l.ENGINE=M}if(a=document,g=(h=(h="string"==typeof t.canvas?a.querySelector(t.canvas):t.canvas)||a.createElement("canvas")).getContext("2d"),f(h,"click",()=>focus()),h.parentNode||a.body.appendChild(h),h.oncontextmenu=()=>!1,X(),d)for(let e in d)d[e]&&M.listen(e,d[e]);return r(function(){if(t.autoscale&&f(l,"resize",X),t.tapEvents){let e=e=>[(e.pageX-h.offsetLeft)/m,(e.pageY-h.offsetTop)/m],t=new Map,a=(e,a,l)=>{let n={x:a,y:l,xi:a,yi:l,t:i.now()};return t.set(e,n),n},n=(e,l,n)=>{let i=t.get(e)||a(e);i.x=l,i.y=n},o=e=>e&&i.now()-e.t<=300,r=!1;f(h,"mousedown",t=>{if(!t.button){t.preventDefault();let[l,n]=e(t);M.emit("tap",l,n,0),a(0,l,n),r=!0}}),f(h,"mouseup",a=>{if(!a.button){a.preventDefault();let l=t.get(0),[n,i]=e(a);o(l)&&M.emit("tapped",l.xi,l.yi,0),M.emit("untap",n,i,0),t.delete(0),r=!1}}),f(l,"mousemove",t=>{t.preventDefault();let[a,l]=e(t);M.def("MX",a),M.def("MY",l),r&&(M.emit("tapping",a,l,0),n(0,a,l))}),f(h,"touchstart",t=>{for(let l of(t.preventDefault(),t.changedTouches)){let[t,n]=e(l);M.emit("tap",t,n,l.identifier+1),a(l.identifier+1,t,n)}}),f(h,"touchmove",t=>{for(let a of(t.preventDefault(),t.changedTouches)){let[t,l]=e(a);M.emit("tapping",t,l,a.identifier+1),n(a.identifier+1,t,l)}});let s=e=>{e.preventDefault();let a=[];for(let t of e.targetTouches)a.push(t.identifier+1);for(let[e,l]of t)a.includes(e)||(o(l)&&M.emit("tapped",l.xi,l.yi,e),M.emit("untap",l.x,l.y,e),t.delete(e))};f(h,"touchend",s),f(h,"touchcancel",s),f(l,"blur",()=>{for(let[e,a]of(r=!1,t))M.emit("untap",a.x,a.y,e),t.delete(e)})}if(t.keyboardEvents){let e=new Set,t=new Set,a=(e,t="")=>(t=t.toLowerCase())?e.has("space"===t?" ":t):e.size>0,n="";f(l,"keydown",a=>{let l=a.key.toLowerCase();e.has(l)||(e.add(l),t.add(l),n=" "===l?"space":l)}),f(l,"keyup",t=>{e.delete(t.key.toLowerCase())}),f(l,"blur",()=>e.clear()),M.listen("after:update",()=>t.clear()),M.def("iskeydown",t=>a(e,t)),M.def("iskeypressed",e=>a(t,e)),M.def("lastkey",()=>n)}u=!0,M.emit("init",M),p||N()}),M}})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "litecanvas",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.302.0",
|
|
4
4
|
"description": "Lightweight HTML5 canvas 2D game engine suitable for small projects and creative coding. Inspired by PICO-8 and p5.js/Processing.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Luiz Bills <luizbills@pm.me>",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"creative coding"
|
|
33
33
|
],
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@happy-dom/global-registrator": "^20.
|
|
35
|
+
"@happy-dom/global-registrator": "^20.10.4",
|
|
36
36
|
"@size-limit/preset-small-lib": "^12.1.0",
|
|
37
|
-
"@swc/core": "^1.15.
|
|
37
|
+
"@swc/core": "^1.15.41",
|
|
38
38
|
"ava": "^8.0.1",
|
|
39
|
-
"esbuild": "^0.28.
|
|
39
|
+
"esbuild": "^0.28.1",
|
|
40
40
|
"genversion": "^3.2.0",
|
|
41
41
|
"gzip-size": "^7.0.0",
|
|
42
|
-
"prettier": "^3.8.
|
|
42
|
+
"prettier": "^3.8.4",
|
|
43
43
|
"sinon": "^22.0.0",
|
|
44
44
|
"size-limit": "^12.1.0",
|
|
45
45
|
"tap-min": "^3.0.0"
|
package/src/index.js
CHANGED
|
@@ -85,7 +85,9 @@ export default function litecanvas(settings = {}) {
|
|
|
85
85
|
/** @type {number} */
|
|
86
86
|
_rngSeed = Date.now(),
|
|
87
87
|
/** @type {string[]} */
|
|
88
|
-
|
|
88
|
+
_currentPalette = defaultPalette,
|
|
89
|
+
/** @type {string[]} */
|
|
90
|
+
_lastPalette = defaultPalette,
|
|
89
91
|
/** @type {number[]} */
|
|
90
92
|
_colorPaletteState = [],
|
|
91
93
|
/** @type {number[]} */
|
|
@@ -1183,7 +1185,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1183
1185
|
},
|
|
1184
1186
|
|
|
1185
1187
|
/**
|
|
1186
|
-
* Set new palette colors or restore
|
|
1188
|
+
* Set new palette colors or restore previous palette.
|
|
1187
1189
|
*
|
|
1188
1190
|
* @param {string[]} [colors] an array of colors
|
|
1189
1191
|
* @param {number} [textColor] the default text color this palette
|
|
@@ -1198,11 +1200,17 @@ export default function litecanvas(settings = {}) {
|
|
|
1198
1200
|
'pal() 2nd argument must be a non-negative number'
|
|
1199
1201
|
)
|
|
1200
1202
|
|
|
1201
|
-
|
|
1203
|
+
if (null == colors) {
|
|
1204
|
+
_currentPalette = _lastPalette
|
|
1205
|
+
} else {
|
|
1206
|
+
_lastPalette = _currentPalette
|
|
1207
|
+
_currentPalette = colors
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1202
1210
|
_colorPaletteState = []
|
|
1203
1211
|
_defaultTextColor = textColor
|
|
1204
1212
|
|
|
1205
|
-
instance.emit('pal',
|
|
1213
|
+
instance.emit('pal', _currentPalette, _defaultTextColor)
|
|
1206
1214
|
},
|
|
1207
1215
|
|
|
1208
1216
|
/**
|
|
@@ -1313,7 +1321,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1313
1321
|
_eventListeners,
|
|
1314
1322
|
|
|
1315
1323
|
// 5
|
|
1316
|
-
|
|
1324
|
+
_currentPalette,
|
|
1317
1325
|
|
|
1318
1326
|
// 6
|
|
1319
1327
|
_defaultSound,
|
|
@@ -1864,7 +1872,7 @@ export default function litecanvas(settings = {}) {
|
|
|
1864
1872
|
*/
|
|
1865
1873
|
function getColor(index) {
|
|
1866
1874
|
const i = _colorPaletteState[index] ?? index
|
|
1867
|
-
return
|
|
1875
|
+
return _currentPalette[~~i % _currentPalette.length]
|
|
1868
1876
|
}
|
|
1869
1877
|
|
|
1870
1878
|
if (settings.global) {
|
package/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '0.
|
|
2
|
+
export const version = '0.302.0'
|