shadow$provide.module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$BlurFilter = function(global, require, module, exports) {
  var TexturePool = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$TexturePool"), types = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$types"), deprecation = require("module$node_modules$pixi_DOT_js$lib$utils$logging$deprecation");
  global = require("module$node_modules$pixi_DOT_js$lib$filters$Filter");
  var BlurFilterPass = require("module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$BlurFilterPass");
  "use strict";
  class BlurFilter extends global.Filter {
    constructor(...args) {
      let options = args[0] ?? {};
      "number" === typeof options && (deprecation.deprecation(deprecation.v8_0_0, "BlurFilter constructor params are now options object. See params: { strength, quality, resolution, kernelSize }"), options = {strength:options}, void 0 !== args[1] && (options.quality = args[1]), void 0 !== args[2] && (options.resolution = args[2] || "inherit"), void 0 !== args[3] && (options.kernelSize = args[3]));
      options = {...BlurFilterPass.BlurFilterPass.defaultOptions, ...options};
      const {strength, strengthX, strengthY, quality, ...rest} = options;
      super({...rest, compatibleRenderers:types.RendererType.BOTH, resources:{}});
      this._repeatEdgePixels = !1;
      this.blurXFilter = new BlurFilterPass.BlurFilterPass({horizontal:!0, ...options});
      this.blurYFilter = new BlurFilterPass.BlurFilterPass({horizontal:!1, ...options});
      this.quality = quality;
      this.strengthX = strengthX ?? strength;
      this.strengthY = strengthY ?? strength;
      this.repeatEdgePixels = !1;
    }
    apply(filterManager, input, output, clearMode) {
      var yStrength = Math.abs(this.blurYFilter.strength);
      Math.abs(this.blurXFilter.strength) && yStrength ? (yStrength = TexturePool.TexturePool.getSameSizeTexture(input), this.blurXFilter.blendMode = "normal", this.blurXFilter.apply(filterManager, input, yStrength, !0), this.blurYFilter.blendMode = this.blendMode, this.blurYFilter.apply(filterManager, yStrength, output, clearMode), TexturePool.TexturePool.returnTexture(yStrength)) : yStrength ? (this.blurYFilter.blendMode = this.blendMode, this.blurYFilter.apply(filterManager, input, output, clearMode)) : 
      (this.blurXFilter.blendMode = this.blendMode, this.blurXFilter.apply(filterManager, input, output, clearMode));
    }
    updatePadding() {
      this.padding = this._repeatEdgePixels ? 0 : 2 * Math.max(Math.abs(this.blurXFilter.blur), Math.abs(this.blurYFilter.blur));
    }
    get strength() {
      if (this.strengthX !== this.strengthY) {
        throw Error("BlurFilter's strengthX and strengthY are different");
      }
      return this.strengthX;
    }
    set strength(value) {
      this.blurXFilter.blur = this.blurYFilter.blur = value;
      this.updatePadding();
    }
    get quality() {
      return this.blurXFilter.quality;
    }
    set quality(value) {
      this.blurXFilter.quality = this.blurYFilter.quality = value;
    }
    get strengthX() {
      return this.blurXFilter.blur;
    }
    set strengthX(value) {
      this.blurXFilter.blur = value;
      this.updatePadding();
    }
    get strengthY() {
      return this.blurYFilter.blur;
    }
    set strengthY(value) {
      this.blurYFilter.blur = value;
      this.updatePadding();
    }
    get blur() {
      deprecation.deprecation("8.3.0", "BlurFilter.blur is deprecated, please use BlurFilter.strength instead.");
      return this.strength;
    }
    set blur(value) {
      deprecation.deprecation("8.3.0", "BlurFilter.blur is deprecated, please use BlurFilter.strength instead.");
      this.strength = value;
    }
    get blurX() {
      deprecation.deprecation("8.3.0", "BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead.");
      return this.strengthX;
    }
    set blurX(value) {
      deprecation.deprecation("8.3.0", "BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead.");
      this.strengthX = value;
    }
    get blurY() {
      deprecation.deprecation("8.3.0", "BlurFilter.blurY is deprecated, please use BlurFilter.strengthY instead.");
      return this.strengthY;
    }
    set blurY(value) {
      deprecation.deprecation("8.3.0", "BlurFilter.blurY is deprecated, please use BlurFilter.strengthY instead.");
      this.strengthY = value;
    }
    get repeatEdgePixels() {
      return this._repeatEdgePixels;
    }
    set repeatEdgePixels(value) {
      this._repeatEdgePixels = value;
      this.updatePadding();
    }
  }
  BlurFilter.defaultOptions = {strength:8, quality:4, kernelSize:5, legacy:!1};
  exports.BlurFilter = BlurFilter;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$filters$defaults$blur$BlurFilter.js.map
