UNPKG

1.56 kBJavaScriptView Raw
1/*! For license information please see 294.min.js.LICENSE.txt */
2(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[294],{6294:(t,i,a)=>{a.d(i,{TrailDrawer:()=>l});var r=a(5540);const e=.5;class l{draw(t){const{context:i,radius:a,particle:r}=t,l=2*a,n=r.container.retina.pixelRatio,o=r.getPosition();if(!r.trail||!r.trailLength)return;const s=r.trailLength+a;if(r.trail.push({color:i.fillStyle??i.strokeStyle,position:{x:o.x,y:o.y}}),r.trail.length<2)return;for(;r.trail.length>s;)r.trail.shift();const h=Math.min(r.trail.length,s),c=o.x,x=o.y,d=r.container.canvas.size.width+l,p=r.container.canvas.size.height+l;let y=r.trail[h-1].position;const f=1,g=0,M=0,b=1;i.setTransform(f,g,M,b,o.x,o.y);for(let t=h;t>0;t--){const a=r.trail[t-1],o=a.position;i.beginPath(),i.moveTo(y.x-c,y.y-x);const s={x:(y.x+d)%d,y:(y.y+p)%p};if(Math.abs(y.x-o.x)>d*e||Math.abs(y.y-o.y)>p*e){y=o;continue}i.lineTo((Math.abs(y.x-o.x)>d*e?s.x:o.x)-c,(Math.abs(y.y-o.y)>p*e?s.y:o.y)-x);const f=Math.max(t/h*l,n,r.trailMinWidth??-1),g=i.globalAlpha;i.globalAlpha=r.trailFade?t/h:1,i.lineWidth=r.trailMaxWidth?Math.min(f,r.trailMaxWidth):f,i.strokeStyle=a.color,i.stroke(),i.globalAlpha=g,y=o}const{transformData:m}=t;i.setTransform(m.a,m.b,m.c,m.d,o.x,o.y)}particleInit(t,i){i.trail=[];const a=i.effectData;i.trailFade=a?.fade??!0,i.trailLength=(0,r.VG)(a?.length??10)*t.retina.pixelRatio,i.trailMaxWidth=a?.maxWidth?(0,r.VG)(a.maxWidth)*t.retina.pixelRatio:void 0,i.trailMinWidth=a?.minWidth?(0,r.VG)(a.minWidth)*t.retina.pixelRatio:void 0}}}}]);
\No newline at end of file