Files
il/resources/public/js/cljs-runtime/module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$extract$GenerateTextureSystem.js
2026-07-01 22:38:29 -06:00

37 lines
2.7 KiB
JavaScript

shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$extract$GenerateTextureSystem = function(global, require, module, exports) {
var Color = require("module$node_modules$pixi_DOT_js$lib$color$Color");
global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
var Matrix = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix");
module = require("module$node_modules$pixi_DOT_js$lib$maths$shapes$Rectangle");
var Bounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$Bounds"), getLocalBounds = require("module$node_modules$pixi_DOT_js$lib$scene$container$bounds$getLocalBounds"), Container = require("module$node_modules$pixi_DOT_js$lib$scene$container$Container"), RenderTexture = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$RenderTexture");
"use strict";
const tempRect = new module.Rectangle(), tempBounds = new Bounds.Bounds(), noColor = [0, 0, 0, 0];
class GenerateTextureSystem {
constructor(renderer) {
this._renderer = renderer;
}
generateTexture(options) {
options instanceof Container.Container && (options = {target:options, frame:void 0, textureSourceOptions:{}, resolution:void 0});
const resolution = options.resolution || this._renderer.resolution, antialias = options.antialias || this._renderer.view.antialias, container = options.target;
let clearColor = options.clearColor;
clearColor = clearColor ? Array.isArray(clearColor) && 4 === clearColor.length ? clearColor : Color.Color.shared.setValue(clearColor).toArray() : noColor;
var region = options.frame?.copyTo(tempRect) || getLocalBounds.getLocalBounds(container, tempBounds).rectangle;
const textureOptions = options.defaultAnchor && {defaultAnchor:options.defaultAnchor};
region.width = Math.max(region.width, 1 / resolution) | 0;
region.height = Math.max(region.height, 1 / resolution) | 0;
options = RenderTexture.RenderTexture.create({...options.textureSourceOptions, width:region.width, height:region.height, resolution, antialias, textureOptions});
region = Matrix.Matrix.shared.translate(-region.x, -region.y);
this._renderer.render({container, transform:region, target:options, clearColor});
options.source.updateMipmaps();
return options;
}
destroy() {
this._renderer = null;
}
}
GenerateTextureSystem.extension = {type:[global.ExtensionType.WebGLSystem, global.ExtensionType.WebGPUSystem, global.ExtensionType.CanvasSystem], name:"textureGenerator"};
exports.GenerateTextureSystem = GenerateTextureSystem;
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$extract$GenerateTextureSystem.js.map