shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$fill$FillPattern = function(global, require, module, exports) { var Matrix = require("module$node_modules$pixi_DOT_js$lib$maths$matrix$Matrix"), uid = require("module$node_modules$pixi_DOT_js$lib$utils$data$uid"); "use strict"; const repetitionMap = {repeat:{addressModeU:"repeat", addressModeV:"repeat"}, "repeat-x":{addressModeU:"repeat", addressModeV:"clamp-to-edge"}, "repeat-y":{addressModeU:"clamp-to-edge", addressModeV:"repeat"}, "no-repeat":{addressModeU:"clamp-to-edge", addressModeV:"clamp-to-edge"}}; class FillPattern { constructor(textureOrOptions, repetition) { this.uid = uid.uid("fillPattern"); this._tick = 0; this.transform = new Matrix.Matrix(); textureOrOptions = void 0 !== textureOrOptions.texture ? textureOrOptions : {texture:textureOrOptions, repetition}; this.texture = textureOrOptions.texture; this.textureSpace = textureOrOptions.textureSpace ?? "global"; if (textureOrOptions = textureOrOptions.repetition) { this.texture.source.style.addressModeU = repetitionMap[textureOrOptions].addressModeU, this.texture.source.style.addressModeV = repetitionMap[textureOrOptions].addressModeV; } } setTransform(transform) { if (transform) { if (this.transform.equals(transform)) { return; } this.transform.copyFrom(transform); } else { if (this.transform.isIdentity()) { return; } this.transform.identity(); } this._tick++; } get texture() { return this._texture; } set texture(value) { this._texture !== value && (this._texture = value, this._tick++); } get styleKey() { return `fill-pattern-${this.uid}-${this._tick}`; } destroy() { this.texture.destroy(!0); this.texture = null; } } exports.FillPattern = FillPattern; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$graphics$shared$fill$FillPattern.js.map