sigma
Version:
A JavaScript library dedicated to graph drawing.
41 lines (40 loc) • 1.14 kB
TypeScript
/**
* Sigma.js Mouse Captor
* ======================
*
* Sigma's captor dealing with the user's mouse.
* @module
*/
import { CameraState } from "../../types";
import Camera from "../camera";
import Captor from "./captor";
/**
* Mouse captor class.
*
* @constructor
*/
export default class MouseCaptor extends Captor {
enabled: boolean;
draggedEvents: number;
downStartTime: number | null;
lastMouseX: number | null;
lastMouseY: number | null;
isMouseDown: boolean;
isMoving: boolean;
movingTimeout: number | null;
startCameraState: CameraState | null;
clicks: number;
doubleClickTimeout: number | null;
currentWheelDirection: -1 | 0 | 1;
lastWheelTriggerTime?: number;
constructor(container: HTMLElement, camera: Camera);
kill(): void;
handleClick(e: MouseEvent): void | boolean;
handleRightClick(e: MouseEvent): void;
handleDoubleClick(e: MouseEvent): void | boolean;
handleDown(e: MouseEvent): void;
handleUp(e: MouseEvent): void;
handleMove(e: MouseEvent): void | boolean;
handleWheel(e: WheelEvent): boolean;
handleOut(): void;
}