UNPKG

reactronic-dom

Version:

Reactronic DOM - Transactional Reactive Front-End Development Framework

33 lines (32 loc) 1.11 kB
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; }