@visactor/vrender-core
Version:
## Description
85 lines (84 loc) • 3.36 kB
TypeScript
import type { IAABBBounds, IOBBBounds } from '@visactor/vutils';
import type { IText, ITextCache, ITextGraphicAttribute, LayoutType } from '../interface';
import { Graphic } from './graphic';
export declare class Text extends Graphic<ITextGraphicAttribute> implements IText {
type: 'text';
static NOWORK_ANIMATE_ATTR: {
strokeSeg: number;
boundsPadding: number;
pickMode: number;
boundsMode: number;
customPickShape: number;
pickable: number;
childrenPickable: number;
visible: number;
zIndex: number;
layout: number;
keepDirIn3d: number;
globalZIndex: number;
outerBorder: number;
innerBorder: number;
lineDash: number;
lineCap: number;
lineJoin: number;
miterLimit: number;
strokeBoundsBuffer: number;
scaleCenter: number;
anchor: number;
anchor3d: number;
postMatrix: number;
backgroundMode: number;
background: number;
texture: number;
cursor: number;
html: number;
ellipsis: number;
wordBreak: number;
direction: number;
textAlign: number;
textBaseline: number;
fontFamily: number;
fontWeight: number;
};
cache: ITextCache;
_font: string;
protected obbText?: Text;
get font(): string;
get clipedText(): string | undefined;
get clipedWidth(): number | undefined;
get cliped(): boolean | undefined;
get multilineLayout(): LayoutType | undefined;
get isMultiLine(): boolean;
constructor(params?: ITextGraphicAttribute);
isValid(): boolean;
protected _isValid(): boolean;
getGraphicTheme(): Required<ITextGraphicAttribute>;
protected doUpdateOBBBounds(): IOBBBounds;
protected updateAABBBounds(attribute: ITextGraphicAttribute, textTheme: Required<ITextGraphicAttribute>, aabbBounds: IAABBBounds): import("@visactor/vutils").IBounds;
updateSingallineAABBBounds(text: number | string): IAABBBounds;
protected updateMultilineAABBBounds(text: (number | string)[]): IAABBBounds;
guessLineHeightBuf(fontSize: number): number;
updateHorizontalMultilineAABBBounds(text: (number | string)[]): IAABBBounds;
updateWrapAABBBounds(text: (number | string) | (number | string)[]): import("@visactor/vutils").IBounds;
updateVerticalMultilineAABBBounds(text: (number | string)[]): IAABBBounds;
protected getMaxWidth(theme: ITextGraphicAttribute): number;
protected getLineHeight(attribute: ITextGraphicAttribute, textTheme: ITextGraphicAttribute, buf: number): number;
protected needUpdateTags(keys: string[], k?: string[]): boolean;
protected needUpdateTag(key: string, k?: string[]): boolean;
protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void;
clone(): Text;
getNoWorkAnimateAttr(): Record<string, number>;
getBaselineMapAlign(): Record<string, string>;
getAlignMapBaseline(): Record<string, string>;
static baselineMapAlign: {
top: string;
bottom: string;
middle: string;
};
static alignMapBaseline: {
left: string;
right: string;
center: string;
};
}
export declare function createText(attributes: ITextGraphicAttribute): IText;