UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.14 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{WGLDrawPhase as e}from"./webgl/enums.js";import i from"./webgl/WGLContainer.js";import{BitmapTechnique as s}from"./webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js";class r extends i{constructor(){super(...arguments),this._hasCrossfade=!1,this._bitmapTechnique=null}get requiresDedicatedFBO(){return super.requiresDedicatedFBO||this._hasCrossfade}beforeRender(e){super.beforeRender(e),this._manageFade()}onAttach(){super.onAttach(),this._bitmapTechnique=new s}onDetach(){super.onDetach(),this._bitmapTechnique?.shutdown(),this._bitmapTechnique=null}renderChildren(i){super.renderChildren(i),this.visible&&i.drawPhase===e.MAP&&null!=this._bitmapTechnique&&this._bitmapTechnique.render(i,{bitmaps:this.children})}_manageFade(){this.children.reduce(((e,i)=>e+(i.inFadeTransition?1:0)),0)>=2?(this.children.forEach((e=>e.blendFunction="additive")),this._hasCrossfade=!0):(this.children.forEach((e=>e.blendFunction="standard")),this._hasCrossfade=!1)}}export{r as BitmapContainer};