aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/xterm/src/common/services/DirtyRowService.ts
diff options
context:
space:
mode:
authorAnthony Schneider <tonyschneider3@gmail.com>2022-02-11 19:40:35 -0600
committerAnthony Schneider <tonyschneider3@gmail.com>2022-02-11 19:40:35 -0600
commitb52feccdcc58c1f4583c8542632d6c026335dea7 (patch)
tree5e242dd13ed4bbfff85a07109ef826f80874e2a6 /node_modules/xterm/src/common/services/DirtyRowService.ts
parent94862321e2e4a58e3209c037e8061f0435b3aa82 (diff)
Changed javascript to be in its own file. Began (messy) setup for terminal.
Diffstat (limited to 'node_modules/xterm/src/common/services/DirtyRowService.ts')
-rw-r--r--node_modules/xterm/src/common/services/DirtyRowService.ts53
1 files changed, 53 insertions, 0 deletions
diff --git a/node_modules/xterm/src/common/services/DirtyRowService.ts b/node_modules/xterm/src/common/services/DirtyRowService.ts
new file mode 100644
index 0000000..1c43b67
--- /dev/null
+++ b/node_modules/xterm/src/common/services/DirtyRowService.ts
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) 2019 The xterm.js authors. All rights reserved.
+ * @license MIT
+ */
+
+import { IBufferService, IDirtyRowService } from 'common/services/Services';
+
+export class DirtyRowService implements IDirtyRowService {
+ public serviceBrand: any;
+
+ private _start!: number;
+ private _end!: number;
+
+ public get start(): number { return this._start; }
+ public get end(): number { return this._end; }
+
+ constructor(
+ @IBufferService private readonly _bufferService: IBufferService
+ ) {
+ this.clearRange();
+ }
+
+ public clearRange(): void {
+ this._start = this._bufferService.buffer.y;
+ this._end = this._bufferService.buffer.y;
+ }
+
+ public markDirty(y: number): void {
+ if (y < this._start) {
+ this._start = y;
+ } else if (y > this._end) {
+ this._end = y;
+ }
+ }
+
+ public markRangeDirty(y1: number, y2: number): void {
+ if (y1 > y2) {
+ const temp = y1;
+ y1 = y2;
+ y2 = temp;
+ }
+ if (y1 < this._start) {
+ this._start = y1;
+ }
+ if (y2 > this._end) {
+ this._end = y2;
+ }
+ }
+
+ public markAllDirty(): void {
+ this.markRangeDirty(0, this._bufferService.rows - 1);
+ }
+}