UNPKG

pixi.js

Version:

<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">

54 lines (50 loc) 1.43 kB
'use strict'; var Extensions = require('../../../extensions/Extensions.js'); var Sprite = require('../../../scene/sprite/Sprite.js'); var addMaskBounds = require('../utils/addMaskBounds.js'); var addMaskLocalBounds = require('../utils/addMaskLocalBounds.js'); "use strict"; class AlphaMask { constructor(options) { this.priority = 0; this.inverse = false; this.pipe = "alphaMask"; if (options?.mask) { this.init(options.mask); } } init(mask) { this.mask = mask; this.renderMaskToTexture = !(mask instanceof Sprite.Sprite); this.mask.renderable = this.renderMaskToTexture; this.mask.includeInBuild = !this.renderMaskToTexture; this.mask.measurable = false; } reset() { if (this.mask === null) return; this.mask.measurable = true; this.mask = null; } addBounds(bounds, skipUpdateTransform) { if (!this.inverse) { addMaskBounds.addMaskBounds(this.mask, bounds, skipUpdateTransform); } } addLocalBounds(bounds, localRoot) { addMaskLocalBounds.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.Sprite; } } AlphaMask.extension = Extensions.ExtensionType.MaskEffect; exports.AlphaMask = AlphaMask; //# sourceMappingURL=AlphaMask.js.map