{"version":3,"file":"ColorMask.mjs","sources":["../../../../src/rendering/mask/color/ColorMask.ts"],"sourcesContent":["import { ExtensionType } from '../../../extensions/Extensions';\n\nimport type { ExtensionMetadata } from '../../../extensions/Extensions';\nimport type { Effect } from '../../../scene/container/Effect';\nimport type { PoolItem } from '../../../utils/pool/Pool';\n\n/**\n * The ColorMask effect allows you to apply a color mask to the rendering process.\n * This can be useful for selectively rendering certain colors or for creating\n * effects based on color values.\n * @category rendering\n * @advanced\n */\nexport class ColorMask implements Effect, PoolItem\n{\n    public static extension: ExtensionMetadata = ExtensionType.MaskEffect;\n\n    public priority = 0;\n    public mask: number;\n    public pipe = 'colorMask';\n\n    constructor(options: {mask: number})\n    {\n        if (options?.mask)\n        {\n            this.init(options.mask);\n        }\n    }\n\n    public init(mask: number): void\n    {\n        this.mask = mask;\n    }\n\n    public destroy(): void\n    {\n        // nothing to destroy\n    }\n\n    public static test(mask: any): boolean\n    {\n        return typeof mask === 'number';\n    }\n}\n"],"names":[],"mappings":";;;AAaO,MAAM,SAAA,CACb;AAAA,EAOI,YAAY,OAAA,EACZ;AALA,IAAA,IAAA,CAAO,QAAA,GAAW,CAAA;AAElB,IAAA,IAAA,CAAO,IAAA,GAAO,WAAA;AAIV,IAAA,IAAI,SAAS,IAAA,EACb;AACI,MAAA,IAAA,CAAK,IAAA,CAAK,QAAQ,IAAI,CAAA;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEO,KAAK,IAAA,EACZ;AACI,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,EAChB;AAAA,EAEO,OAAA,GACP;AAAA,EAEA;AAAA,EAEA,OAAc,KAAK,IAAA,EACnB;AACI,IAAA,OAAO,OAAO,IAAA,KAAS,QAAA;AAAA,EAC3B;AACJ;AA9Ba,SAAA,CAEK,YAA+B,aAAA,CAAc,UAAA;;;;"}