@xterm/addon-webgl 0.19.0-beta.46 → 0.19.0-beta.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/src/WebglAddon.ts
CHANGED
|
@@ -7,25 +7,25 @@ import type { ITerminalAddon, Terminal } from '@xterm/xterm';
|
|
|
7
7
|
import type { WebglAddon as IWebglApi } from '@xterm/addon-webgl';
|
|
8
8
|
import { ICharacterJoinerService, ICharSizeService, ICoreBrowserService, IRenderService, IThemeService } from 'browser/services/Services';
|
|
9
9
|
import { ITerminal } from 'browser/Types';
|
|
10
|
-
import { EventEmitter, forwardEvent } from 'common/EventEmitter';
|
|
11
10
|
import { Disposable, toDisposable } from 'common/Lifecycle';
|
|
12
11
|
import { getSafariVersion, isSafari } from 'common/Platform';
|
|
13
12
|
import { ICoreService, IDecorationService, ILogService, IOptionsService } from 'common/services/Services';
|
|
14
13
|
import { IWebGL2RenderingContext } from './Types';
|
|
15
14
|
import { WebglRenderer } from './WebglRenderer';
|
|
16
15
|
import { setTraceLogger } from 'common/services/LogService';
|
|
16
|
+
import { Emitter, Event } from 'vs/base/common/event';
|
|
17
17
|
|
|
18
18
|
export class WebglAddon extends Disposable implements ITerminalAddon , IWebglApi {
|
|
19
19
|
private _terminal?: Terminal;
|
|
20
20
|
private _renderer?: WebglRenderer;
|
|
21
21
|
|
|
22
|
-
private readonly _onChangeTextureAtlas = this.register(new
|
|
22
|
+
private readonly _onChangeTextureAtlas = this.register(new Emitter<HTMLCanvasElement>());
|
|
23
23
|
public readonly onChangeTextureAtlas = this._onChangeTextureAtlas.event;
|
|
24
|
-
private readonly _onAddTextureAtlasCanvas = this.register(new
|
|
24
|
+
private readonly _onAddTextureAtlasCanvas = this.register(new Emitter<HTMLCanvasElement>());
|
|
25
25
|
public readonly onAddTextureAtlasCanvas = this._onAddTextureAtlasCanvas.event;
|
|
26
|
-
private readonly _onRemoveTextureAtlasCanvas = this.register(new
|
|
26
|
+
private readonly _onRemoveTextureAtlasCanvas = this.register(new Emitter<HTMLCanvasElement>());
|
|
27
27
|
public readonly onRemoveTextureAtlasCanvas = this._onRemoveTextureAtlasCanvas.event;
|
|
28
|
-
private readonly _onContextLoss = this.register(new
|
|
28
|
+
private readonly _onContextLoss = this.register(new Emitter<void>());
|
|
29
29
|
public readonly onContextLoss = this._onContextLoss.event;
|
|
30
30
|
|
|
31
31
|
constructor(
|
|
@@ -81,10 +81,10 @@ export class WebglAddon extends Disposable implements ITerminalAddon , IWebglApi
|
|
|
81
81
|
themeService,
|
|
82
82
|
this._preserveDrawingBuffer
|
|
83
83
|
));
|
|
84
|
-
this.register(
|
|
85
|
-
this.register(
|
|
86
|
-
this.register(
|
|
87
|
-
this.register(
|
|
84
|
+
this.register(Event.forward(this._renderer.onContextLoss, this._onContextLoss));
|
|
85
|
+
this.register(Event.forward(this._renderer.onChangeTextureAtlas, this._onChangeTextureAtlas));
|
|
86
|
+
this.register(Event.forward(this._renderer.onAddTextureAtlasCanvas, this._onAddTextureAtlasCanvas));
|
|
87
|
+
this.register(Event.forward(this._renderer.onRemoveTextureAtlasCanvas, this._onRemoveTextureAtlasCanvas));
|
|
88
88
|
renderService.setRenderer(this._renderer);
|
|
89
89
|
|
|
90
90
|
this.register(toDisposable(() => {
|
package/src/WebglRenderer.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { observeDevicePixelDimensions } from 'browser/renderer/shared/DevicePixe
|
|
|
12
12
|
import { createRenderDimensions } from 'browser/renderer/shared/RendererUtils';
|
|
13
13
|
import { IRenderDimensions, IRenderer, IRequestRedrawEvent, ITextureAtlas } from 'browser/renderer/shared/Types';
|
|
14
14
|
import { ICharSizeService, ICharacterJoinerService, ICoreBrowserService, IThemeService } from 'browser/services/Services';
|
|
15
|
-
import { EventEmitter, forwardEvent } from 'common/EventEmitter';
|
|
16
15
|
import { Disposable, MutableDisposable, getDisposeArrayDisposable, toDisposable } from 'common/Lifecycle';
|
|
17
16
|
import { CharData, IBufferLine, ICellData } from 'common/Types';
|
|
18
17
|
import { AttributeData } from 'common/buffer/AttributeData';
|
|
@@ -26,6 +25,7 @@ import { COMBINED_CHAR_BIT_MASK, RENDER_MODEL_BG_OFFSET, RENDER_MODEL_EXT_OFFSET
|
|
|
26
25
|
import { IWebGL2RenderingContext } from './Types';
|
|
27
26
|
import { LinkRenderLayer } from './renderLayer/LinkRenderLayer';
|
|
28
27
|
import { IRenderLayer } from './renderLayer/Types';
|
|
28
|
+
import { Emitter, Event } from 'vs/base/common/event';
|
|
29
29
|
|
|
30
30
|
export class WebglRenderer extends Disposable implements IRenderer {
|
|
31
31
|
private _renderLayers: IRenderLayer[];
|
|
@@ -51,15 +51,15 @@ export class WebglRenderer extends Disposable implements IRenderer {
|
|
|
51
51
|
private _isAttached: boolean;
|
|
52
52
|
private _contextRestorationTimeout: number | undefined;
|
|
53
53
|
|
|
54
|
-
private readonly _onChangeTextureAtlas = this.register(new
|
|
54
|
+
private readonly _onChangeTextureAtlas = this.register(new Emitter<HTMLCanvasElement>());
|
|
55
55
|
public readonly onChangeTextureAtlas = this._onChangeTextureAtlas.event;
|
|
56
|
-
private readonly _onAddTextureAtlasCanvas = this.register(new
|
|
56
|
+
private readonly _onAddTextureAtlasCanvas = this.register(new Emitter<HTMLCanvasElement>());
|
|
57
57
|
public readonly onAddTextureAtlasCanvas = this._onAddTextureAtlasCanvas.event;
|
|
58
|
-
private readonly _onRemoveTextureAtlasCanvas = this.register(new
|
|
58
|
+
private readonly _onRemoveTextureAtlasCanvas = this.register(new Emitter<HTMLCanvasElement>());
|
|
59
59
|
public readonly onRemoveTextureAtlasCanvas = this._onRemoveTextureAtlasCanvas.event;
|
|
60
|
-
private readonly _onRequestRedraw = this.register(new
|
|
60
|
+
private readonly _onRequestRedraw = this.register(new Emitter<IRequestRedrawEvent>());
|
|
61
61
|
public readonly onRequestRedraw = this._onRequestRedraw.event;
|
|
62
|
-
private readonly _onContextLoss = this.register(new
|
|
62
|
+
private readonly _onContextLoss = this.register(new Emitter<void>());
|
|
63
63
|
public readonly onContextLoss = this._onContextLoss.event;
|
|
64
64
|
|
|
65
65
|
constructor(
|
|
@@ -277,8 +277,8 @@ export class WebglRenderer extends Disposable implements IRenderer {
|
|
|
277
277
|
if (this._charAtlas !== atlas) {
|
|
278
278
|
this._onChangeTextureAtlas.fire(atlas.pages[0].canvas);
|
|
279
279
|
this._charAtlasDisposable.value = getDisposeArrayDisposable([
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
Event.forward(atlas.onAddTextureAtlasCanvas, this._onAddTextureAtlasCanvas),
|
|
281
|
+
Event.forward(atlas.onRemoveTextureAtlasCanvas, this._onRemoveTextureAtlasCanvas)
|
|
282
282
|
]);
|
|
283
283
|
}
|
|
284
284
|
this._charAtlas = atlas;
|