{"version":3,"file":"LineStyle.mjs","sources":["../../src/core/LineStyle.ts"],"sourcesContent":["import { LINE_CAP, LINE_JOIN } from '@pixi/graphics';\nimport { FillStyle } from './FillStyle';\n\n/**\n * @memberof PIXI.smooth\n */\nexport enum LINE_SCALE_MODE\n    {\n    NONE = 'none',\n    NORMAL = 'normal',\n    HORIZONTAL = 'horizontal',\n    VERTICAL = 'vertical',\n}\n\n/**\n * @memberof PIXI.smooth\n */\nexport class LineStyle extends FillStyle\n{\n    width: number;\n    alignment: number;\n\n    cap: LINE_CAP;\n    join: LINE_JOIN;\n    miterLimit: number;\n    scaleMode: LINE_SCALE_MODE;\n\n    clone(): LineStyle\n    {\n        return this.copyTo(new LineStyle());\n    }\n\n    // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n    copyTo(obj: any): LineStyle\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.width = this.width;\n        obj.alignment = this.alignment;\n        obj.cap = this.cap;\n        obj.join = this.join;\n        obj.miterLimit = this.miterLimit;\n        obj.scaleMode = this.scaleMode;\n\n        return obj;\n    }\n\n    /**\n     * returns width multiplied by scaleMode\n     */\n    packLineScale(): number\n    {\n        switch (this.scaleMode)\n        {\n            case LINE_SCALE_MODE.NORMAL: return 1;\n            case LINE_SCALE_MODE.HORIZONTAL: return 2;\n            case LINE_SCALE_MODE.VERTICAL: return 3;\n            default: return 0;\n        }\n    }\n\n    reset(): void\n    {\n        super.reset();\n\n        this.smooth = true;\n\n        this.color = 0x0;\n\n        this.width = 0;\n\n        this.alignment = 0.5;\n\n        this.cap = LINE_CAP.BUTT;\n        this.join = LINE_JOIN.MITER;\n        this.miterLimit = 10;\n        this.scaleMode = LINE_SCALE_MODE.NORMAL;\n    }\n}\n"],"names":["LINE_SCALE_MODE"],"mappings":";;;AAMY,IAAA,eAAA,qBAAAA,gBAAL,KAAA;AAEH,EAAAA,iBAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,iBAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,iBAAA,YAAa,CAAA,GAAA,YAAA,CAAA;AACb,EAAAA,iBAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AALH,EAAAA,OAAAA,gBAAAA,CAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA,EAAA;AAWL,MAAM,kBAAkB,SAC/B,CAAA;AAAA,EASI,KACA,GAAA;AACI,IAAA,OAAO,IAAK,CAAA,MAAA,CAAO,IAAI,SAAA,EAAW,CAAA,CAAA;AAAA,GACtC;AAAA;AAAA,EAGA,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,QAAQ,IAAK,CAAA,KAAA,CAAA;AACjB,IAAA,GAAA,CAAI,YAAY,IAAK,CAAA,SAAA,CAAA;AACrB,IAAA,GAAA,CAAI,MAAM,IAAK,CAAA,GAAA,CAAA;AACf,IAAA,GAAA,CAAI,OAAO,IAAK,CAAA,IAAA,CAAA;AAChB,IAAA,GAAA,CAAI,aAAa,IAAK,CAAA,UAAA,CAAA;AACtB,IAAA,GAAA,CAAI,YAAY,IAAK,CAAA,SAAA,CAAA;AAErB,IAAO,OAAA,GAAA,CAAA;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAKA,aACA,GAAA;AACI,IAAA,QAAQ,KAAK,SACb;AAAA,MACI,KAAK,QAAA;AAAwB,QAAO,OAAA,CAAA,CAAA;AAAA,MACpC,KAAK,YAAA;AAA4B,QAAO,OAAA,CAAA,CAAA;AAAA,MACxC,KAAK,UAAA;AAA0B,QAAO,OAAA,CAAA,CAAA;AAAA,MACtC;AAAS,QAAO,OAAA,CAAA,CAAA;AAAA,KACpB;AAAA,GACJ;AAAA,EAEA,KACA,GAAA;AACI,IAAA,KAAA,CAAM,KAAM,EAAA,CAAA;AAEZ,IAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAEd,IAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AAEb,IAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AAEb,IAAA,IAAA,CAAK,SAAY,GAAA,GAAA,CAAA;AAEjB,IAAA,IAAA,CAAK,MAAM,QAAS,CAAA,IAAA,CAAA;AACpB,IAAA,IAAA,CAAK,OAAO,SAAU,CAAA,KAAA,CAAA;AACtB,IAAA,IAAA,CAAK,UAAa,GAAA,EAAA,CAAA;AAClB,IAAA,IAAA,CAAK,SAAY,GAAA,QAAA,cAAA;AAAA,GACrB;AACJ;;;;"}