/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as t}from"tslib";import{location as e,ComputeVertexInput as o}from"../../GraphShaderModule.js";import{Vec4 as s,Float as i,Vec2 as r,mod as l,mix as a,ifElse as n,or as c,Bool as m}from"../../graph/glsl.js";import{AAnimatedVertexInput as p,AAnimatedFragmentInput as d,AAnimatedShader as u,getValue as b}from"./AAnimatedShader.js";import{MarkerConstants as h}from"../markers/markerConstants.js";import{getBitBool as x}from"../shaders/utils.js";import{getVisualVariableColor as y,getVisualVariableOpacity as P}from"../shaders/vvUtils.js";class v extends p{}t([e(9,s)],v.prototype,"tlbr",void 0),t([e(10,i)],v.prototype,"angle",void 0);class S extends o{}t([e(13,r)],S.prototype,"nextPos1",void 0),t([e(14,r)],S.prototype,"nextPos2",void 0);class g extends d{}class f extends u{constructor(){super(...arguments),this.computeAttributes={pos:["nextPos1","nextPos2"]}}_fragmentPoly(t){const e=l(t.uv,new i(1)),o=a(t.tlbr.xy,t.tlbr.zw,e);return this._getColor(o,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth})}_vertexPoly(t){const{position:e,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,clip:w}=this._vertexPreamble(t,new i(0),t.lineLength||new i(0)),k=this._toNdc(e);let j=b(o,1,r);j=new s(j.rgb.multiply(j.a),j.a);let z=n(x(t.bitset,h.bitset.colorLocked),j,b(o,2,r));z=new s(z.rgb.multiply(z.a),z.a);let D=b(o,3,r);D=new s(D.rgb.multiply(D.a),D.a);const T=b(o,4,r).a,_=b(o,5,r).a,C=y(this,t.id,j,c(x(t.bitset,h.bitset.colorLocked),new m(l))),F=a(C,z,D),A=P(this,t.id),L=a(A,T,_),W=F.multiply(L),O=this.clip(t.id,t.zoomRange).add(w.multiply(2)),G=p.multiply(d);return{unscaledDistanceToPx:p,vvScale:d,strokeWidth:u,scaleSymbolsProportionally:v,scale:S,isSDF:g,baseSize:f,ndc:k,color:W,z:O,isOutline:l,evalParams:r,distanceToPx:G}}}export{f as AAnimatedPolyShader,g as PolyFragmentInput,S as PolyHittestVertexInput,v as PolyVertexInput};
