shadow$provide.module$node_modules$pixi_DOT_js$lib$events$EventTicker = function(global, require, module, exports) {
  var _const = require("module$node_modules$pixi_DOT_js$lib$ticker$const"), Ticker = require("module$node_modules$pixi_DOT_js$lib$ticker$Ticker");
  "use strict";
  class EventsTickerClass {
    constructor() {
      this.interactionFrequency = 10;
      this._deltaTime = 0;
      this._tickerAdded = this._didMove = !1;
      this._pauseUpdate = !0;
    }
    init(events) {
      this.removeTickerListener();
      this.events = events;
      this.interactionFrequency = 10;
      this._deltaTime = 0;
      this._tickerAdded = this._didMove = !1;
      this._pauseUpdate = !0;
    }
    get pauseUpdate() {
      return this._pauseUpdate;
    }
    set pauseUpdate(paused) {
      this._pauseUpdate = paused;
    }
    addTickerListener() {
      !this._tickerAdded && this.domElement && (Ticker.Ticker.system.add(this._tickerUpdate, this, _const.UPDATE_PRIORITY.INTERACTION), this._tickerAdded = !0);
    }
    removeTickerListener() {
      this._tickerAdded && (Ticker.Ticker.system.remove(this._tickerUpdate, this), this._tickerAdded = !1);
    }
    pointerMoved() {
      this._didMove = !0;
    }
    _update() {
      if (this.domElement && !this._pauseUpdate) {
        if (this._didMove) {
          this._didMove = !1;
        } else {
          var rootPointerEvent = this.events._rootPointerEvent;
          this.events.supportsTouchEvents && "touch" === rootPointerEvent.pointerType || globalThis.document.dispatchEvent(this.events.supportsPointerEvents ? new PointerEvent("pointermove", {clientX:rootPointerEvent.clientX, clientY:rootPointerEvent.clientY, pointerType:rootPointerEvent.pointerType, pointerId:rootPointerEvent.pointerId}) : new MouseEvent("mousemove", {clientX:rootPointerEvent.clientX, clientY:rootPointerEvent.clientY}));
        }
      }
    }
    _tickerUpdate(ticker) {
      this._deltaTime += ticker.deltaTime;
      this._deltaTime < this.interactionFrequency || (this._deltaTime = 0, this._update());
    }
    destroy() {
      this.removeTickerListener();
      this.domElement = this.events = null;
      this._deltaTime = 0;
      this._tickerAdded = this._didMove = !1;
      this._pauseUpdate = !0;
    }
  }
  global = new EventsTickerClass();
  exports.EventsTicker = global;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$events$EventTicker.js.map
