reactronic-dom
Version:
Reactronic DOM - Transactional Reactive Front-End Development Framework
33 lines (32 loc) • 1.11 kB
JavaScript
import { HtmlElementSensor } from './HtmlElementSensor';
import { KeyboardModifiers } from './KeyboardSensor';
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(focusSensor, windowSensor) {
super(focusSensor, 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;
}