/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ /** * AUTO-GENERATED FILE. DO NOT MODIFY. */ /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { getFont } from '../../label/labelStyle.js'; import ZRText from 'zrender/lib/graphic/Text.js'; var PATH_COLOR = ['textStyle', 'color']; var textStyleParams = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'padding', 'lineHeight', 'rich', 'width', 'height', 'overflow']; // TODO Performance improvement? var tmpText = new ZRText(); var TextStyleMixin = /** @class */ function () { function TextStyleMixin() {} /** * Get color property or get color from option.textStyle.color */ // TODO Callback TextStyleMixin.prototype.getTextColor = function (isEmphasis) { var ecModel = this.ecModel; return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null); }; /** * Create font string from fontStyle, fontWeight, fontSize, fontFamily * @return {string} */ TextStyleMixin.prototype.getFont = function () { return getFont({ fontStyle: this.getShallow('fontStyle'), fontWeight: this.getShallow('fontWeight'), fontSize: this.getShallow('fontSize'), fontFamily: this.getShallow('fontFamily') }, this.ecModel); }; TextStyleMixin.prototype.getTextRect = function (text) { var style = { text: text, verticalAlign: this.getShallow('verticalAlign') || this.getShallow('baseline') }; for (var i = 0; i < textStyleParams.length; i++) { style[textStyleParams[i]] = this.getShallow(textStyleParams[i]); } tmpText.useStyle(style); tmpText.update(); return tmpText.getBoundingRect(); }; return TextStyleMixin; }(); ; export default TextStyleMixin;