shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$mask$stencil$StencilMask = function(global, require, module, exports) {
  global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
  var Container = require("module$node_modules$pixi_DOT_js$lib$scene$container$Container"), addMaskBounds = require("module$node_modules$pixi_DOT_js$lib$rendering$mask$utils$addMaskBounds"), addMaskLocalBounds = require("module$node_modules$pixi_DOT_js$lib$rendering$mask$utils$addMaskLocalBounds");
  "use strict";
  class StencilMask {
    constructor(options) {
      this.priority = 0;
      this.pipe = "stencilMask";
      options?.mask && this.init(options.mask);
    }
    init(mask) {
      this.mask = mask;
      this.mask.includeInBuild = !1;
      this.mask.measurable = !1;
    }
    reset() {
      null !== this.mask && (this.mask.measurable = !0, this.mask.includeInBuild = !0, this.mask = null);
    }
    addBounds(bounds, skipUpdateTransform) {
      addMaskBounds.addMaskBounds(this.mask, bounds, skipUpdateTransform);
    }
    addLocalBounds(bounds, localRoot) {
      addMaskLocalBounds.addMaskLocalBounds(this.mask, bounds, localRoot);
    }
    containsPoint(point, hitTestFn) {
      return hitTestFn(this.mask, point);
    }
    destroy() {
      this.reset();
    }
    static test(mask) {
      return mask instanceof Container.Container;
    }
  }
  StencilMask.extension = global.ExtensionType.MaskEffect;
  exports.StencilMask = StencilMask;
};

//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$mask$stencil$StencilMask.js.map
