shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$text$AbstractText = function(global, require, module, exports) { var ObservablePoint = require("module$node_modules$pixi_DOT_js$lib$maths$point$ObservablePoint"), 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 AbstractText extends global.ViewContainer { constructor(options, styleClass) { const {text, resolution, style, anchor, width, height, roundPixels, ...rest} = options; super({...rest}); this.batched = !0; this._resolution = null; this._didTextUpdate = this._autoResolution = !0; this._styleClass = styleClass; this.text = text ?? ""; this.style = style; this.resolution = resolution ?? null; this.allowChildren = !1; this._anchor = new ObservablePoint.ObservablePoint({_onUpdate:() => { this.onViewUpdate(); }}); anchor && (this.anchor = anchor); this.roundPixels = roundPixels ?? !1; void 0 !== width && (this.width = width); void 0 !== height && (this.height = height); } get anchor() { return this._anchor; } set anchor(value) { "number" === typeof value ? this._anchor.set(value) : this._anchor.copyFrom(value); } set text(value) { value = value.toString(); this._text !== value && (this._text = value, this.onViewUpdate()); } get text() { return this._text; } set resolution(value) { this._autoResolution = null === value; this._resolution = value; this.onViewUpdate(); } get resolution() { return this._resolution; } get style() { return this._style; } set style(style) { style || (style = {}); this._style?.off("update", this.onViewUpdate, this); this._style = style instanceof this._styleClass ? style : new this._styleClass(style); this._style.on("update", this.onViewUpdate, this); this.onViewUpdate(); } get width() { return Math.abs(this.scale.x) * this.bounds.width; } set width(value) { this._setWidth(value, this.bounds.width); } get height() { return Math.abs(this.scale.y) * this.bounds.height; } set height(value) { this._setHeight(value, this.bounds.height); } getSize(out) { out || (out = {}); out.width = Math.abs(this.scale.x) * this.bounds.width; out.height = Math.abs(this.scale.y) * this.bounds.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.bounds.width); void 0 !== height && this._setHeight(height, this.bounds.height); } containsPoint(point) { var width = this.bounds.width; const height = this.bounds.height, x1 = -width * this.anchor.x; return point.x >= x1 && point.x <= x1 + width && (width = -height * this.anchor.y, point.y >= width && point.y <= width + height) ? !0 : !1; } onViewUpdate() { this.didViewUpdate || (this._didTextUpdate = !0); super.onViewUpdate(); } destroy(options = !1) { super.destroy(options); this._anchor = this._bounds = this.owner = null; ("boolean" === typeof options ? options : options?.style) && this._style.destroy(options); this._text = this._style = null; } get styleKey() { return `${this._text}:${this._style.styleKey}:${this._resolution}`; } } exports.AbstractText = AbstractText; exports.ensureTextOptions = function(args, name) { let options = args[0] ?? {}; if ("string" === typeof options || args[1]) { deprecation.deprecation(deprecation.v8_0_0, `use new ${name}({ text: "hi!", style }) instead`), options = {text:options, style:args[1]}; } return options; }; }; //# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$text$AbstractText.js.map