@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.03 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import"../../../../core/has.js";import{brushes as s}from"../brushes.js";import{Container as e}from"../Container.js";import r from"./ClippingInfo.js";import{WGLDrawPhase as i}from"./enums.js";class n extends e{set clips(s){super.clips=s,this._updateClippingInfo(s)}renderChildren(s){s.painter.setPipelineState(null),null==this._renderPasses&&(this._renderPasses=this.prepareRenderPasses(s.painter));for(const r of this._renderPasses)try{r.render(s)}catch(e){}}prepareRenderPasses(e){return[e.registerRenderPass({name:"clip",brushes:[s.clip],target:()=>this._clippingInfos,drawPhase:i.MAP|i.LABEL|i.LABEL_ALPHA|i.DEBUG|i.HIGHLIGHT})]}_updateClippingInfo(s){null!=this._clippingInfos&&(this._clippingInfos.forEach((s=>s.destroy())),this._clippingInfos=null),null!=s&&s.length&&(this._clippingInfos=s.items.map((s=>r.fromClipArea(this.stage,s)))),this.requestRender()}}export{n as default};