/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{__decorate as t,__param as e}from"tslib";import{input as s}from"../../GraphShaderModule.js";import{Float as i,sin as r,cos as o,Vec3 as l,Vec4 as n,mix as a,ifElse as m,greaterThan as u}from"../../graph/glsl.js";import{PolyVertexInput as p,PolyHittestVertexInput as h,PolyFragmentInput as c,AAnimatedPolyShader as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as y}from"../shaders/ComplexFillShader.js";import{c256ToRad as f,noHit as g,trueHit as x}from"../shaders/constants.js";import{isRectHittest as b,hittestFill as w,hittestScreenRect as P}from"../shaders/hittestUtils.js";class v extends d{constructor(){super(...arguments),this.type="AnimatedFillShader"}vertex(t,e){const{distanceToPx:s,ndc:m,z:u,color:p,isOutline:h,strokeWidth:c,isSDF:d,scale:g,scaleSymbolsProportionally:x}=this._vertexPoly(t),b=this.view.requiredZoomFactor,w=t.sizing.xy,P=w.multiply(b),v=t.angle?t.angle.multiply(f):new i(0),S=r(v),j=o(v),F=y(t.id,P,S,j,t.bitset),O=this.localTileOffset.getPatternOffsetAtTileOrigin(w,S,j),T=b.multiply(t.offset.subtract(O)).divide(P),q=new l(t.pos,1),A=F.multiply(q).xy.subtract(T),R=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(m,u,1),tlbr:R,uv:A,color:p.multiply(new i(1).subtract(h)),outlineColor:p.multiply(h),distanceToPx:s,strokeWidth:c.multiply(a(new i(1),g,x)),isOutline:h,isSDF:d,...this.maybeRunHittest(t,e,{})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,s){const{pos0:r,pos1:o,pos2:l}=this.computeHittestTriangle(t,e,null),n=b(this.hittestRequest);return m(n,()=>{const{tlbr:t}=this.hittestRequest;return P(r,o,l,t)},()=>{const s=w(this,t,e);return m(u(s,this.hittestRequest.distance),new i(g),new i(x))})}}t([e(0,s(p)),e(1,s(h))],v.prototype,"vertex",null),t([e(0,s(c))],v.prototype,"fragment",null);export{v as AnimatedFillShader};
