UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

65 lines (64 loc) 1.99 kB
import { __extends } from "../../../tslib/tslib.es6.mjs"; import Displayable from "./Displayable.mjs"; import { getBoundingRect } from "../contain/text.mjs"; import { DEFAULT_PATH_STYLE } from "./Path.mjs"; import { defaults, createObject } from "../core/util.mjs"; import { DEFAULT_FONT } from "../core/platform.mjs"; 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(TSpan2, _super); function TSpan2() { return _super !== null && _super.apply(this, arguments) || this; } TSpan2.prototype.hasStroke = function() { var style = this.style; var stroke = style.stroke; return stroke != null && stroke !== "none" && style.lineWidth > 0; }; TSpan2.prototype.hasFill = function() { var style = this.style; var fill = style.fill; return fill != null && fill !== "none"; }; TSpan2.prototype.createStyle = function(obj) { return createObject(DEFAULT_TSPAN_STYLE, obj); }; TSpan2.prototype.setBoundingRect = function(rect) { this._rect = rect; }; TSpan2.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; }; TSpan2.initDefaultProps = function() { var tspanProto = TSpan2.prototype; tspanProto.dirtyRectTolerance = 10; }(); return TSpan2; }(Displayable); TSpan.prototype.type = "tspan"; var TSpan$1 = TSpan; export { DEFAULT_TSPAN_STYLE, TSpan$1 as default };