| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import type { FederatedEvent } from '../dom/FederatedEvent';
- import { FederatedPointerEvent } from '../dom/FederatedPointerEvent';
- import { FederatedWheelEvent } from '../dom/FederatedWheelEvent';
- import type { IEventTarget } from '../dom/interfaces';
- import type { PointLike } from '../shapes';
- import type { Cursor, EventPosition } from '../types';
- import { CanvasContext, GlobalRuntime } from '..';
- type Picker = (position: EventPosition) => IEventTarget | null;
- export type EmitterListeners = Record<string, {
- fn: (...args: any[]) => any;
- context: any;
- once: boolean;
- }[] | {
- fn: (...args: any[]) => any;
- context: any;
- once: boolean;
- }>;
- export declare class EventService {
- private globalRuntime;
- private context;
- constructor(globalRuntime: GlobalRuntime, context: CanvasContext);
- private rootTarget;
- private emitter;
- cursor: Cursor | null;
- private mappingTable;
- private mappingState;
- private eventPool;
- private pickHandler;
- private tmpMatrix;
- private tmpVec3;
- init(): void;
- destroy(): void;
- client2Viewport(client: PointLike): PointLike;
- viewport2Client(canvas: PointLike): PointLike;
- viewport2Canvas({ x, y }: PointLike): PointLike;
- canvas2Viewport(canvasP: PointLike): PointLike;
- setPickHandler(pickHandler: Picker): void;
- addEventMapping(type: string, fn: (e: FederatedEvent) => void): void;
- mapEvent(e: FederatedEvent): void;
- onPointerDown: (from: FederatedPointerEvent) => void;
- onPointerUp: (from: FederatedPointerEvent) => void;
- onPointerMove: (from: FederatedPointerEvent) => void;
- onPointerOut: (from: FederatedPointerEvent) => void;
- onPointerOver: (from: FederatedPointerEvent) => void;
- onPointerUpOutside: (from: FederatedPointerEvent) => void;
- onWheel: (from: FederatedWheelEvent) => void;
- onClick: (from: FederatedPointerEvent) => void;
- onPointerCancel: (from: FederatedPointerEvent) => void;
- dispatchEvent(e: FederatedEvent, type?: string, skipPropagate?: boolean): void;
- propagate(e: FederatedEvent, type?: string): void;
- propagationPath(target: IEventTarget): IEventTarget[];
- hitTest(position: EventPosition): IEventTarget | null;
- /**
- * whether the native event trigger came from Canvas,
- * should account for HTML shape
- */
- private isNativeEventFromCanvas;
- /**
- * Find HTML from composed path in native UI event.
- */
- private getExistedHTML;
- private pickTarget;
- private createPointerEvent;
- private createWheelEvent;
- private trackingData;
- cloneWheelEvent(from: FederatedWheelEvent): FederatedWheelEvent;
- clonePointerEvent(from: FederatedPointerEvent, type?: string): FederatedPointerEvent;
- private copyPointerData;
- private copyMouseData;
- private copyWheelData;
- private copyData;
- private allocateEvent;
- private freeEvent;
- private notifyTarget;
- private notifyListeners;
- /**
- * some detached nodes may exist in propagation path, need to skip them
- */
- private findMountedTarget;
- private getCursor;
- }
- export {};
- //# sourceMappingURL=EventService.d.ts.map
|