Move Shared interfaces into a new typings file

This will enable sharing the internal interface with addons (and catching
breakages early)
This commit is contained in:
Daniel Imms
2018-01-19 09:48:33 -08:00
parent 78a63d4860
commit e4abd4dd8a
34 changed files with 307 additions and 317 deletions
+2 -46
View File
@@ -3,26 +3,10 @@
* @license MIT
*/
import { ITerminal, ITerminalOptions, ITheme } from '../Interfaces';
import { IColorSet, IRenderDimensions, ITerminal } from '../../typings/xterm-internal';
import { IEventEmitter } from 'xterm';
export interface IRenderer extends IEventEmitter {
dimensions: IRenderDimensions;
colorManager: IColorManager;
setTheme(theme: ITheme): IColorSet;
onWindowResize(devicePixelRatio: number): void;
onResize(cols: number, rows: number, didCharSizeChange: boolean): void;
onCharSizeChanged(): void;
onBlur(): void;
onFocus(): void;
onSelectionChanged(start: [number, number], end: [number, number]): void;
onCursorMove(): void;
onOptionsChanged(): void;
clear(): void;
queueRefresh(start: number, end: number): void;
}
export interface IRenderLayer {
/**
* Called when the terminal loses focus.
@@ -70,31 +54,3 @@ export interface IRenderLayer {
*/
reset(terminal: ITerminal): void;
}
export interface IColorManager {
colors: IColorSet;
}
export interface IColorSet {
foreground: string;
background: string;
cursor: string;
cursorAccent: string;
selection: string;
ansi: string[];
}
export interface IRenderDimensions {
scaledCharWidth: number;
scaledCharHeight: number;
scaledCellWidth: number;
scaledCellHeight: number;
scaledCharLeft: number;
scaledCharTop: number;
scaledCanvasWidth: number;
scaledCanvasHeight: number;
canvasWidth: number;
canvasHeight: number;
actualCellWidth: number;
actualCellHeight: number;
}