UNPKG

modern-canvas

Version:

A JavaScript WebGL rendering engine. only the ESM.

50 lines (49 loc) 2.09 kB
import type { Fonts } from 'modern-font'; import type { NormalizedFill, NormalizedText, TextContent, Text as TextProperties } from 'modern-idoc'; import type { MeasureResult } from 'modern-text'; import type { RectangleLike } from '../../../core'; import type { CanvasContext, TransformVertex } from '../../main'; import type { Texture2D } from '../../resources'; import type { Element2D } from './Element2D'; import { BoundingBox } from 'modern-path2d'; import { Text } from 'modern-text'; import { CoreObject } from '../../../core'; import { CanvasTexture } from '../../resources'; export type TextDrawMode = 'auto' | 'texture' | 'path'; export declare class Element2DText extends CoreObject { parent: Element2D; enabled: boolean; content: NormalizedText['content']; style: NormalizedText['style']; effects: NormalizedText['effects']; fill: NormalizedText['fill']; outline: NormalizedText['outline']; measureDom: HTMLElement; fonts: Fonts; drawMode: TextDrawMode; readonly base: Text; protected _autoDrawMode?: TextDrawMode; protected _autoDrawThreshold: number; protected _texture: CanvasTexture; protected _textureMap: Map<string, { texture: Texture2D | undefined; box: RectangleLike; }>; constructor(parent: Element2D); setProperties(properties?: TextProperties): this; protected _updateProperty(key: string, value: any, oldValue: any): void; update(): void; protected _updateTextureMap(): void; protected _updateTexture(key: string, fill: NormalizedFill | undefined, box: BoundingBox): Promise<void>; protected _loadTexture(fill: NormalizedFill, box: any): Promise<Texture2D | undefined>; setContent(content: TextContent): void; getStringContent(): string; measure(): MeasureResult; isValid(): boolean; protected _createTransformVertex(): TransformVertex | undefined; useTextureDraw(): boolean; protected _pathDraw(ctx: CanvasContext): void; protected _textureDraw(ctx: CanvasContext): void; draw(): void; process(_delta: number): void; }