UNPKG

2.82 kBTypeScriptView Raw
1import { EventEmitter } from 'eventemitter3';
2import type { Cursor, EventPosition } from '../types';
3import { CanvasConfig } from '../types';
4import type { FederatedEvent } from '../dom/FederatedEvent';
5import type { IEventTarget } from '../dom/interfaces';
6import type { PointLike } from '../shapes';
7declare type Picker = (position: EventPosition) => Promise<IEventTarget | null>;
8export declare type EmitterListeners = Record<string, {
9 fn: (...args: any[]) => any;
10 context: any;
11 once: boolean;
12}[] | {
13 fn: (...args: any[]) => any;
14 context: any;
15 once: boolean;
16}>;
17export declare class EventService extends EventEmitter {
18 private renderingContext;
19 private contextService;
20 protected canvasConfig: CanvasConfig;
21 private rootTarget;
22 cursor: Cursor | null;
23 private mappingTable;
24 private mappingState;
25 private eventPool;
26 private pickHandler;
27 init(): void;
28 client2Viewport(client: PointLike): PointLike;
29 viewport2Client(canvas: PointLike): PointLike;
30 viewport2Canvas({ x, y }: PointLike): PointLike;
31 canvas2Viewport(canvasP: PointLike): PointLike;
32 setPickHandler(pickHandler: Picker): void;
33 addEventMapping(type: string, fn: (e: FederatedEvent) => Promise<void>): void;
34 mapEvent(e: FederatedEvent): void;
35 private handleTouchEvent;
36 onTouchStart: (from: FederatedEvent) => Promise<void>;
37 onTouchMove: (from: FederatedEvent) => Promise<void>;
38 onTouchEnd: (from: FederatedEvent) => Promise<void>;
39 onTouchCancel: (from: FederatedEvent) => Promise<void>;
40 onPointerDown: (from: FederatedEvent) => Promise<void>;
41 onPointerUp: (from: FederatedEvent) => Promise<void>;
42 onPointerMove: (from: FederatedEvent) => Promise<void>;
43 onPointerOut: (from: FederatedEvent) => Promise<void>;
44 onPointerOver: (from: FederatedEvent) => Promise<void>;
45 onPointerUpOutside: (from: FederatedEvent) => Promise<void>;
46 onWheel: (from: FederatedEvent) => Promise<void>;
47 dispatchEvent(e: FederatedEvent, type?: string): void;
48 propagate(e: FederatedEvent, type?: string): void;
49 propagationPath(target: IEventTarget): IEventTarget[];
50 hitTest(position: EventPosition): Promise<IEventTarget | null>;
51 private isNativeEventFromCanvas;
52 private pickTarget;
53 private createPointerEvent;
54 private createTouchEvent;
55 private createWheelEvent;
56 private trackingData;
57 private clonePointerEvent;
58 private copyPointerData;
59 private copyMouseData;
60 private copyTouchData;
61 private copyWheelData;
62 private copyData;
63 private allocateEvent;
64 private freeEvent;
65 private notifyTarget;
66 private notifyListeners;
67 /**
68 * some detached nodes may exist in propagation path, need to skip them
69 */
70 private findMountedTarget;
71 private getCursor;
72}
73export {};