/// import { EventEmitter } from 'events'; import ViewerEvent from '../../browser/viewer/ViewerEvent'; import ViewerEventTarget from '../interface/ViewerEventTarget'; import Viewer from '../viewer/Viewer'; export interface Tool extends ViewerEventTarget { activate(viewer: Viewer): void; deactivate(viewer: Viewer): void; } /** * A tool determines how a viewer intersects with various UI events. * An active tool will change the active view state of each viewer. */ export default class ToolBaseClass extends EventEmitter implements Tool { protected options: object; constructor(); activate(viewer: Viewer): void; deactivate(viewer: Viewer): void; setOptions(options: object): void; mouseUpHandler(viewerEvent: ViewerEvent): void; mouseDownHandler(viewerEvent: ViewerEvent): void; mouseMoveHandler(viewerEvent: ViewerEvent): void; dragStartHandler(viewerEvent: ViewerEvent): void; dragHandler(viewerEvent: ViewerEvent): void; dragEndHandler(viewerEvent: ViewerEvent): void; wheelHandler(viewerEvent: ViewerEvent): void; }