{"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,cAAA,CACZ,MAAA,EACA,MAAA,EACA,QAAA,EACA,OAAA,EAEJ;AACI,EAAA,MAAM,GAAA,GAAM,aAAA;AAEZ,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EACtB;AACI,IAAA;AAAA,EACJ;AAIA,EAAA,MAAM,EAAA,GAAK,OAAO,CAAC,CAAA;AACnB,EAAA,MAAM,EAAA,GAAK,OAAO,CAAC,CAAA;AAEnB,EAAA,MAAM,EAAA,GAAK,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AAEnC,EAAA,MAAM,EAAA,GAAK,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AAEnC,EAAA,MAAM,SAAA,GAAY,MAAA,IAAW,IAAA,CAAK,GAAA,CAAI,EAAA,GAAK,EAAE,CAAA,GAAI,GAAA,IAAO,IAAA,CAAK,GAAA,CAAI,EAAA,GAAK,EAAE,CAAA,GAAI,GAAA;AAE5E,EAAA,MAAM,KAAA,GAAQ,QAAA;AAEd,EAAA,MAAM,MAAA,GAAS,OAAO,MAAA,GAAS,CAAA;AAC/B,EAAA,MAAM,UAAA,GAAa,MAAM,MAAA,GAAS,CAAA;AAElC,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,EAAQ,CAAA,EAAA,EAC5B;AACI,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAQ,CAAA,GAAI,CAAE,CAAC,CAAA;AAC1B,IAAA,KAAA,CAAM,IAAA,CAAK,MAAA,CAAQ,CAAA,GAAI,CAAA,GAAK,CAAC,CAAC,CAAA;AAAA,EAClC;AAEA,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,GAAS,GAAG,CAAA,EAAA,EAChC;AACI,IAAA,OAAA,CAAQ,IAAA,CAAK,UAAA,GAAa,CAAA,EAAG,UAAA,GAAa,IAAI,CAAC,CAAA;AAAA,EACnD;AAEA,EAAA,IAAI,SAAA,EACJ;AACI,IAAA,OAAA,CAAQ,IAAA,CAAK,UAAA,GAAa,MAAA,GAAS,CAAA,EAAG,UAAU,CAAA;AAAA,EACpD;AACJ;;;;"}