@pixi/core
Version:
Core PixiJS
54 lines (49 loc) • 1.6 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var extensions = require('@pixi/extensions');
var math = require('@pixi/math');
var RenderTexture = require('./RenderTexture.js');
const tempTransform = new math.Transform();
class GenerateTextureSystem {
constructor(renderer) {
this.renderer = renderer;
this._tempMatrix = new math.Matrix();
}
generateTexture(displayObject, options) {
const { region: manualRegion, ...textureOptions } = options || {};
const region = manualRegion || displayObject.getLocalBounds(null, true);
if (region.width === 0)
region.width = 1;
if (region.height === 0)
region.height = 1;
const renderTexture = RenderTexture.RenderTexture.create({
width: region.width,
height: region.height,
...textureOptions
});
this._tempMatrix.tx = -region.x;
this._tempMatrix.ty = -region.y;
const transform = displayObject.transform;
displayObject.transform = tempTransform;
this.renderer.render(displayObject, {
renderTexture,
transform: this._tempMatrix,
skipUpdateTransform: !!displayObject.parent,
blit: true
});
displayObject.transform = transform;
return renderTexture;
}
destroy() {
}
}
GenerateTextureSystem.extension = {
type: [
extensions.ExtensionType.RendererSystem,
extensions.ExtensionType.CanvasRendererSystem
],
name: "textureGenerator"
};
extensions.extensions.add(GenerateTextureSystem);
exports.GenerateTextureSystem = GenerateTextureSystem;
//# sourceMappingURL=GenerateTextureSystem.js.map
;