{"version":3,"file":"applyMatrix.mjs","sources":["../../../../src/scene/sprite-tiling/utils/applyMatrix.ts"],"sourcesContent":["import type { Matrix } from '../../../maths/matrix/Matrix';\nimport type { TypedArray } from '../../../rendering/renderers/shared/buffer/Buffer';\n\n/**\n * @param array\n * @param stride\n * @param offset\n * @param matrix\n * @internal\n */\nexport function applyMatrix(array: TypedArray, stride: number, offset: number, matrix: Matrix)\n{\n    let index = 0;\n    const size = array.length / (stride || 2);\n\n    const a = matrix.a;\n    const b = matrix.b;\n    const c = matrix.c;\n    const d = matrix.d;\n    const tx = matrix.tx;\n    const ty = matrix.ty;\n\n    offset *= stride;\n\n    while (index < size)\n    {\n        const x = array[offset];\n        const y = array[offset + 1];\n\n        array[offset] = (a * x) + (c * y) + tx;\n        array[offset + 1] = (b * x) + (d * y) + ty;\n\n        offset += stride;\n\n        index++;\n    }\n}\n"],"names":[],"mappings":";AAUO,SAAS,WAAA,CAAY,KAAA,EAAmB,MAAA,EAAgB,MAAA,EAAgB,MAAA,EAC/E;AACI,EAAA,IAAI,KAAA,GAAQ,CAAA;AACZ,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,MAAA,IAAU,MAAA,IAAU,CAAA,CAAA;AAEvC,EAAA,MAAM,IAAI,MAAA,CAAO,CAAA;AACjB,EAAA,MAAM,IAAI,MAAA,CAAO,CAAA;AACjB,EAAA,MAAM,IAAI,MAAA,CAAO,CAAA;AACjB,EAAA,MAAM,IAAI,MAAA,CAAO,CAAA;AACjB,EAAA,MAAM,KAAK,MAAA,CAAO,EAAA;AAClB,EAAA,MAAM,KAAK,MAAA,CAAO,EAAA;AAElB,EAAA,MAAA,IAAU,MAAA;AAEV,EAAA,OAAO,QAAQ,IAAA,EACf;AACI,IAAA,MAAM,CAAA,GAAI,MAAM,MAAM,CAAA;AACtB,IAAA,MAAM,CAAA,GAAI,KAAA,CAAM,MAAA,GAAS,CAAC,CAAA;AAE1B,IAAA,KAAA,CAAM,MAAM,CAAA,GAAK,CAAA,GAAI,CAAA,GAAM,IAAI,CAAA,GAAK,EAAA;AACpC,IAAA,KAAA,CAAM,SAAS,CAAC,CAAA,GAAK,CAAA,GAAI,CAAA,GAAM,IAAI,CAAA,GAAK,EAAA;AAExC,IAAA,MAAA,IAAU,MAAA;AAEV,IAAA,KAAA,EAAA;AAAA,EACJ;AACJ;;;;"}