{"version":3,"file":"drawTorus.mjs","sources":["../src/drawTorus.ts"],"sourcesContent":["import type { Graphics } from 'pixijs/graphics';\n\n/**\n * Draw a torus shape, like a donut. Can be used for something like a circle loader.\n *\n * _Note: Only available with **pixijs/graphics/extras**._\n * @method PIXI.Graphics#drawTorus\n * @param this\n * @param {number} x - X position\n * @param {number} y - Y position\n * @param {number} innerRadius - Inner circle radius\n * @param {number} outerRadius - Outer circle radius\n * @param {number} [startArc=0] - Where to begin sweep, in radians, 0.0 = to the right\n * @param {number} [endArc=Math.PI*2] - Where to end sweep, in radians\n * @returns {PIXI.Graphics} This Graphics object. Good for chaining method calls\n */\nexport function drawTorus(this: Graphics,\n    x: number,\n    y: number,\n    innerRadius: number,\n    outerRadius: number,\n    startArc = 0,\n    endArc: number = Math.PI * 2): Graphics\n{\n    if (Math.abs(endArc - startArc) >= Math.PI * 2)\n    {\n        return this\n            .drawCircle(x, y, outerRadius)\n            .beginHole()\n            .drawCircle(x, y, innerRadius)\n            .endHole();\n    }\n\n    this.finishPoly();\n    this\n        .arc(x, y, innerRadius, endArc, startArc, true)\n        .arc(x, y, outerRadius, startArc, endArc, false)\n        .finishPoly();\n\n    return this;\n}\n"],"names":[],"mappings":"AAiBI,SAAA,SAAA,CAAA,CAAA,EACA,GACA,WACA,EAAA,WAAA,EACA,WAAW,CACX,EAAA,MAAA,GAAiB,IAAK,CAAA,EAAA,GAAK,CAC/B,EAAA;AACI,EAAA,IAAI,KAAK,GAAI,CAAA,MAAA,GAAS,QAAQ,CAAK,IAAA,IAAA,CAAK,KAAK,CAC7C,EAAA;AACI,IAAA,OAAO,IACF,CAAA,UAAA,CAAW,CAAG,EAAA,CAAA,EAAG,WAAW,CAAA,CAC5B,SAAU,EAAA,CACV,UAAW,CAAA,CAAA,EAAG,CAAG,EAAA,WAAW,EAC5B,OAAQ,EAAA,CAAA;AAAA,GACjB;AAEA,EAAA,IAAA,CAAK,UAAW,EAAA,CAAA;AAChB,EAAA,IAAA,CACK,IAAI,CAAG,EAAA,CAAA,EAAG,WAAa,EAAA,MAAA,EAAQ,UAAU,IAAI,CAAA,CAC7C,GAAI,CAAA,CAAA,EAAG,GAAG,WAAa,EAAA,QAAA,EAAU,MAAQ,EAAA,KAAK,EAC9C,UAAW,EAAA,CAAA;AAEhB,EAAO,OAAA,IAAA,CAAA;AACX;;;;"}