Files
ueblueprint/js/input/mouse/IPointing.js
barsdeveloper 7d72015bb5 Refactoring
2022-04-02 21:16:17 +02:00

33 lines
760 B
JavaScript

// @ts-check
import IContext from "../IContext"
import Utility from "../../Utility"
/**
* @typedef {import("../../Blueprint").default} Blueprint
*/
/**
* @template {HTMLElement} T
* @extends {IContext<T>}
*/
export default class IPointing extends IContext {
constructor(target, blueprint, options) {
super(target, blueprint, options)
this.movementSpace = this.blueprint?.getGridDOMElement() ?? document.documentElement
}
/**
* @param {MouseEvent} mouseEvent
*/
locationFromEvent(mouseEvent) {
return this.blueprint.compensateTranslation(
Utility.convertLocation(
[mouseEvent.clientX, mouseEvent.clientY],
this.movementSpace
)
)
}
}