Files
nothoughts/node_modules/pixi.js/lib/scene/container/bounds/getGlobalBounds.mjs.map
2025-08-04 18:57:35 +02:00

1 line
5.6 KiB
Plaintext

{"version":3,"file":"getGlobalBounds.mjs","sources":["../../../../src/scene/container/bounds/getGlobalBounds.ts"],"sourcesContent":["import { Matrix } from '../../../maths/matrix/Matrix';\nimport { boundsPool, matrixPool } from './utils/matrixAndBoundsPool';\n\nimport type { Renderable } from '../../../rendering/renderers/shared/Renderable';\nimport type { Container } from '../Container';\nimport type { Bounds } from './Bounds';\n\nexport function getGlobalBounds(target: Container, skipUpdateTransform: boolean, bounds: Bounds): Bounds\n{\n bounds.clear();\n\n let parentTransform;\n let pooledMatrix;\n\n if (target.parent)\n {\n if (!skipUpdateTransform)\n {\n pooledMatrix = matrixPool.get().identity();\n parentTransform = updateTransformBackwards(target, pooledMatrix);\n }\n else\n {\n parentTransform = target.parent.worldTransform;\n }\n }\n else\n {\n parentTransform = Matrix.IDENTITY;\n }\n\n // then collect them...\n\n _getGlobalBounds(target, bounds, parentTransform, skipUpdateTransform);\n\n if (pooledMatrix)\n {\n matrixPool.return(pooledMatrix);\n }\n\n if (!bounds.isValid)\n {\n bounds.set(0, 0, 0, 0);\n }\n\n return bounds;\n}\n\nexport function _getGlobalBounds(\n target: Container,\n bounds: Bounds,\n parentTransform: Matrix,\n skipUpdateTransform: boolean,\n): void\n{\n if (!target.visible || !target.measurable) return;\n\n let worldTransform: Matrix;\n\n if (!skipUpdateTransform)\n {\n target.updateLocalTransform();\n\n worldTransform = matrixPool.get();\n\n worldTransform.appendFrom(target.localTransform, parentTransform);\n }\n else\n {\n worldTransform = target.worldTransform;\n }\n\n const parentBounds = bounds;\n const preserveBounds = !!target.effects.length;\n\n if (preserveBounds)\n {\n bounds = boundsPool.get().clear();\n }\n\n if (target.boundsArea)\n {\n bounds.addRect(target.boundsArea, worldTransform);\n }\n else\n {\n if ((target as Renderable).addBounds)\n {\n // save a copy\n bounds.matrix = worldTransform;\n\n (target as Renderable).addBounds(bounds);\n }\n\n for (let i = 0; i < target.children.length; i++)\n {\n _getGlobalBounds(target.children[i], bounds, worldTransform, skipUpdateTransform);\n }\n }\n\n if (preserveBounds)\n {\n for (let i = 0; i < target.effects.length; i++)\n {\n target.effects[i].addBounds?.(bounds);\n }\n\n parentBounds.addBounds(bounds, Matrix.IDENTITY);\n\n boundsPool.return(bounds);\n }\n\n if (!skipUpdateTransform)\n {\n matrixPool.return(worldTransform);\n }\n}\n\nexport function updateTransformBackwards(target: Container, parentTransform: Matrix)\n{\n const parent = target.parent;\n\n if (parent)\n {\n updateTransformBackwards(parent, parentTransform);\n\n parent.updateLocalTransform();\n\n parentTransform.append(parent.localTransform);\n }\n\n return parentTransform;\n}\n"],"names":[],"mappings":"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"}