1 line
29 KiB
Plaintext
1 line
29 KiB
Plaintext
|
|
{"version":3,"file":"FederatedEventTarget.mjs","sources":["../src/FederatedEventTarget.ts"],"sourcesContent":["import { utils } from '@pixi/core';\nimport { DisplayObject } from '@pixi/display';\nimport { EventSystem } from './EventSystem';\nimport { FederatedEvent } from './FederatedEvent';\n\nimport type { AllFederatedEventMap } from './FederatedEventMap';\nimport type { FederatedPointerEvent } from './FederatedPointerEvent';\nimport type { FederatedWheelEvent } from './FederatedWheelEvent';\n\nexport type Cursor = 'auto'\n| 'default'\n| 'none'\n| 'context-menu'\n| 'help'\n| 'pointer'\n| 'progress'\n| 'wait'\n| 'cell'\n| 'crosshair'\n| 'text'\n| 'vertical-text'\n| 'alias'\n| 'copy'\n| 'move'\n| 'no-drop'\n| 'not-allowed'\n| 'e-resize'\n| 'n-resize'\n| 'ne-resize'\n| 'nw-resize'\n| 's-resize'\n| 'se-resize'\n| 'sw-resize'\n| 'w-resize'\n| 'ns-resize'\n| 'ew-resize'\n| 'nesw-resize'\n| 'col-resize'\n| 'nwse-resize'\n| 'row-resize'\n| 'all-scroll'\n| 'zoom-in'\n| 'zoom-out'\n| 'grab'\n| 'grabbing';\n\n// @ignore - This is documented elsewhere.\nexport interface IHitArea\n{\n contains(x: number, y: number): boolean;\n}\n\n/**\n * Function type for handlers, e.g., onclick\n * @memberof PIXI\n */\nexport type FederatedEventHandler<T= FederatedPointerEvent> = (event: T) => void;\n\n/**\n * The type of interaction a DisplayObject can be. For more information on values and their meaning,\n * see {@link PIXI.DisplayObject.eventMode DisplayObject's eventMode property}.\n * @memberof PIXI\n * @since 7.2.0\n */\nexport type EventMode = 'none' | 'passive' | 'auto' | 'static' | 'dynamic';\n\n/**\n * Describes the shape for a {@link PIXI.FederatedEvent}'s' `eventTarget`.\n * @memberof PIXI\n */\nexport interface FederatedEventTarget extends utils.EventEmitter, EventTarget\n{\n /** The cursor preferred when the mouse pointer is hovering over. */\n cursor: Cursor | string;\n\n /** The parent of this event target. */\n readonly parent?: FederatedEventTarget;\n\n /** The children of this event target. */\n readonly children?: ReadonlyArray<FederatedEventTarget>;\n\n /** Whether this event target should fire UI events. */\n interactive: boolean\n _internalInteractive: boolean;\n /** The mode of interaction for this object */\n eventMode: EventMode;\n _internalEventMode: EventMode;\n\n /** Returns true if the DisplayObject has interactive 'static' or 'dynamic' */\n isInteractive: () => boolean;\n\n /** Whether this event target has any children that need UI events. This can be used optimize event propagation. */\n interactiveChildren: boolean;\n\n /** The hit-area specifies the area for which pointer events should be captured by this event target. */\n hitArea: IHitArea | null;\n\n // In Angular projects, zone.js is monkey patching the `EventTarget`\n // by adding its own `removeAllListeners(event?: string): void;` method,\n // so we have to override this signature when extending both `EventTarget` and `utils.EventEmitter`\n // to make it compatible with Angular projects\n // @see https://github.com/pixijs/pixijs/issues/8794\n\n /** Remove all listeners, or those of the specified event. */\n removeAllListeners(event?: string | symbol): this;\n\n /** Handler for 'click' event */\n onclick: FederatedEventHandler | null;\n /** Handler for 'mousedown' event */\n onmousedown: FederatedEventHandler | null;\n /** Handler for 'mouseenter' event */\n onmouseenter: FederatedEventHandler | null;\n /** Handler for 'mouseleave' event */\n onmouseleave: FederatedEventHandler | null;\n /** Handler for 'mousemove' event */\n onmousemove: FederatedEventHandler | null;\n /** Handler for 'globalmousemove' event */\n onglobalmousemove: FederatedEventHandler | null;\n /** Handler for 'mouseout' event */\n onmouseout: FederatedEventHandler | null;\n /** Handler for 'mouseover' event */\n onmouseover: FederatedEventHandler | null;\n /** Handler for 'mouseup' event */\n onmouseup: FederatedEventHandler | null;\n /** Handler for 'm
|