Convert refresh to EventEmitter2

This commit is contained in:
Daniel Imms
2019-04-09 20:16:26 -07:00
parent db78b75e8b
commit 290bde6163
5 changed files with 18 additions and 7 deletions
+5 -1
View File
@@ -15,6 +15,7 @@ import { RenderDebouncer } from '../ui/RenderDebouncer';
import { ScreenDprMonitor } from '../ui/ScreenDprMonitor';
import { ITheme } from 'xterm';
import { CharacterJoinerRegistry } from '../renderer/CharacterJoinerRegistry';
import { EventEmitter2, IEvent } from '../common/EventEmitter2';
export class Renderer extends EventEmitter implements IRenderer {
private _renderDebouncer: RenderDebouncer;
@@ -29,6 +30,9 @@ export class Renderer extends EventEmitter implements IRenderer {
public colorManager: ColorManager;
public dimensions: IRenderDimensions;
private _onRender = new EventEmitter2<{ start: number, end: number }>();
public get onRender(): IEvent<{ start: number, end: number }> { return this._onRender.event; }
constructor(private _terminal: ITerminal, theme: ITheme) {
super();
const allowTransparency = this._terminal.options.allowTransparency;
@@ -197,7 +201,7 @@ export class Renderer extends EventEmitter implements IRenderer {
*/
private _renderRows(start: number, end: number): void {
this._renderLayers.forEach(l => l.onGridChanged(this._terminal, start, end));
this._terminal.emit('refresh', { start, end });
this._onRender.fire({ start, end });
}
/**