36 lines
1.6 KiB
JavaScript
Raw Normal View History

2019-06-04 12:16:20 -04:00
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var MouseHelper = (function () {
function MouseHelper(_renderCoordinator) {
this._renderCoordinator = _renderCoordinator;
}
MouseHelper.getCoordsRelativeToElement = function (event, element) {
var rect = element.getBoundingClientRect();
return [event.clientX - rect.left, event.clientY - rect.top];
};
MouseHelper.prototype.getCoords = function (event, element, charMeasure, colCount, rowCount, isSelection) {
if (!charMeasure.width || !charMeasure.height) {
return null;
}
var coords = MouseHelper.getCoordsRelativeToElement(event, element);
if (!coords) {
return null;
}
coords[0] = Math.ceil((coords[0] + (isSelection ? this._renderCoordinator.dimensions.actualCellWidth / 2 : 0)) / this._renderCoordinator.dimensions.actualCellWidth);
coords[1] = Math.ceil(coords[1] / this._renderCoordinator.dimensions.actualCellHeight);
coords[0] = Math.min(Math.max(coords[0], 1), colCount + (isSelection ? 1 : 0));
coords[1] = Math.min(Math.max(coords[1], 1), rowCount);
return coords;
};
MouseHelper.prototype.getRawByteCoords = function (event, element, charMeasure, colCount, rowCount) {
var coords = this.getCoords(event, element, charMeasure, colCount, rowCount);
var x = coords[0];
var y = coords[1];
x += 32;
y += 32;
return { x: x, y: y };
};
return MouseHelper;
}());
exports.MouseHelper = MouseHelper;
//# sourceMappingURL=MouseHelper.js.map