verstak
Version:
Verstak - Front-End Library
33 lines (32 loc) • 1.1 kB
JavaScript
import { HtmlElementSensor } from "./HtmlElementSensor.js";
import { KeyboardModifiers } from "./KeyboardSensor.js";
export var PointerButton;
(function (PointerButton) {
PointerButton[PointerButton["none"] = 0] = "none";
PointerButton[PointerButton["left"] = 1] = "left";
PointerButton[PointerButton["right"] = 2] = "right";
PointerButton[PointerButton["middle"] = 4] = "middle";
})(PointerButton || (PointerButton = {}));
export class BasePointerSensor extends HtmlElementSensor {
constructor(element, windowSensor) {
super(element, windowSensor);
this.positionX = Infinity;
this.positionY = Infinity;
this.modifiers = KeyboardModifiers.none;
}
}
export function extractPointerButton(e) {
switch (e.button) {
case 0:
return PointerButton.left;
case 1:
return PointerButton.middle;
case 2:
return PointerButton.right;
default:
return PointerButton.none;
}
}
export function isPointerButtonDown(button, buttonsMask) {
return (buttonsMask & button) !== 0;
}