aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/xterm/src/browser/services/MouseService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/xterm/src/browser/services/MouseService.ts')
-rw-r--r--node_modules/xterm/src/browser/services/MouseService.ts35
1 files changed, 35 insertions, 0 deletions
diff --git a/node_modules/xterm/src/browser/services/MouseService.ts b/node_modules/xterm/src/browser/services/MouseService.ts
new file mode 100644
index 0000000..348ba64
--- /dev/null
+++ b/node_modules/xterm/src/browser/services/MouseService.ts
@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2017 The xterm.js authors. All rights reserved.
+ * @license MIT
+ */
+
+import { ICharSizeService, IRenderService, IMouseService } from './Services';
+import { getCoords, getRawByteCoords } from 'browser/input/Mouse';
+
+export class MouseService implements IMouseService {
+ public serviceBrand: undefined;
+
+ constructor(
+ @IRenderService private readonly _renderService: IRenderService,
+ @ICharSizeService private readonly _charSizeService: ICharSizeService
+ ) {
+ }
+
+ public getCoords(event: {clientX: number, clientY: number}, element: HTMLElement, colCount: number, rowCount: number, isSelection?: boolean): [number, number] | undefined {
+ return getCoords(
+ event,
+ element,
+ colCount,
+ rowCount,
+ this._charSizeService.hasValidSize,
+ this._renderService.dimensions.actualCellWidth,
+ this._renderService.dimensions.actualCellHeight,
+ isSelection
+ );
+ }
+
+ public getRawByteCoords(event: MouseEvent, element: HTMLElement, colCount: number, rowCount: number): { x: number, y: number } | undefined {
+ const coords = this.getCoords(event, element, colCount, rowCount);
+ return getRawByteCoords(coords);
+ }
+}