/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{getAntialiasingControls as u}from"../line/utils.js";import{PatternOutlineFillShader as l}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new l}}render(e,l){const{painter:m,pixelRatio:f}=e,p=l.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,l.target,p.uniforms),...a(e,l.target),antialiasingControls:u(f),mosaicInfo:m.textureManager.getMosaicInfo(e,l.textureKey),localTileOffset:i(l.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,l.textureKey)},defines:{...r(e)},optionalAttributes:p.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,l)}}export{m as PatternOutlineFillTechnique};
