{"version":3,"file":"Container.mjs","sources":["../../src/animate/Container.ts"],"sourcesContent":["import { ColorMatrixFilter } from '@pixi/filter-color-matrix';\nimport { Container } from '@pixi/display';\nimport { Graphics } from '@pixi/graphics';\nimport { Sprite } from '@pixi/sprite';\nimport { utils } from './utils';\n\n/**\n * Utility subclass of PIXI.Container\n */\nexport class AnimateContainer extends Container\n{\n    // **************************\n    //     Container methods\n    // **************************\n\n    /**\n     * Shortcut for `addChild`.\n     */\n    public ac = super.addChild;\n\n    // **************************\n    //     DisplayObject methods\n    // **************************\n\n    /**\n     * Function to set if this is renderable or not. Useful for setting masks.\n     * @param renderable - Make renderable. Defaults to false.\n     * @return This instance, for chaining.\n     */\n    public setRenderable(renderable?: boolean): this\n    {\n        this.renderable = !!renderable;\n\n        return this;\n    }\n    /**\n     * Shortcut for `setRenderable`.\n     */\n    public re = this.setRenderable;\n\n    /**\n     * Shortcut for `setTransform`.\n     */\n    public t = super.setTransform;\n\n    /**\n     * Setter for mask to be able to chain.\n     * @param mask - The mask shape to use\n     * @return Instance for chaining\n     */\n    public setMask(mask: Graphics | Sprite): this\n    {\n        // According to PIXI, only Graphics and Sprites can\n        // be used as mask, let's ignore everything else, like other\n        // movieclips and displayobjects/containers\n        if (mask)\n        {\n            if (!(mask instanceof Graphics) && !(mask instanceof Sprite))\n            {\n                if (typeof console !== 'undefined' && console.warn)\n                {\n                    console.warn('Warning: Masks can only be PIXI.Graphics or PIXI.Sprite objects.');\n                }\n\n                return this;\n            }\n        }\n        this.mask = mask;\n\n        return this;\n    }\n    /**\n     * Shortcut for `setMask`.\n     */\n    public ma = this.setMask;\n\n    /**\n     * Chainable setter for alpha\n     * @param alpha - The alpha amount to use, from 0 to 1\n     * @return Instance for chaining\n     */\n    public setAlpha(alpha: number): this\n    {\n        this.alpha = alpha;\n\n        return this;\n    }\n    /**\n     * Shortcut for `setAlpha`.\n     */\n    public a = this.setAlpha;\n\n    /**\n     * Set the tint values by color.\n     * @param tint - The color value to tint\n     * @return Object for chaining\n     */\n    public setTint(tint: string | number): this\n    {\n        if (typeof tint === 'string')\n        {\n            tint = utils.hexToUint(tint);\n        }\n        // this.tint = tint\n        // return this;\n        // TODO: Replace with DisplayObject.tint setter\n        // once the functionality is added to Pixi.js, for\n        // now we'll use the slower ColorMatrixFilter to handle\n        // the color transformation\n        const r = (tint >> 16) & 0xFF;\n        const g = (tint >> 8) & 0xFF;\n        const b = tint & 0xFF;\n\n        return this.setColorTransform(r / 255, 0, g / 255, 0, b / 255, 0);\n    }\n    /**\n     * Shortcut for `setTint`.\n     */\n    public i = this.setTint;\n\n    /**\n     * Set additive and multiply color, tinting\n     * @param r - The multiply red value\n     * @param rA - The additive red value\n     * @param g - The multiply green value\n     * @param gA - The additive green value\n     * @param b - The multiply blue value\n     * @param bA - The additive blue value\n     * @return Object for chaining\n     */\n    public setColorTransform(r: number, rA: number, g: number, gA: number, b: number, bA: number): this\n    {\n        const filter = this.colorTransformFilter;\n\n        filter.matrix[0] = r;\n        filter.matrix[4] = rA;\n        filter.matrix[6] = g;\n        filter.matrix[9] = gA;\n        filter.matrix[12] = b;\n        filter.matrix[14] = bA;\n        this.filters = [filter];\n\n        return this;\n    }\n    /**\n     * Shortcut for `setColor`.\n     */\n    public c = this.setColorTransform;\n\n    protected _colorTransformFilter: ColorMatrixFilter;\n    /**\n     * The current default color transforming filters\n     */\n    public set colorTransformFilter(filter: ColorMatrixFilter)\n    {\n        this._colorTransformFilter = filter;\n    }\n    public get colorTransformFilter(): ColorMatrixFilter\n    {\n        return this._colorTransformFilter || new ColorMatrixFilter();\n    }\n}\n"],"names":[],"mappings":"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"}