{"version":3,"file":"drawChamferRect.mjs","sources":["../src/drawChamferRect.ts"],"sourcesContent":["import type { Graphics } from 'pixijs/graphics';\n\n/**\n * Draw Rectangle with chamfer corners. These are angled corners.\n *\n * _Note: Only available with **pixijs/graphics/extras**._\n * @method PIXI.Graphics#drawChamferRect\n * @param this\n * @param {number} x - Upper left corner of rect\n * @param {number} y - Upper right corner of rect\n * @param {number} width - Width of rect\n * @param {number} height - Height of rect\n * @param {number} chamfer - non-zero real number, size of corner cutout\n * @returns {PIXI.Graphics} Returns self.\n */\nexport function drawChamferRect(this: Graphics,\n    x: number,\n    y: number,\n    width: number,\n    height: number,\n    chamfer: number): Graphics\n{\n    if (chamfer <= 0)\n    {\n        return this.drawRect(x, y, width, height);\n    }\n\n    const inset = Math.min(chamfer, Math.min(width, height) / 2);\n    const right = x + width;\n    const bottom = y + height;\n    const points = [\n        x + inset, y,\n        right - inset, y,\n        right, y + inset,\n        right, bottom - inset,\n        right - inset, bottom,\n        x + inset, bottom,\n        x, bottom - inset,\n        x, y + inset,\n    ];\n\n    // Remove overlapping points\n    for (let i = points.length - 1; i >= 2; i -= 2)\n    {\n        if (points[i] === points[i - 2] && points[i - 1] === points[i - 3])\n        {\n            points.splice(i - 1, 2);\n        }\n    }\n\n    return this.drawPolygon(points);\n}\n"],"names":[],"mappings":"AAeO,SAAA,eAAA,CACH,CACA,EAAA,CAAA,EACA,KACA,EAAA,MAAA,EACA,OACJ,EAAA;AACI,EAAA,IAAI,WAAW,CACf,EAAA;AACI,IAAA,OAAO,IAAK,CAAA,QAAA,CAAS,CAAG,EAAA,CAAA,EAAG,OAAO,MAAM,CAAA,CAAA;AAAA,GAC5C;AAEA,EAAM,MAAA,KAAA,GAAQ,KAAK,GAAI,CAAA,OAAA,EAAS,KAAK,GAAI,CAAA,KAAA,EAAO,MAAM,CAAA,GAAI,CAAC,CAAA,CAAA;AAC3D,EAAA,MAAM,QAAQ,CAAI,GAAA,KAAA,CAAA;AAClB,EAAA,MAAM,SAAS,CAAI,GAAA,MAAA,CAAA;AACnB,EAAA,MAAM,MAAS,GAAA;AAAA,IACX,CAAI,GAAA,KAAA;AAAA,IAAO,CAAA;AAAA,IACX,KAAQ,GAAA,KAAA;AAAA,IAAO,CAAA;AAAA,IACf,KAAA;AAAA,IAAO,CAAI,GAAA,KAAA;AAAA,IACX,KAAA;AAAA,IAAO,MAAS,GAAA,KAAA;AAAA,IAChB,KAAQ,GAAA,KAAA;AAAA,IAAO,MAAA;AAAA,IACf,CAAI,GAAA,KAAA;AAAA,IAAO,MAAA;AAAA,IACX,CAAA;AAAA,IAAG,MAAS,GAAA,KAAA;AAAA,IACZ,CAAA;AAAA,IAAG,CAAI,GAAA,KAAA;AAAA,GACX,CAAA;AAGA,EAAA,KAAA,IAAS,IAAI,MAAO,CAAA,MAAA,GAAS,GAAG,CAAK,IAAA,CAAA,EAAG,KAAK,CAC7C,EAAA;AACI,IAAI,IAAA,MAAA,CAAO,CAAO,CAAA,KAAA,MAAA,CAAO,CAAI,GAAA,CAAA,CAAA,IAAM,OAAO,CAAI,GAAA,CAAA,CAAA,KAAO,MAAO,CAAA,CAAA,GAAI,CAChE,CAAA,EAAA;AACI,MAAO,MAAA,CAAA,MAAA,CAAO,CAAI,GAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAAA,KAC1B;AAAA,GACJ;AAEA,EAAO,OAAA,IAAA,CAAK,YAAY,MAAM,CAAA,CAAA;AAClC;;;;"}