Handle options within blink state manager
This commit is contained in:
@@ -109,9 +109,9 @@ export class WebglRenderer extends Disposable implements IRenderer {
|
|||||||
this._register(_optionsService.onOptionChange(() => this._handleOptionsChanged()));
|
this._register(_optionsService.onOptionChange(() => this._handleOptionsChanged()));
|
||||||
this._textBlinkStateManager = this._register(new TextBlinkStateManager(
|
this._textBlinkStateManager = this._register(new TextBlinkStateManager(
|
||||||
() => this._requestRedrawViewport(),
|
() => this._requestRedrawViewport(),
|
||||||
this._coreBrowserService
|
this._coreBrowserService,
|
||||||
|
this._optionsService
|
||||||
));
|
));
|
||||||
this._textBlinkStateManager.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration);
|
|
||||||
|
|
||||||
this._deviceMaxTextureSize = this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE);
|
this._deviceMaxTextureSize = this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE);
|
||||||
|
|
||||||
@@ -257,7 +257,6 @@ export class WebglRenderer extends Disposable implements IRenderer {
|
|||||||
this._updateDimensions();
|
this._updateDimensions();
|
||||||
this._refreshCharAtlas();
|
this._refreshCharAtlas();
|
||||||
this._updateCursorBlink();
|
this._updateCursorBlink();
|
||||||
this._textBlinkStateManager.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ export class DomRenderer extends Disposable implements IRenderer {
|
|||||||
this._register(toDisposable(() => this._cursorBlinkStateManager.dispose()));
|
this._register(toDisposable(() => this._cursorBlinkStateManager.dispose()));
|
||||||
this._textBlinkStateManager = this._register(new TextBlinkStateManager(
|
this._textBlinkStateManager = this._register(new TextBlinkStateManager(
|
||||||
() => this._onRequestRedraw.fire({ start: 0, end: this._bufferService.rows - 1 }),
|
() => this._onRequestRedraw.fire({ start: 0, end: this._bufferService.rows - 1 }),
|
||||||
this._coreBrowserService
|
this._coreBrowserService,
|
||||||
|
this._optionsService
|
||||||
));
|
));
|
||||||
this._textBlinkStateManager.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration);
|
|
||||||
|
|
||||||
this._register(toDisposable(() => {
|
this._register(toDisposable(() => {
|
||||||
this._element.classList.remove(TERMINAL_CLASS_PREFIX + this._terminalClass);
|
this._element.classList.remove(TERMINAL_CLASS_PREFIX + this._terminalClass);
|
||||||
@@ -447,7 +447,6 @@ export class DomRenderer extends Disposable implements IRenderer {
|
|||||||
this._optionsService.rawOptions.fontWeightBold
|
this._optionsService.rawOptions.fontWeightBold
|
||||||
);
|
);
|
||||||
this._setDefaultSpacing();
|
this._setDefaultSpacing();
|
||||||
this._textBlinkStateManager.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public clear(): void {
|
public clear(): void {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
import { ICoreBrowserService } from 'browser/services/Services';
|
import { ICoreBrowserService } from 'browser/services/Services';
|
||||||
import { Disposable, toDisposable } from 'common/Lifecycle';
|
import { Disposable, toDisposable } from 'common/Lifecycle';
|
||||||
|
import { IOptionsService } from 'common/services/Services';
|
||||||
|
|
||||||
export class TextBlinkStateManager extends Disposable {
|
export class TextBlinkStateManager extends Disposable {
|
||||||
private _intervalDuration: number = 0;
|
private _intervalDuration: number = 0;
|
||||||
@@ -13,9 +14,14 @@ export class TextBlinkStateManager extends Disposable {
|
|||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private readonly _renderCallback: () => void,
|
private readonly _renderCallback: () => void,
|
||||||
private readonly _coreBrowserService: ICoreBrowserService
|
private readonly _coreBrowserService: ICoreBrowserService,
|
||||||
|
private readonly _optionsService: IOptionsService
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
|
this._register(this._optionsService.onSpecificOptionChange('blinkIntervalDuration', duration => {
|
||||||
|
this.setIntervalDuration(duration);
|
||||||
|
}));
|
||||||
|
this.setIntervalDuration(this._optionsService.rawOptions.blinkIntervalDuration);
|
||||||
this._register(toDisposable(() => this._clearInterval()));
|
this._register(toDisposable(() => this._clearInterval()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user