@visactor/vrender-core
Version:
## Description
40 lines (39 loc) • 1.5 kB
TypeScript
import type { IContext2d, IRichTextParagraphCharacter } from '../../interface';
export default class Paragraph {
text: string;
ascent: number;
descent: number;
width: number;
height: number;
lineHeight: number;
fontSize: number;
length: number;
newLine: boolean;
character: IRichTextParagraphCharacter;
left: number;
top: number;
direction?: 'horizontal' | 'vertical';
widthOrigin?: number;
heightOrigin?: number;
textBaseline?: CanvasTextBaseline;
ascentDescentMode?: 'actual' | 'font';
ellipsis: 'normal' | 'add' | 'replace' | 'hide';
ellipsisStr: string;
ellipsisWidth: number;
ellipsisOtherParagraphWidth: number;
verticalEllipsis?: boolean;
overflow?: boolean;
constructor(text: string, newLine: boolean, character: IRichTextParagraphCharacter, ascentDescentMode?: 'actual' | 'font');
updateWidth(): void;
drawBackground(ctx: IContext2d, top: number, ascent: number, deltaLeft: number, isLineFirst: boolean, textAlign: string, lineHeight: number): {
fillStyle: string;
globalAlpha: number;
left: number;
top: number;
right: number;
bottom: number;
};
draw(ctx: IContext2d, top: number, ascent: number, deltaLeft: number, isLineFirst: boolean, textAlign: string, lineHeight: number): void;
getWidthWithEllips(direction: string): number;
}
export declare function seperateParagraph(paragraph: Paragraph, index: number): Paragraph[];