+++ /dev/null
-/**
- * Copyright (c) 2019 The xterm.js authors. All rights reserved.
- * @license MIT
- */
-
-import { IEvent } from 'common/EventEmitter';
-import { IRenderDimensions, IRenderer, CharacterJoinerHandler } from 'browser/renderer/Types';
-import { IColorSet } from 'browser/Types';
-import { ISelectionRedrawRequestEvent } from 'browser/selection/Types';
-import { createDecorator } from 'common/services/ServiceRegistry';
-import { IDisposable } from 'common/Types';
-
-export const ICharSizeService = createDecorator<ICharSizeService>('CharSizeService');
-export interface ICharSizeService {
- serviceBrand: any;
-
- readonly width: number;
- readonly height: number;
- readonly hasValidSize: boolean;
-
- readonly onCharSizeChange: IEvent<void>;
-
- measure(): void;
-}
-
-export const IMouseService = createDecorator<IMouseService>('MouseService');
-export interface IMouseService {
- serviceBrand: any;
-
- getCoords(event: {clientX: number, clientY: number}, element: HTMLElement, colCount: number, rowCount: number, isSelection?: boolean): [number, number] | undefined;
- getRawByteCoords(event: MouseEvent, element: HTMLElement, colCount: number, rowCount: number): { x: number, y: number } | undefined;
-}
-
-export const IRenderService = createDecorator<IRenderService>('RenderService');
-export interface IRenderService extends IDisposable {
- serviceBrand: any;
-
- 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;
-}
-
-export const ISelectionService = createDecorator<ISelectionService>('SelectionService');
-export interface ISelectionService {
- serviceBrand: any;
-
- readonly selectionText: string;
- readonly hasSelection: boolean;
- readonly selectionStart: [number, number] | undefined;
- readonly selectionEnd: [number, number] | undefined;
-
- readonly onLinuxMouseSelection: IEvent<string>;
- readonly onRedrawRequest: IEvent<ISelectionRedrawRequestEvent>;
- readonly onSelectionChange: IEvent<void>;
-
- disable(): void;
- enable(): void;
- reset(): void;
- setSelection(row: number, col: number, length: number): void;
- selectAll(): void;
- selectLines(start: number, end: number): void;
- clearSelection(): void;
- isClickInSelection(event: MouseEvent): boolean;
- selectWordAtCursor(event: MouseEvent): void;
- shouldColumnSelect(event: KeyboardEvent | MouseEvent): boolean;
- shouldForceSelection(event: MouseEvent): boolean;
- refresh(isLinuxMouseSelection?: boolean): void;
- onMouseDown(event: MouseEvent): void;
-}
-
-export const ISoundService = createDecorator<ISoundService>('SoundService');
-export interface ISoundService {
- serviceBrand: any;
-
- playBellSound(): void;
-}