]> git.proxmox.com Git - mirror_xterm.js.git/blobdiff - src/Interfaces.ts
Fix SelectionManager initializing
[mirror_xterm.js.git] / src / Interfaces.ts
index ca228ce01bdfb99e8218a887c71a1de3b61be016..2dafd909ae6da8996dd0560c889af7de99a01ed2 100644 (file)
@@ -20,10 +20,10 @@ export interface IBrowser {
 export interface ITerminal {
   element: HTMLElement;
   rowContainer: HTMLElement;
+  selectionContainer: HTMLElement;
+  selectionManager: ISelectionManager;
+  charMeasure: ICharMeasure;
   textarea: HTMLTextAreaElement;
-  ybase: number;
-  ydisp: number;
-  lines: ICircularList<string>;
   rows: number;
   cols: number;
   browser: IBrowser;
@@ -31,9 +31,10 @@ export interface ITerminal {
   children: HTMLElement[];
   cursorHidden: boolean;
   cursorState: number;
-  x: number;
-  y: number;
   defAttr: number;
+  scrollback: number;
+  buffer: any;  // This should be a `Buffer` class, but it would result in circular dependency
+  viewport: any;  // This should be a `Viewport` class, but it would result in circular dependency
 
   /**
    * Emit the 'data' event and populate the given data.
@@ -45,6 +46,16 @@ export interface ITerminal {
   cancel(ev: Event, force?: boolean);
   log(text: string): void;
   emit(event: string, data: any);
+  reset(): void;
+  showCursor(): void;
+}
+
+export interface ISelectionManager {
+  selectionText: string;
+  selectionStart: [number, number];
+  selectionEnd: [number, number];
+
+  setSelection(row: number, col: number, length: number);
 }
 
 export interface ICharMeasure {