UNPKG

@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
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{ResourceType as t}from"../../webgl/enums.js";import{isCompressedFormat as e}from"../../webgl/textureUtils.js";class r{constructor(e,r){this._texture=e,this._cache=r,this.type="tile-texture",this._refCount=1,this._texture.descriptor.context.instanceCounter.increment(t.TileTexture,this)}retain(){++this._refCount}release(){--this._refCount,0===this._refCount&&(this._cache?(this._texture.abortCompression(),this._cache.put(i(this.descriptor),this)):this.dispose())}dispose(){this._texture.descriptor.context.instanceCounter.decrement(t.TileTexture,this),this._texture.dispose()}get texture(){return this._texture}generateMipmap(){this._texture.generateMipmap()}get descriptor(){return this._texture.descriptor}get cachedMemory(){return this._texture.usedMemory}}function i(t,r=e(t.internalFormat)){return`${t.width} ${t.pixelFormat} ${r}`}export{r as TileTexture,i as getCacheKey};