@pixi/utils
Version:
Collection of utilities used by PixiJS
1 lines • 2.11 kB
Source Map (JSON)
{"version":3,"file":"createIndicesForQuads.mjs","sources":["../../src/data/createIndicesForQuads.ts"],"sourcesContent":["/**\n * Generic Mask Stack data structure\n * @memberof PIXI.utils\n * @function createIndicesForQuads\n * @param {number} size - Number of quads\n * @param {Uint16Array|Uint32Array} [outBuffer] - Buffer for output, length has to be `6 * size`\n * @returns {Uint16Array|Uint32Array} - Resulting index buffer\n */\nexport function createIndicesForQuads(\n size: number,\n outBuffer: Uint16Array | Uint32Array | null = null\n): Uint16Array | Uint32Array\n{\n // the total number of indices in our array, there are 6 points per quad.\n const totalIndices = size * 6;\n\n outBuffer = outBuffer || new Uint16Array(totalIndices);\n\n if (outBuffer.length !== totalIndices)\n {\n throw new Error(`Out buffer length is incorrect, got ${outBuffer.length} and expected ${totalIndices}`);\n }\n\n // fill the indices with the quads to draw\n for (let i = 0, j = 0; i < totalIndices; i += 6, j += 4)\n {\n outBuffer[i + 0] = j + 0;\n outBuffer[i + 1] = j + 1;\n outBuffer[i + 2] = j + 2;\n outBuffer[i + 3] = j + 0;\n outBuffer[i + 4] = j + 2;\n outBuffer[i + 5] = j + 3;\n }\n\n return outBuffer;\n}\n"],"names":[],"mappings":"AASI,SAAA,qBAAA,CAAA,IAAA,EACA,YAA8C,IAElD,EAAA;AAEI,EAAA,MAAM,eAAe,IAAO,GAAA,CAAA,CAAA;AAE5B,EAAY,SAAA,GAAA,SAAA,IAAa,IAAI,WAAA,CAAY,YAAY,CAAA,CAAA;AAErD,EAAI,IAAA,SAAA,CAAU,WAAW,YACzB,EAAA;AACI,IAAA,MAAM,IAAI,KAAA,CAAM,CAAuC,oCAAA,EAAA,SAAA,CAAU,uBAAuB,YAAc,CAAA,CAAA,CAAA,CAAA;AAAA,GAC1G;AAGA,EAAS,KAAA,IAAA,CAAA,GAAI,GAAG,CAAI,GAAA,CAAA,EAAG,IAAI,YAAc,EAAA,CAAA,IAAK,CAAG,EAAA,CAAA,IAAK,CACtD,EAAA;AACI,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AACvB,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AACvB,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AACvB,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AACvB,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AACvB,IAAU,SAAA,CAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,CAAA;AAAA,GAC3B;AAEA,EAAO,OAAA,SAAA,CAAA;AACX;;;;"}