UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.45 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{FeatureSymbologyDrawOrder as e}from"../../../enums.js";import{FeatureTechnique as s}from"../FeatureTechnique.js";import{getSelectionDefines as t,isHittest as r,getFeatureUniforms as a,resolveDynamicUniforms as i,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{TechniqueType as n}from"../TechniqueType.js";import{TextShader as u,TextRenderPassType as d}from"./TextShader.js";class m extends s{constructor(){super(...arguments),this.type=n.Text,this.shaders={geometry:new u},this.symbologyPlane=e.TEXT}render(e,s){const{context:n,painter:u}=e,m=t(e),p=s.instance.getInput(),f={shader:this.shaders.geometry,uniforms:{...i(e,s.target,p.uniforms),...a(e,s.target),mosaicInfo:u.textureManager.getMosaicInfo(n,s.textureKey)},defines:{...m,isBackgroundPass:!0,isLabel:!1,textRenderPassType:d.Color},optionalAttributes:p.optionalAttributes,useComputeBuffer:r(e)};u.setShader(f),u.setPipelineState(o(e)),u.submitDraw(e,s),u.setShader({...f,defines:{...m,isBackgroundPass:!1,isLabel:!1,textRenderPassType:d.Halo}}),u.submitDraw(e,s),u.setShader({...f,defines:{...m,isBackgroundPass:!1,isLabel:!1,textRenderPassType:d.Outline}}),u.submitDraw(e,s),u.setShader({...f,defines:{...m,isBackgroundPass:!1,isLabel:!1,textRenderPassType:d.Color}}),u.submitDraw(e,s)}}export{m as TextTechnique};