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