shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$Texture = function(global, require, module, exports) { global = require("module$node_modules$eventemitter3$index"); var groupD8 = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$groupD8"), Rectangle = require("module$node_modules$pixi_DOT_js$lib$maths$shapes$Rectangle"), uid = require("module$node_modules$pixi_DOT_js$lib$utils$data$uid"), deprecation = require("module$node_modules$pixi_DOT_js$lib$utils$logging$deprecation"); module = require("module$node_modules$pixi_DOT_js$lib$utils$misc$NOOP"); var BufferImageSource = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$sources$BufferImageSource"), TextureSource = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$sources$TextureSource"), TextureMatrix = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$TextureMatrix"); "use strict"; class Texture extends global { constructor({source, label, frame, orig, trim, defaultAnchor, defaultBorders, rotate, dynamic} = {}) { super(); this.uid = uid.uid("texture"); this.uvs = {x0:0, y0:0, x1:0, y1:0, x2:0, y2:0, x3:0, y3:0}; this.frame = new Rectangle.Rectangle(); this.dynamic = this.noFrame = !1; this.isTexture = !0; this.label = label; this.source = source?.source ?? new TextureSource.TextureSource(); this.noFrame = !frame; if (frame) { this.frame.copyFrom(frame); } else { const {width, height} = this._source; this.frame.width = width; this.frame.height = height; } this.orig = orig || this.frame; this.trim = trim; this.rotate = rotate ?? 0; this.defaultAnchor = defaultAnchor; this.defaultBorders = defaultBorders; this.destroyed = !1; this.dynamic = dynamic || !1; this.updateUvs(); } set source(value) { this._source && this._source.off("resize", this.update, this); this._source = value; value.on("resize", this.update, this); this.emit("update", this); } get source() { return this._source; } get textureMatrix() { this._textureMatrix || (this._textureMatrix = new TextureMatrix.TextureMatrix(this)); return this._textureMatrix; } get width() { return this.orig.width; } get height() { return this.orig.height; } updateUvs() { const {uvs, frame} = this, {width, height} = this._source; var nX = frame.x / width, nY = frame.y / height, nW = frame.width / width, nH = frame.height / height; let rotate = this.rotate; rotate ? (nW /= 2, nH /= 2, nX += nW, nY += nH, rotate = groupD8.groupD8.add(rotate, groupD8.groupD8.NW), uvs.x0 = nX + nW * groupD8.groupD8.uX(rotate), uvs.y0 = nY + nH * groupD8.groupD8.uY(rotate), rotate = groupD8.groupD8.add(rotate, 2), uvs.x1 = nX + nW * groupD8.groupD8.uX(rotate), uvs.y1 = nY + nH * groupD8.groupD8.uY(rotate), rotate = groupD8.groupD8.add(rotate, 2), uvs.x2 = nX + nW * groupD8.groupD8.uX(rotate), uvs.y2 = nY + nH * groupD8.groupD8.uY(rotate), rotate = groupD8.groupD8.add(rotate, 2), uvs.x3 = nX + nW * groupD8.groupD8.uX(rotate), uvs.y3 = nY + nH * groupD8.groupD8.uY(rotate)) : (uvs.x0 = nX, uvs.y0 = nY, uvs.x1 = nX + nW, uvs.y1 = nY, uvs.x2 = nX + nW, uvs.y2 = nY + nH, uvs.x3 = nX, uvs.y3 = nY + nH); } destroy(destroySource = !1) { this._source && (this._source.off("resize", this.update, this), destroySource && (this._source.destroy(), this._source = null)); this._textureMatrix = null; this.destroyed = !0; this.emit("destroy", this); this.removeAllListeners(); } update() { this.noFrame && (this.frame.width = this._source.width, this.frame.height = this._source.height); this.updateUvs(); this.emit("update", this); } get baseTexture() { deprecation.deprecation(deprecation.v8_0_0, "Texture.baseTexture is now Texture.source"); return this._source; } } Texture.EMPTY = new Texture({label:"EMPTY", source:new TextureSource.TextureSource({label:"EMPTY"})}); Texture.EMPTY.destroy = module.NOOP; Texture.WHITE = new Texture({source:new BufferImageSource.BufferImageSource({resource:new Uint8Array([255, 255, 255, 255]), width:1, height:1, alphaMode:"premultiply-alpha-on-upload", label:"WHITE"}), label:"WHITE"}); Texture.WHITE.destroy = module.NOOP; exports.Texture = Texture; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$Texture.js.map