Introduce RenderService

Used to be RenderCoordinator
This commit is contained in:
Daniel Imms
2019-06-08 19:24:48 -07:00
parent c314eaaf86
commit 9ad01080f3
19 changed files with 103 additions and 89 deletions
+27
View File
@@ -4,6 +4,8 @@
*/
import { IEvent } from 'common/EventEmitter2';
import { IRenderDimensions, IRenderer, CharacterJoinerHandler } from 'browser/renderer/Types';
import { IColorSet } from 'browser/Types';
export interface ICharSizeService {
readonly width: number;
@@ -14,3 +16,28 @@ export interface ICharSizeService {
measure(): void;
}
export interface IRenderService {
onDimensionsChange: IEvent<IRenderDimensions>;
onRender: IEvent<{ start: number, end: number }>;
onRefreshRequest: IEvent<{ start: number, end: number }>;
dimensions: IRenderDimensions;
refreshRows(start: number, end: number): void;
resize(cols: number, rows: number): void;
changeOptions(): void;
setRenderer(renderer: IRenderer): void;
setColors(colors: IColorSet): void;
onDevicePixelRatioChange(): void;
onResize(cols: number, rows: number): void;
// TODO: Is this useful when we have onResize?
onCharSizeChanged(): void;
onBlur(): void;
onFocus(): void;
onSelectionChanged(start: [number, number], end: [number, number], columnSelectMode: boolean): void;
onCursorMove(): void;
clear(): void;
registerCharacterJoiner(handler: CharacterJoinerHandler): number;
deregisterCharacterJoiner(joinerId: number): boolean;
}