shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$getFastGlobalBoundsMixin = function(global, require, module, exports) {
  global = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix");
  var Bounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$Bounds"), matrixAndBoundsPool = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$utils$matrixAndBoundsPool");
  "use strict";
  const tempMatrix = new global.Matrix();
  exports.getFastGlobalBoundsMixin = {getFastGlobalBounds(factorRenderLayers, bounds) {
    bounds || (bounds = new Bounds.Bounds());
    bounds.clear();
    this._getGlobalBoundsRecursive(!!factorRenderLayers, bounds, this.parentRenderLayer);
    bounds.isValid || bounds.set(0, 0, 0, 0);
    bounds.applyMatrix((this.renderGroup || this.parentRenderGroup).worldTransform);
    return bounds;
  }, _getGlobalBoundsRecursive(factorRenderLayers, bounds, currentLayer) {
    let localBounds = bounds;
    if (!(factorRenderLayers && this.parentRenderLayer && this.parentRenderLayer !== currentLayer || 7 !== this.localDisplayStatus) && this.measurable) {
      var manageEffects = !!this.effects.length;
      if (this.renderGroup || manageEffects) {
        localBounds = matrixAndBoundsPool.boundsPool.get().clear();
      }
      if (this.boundsArea) {
        bounds.addRect(this.boundsArea, this.worldTransform);
      } else {
        if (this.renderPipeId) {
          var viewBounds = this.bounds;
          localBounds.addFrame(viewBounds.minX, viewBounds.minY, viewBounds.maxX, viewBounds.maxY, this.groupTransform);
        }
        viewBounds = this.children;
        for (let i = 0; i < viewBounds.length; i++) {
          viewBounds[i]._getGlobalBoundsRecursive(factorRenderLayers, localBounds, currentLayer);
        }
      }
      if (manageEffects) {
        factorRenderLayers = !1;
        currentLayer = this.renderGroup || this.parentRenderGroup;
        for (manageEffects = 0; manageEffects < this.effects.length; manageEffects++) {
          this.effects[manageEffects].addBounds && (factorRenderLayers || (factorRenderLayers = !0, localBounds.applyMatrix(currentLayer.worldTransform)), this.effects[manageEffects].addBounds(localBounds, !0));
        }
        factorRenderLayers && localBounds.applyMatrix(currentLayer.worldTransform.copyTo(tempMatrix).invert());
        bounds.addBounds(localBounds);
        matrixAndBoundsPool.boundsPool.return(localBounds);
      } else {
        this.renderGroup && (bounds.addBounds(localBounds, this.relativeGroupTransform), matrixAndBoundsPool.boundsPool.return(localBounds));
      }
    }
  }};
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$getFastGlobalBoundsMixin.js.map
