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

109 lines
3.5 KiB
JavaScript

shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$text_split$AbstractSplitText = function(global, require, module, exports) {
global = require("module$node_modules$pixi_DOT_js$lib$scene$container$Container");
var TextStyle = require("module$node_modules$pixi_DOT_js$lib$scene$text$TextStyle");
"use strict";
class AbstractSplitText extends global.Container {
constructor(config) {
const {text, style, autoSplit, lineAnchor, wordAnchor, charAnchor, ...options} = config;
super(options);
this._canReuseChars = this._dirty = !1;
this.chars = [];
this.words = [];
this.lines = [];
this._originalText = text;
this._autoSplit = autoSplit;
this._lineAnchor = lineAnchor;
this._wordAnchor = wordAnchor;
this._charAnchor = charAnchor;
this.style = style;
}
split() {
const res = this.splitFn();
this.chars = res.chars;
this.words = res.words;
this.lines = res.lines;
this.addChild(...this.lines);
this.charAnchor = this._charAnchor;
this.wordAnchor = this._wordAnchor;
this.lineAnchor = this._lineAnchor;
this._dirty = !1;
this._canReuseChars = !0;
}
get text() {
return this._originalText;
}
set text(value) {
this._originalText = value;
this.lines.forEach(line => line.destroy({children:!0}));
this.lines.length = 0;
this.words.length = 0;
this.chars.length = 0;
this._canReuseChars = !1;
this.onTextUpdate();
}
_setOrigin(value, elements, property) {
var JSCompiler_object_inline_x_515;
if ("number" === typeof value) {
var JSCompiler_object_inline_y_516 = JSCompiler_object_inline_x_515 = value;
} else {
JSCompiler_object_inline_x_515 = value.x, JSCompiler_object_inline_y_516 = value.y;
}
elements.forEach(element => {
const localBounds = element.getLocalBounds();
element.origin.set(localBounds.minX + localBounds.width * JSCompiler_object_inline_x_515, localBounds.minY + localBounds.height * JSCompiler_object_inline_y_516);
});
this[property] = value;
}
get lineAnchor() {
return this._lineAnchor;
}
set lineAnchor(value) {
this._setOrigin(value, this.lines, "_lineAnchor");
}
get wordAnchor() {
return this._wordAnchor;
}
set wordAnchor(value) {
this._setOrigin(value, this.words, "_wordAnchor");
}
get charAnchor() {
return this._charAnchor;
}
set charAnchor(value) {
this._setOrigin(value, this.chars, "_charAnchor");
}
get style() {
return this._style;
}
set style(style) {
style || (style = {});
this._style = new TextStyle.TextStyle(style);
this.styleChanged();
}
styleChanged() {
this.words.forEach(word => word.destroy());
this.words.length = 0;
this.lines.forEach(line => line.destroy());
this.lines.length = 0;
this._canReuseChars = !0;
this.onTextUpdate();
}
onTextUpdate() {
this._dirty = !0;
this._autoSplit && this.split();
}
destroy(options) {
super.destroy(options);
this.chars = [];
this.words = [];
this.lines = [];
("boolean" === typeof options ? options : options?.style) && this._style.destroy(options);
this._style = null;
this._originalText = "";
}
}
exports.AbstractSplitText = AbstractSplitText;
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$text_split$AbstractSplitText.js.map