shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$effectsMixin = function(global, require, module, exports) {
  var FilterEffect = require("module$node_modules$pixi_DOT_js$lib$filters$FilterEffect"), MaskEffectManager = require("module$node_modules$pixi_DOT_js$lib$rendering$mask$MaskEffectManager");
  "use strict";
  exports.effectsMixin = {_maskEffect:null, _maskOptions:{inverse:!1, channel:"red"}, _filterEffect:null, effects:[], _markStructureAsChanged() {
    const renderGroup = this.renderGroup || this.parentRenderGroup;
    renderGroup && (renderGroup.structureDidChange = !0);
  }, addEffect(effect) {
    -1 === this.effects.indexOf(effect) && (this.effects.push(effect), this.effects.sort((a, b) => a.priority - b.priority), this._markStructureAsChanged(), this._updateIsSimple());
  }, removeEffect(effect) {
    effect = this.effects.indexOf(effect);
    -1 !== effect && (this.effects.splice(effect, 1), this._markStructureAsChanged(), this._updateIsSimple());
  }, set mask(value) {
    const effect = this._maskEffect;
    effect?.mask !== value && (effect && (this.removeEffect(effect), MaskEffectManager.MaskEffectManager.returnMaskEffect(effect), this._maskEffect = null), null !== value && void 0 !== value && (this._maskEffect = MaskEffectManager.MaskEffectManager.getMaskEffect(value), this.addEffect(this._maskEffect)));
  }, get mask() {
    return this._maskEffect?.mask;
  }, setMask(options) {
    this._maskOptions = {...this._maskOptions, ...options};
    options.mask && (this.mask = options.mask);
    this._markStructureAsChanged();
  }, set filters(value) {
    !Array.isArray(value) && value && (value = [value]);
    const effect = this._filterEffect || (this._filterEffect = new FilterEffect.FilterEffect()), hasFilters = 0 < value?.length, didChange = hasFilters !== 0 < effect.filters?.length;
    value = Array.isArray(value) ? value.slice(0) : value;
    effect.filters = Object.freeze(value);
    didChange && (hasFilters ? this.addEffect(effect) : (this.removeEffect(effect), effect.filters = value ?? null));
  }, get filters() {
    return this._filterEffect?.filters;
  }, set filterArea(value) {
    this._filterEffect || (this._filterEffect = new FilterEffect.FilterEffect());
    this._filterEffect.filterArea = value;
  }, get filterArea() {
    return this._filterEffect?.filterArea;
  }};
};

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