+++ /dev/null
-/**
- * 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 {
- serviceBrand: any;
-
- 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);
- }
-}