UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.15 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getLocalTileOffset as i,getFeatureUniforms as s,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{TechniqueType as a}from"../TechniqueType.js";import{getAntialiasingControls as l}from"../line/utils.js";import{ComplexOutlineFillShader as u}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=a.ComplexOutlineFill,this.shaders={geometry:new u}}render(e,a){const{context:u,painter:m,pixelRatio:p}=e,f=a.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,f.uniforms),...s(e,a.target),antialiasingControls:l(p),mosaicInfo:m.textureManager.getMosaicInfo(u,a.textureKey),localTileOffset:i(a.target)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,a)}}export{m as ComplexOutlineFillTechnique};