{"version":3,"file":"buildPixelLine.mjs","sources":["../../../../../src/scene/graphics/shared/buildCommands/buildPixelLine.ts"],"sourcesContent":["import { closePointEps } from '../const';\n\n/**\n * Builds a line to draw using the polygon method.\n * @param points\n * @param closed\n * @param vertices\n * @param indices\n * @internal\n */\nexport function buildPixelLine(\n    points: number[],\n    closed: boolean,\n    vertices: number[],\n    indices: number[],\n): void\n{\n    const eps = closePointEps;\n\n    if (points.length === 0)\n    {\n        return;\n    }\n\n    // get first and last point.. figure out the middle!\n\n    const fx = points[0];\n    const fy = points[1];\n\n    const lx = points[points.length - 2];\n\n    const ly = points[points.length - 1];\n\n    const closePath = closed || (Math.abs(fx - lx) < eps && Math.abs(fy - ly) < eps);\n\n    const verts = vertices;\n\n    const length = points.length / 2;\n    const indexStart = verts.length / 2;\n\n    for (let i = 0; i < length; i++)\n    {\n        verts.push(points[(i * 2)]);\n        verts.push(points[(i * 2) + 1]);\n    }\n\n    for (let i = 0; i < length - 1; i++)\n    {\n        indices.push(indexStart + i, indexStart + i + 1);\n    }\n\n    if (closePath)\n    {\n        indices.push(indexStart + length - 1, indexStart);\n    }\n}\n\n"],"names":[],"mappings":";;;AAUO,SAAS,cACZ,CAAA,MAAA,EACA,MACA,EAAA,QAAA,EACA,OAEJ,EAAA;AACI,EAAA,MAAM,GAAM,GAAA,aAAA,CAAA;AAEZ,EAAI,IAAA,MAAA,CAAO,WAAW,CACtB,EAAA;AACI,IAAA,OAAA;AAAA,GACJ;AAIA,EAAM,MAAA,EAAA,GAAK,OAAO,CAAC,CAAA,CAAA;AACnB,EAAM,MAAA,EAAA,GAAK,OAAO,CAAC,CAAA,CAAA;AAEnB,EAAA,MAAM,EAAK,GAAA,MAAA,CAAO,MAAO,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAEnC,EAAA,MAAM,EAAK,GAAA,MAAA,CAAO,MAAO,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAEnC,EAAA,MAAM,SAAY,GAAA,MAAA,IAAW,IAAK,CAAA,GAAA,CAAI,EAAK,GAAA,EAAE,CAAI,GAAA,GAAA,IAAO,IAAK,CAAA,GAAA,CAAI,EAAK,GAAA,EAAE,CAAI,GAAA,GAAA,CAAA;AAE5E,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAA;AAEd,EAAM,MAAA,MAAA,GAAS,OAAO,MAAS,GAAA,CAAA,CAAA;AAC/B,EAAM,MAAA,UAAA,GAAa,MAAM,MAAS,GAAA,CAAA,CAAA;AAElC,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,MAAA,EAAQ,CAC5B,EAAA,EAAA;AACI,IAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAQ,CAAI,GAAA,CAAE,CAAC,CAAA,CAAA;AAC1B,IAAA,KAAA,CAAM,IAAK,CAAA,MAAA,CAAQ,CAAI,GAAA,CAAA,GAAK,CAAC,CAAC,CAAA,CAAA;AAAA,GAClC;AAEA,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,MAAA,GAAS,GAAG,CAChC,EAAA,EAAA;AACI,IAAA,OAAA,CAAQ,IAAK,CAAA,UAAA,GAAa,CAAG,EAAA,UAAA,GAAa,IAAI,CAAC,CAAA,CAAA;AAAA,GACnD;AAEA,EAAA,IAAI,SACJ,EAAA;AACI,IAAA,OAAA,CAAQ,IAAK,CAAA,UAAA,GAAa,MAAS,GAAA,CAAA,EAAG,UAAU,CAAA,CAAA;AAAA,GACpD;AACJ;;;;"}