Files
il/resources/public/js/cljs-runtime/module$node_modules$pixi_DOT_js$lib$scene$sprite$SpritePipe.js
2026-07-01 22:38:29 -06:00

48 lines
2.1 KiB
JavaScript

shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$sprite$SpritePipe = function(global, require, module, exports) {
global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
var BatchableSprite = require("module$node_modules$pixi_DOT_js$lib$scene$sprite$BatchableSprite");
"use strict";
class SpritePipe {
constructor(renderer) {
this._renderer = renderer;
}
addRenderable(sprite, instructionSet) {
const gpuSprite = this._getGpuSprite(sprite);
sprite.didViewUpdate && this._updateBatchableSprite(sprite, gpuSprite);
this._renderer.renderPipes.batch.addToBatch(gpuSprite, instructionSet);
}
updateRenderable(sprite) {
const gpuSprite = this._getGpuSprite(sprite);
sprite.didViewUpdate && this._updateBatchableSprite(sprite, gpuSprite);
gpuSprite._batcher.updateElement(gpuSprite);
}
validateRenderable(sprite) {
const gpuSprite = this._getGpuSprite(sprite);
return !gpuSprite._batcher.checkAndUpdateTexture(gpuSprite, sprite._texture);
}
_updateBatchableSprite(sprite, batchableSprite) {
batchableSprite.bounds = sprite.visualBounds;
batchableSprite.texture = sprite._texture;
}
_getGpuSprite(sprite) {
return sprite._gpuData[this._renderer.uid] || this._initGPUSprite(sprite);
}
_initGPUSprite(sprite) {
const batchableSprite = new BatchableSprite.BatchableSprite();
batchableSprite.renderable = sprite;
batchableSprite.transform = sprite.groupTransform;
batchableSprite.texture = sprite._texture;
batchableSprite.bounds = sprite.visualBounds;
batchableSprite.roundPixels = this._renderer._roundPixels | sprite._roundPixels;
return sprite._gpuData[this._renderer.uid] = batchableSprite;
}
destroy() {
this._renderer = null;
}
}
SpritePipe.extension = {type:[global.ExtensionType.WebGLPipes, global.ExtensionType.WebGPUPipes, global.ExtensionType.CanvasPipes], name:"sprite"};
exports.SpritePipe = SpritePipe;
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$sprite$SpritePipe.js.map