Files
nothoughts/node_modules/pixi.js/lib/rendering/mask/alpha/AlphaMask.mjs
2025-08-04 18:57:35 +02:00

47 lines
1.2 KiB
JavaScript

import { ExtensionType } from '../../../extensions/Extensions.mjs';
import { Sprite } from '../../../scene/sprite/Sprite.mjs';
import { addMaskBounds } from '../utils/addMaskBounds.mjs';
import { addMaskLocalBounds } from '../utils/addMaskLocalBounds.mjs';
"use strict";
class AlphaMask {
constructor(options) {
this.priority = 0;
this.pipe = "alphaMask";
if (options?.mask) {
this.init(options.mask);
}
}
init(mask) {
this.mask = mask;
this.renderMaskToTexture = !(mask instanceof Sprite);
this.mask.renderable = this.renderMaskToTexture;
this.mask.includeInBuild = !this.renderMaskToTexture;
this.mask.measurable = false;
}
reset() {
this.mask.measurable = true;
this.mask = null;
}
addBounds(bounds, skipUpdateTransform) {
addMaskBounds(this.mask, bounds, skipUpdateTransform);
}
addLocalBounds(bounds, localRoot) {
addMaskLocalBounds(this.mask, bounds, localRoot);
}
containsPoint(point, hitTestFn) {
const mask = this.mask;
return hitTestFn(mask, point);
}
destroy() {
this.reset();
}
static test(mask) {
return mask instanceof Sprite;
}
}
AlphaMask.extension = ExtensionType.MaskEffect;
export { AlphaMask };
//# sourceMappingURL=AlphaMask.mjs.map