shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$sprite$Sprite = function(global, require, module, exports) { var ObservablePoint = require("module$node_modules$pixi_DOT_js$lib$maths$point$ObservablePoint"), Texture = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$Texture"), updateQuadBounds = require("module$node_modules$pixi_DOT_js$lib$utils$data$updateQuadBounds"), deprecation = require("module$node_modules$pixi_DOT_js$lib$utils$logging$deprecation"); global = require("module$node_modules$pixi_DOT_js$lib$scene$view$ViewContainer"); "use strict"; class Sprite extends global.ViewContainer { constructor(options = Texture.Texture.EMPTY) { options instanceof Texture.Texture && (options = {texture:options}); const {texture = Texture.Texture.EMPTY, anchor, roundPixels, width, height, ...rest} = options; super({label:"Sprite", ...rest}); this.renderPipeId = "sprite"; this.batched = !0; this._visualBounds = {minX:0, maxX:1, minY:0, maxY:0}; this._anchor = new ObservablePoint.ObservablePoint({_onUpdate:() => { this.onViewUpdate(); }}); anchor ? this.anchor = anchor : texture.defaultAnchor && (this.anchor = texture.defaultAnchor); this.texture = texture; this.allowChildren = !1; this.roundPixels = roundPixels ?? !1; void 0 !== width && (this.width = width); void 0 !== height && (this.height = height); } static from(source, skipCache = !1) { return source instanceof Texture.Texture ? new Sprite(source) : new Sprite(Texture.Texture.from(source, skipCache)); } set texture(value) { value || (value = Texture.Texture.EMPTY); const currentTexture = this._texture; if (currentTexture !== value) { currentTexture && currentTexture.dynamic && currentTexture.off("update", this.onViewUpdate, this); if (value.dynamic) { value.on("update", this.onViewUpdate, this); } this._texture = value; this._width && this._setWidth(this._width, this._texture.orig.width); this._height && this._setHeight(this._height, this._texture.orig.height); this.onViewUpdate(); } } get texture() { return this._texture; } get visualBounds() { updateQuadBounds.updateQuadBounds(this._visualBounds, this._anchor, this._texture); return this._visualBounds; } get sourceBounds() { deprecation.deprecation("8.6.1", "Sprite.sourceBounds is deprecated, use visualBounds instead."); return this.visualBounds; } updateBounds() { const anchor = this._anchor, bounds = this._bounds, {width, height} = this._texture.orig; bounds.minX = -anchor._x * width; bounds.maxX = bounds.minX + width; bounds.minY = -anchor._y * height; bounds.maxY = bounds.minY + height; } destroy(options = !1) { super.destroy(options); ("boolean" === typeof options ? options : options?.texture) && this._texture.destroy("boolean" === typeof options ? options : options?.textureSource); this._anchor = this._bounds = this._visualBounds = this._texture = null; } get anchor() { return this._anchor; } set anchor(value) { "number" === typeof value ? this._anchor.set(value) : this._anchor.copyFrom(value); } get width() { return Math.abs(this.scale.x) * this._texture.orig.width; } set width(value) { this._setWidth(value, this._texture.orig.width); this._width = value; } get height() { return Math.abs(this.scale.y) * this._texture.orig.height; } set height(value) { this._setHeight(value, this._texture.orig.height); this._height = value; } getSize(out) { out || (out = {}); out.width = Math.abs(this.scale.x) * this._texture.orig.width; out.height = Math.abs(this.scale.y) * this._texture.orig.height; return out; } setSize(value, height) { "object" === typeof value ? (height = value.height ?? value.width, value = value.width) : height ?? (height = value); void 0 !== value && this._setWidth(value, this._texture.orig.width); void 0 !== height && this._setHeight(height, this._texture.orig.height); } } exports.Sprite = Sprite; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$sprite$Sprite.js.map