Files
nothoughts/node_modules/pixi.js/lib/events/EventTicker.mjs.map
2025-08-04 18:57:35 +02:00

1 line
6.0 KiB
Plaintext

{"version":3,"file":"EventTicker.mjs","sources":["../../src/events/EventTicker.ts"],"sourcesContent":["import { UPDATE_PRIORITY } from '../ticker/const';\nimport { Ticker } from '../ticker/Ticker';\n\nimport type { EventSystem } from './EventSystem';\n\n/**\n * This class handles automatic firing of PointerEvents\n * in the case where the pointer is stationary for too long.\n * This is to ensure that hit-tests are still run on moving objects.\n * @since 7.2.0\n * @memberof events\n * @class EventsTicker\n */\nclass EventsTickerClass\n{\n /** The event system. */\n public events: EventSystem;\n /** The DOM element to listen to events on. */\n public domElement: HTMLElement;\n /** The frequency that fake events will be fired. */\n public interactionFrequency = 10;\n\n private _deltaTime = 0;\n private _didMove = false;\n private _tickerAdded = false;\n private _pauseUpdate = true;\n\n /**\n * Initializes the event ticker.\n * @param events - The event system.\n */\n public init(events: EventSystem): void\n {\n this.removeTickerListener();\n this.events = events;\n this.interactionFrequency = 10;\n this._deltaTime = 0;\n this._didMove = false;\n this._tickerAdded = false;\n this._pauseUpdate = true;\n }\n\n /** Whether to pause the update checks or not. */\n get pauseUpdate(): boolean\n {\n return this._pauseUpdate;\n }\n\n set pauseUpdate(paused: boolean)\n {\n this._pauseUpdate = paused;\n }\n\n /** Adds the ticker listener. */\n public addTickerListener(): void\n {\n if (this._tickerAdded || !this.domElement)\n {\n return;\n }\n\n Ticker.system.add(this._tickerUpdate, this, UPDATE_PRIORITY.INTERACTION);\n\n this._tickerAdded = true;\n }\n\n /** Removes the ticker listener. */\n public removeTickerListener(): void\n {\n if (!this._tickerAdded)\n {\n return;\n }\n\n Ticker.system.remove(this._tickerUpdate, this);\n\n this._tickerAdded = false;\n }\n\n /** Sets flag to not fire extra events when the user has already moved there mouse */\n public pointerMoved(): void\n {\n this._didMove = true;\n }\n\n /** Updates the state of interactive objects. */\n private _update(): void\n {\n if (!this.domElement || this._pauseUpdate)\n {\n return;\n }\n\n // if the user move the mouse this check has already been done using the mouse move!\n if (this._didMove)\n {\n this._didMove = false;\n\n return;\n }\n\n // eslint-disable-next-line dot-notation\n const rootPointerEvent = this.events['_rootPointerEvent'];\n\n if (this.events.supportsTouchEvents && (rootPointerEvent as PointerEvent).pointerType === 'touch')\n {\n return;\n }\n\n globalThis.document.dispatchEvent(new PointerEvent('pointermove', {\n clientX: rootPointerEvent.clientX,\n clientY: rootPointerEvent.clientY,\n pointerType: rootPointerEvent.pointerType,\n pointerId: rootPointerEvent.pointerId,\n }));\n }\n\n /**\n * Updates the state of interactive objects if at least {@link interactionFrequency}\n * milliseconds have passed since the last invocation.\n *\n * Invoked by a throttled ticker update from {@link Ticker.system}.\n * @param ticker - The throttled ticker.\n */\n private _tickerUpdate(ticker: Ticker): void\n {\n this._deltaTime += ticker.deltaTime;\n\n if (this._deltaTime < this.interactionFrequency)\n {\n return;\n }\n\n this._deltaTime = 0;\n\n this._update();\n }\n}\n\nexport const EventsTicker = new EventsTickerClass();\n"],"names":[],"mappings":"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"}