diff --git a/addons/xterm-addon-canvas/src/BaseRenderLayer.ts b/addons/xterm-addon-canvas/src/BaseRenderLayer.ts index 906347673..d2a7a4ed2 100644 --- a/addons/xterm-addon-canvas/src/BaseRenderLayer.ts +++ b/addons/xterm-addon-canvas/src/BaseRenderLayer.ts @@ -376,12 +376,12 @@ export abstract class BaseRenderLayer extends Disposable implements IRenderLayer this._ctx.save(); this._clipRow(y); // Draw the image, use the bitmap if it's available - if (this._charAtlas.pages[glyph.texturePage].dirtyId !== this._bitmapGenerator[glyph.texturePage]?.dirtyId) { + if (this._charAtlas.pages[glyph.texturePage].version !== this._bitmapGenerator[glyph.texturePage]?.version) { if (!this._bitmapGenerator[glyph.texturePage]) { this._bitmapGenerator[glyph.texturePage] = new BitmapGenerator(this._charAtlas.pages[glyph.texturePage].canvas); } this._bitmapGenerator[glyph.texturePage]!.refresh(); - this._bitmapGenerator[glyph.texturePage]!.dirtyId = this._charAtlas.pages[glyph.texturePage].dirtyId; + this._bitmapGenerator[glyph.texturePage]!.version = this._charAtlas.pages[glyph.texturePage].version; } this._ctx.drawImage( this._bitmapGenerator[glyph.texturePage]?.bitmap || this._charAtlas!.pages[glyph.texturePage].canvas, @@ -440,7 +440,7 @@ class BitmapGenerator { private _commitTimeout: number | undefined = undefined; private _bitmap: ImageBitmap | undefined = undefined; public get bitmap(): ImageBitmap | undefined { return this._bitmap; } - public dirtyId: number = -1; + public version: number = -1; constructor(private readonly _canvas: HTMLCanvasElement) { } diff --git a/addons/xterm-addon-webgl/src/GlyphRenderer.ts b/addons/xterm-addon-webgl/src/GlyphRenderer.ts index fd9013bda..ab7773ef3 100644 --- a/addons/xterm-addon-webgl/src/GlyphRenderer.ts +++ b/addons/xterm-addon-webgl/src/GlyphRenderer.ts @@ -348,7 +348,7 @@ export class GlyphRenderer extends Disposable { // Bind the atlas page texture if they have changed for (let i = 0; i < this._atlas.pages.length; i++) { - if (this._atlas.pages[i].dirtyId !== this._atlasTextures[i].dirtyId) { + if (this._atlas.pages[i].version !== this._atlasTextures[i].version) { this._bindAtlasPageTexture(gl, this._atlas, i); } } @@ -360,7 +360,7 @@ export class GlyphRenderer extends Disposable { public setAtlas(atlas: ITextureAtlas): void { this._atlas = atlas; for (const glTexture of this._atlasTextures) { - glTexture.dirtyId = -1; + glTexture.version = -1; } } @@ -371,7 +371,7 @@ export class GlyphRenderer extends Disposable { gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, atlas.pages[i].canvas); gl.generateMipmap(gl.TEXTURE_2D); - this._atlasTextures[i].dirtyId = atlas.pages[i].dirtyId; + this._atlasTextures[i].version = atlas.pages[i].version; } public setDimensions(dimensions: IRenderDimensions): void { diff --git a/addons/xterm-addon-webgl/src/WebglUtils.ts b/addons/xterm-addon-webgl/src/WebglUtils.ts index 285ce7cd1..da765c802 100644 --- a/addons/xterm-addon-webgl/src/WebglUtils.ts +++ b/addons/xterm-addon-webgl/src/WebglUtils.ts @@ -54,10 +54,10 @@ export function expandFloat32Array(source: Float32Array, max: number): Float32Ar export class GLTexture { public texture: WebGLTexture; - public dirtyId: number; + public version: number; constructor(texture: WebGLTexture) { this.texture = texture; - this.dirtyId = -1; + this.version = -1; } } diff --git a/src/browser/renderer/shared/TextureAtlas.ts b/src/browser/renderer/shared/TextureAtlas.ts index 81ba16561..811ad165c 100644 --- a/src/browser/renderer/shared/TextureAtlas.ts +++ b/src/browser/renderer/shared/TextureAtlas.ts @@ -61,7 +61,7 @@ export class TextureAtlas implements ITextureAtlas { // The texture that the atlas is drawn to private _pages: AtlasPage[] = []; - public get pages(): { canvas: HTMLCanvasElement, dirtyId: number }[] { return this._pages; } + public get pages(): { canvas: HTMLCanvasElement, version: number }[] { return this._pages; } // The set of atlas pages that can be written to private _activePages: AtlasPage[] = []; @@ -179,7 +179,7 @@ export class TextureAtlas implements ITextureAtlas { // Merge into the new page const mergedPage = this._mergePages(mergingPages, mergedPageIndex); - mergedPage.dirtyId++; + mergedPage.version++; // Replace the first _merging_ page with the _merged_ page this._pages[mergedPageIndex] = mergedPage; @@ -238,7 +238,7 @@ export class TextureAtlas implements ITextureAtlas { for (const g of adjustingPage.glyphs) { g.texturePage--; } - adjustingPage.dirtyId++; + adjustingPage.version++; } } @@ -826,7 +826,7 @@ export class TextureAtlas implements ITextureAtlas { rasterizedGlyph.size.y ); activePage.addGlyph(rasterizedGlyph); - activePage.dirtyId++; + activePage.version++; return rasterizedGlyph; } @@ -938,7 +938,7 @@ class AtlasPage { /** * Used to check whether the canvas of the atlas page has changed. */ - public dirtyId = 0; + public version = 0; // Texture atlas current positioning data. The texture packing strategy used is to fill from // left-to-right and top-to-bottom. When the glyph being written is less than half of the current @@ -981,7 +981,7 @@ class AtlasPage { this.currentRow.y = 0; this.currentRow.height = 0; this.fixedRows.length = 0; - this.dirtyId++; + this.version++; } } diff --git a/src/browser/renderer/shared/Types.d.ts b/src/browser/renderer/shared/Types.d.ts index b4168a669..cf4513c26 100644 --- a/src/browser/renderer/shared/Types.d.ts +++ b/src/browser/renderer/shared/Types.d.ts @@ -87,7 +87,7 @@ export interface IRenderer extends IDisposable { } export interface ITextureAtlas extends IDisposable { - readonly pages: { canvas: HTMLCanvasElement, dirtyId: number }[]; + readonly pages: { canvas: HTMLCanvasElement, version: number }[]; onAddTextureAtlasCanvas: IEvent; onRemoveTextureAtlasCanvas: IEvent;