{"version":3,"file":"FillStyle.mjs","sources":["../../src/core/FillStyle.ts"],"sourcesContent":["import { Shader, Texture } from '@pixi/core';\n\nimport type { Matrix } from '@pixi/core';\n\n/**\n * @memberof PIXI.smooth\n */\nexport class FillStyle\n{\n    constructor()\n    {\n        this.reset();\n    }\n\n    color: number;\n    alpha: number;\n    texture: Texture;\n    matrix: Matrix;\n    matrixTex: Matrix;\n    shader: Shader;\n    visible: boolean;\n    smooth: boolean;\n\n    toJSON()\n    {\n        return this.copyTo({});\n    }\n\n    clone(): FillStyle\n    {\n        return this.copyTo(new FillStyle());\n    }\n\n    copyTo(obj: any): any\n    {\n        obj.color = this.color;\n        obj.alpha = this.alpha;\n        obj.texture = this.texture;\n        obj.matrix = this.matrix;\n        obj.shader = this.shader;\n        obj.visible = this.visible;\n        obj.smooth = this.smooth;\n        obj.matrixTex = null;\n\n        return obj;\n    }\n\n    packLineScale()\n    {\n        return 0;\n    }\n\n    reset()\n    {\n        this.color = 0xFFFFFF;\n\n        this.alpha = 1;\n\n        this.texture = Texture.WHITE;\n\n        this.matrix = null;\n\n        this.shader = null;\n\n        this.visible = false;\n\n        this.smooth = false;\n\n        this.matrixTex = null;\n    }\n\n    destroy()\n    {\n        this.texture = null;\n        this.matrix = null;\n        this.matrixTex = null;\n    }\n\n    getTextureMatrix()\n    {\n        const tex = this.texture;\n\n        if (!this.matrix)\n        {\n            return null;\n        }\n\n        if (tex.frame.width === tex.baseTexture.width\n            && tex.frame.height === tex.baseTexture.height)\n        {\n            return this.matrix;\n        }\n\n        if (!this.matrixTex)\n        {\n            this.matrixTex = this.matrix.clone();\n        }\n        else\n        {\n            this.matrixTex.copyFrom(this.matrix);\n        }\n        this.matrixTex.translate(Number(tex.frame.x), Number(tex.frame.y));\n\n        return this.matrixTex;\n    }\n}\n"],"names":[],"mappings":";;AAOO,MAAM,SACb,CAAA;AAAA,EACI,WACA,GAAA;AACI,IAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AAAA,GACf;AAAA,EAWA,MACA,GAAA;AACI,IAAO,OAAA,IAAA,CAAK,MAAO,CAAA,EAAE,CAAA,CAAA;AAAA,GACzB;AAAA,EAEA,KACA,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,MAAA,CAAO,IAAI,SAAA,EAAW,CAAA,CAAA;AAAA,GACtC;AAAA,EAEA,OAAO,GACP,EAAA;AACI,IAAA,GAAA,CAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AACjB,IAAA,GAAA,CAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AACjB,IAAA,GAAA,CAAI,UAAU,IAAK,CAAA,OAAA,CAAA;AACnB,IAAA,GAAA,CAAI,SAAS,IAAK,CAAA,MAAA,CAAA;AAClB,IAAA,GAAA,CAAI,SAAS,IAAK,CAAA,MAAA,CAAA;AAClB,IAAA,GAAA,CAAI,UAAU,IAAK,CAAA,OAAA,CAAA;AACnB,IAAA,GAAA,CAAI,SAAS,IAAK,CAAA,MAAA,CAAA;AAClB,IAAA,GAAA,CAAI,SAAY,GAAA,IAAA,CAAA;AAEhB,IAAO,OAAA,GAAA,CAAA;AAAA,GACX;AAAA,EAEA,aACA,GAAA;AACI,IAAO,OAAA,CAAA,CAAA;AAAA,GACX;AAAA,EAEA,KACA,GAAA;AACI,IAAA,IAAA,CAAK,KAAQ,GAAA,QAAA,CAAA;AAEb,IAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AAEb,IAAA,IAAA,CAAK,UAAU,OAAQ,CAAA,KAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAEd,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAEd,IAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AAEf,IAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAA;AAEd,IAAA,IAAA,CAAK,SAAY,GAAA,IAAA,CAAA;AAAA,GACrB;AAAA,EAEA,OACA,GAAA;AACI,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AACf,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AACd,IAAA,IAAA,CAAK,SAAY,GAAA,IAAA,CAAA;AAAA,GACrB;AAAA,EAEA,gBACA,GAAA;AACI,IAAA,MAAM,MAAM,IAAK,CAAA,OAAA,CAAA;AAEjB,IAAI,IAAA,CAAC,KAAK,MACV,EAAA;AACI,MAAO,OAAA,IAAA,CAAA;AAAA,KACX;AAEA,IAAI,IAAA,GAAA,CAAI,KAAM,CAAA,KAAA,KAAU,GAAI,CAAA,WAAA,CAAY,KACjC,IAAA,GAAA,CAAI,KAAM,CAAA,MAAA,KAAW,GAAI,CAAA,WAAA,CAAY,MAC5C,EAAA;AACI,MAAA,OAAO,IAAK,CAAA,MAAA,CAAA;AAAA,KAChB;AAEA,IAAI,IAAA,CAAC,KAAK,SACV,EAAA;AACI,MAAK,IAAA,CAAA,SAAA,GAAY,IAAK,CAAA,MAAA,CAAO,KAAM,EAAA,CAAA;AAAA,KAGvC,MAAA;AACI,MAAK,IAAA,CAAA,SAAA,CAAU,QAAS,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,KACvC;AACA,IAAK,IAAA,CAAA,SAAA,CAAU,SAAU,CAAA,MAAA,CAAO,GAAI,CAAA,KAAA,CAAM,CAAC,CAAA,EAAG,MAAO,CAAA,GAAA,CAAI,KAAM,CAAA,CAAC,CAAC,CAAA,CAAA;AAEjE,IAAA,OAAO,IAAK,CAAA,SAAA,CAAA;AAAA,GAChB;AACJ;;;;"}