X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=src%2FInterfaces.ts;h=f55719a0a15d4718bc99e5d6ec89e59d6d0be2fa;hb=HEAD;hp=4de2f285822a07d3b7e3ff41821a4959294a2595;hpb=9e95024a9ddcaf31c1314533cdfd5b1df816204c;p=mirror_xterm.js.git diff --git a/src/Interfaces.ts b/src/Interfaces.ts index 4de2f28..f55719a 100644 --- a/src/Interfaces.ts +++ b/src/Interfaces.ts @@ -24,9 +24,6 @@ export interface ITerminal { selectionManager: ISelectionManager; charMeasure: ICharMeasure; textarea: HTMLTextAreaElement; - ybase: number; - ydisp: number; - lines: ICircularList; rows: number; cols: number; browser: IBrowser; @@ -34,9 +31,10 @@ export interface ITerminal { children: HTMLElement[]; cursorHidden: boolean; cursorState: number; - x: number; - y: number; defAttr: number; + scrollback: number; + buffers: IBufferSet; + buffer: IBuffer; /** * Emit the 'data' event and populate the given data. @@ -48,6 +46,27 @@ export interface ITerminal { cancel(ev: Event, force?: boolean); log(text: string): void; emit(event: string, data: any); + reset(): void; + showCursor(): void; + blankLine(cur?: boolean, isWrapped?: boolean, cols?: number); +} + +export interface IBuffer { + lines: ICircularList<[number, string, number][]>; + ydisp: number; + ybase: number; + y: number; + x: number; + tabs: any; +} + +export interface IBufferSet { + alt: IBuffer; + normal: IBuffer; + active: IBuffer; + + activateNormalBuffer(): void; + activateAltBuffer(): void; } export interface ISelectionManager { @@ -71,11 +90,11 @@ export interface ILinkifier { deregisterLinkMatcher(matcherId: number): boolean; } -interface ICircularList { +export interface ICircularList extends IEventEmitter { length: number; maxLength: number; + forEach: (callbackfn: (value: T, index: number) => void) => void; - forEach(callbackfn: (value: T, index: number, array: T[]) => void): void; get(index: number): T; set(index: number, value: T): void; push(value: T): void; @@ -85,6 +104,11 @@ interface ICircularList { shiftElements(start: number, count: number, offset: number): void; } +export interface IEventEmitter { + on(type, listener): void; + off(type, listener): void; +} + export interface LinkMatcherOptions { /** * The index of the link from the regex.match(text) call. This defaults to 0