add onRecovercontext event

This commit is contained in:
meganrogge
2021-04-01 12:17:34 -07:00
parent dd952ac166
commit fa7889cdd0
2 changed files with 17 additions and 1 deletions
+5 -1
View File
@@ -3,14 +3,17 @@
* @license MIT
*/
import { Terminal, ITerminalAddon } from 'xterm';
import { Terminal, ITerminalAddon, IEvent } from 'xterm';
import { WebglRenderer } from './WebglRenderer';
import { IRenderService } from 'browser/services/Services';
import { IColorSet } from 'browser/Types';
import { EventEmitter } from 'common/EventEmitter';
export class WebglAddon implements ITerminalAddon {
private _terminal?: Terminal;
private _renderer?: WebglRenderer;
private _onRecoverContext = new EventEmitter<void>();
public get onRecoverContext(): IEvent<void> { return this._onRecoverContext.event; }
constructor(
private _preserveDrawingBuffer?: boolean
@@ -24,6 +27,7 @@ export class WebglAddon implements ITerminalAddon {
const renderService: IRenderService = (<any>terminal)._core._renderService;
const colors: IColorSet = (<any>terminal)._core._colorManager.colors;
this._renderer = new WebglRenderer(terminal, colors, this._preserveDrawingBuffer);
this._renderer.onRecoverContext(() => this._onRecoverContext.fire());
renderService.setRenderer(this._renderer);
}