{"version":3,"file":"buildRectangle.mjs","sources":["../../src/utils/buildRectangle.ts"],"sourcesContent":["import type { Rectangle } from 'pixijs/core';\nimport type { IShapeBuildCommand } from './IShapeBuildCommand';\n\n/**\n * Builds a rectangle to draw\n *\n * Ignored from docs since it is not directly exposed.\n * @ignore\n * @private\n * @param {PIXI.WebGLGraphicsData} graphicsData - The graphics object containing all the necessary properties\n * @param {object} webGLData - an object containing all the WebGL-specific information to create this shape\n * @param {object} webGLDataNativeLines - an object containing all the WebGL-specific information to create nativeLines\n */\nexport const buildRectangle: IShapeBuildCommand = {\n\n    build(graphicsData)\n    {\n        // --- //\n        // need to convert points to a nice regular data\n        //\n        const rectData = graphicsData.shape as Rectangle;\n        const x = rectData.x;\n        const y = rectData.y;\n        const width = rectData.width;\n        const height = rectData.height;\n\n        const points = graphicsData.points;\n\n        points.length = 0;\n\n        if (!(width >= 0 && height >= 0))\n        {\n            return;\n        }\n\n        points.push(x, y,\n            x + width, y,\n            x + width, y + height,\n            x, y + height);\n    },\n\n    triangulate(graphicsData, graphicsGeometry)\n    {\n        const points = graphicsData.points;\n        const verts = graphicsGeometry.points;\n\n        if (points.length === 0)\n        {\n            return;\n        }\n\n        const vertPos = verts.length / 2;\n\n        verts.push(points[0], points[1],\n            points[2], points[3],\n            points[6], points[7],\n            points[4], points[5]);\n\n        graphicsGeometry.indices.push(vertPos, vertPos + 1, vertPos + 2,\n            vertPos + 1, vertPos + 2, vertPos + 3);\n    },\n};\n"],"names":[],"mappings":"AAaO,MAAM,cAAqC,GAAA;AAAA,EAE9C,MAAM,YACN,EAAA;AAII,IAAA,MAAM,WAAW,YAAa,CAAA,KAAA,CAAA;AAC9B,IAAA,MAAM,IAAI,QAAS,CAAA,CAAA,CAAA;AACnB,IAAA,MAAM,IAAI,QAAS,CAAA,CAAA,CAAA;AACnB,IAAA,MAAM,QAAQ,QAAS,CAAA,KAAA,CAAA;AACvB,IAAA,MAAM,SAAS,QAAS,CAAA,MAAA,CAAA;AAExB,IAAA,MAAM,SAAS,YAAa,CAAA,MAAA,CAAA;AAE5B,IAAA,MAAA,CAAO,MAAS,GAAA,CAAA,CAAA;AAEhB,IAAA,IAAI,EAAE,KAAA,IAAS,CAAK,IAAA,MAAA,IAAU,CAC9B,CAAA,EAAA;AACI,MAAA,OAAA;AAAA,KACJ;AAEA,IAAA,MAAA,CAAO,IAAK,CAAA,CAAA,EAAG,CACX,EAAA,CAAA,GAAI,KAAO,EAAA,CAAA,EACX,CAAI,GAAA,KAAA,EAAO,CAAI,GAAA,MAAA,EACf,CAAG,EAAA,CAAA,GAAI,MAAM,CAAA,CAAA;AAAA,GACrB;AAAA,EAEA,WAAA,CAAY,cAAc,gBAC1B,EAAA;AACI,IAAA,MAAM,SAAS,YAAa,CAAA,MAAA,CAAA;AAC5B,IAAA,MAAM,QAAQ,gBAAiB,CAAA,MAAA,CAAA;AAE/B,IAAI,IAAA,MAAA,CAAO,WAAW,CACtB,EAAA;AACI,MAAA,OAAA;AAAA,KACJ;AAEA,IAAM,MAAA,OAAA,GAAU,MAAM,MAAS,GAAA,CAAA,CAAA;AAE/B,IAAA,KAAA,CAAM,KAAK,MAAO,CAAA,CAAA,CAAA,EAAI,MAAO,CAAA,CAAA,CAAA,EACzB,OAAO,CAAI,CAAA,EAAA,MAAA,CAAO,CAClB,CAAA,EAAA,MAAA,CAAO,IAAI,MAAO,CAAA,CAAA,CAAA,EAClB,MAAO,CAAA,CAAA,CAAA,EAAI,OAAO,CAAE,CAAA,CAAA,CAAA;AAExB,IAAA,gBAAA,CAAiB,OAAQ,CAAA,IAAA,CAAK,OAAS,EAAA,OAAA,GAAU,CAAG,EAAA,OAAA,GAAU,CAC1D,EAAA,OAAA,GAAU,CAAG,EAAA,OAAA,GAAU,CAAG,EAAA,OAAA,GAAU,CAAC,CAAA,CAAA;AAAA,GAC7C;AACJ;;;;"}