types: add ITextMetrics interface

pr675
Hufe921 2 years ago
parent a2d8dd55b3
commit 245a77cd1f

@ -2,6 +2,7 @@ import { ElementType, IEditorOption, IElement } from '../../..'
import { PUNCTUATION_LIST } from '../../../dataset/constant/Common'
import { DeepRequired } from '../../../interface/Common'
import { IRowElement } from '../../../interface/Row'
import { ITextMetrics } from '../../../interface/Text'
import { Draw } from '../Draw'
export interface IMeasureWordResult {
@ -70,7 +71,7 @@ export class TextParticle {
public measureText(
ctx: CanvasRenderingContext2D,
element: IElement
): TextMetrics {
): ITextMetrics {
// 优先使用自定义字宽设置
if (element.width) {
const textMetrics = ctx.measureText(element.value)

@ -1,5 +1,15 @@
import { TextDecorationStyle } from '../dataset/enum/Text'
export interface ITextMetrics {
width: number
actualBoundingBoxAscent: number
actualBoundingBoxDescent: number
actualBoundingBoxLeft: number
actualBoundingBoxRight: number
fontBoundingBoxAscent: number
fontBoundingBoxDescent: number
}
export interface ITextDecoration {
style?: TextDecorationStyle
}

Loading…
Cancel
Save