49 lines
2.7 KiB
JavaScript
49 lines
2.7 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$getFastGlobalBoundsMixin = function(global, require, module, exports) {
|
|
global = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix");
|
|
var Bounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$Bounds"), matrixAndBoundsPool = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$utils$matrixAndBoundsPool");
|
|
"use strict";
|
|
const tempMatrix = new global.Matrix();
|
|
exports.getFastGlobalBoundsMixin = {getFastGlobalBounds(factorRenderLayers, bounds) {
|
|
bounds || (bounds = new Bounds.Bounds());
|
|
bounds.clear();
|
|
this._getGlobalBoundsRecursive(!!factorRenderLayers, bounds, this.parentRenderLayer);
|
|
bounds.isValid || bounds.set(0, 0, 0, 0);
|
|
bounds.applyMatrix((this.renderGroup || this.parentRenderGroup).worldTransform);
|
|
return bounds;
|
|
}, _getGlobalBoundsRecursive(factorRenderLayers, bounds, currentLayer) {
|
|
let localBounds = bounds;
|
|
if (!(factorRenderLayers && this.parentRenderLayer && this.parentRenderLayer !== currentLayer || 7 !== this.localDisplayStatus) && this.measurable) {
|
|
var manageEffects = !!this.effects.length;
|
|
if (this.renderGroup || manageEffects) {
|
|
localBounds = matrixAndBoundsPool.boundsPool.get().clear();
|
|
}
|
|
if (this.boundsArea) {
|
|
bounds.addRect(this.boundsArea, this.worldTransform);
|
|
} else {
|
|
if (this.renderPipeId) {
|
|
var viewBounds = this.bounds;
|
|
localBounds.addFrame(viewBounds.minX, viewBounds.minY, viewBounds.maxX, viewBounds.maxY, this.groupTransform);
|
|
}
|
|
viewBounds = this.children;
|
|
for (let i = 0; i < viewBounds.length; i++) {
|
|
viewBounds[i]._getGlobalBoundsRecursive(factorRenderLayers, localBounds, currentLayer);
|
|
}
|
|
}
|
|
if (manageEffects) {
|
|
factorRenderLayers = !1;
|
|
currentLayer = this.renderGroup || this.parentRenderGroup;
|
|
for (manageEffects = 0; manageEffects < this.effects.length; manageEffects++) {
|
|
this.effects[manageEffects].addBounds && (factorRenderLayers || (factorRenderLayers = !0, localBounds.applyMatrix(currentLayer.worldTransform)), this.effects[manageEffects].addBounds(localBounds, !0));
|
|
}
|
|
factorRenderLayers && localBounds.applyMatrix(currentLayer.worldTransform.copyTo(tempMatrix).invert());
|
|
bounds.addBounds(localBounds);
|
|
matrixAndBoundsPool.boundsPool.return(localBounds);
|
|
} else {
|
|
this.renderGroup && (bounds.addBounds(localBounds, this.relativeGroupTransform), matrixAndBoundsPool.boundsPool.return(localBounds));
|
|
}
|
|
}
|
|
}};
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$container$container_mixins$getFastGlobalBoundsMixin.js.map
|