UNPKG

core2d

Version:

Multiplatform 2D interaction engine

47 lines (39 loc) 790 B
"use strict"; import { Point } from "./Point.mjs"; export class Mouse extends Point { constructor(event) { super(); this.updateCoordinates(event); addEventListener( "mousedown", (event) => { event.preventDefault(); this._isDown = true; }, false ); addEventListener( "mousemove", (event) => { this.updateCoordinates(event); }, false ); addEventListener( "mouseup", (event) => { event.preventDefault(); this._isDown = false; }, false ); } get command() { return this._isDown; } updateCoordinates(event) { event.preventDefault(); this.x = event.x ?? event.clientX ?? 0; this.y = event.y ?? event.clientY ?? 0; } }