/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["require","exports","../../../../chunks/_rollupPluginBabelHelpers","../../../ViewingMode","../core/shaderTechnique/ReloadableShaderModule","../core/shaderTechnique/ShaderTechnique","../lib/DefaultVertexAttributeLocations","../lib/Program","../../../../chunks/LineCallout.glsl","../../../webgl/enums","../../../webgl/renderState"],(function(e,t,i,n,r,a,o,l,u,s,c){"use strict";let d=function(e){function t(){return e.apply(this,arguments)||this}i._inheritsLoose(t,e);var r=t.prototype;return r.initializeConfiguration=function(e,t){t.spherical=e.viewingMode===n.ViewingMode.Global},r.initializeProgram=function(e){const i=t.shader.get().build(this.configuration);return new l.Program(e.rctx,i,o.Default3D)},r.setPipelineState=function(e){const t=e?s.CompareFunction.ALWAYS:s.CompareFunction.LESS;return this.configuration.depthHudEnabled?c.makePipelineState({depthTest:{func:t},depthWrite:c.defaultDepthWriteParams}):c.makePipelineState({blending:c.separateBlendingParams(s.BlendFactor.ONE,s.BlendFactor.SRC_ALPHA,s.BlendFactor.ONE_MINUS_SRC_ALPHA,s.BlendFactor.ONE_MINUS_SRC_ALPHA),depthTest:{func:t},colorWrite:c.defaultColorWriteParams})},r.initializePipeline=function(){return this.setPipelineState(this.configuration.hasMultipassGeometry)},t}(a.ShaderTechnique);d.shader=new r.ReloadableShaderModule(u.LineCallout,(()=>new Promise(((t,i)=>e(["./LineCallout.glsl"],t,i))))),t.LineCalloutTechnique=d,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
