@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 708 B
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{maxIndexCount as t,ManagedTextureBackedBuffer as e}from"./ManagedTextureBackedBuffer.js";class s{constructor(t,e){this._rctx=t,this._layout=e,this._bufferList=[]}garbageCollect(){const{_bufferList:t}=this;this._bufferList=t.filter(t=>0!==t.activeCount||(t.dispose(),!1))}destroy(){const{_bufferList:t}=this;t.forEach(t=>t.dispose()),this._bufferList=[]}getBuffer(s){const{_bufferList:r}=this;for(const t of r)if(t.availableCount>=s)return t;if(s>t)return null;const f=new e(this._rctx,this._layout);return r.push(f),f}updateTextures(){const t=this._bufferList;for(const e of t)e.textureBuffer.updateTexture()}}export{s as BufferManager};