@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 900 B
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{isCompressedTexture as e}from"../../webgl/textureUtils.js";class t{constructor(e,t){this._texture=e,this._cache=t,this.type="tile-texture",this._refCount=1}retain(){++this._refCount}release(){--this._refCount,0===this._refCount&&(this._cache?(this._texture.isCompressing&&this._texture.abortCompression(),this._cache.put(this._generateCacheKey(),this)):this.dispose())}dispose(){this._texture.dispose()}get texture(){return this._texture}generateMipmap(){this._texture.generateMipmap()}_generateCacheKey(){return`${this._texture.descriptor.width} ${this._texture.descriptor.pixelFormat}`+(e(this._texture)?"compressed":"")}get descriptor(){return this._texture.descriptor}get cachedMemory(){return this._texture.usedMemory}}export{t as default};