UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 2.27 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{_ as t,a as o}from"../../../../../../../chunks/tslib.es6.js";import{location as e,uniform as r,input as i}from"../../GraphShaderModule.js";import{greaterThan as s,Float as l,ifElse as p,Vec4 as a,Vec2 as n}from"../../graph/glsl.js";import{BaseHittestVertexInput as m,FeatureVertexInput as u}from"./AFeatureShader.js";import{getComplexFillVertexData as h,getComplexFillFragmentColor as f}from"./ComplexFillShader.js";import{signedToUnsignedByte as d,packPrecision as c}from"./constants.js";import{hittestFill as x,failHittest as y}from"./hittestUtils.js";import{getLineFragmentColor as j}from"./LineShader.js";import{LocalTileOffset as v}from"./LocalTileOffset.js";import{MosaicInfo as g}from"./MosaicInfo.js";import{AOutlineFillShader as O,getOutlineFillVertexData as S}from"./OutlineFillShader.js";import{PatternOutlineFillFragmentInput as F}from"./PatternOutlineFillShader.js";const b=1/c;class w extends u{}t([e(3,a)],w.prototype,"color",void 0),t([e(4,a)],w.prototype,"tlbr",void 0),t([e(5,l)],w.prototype,"angle",void 0),t([e(6,l)],w.prototype,"aux1",void 0),t([e(7,l)],w.prototype,"aux2",void 0),t([e(8,n)],w.prototype,"aux3",void 0),t([e(9,n)],w.prototype,"aux4",void 0),t([e(10,n)],w.prototype,"zoomRange",void 0);class C extends F{}class R extends O{constructor(){super(...arguments),this.type="ComplexOutlineFillShader"}vertex(t,o){const{aux1:e,aux2:r,aux3:i,aux4:p}=t,a={...t,width:e,height:r,offset:i,scale:p.multiply(b)},n={...t,halfWidth:e,referenceHalfWidth:r,offset:i,normal:p.subtract(d).multiply(b)},m=S(this,n),u=h(this,a),f=s(m.isOutline,new l(.5));return{...m,...u,...this.maybeRunHittest(t,o,f)}}fragment(t){const{isOutline:o}=t,e=s(o,new l(.5)),r=j(t,this.antialiasingControls.blur),i=f(this,t),a=p(e,r,i),n=p(e,new l(1/255),new l(0));return this.getFragmentOutput(a,t,n)}hittest(t,o,e){return p(e,y(this.hittestRequest),x(this,t,o))}}t([r(g)],R.prototype,"mosaicInfo",void 0),t([r(v)],R.prototype,"localTileOffset",void 0),t([o(0,i(w)),o(1,i(m))],R.prototype,"vertex",null),t([o(0,i(C))],R.prototype,"fragment",null);export{R as ComplexOutlineFillShader,w as ComplexOutlineFillVertexInput};