| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | import { __extends } from "tslib";import Displayable from './Displayable.js';import { getBoundingRect } from '../contain/text.js';import { DEFAULT_PATH_STYLE } from './Path.js';import { createObject, defaults } from '../core/util.js';import { DEFAULT_FONT } from '../core/platform.js';export var DEFAULT_TSPAN_STYLE = defaults({    strokeFirst: true,    font: DEFAULT_FONT,    x: 0,    y: 0,    textAlign: 'left',    textBaseline: 'top',    miterLimit: 2}, DEFAULT_PATH_STYLE);var TSpan = (function (_super) {    __extends(TSpan, _super);    function TSpan() {        return _super !== null && _super.apply(this, arguments) || this;    }    TSpan.prototype.hasStroke = function () {        var style = this.style;        var stroke = style.stroke;        return stroke != null && stroke !== 'none' && style.lineWidth > 0;    };    TSpan.prototype.hasFill = function () {        var style = this.style;        var fill = style.fill;        return fill != null && fill !== 'none';    };    TSpan.prototype.createStyle = function (obj) {        return createObject(DEFAULT_TSPAN_STYLE, obj);    };    TSpan.prototype.setBoundingRect = function (rect) {        this._rect = rect;    };    TSpan.prototype.getBoundingRect = function () {        var style = this.style;        if (!this._rect) {            var text = style.text;            text != null ? (text += '') : (text = '');            var rect = getBoundingRect(text, style.font, style.textAlign, style.textBaseline);            rect.x += style.x || 0;            rect.y += style.y || 0;            if (this.hasStroke()) {                var w = style.lineWidth;                rect.x -= w / 2;                rect.y -= w / 2;                rect.width += w;                rect.height += w;            }            this._rect = rect;        }        return this._rect;    };    TSpan.initDefaultProps = (function () {        var tspanProto = TSpan.prototype;        tspanProto.dirtyRectTolerance = 10;    })();    return TSpan;}(Displayable));TSpan.prototype.type = 'tspan';export default TSpan;
 |