UNPKG

@diffusionstudio/core-v4

Version:

2D motion graphics and video rendering engine

151 lines (150 loc) 4.79 kB
import { Clip } from '../clip'; import { StyleOverride } from '../../primitives'; import { Layer } from '../../layer'; import { hex, Percent } from '../../types'; import { TextClipAnimationOptions, TextClipProps } from './interfaces'; import { Renderer, TextAlign, TextBaseline, TextCase, Glow, Stroke, Shadow, Font, RelativePoint, Point } from '../../renderer'; import { Background } from './types'; declare const TextClip_base: { new (...args: any[]): { source?: { height: number; width: number; aspectRatio: number; } | undefined; _position: { x: number; y: number; }; _layoutCache: import('../..').Size; _height?: number; _width?: number; _aspectRatio?: number; _keepAspectRatio: boolean; _mask?: import('../..').Mask; constraints: import('..').Constraints; anchorX: number; anchorY: number; scaleX: number; scaleY: number; translateX: number; translateY: number; rotation: number; opacity: number; filter?: string; blendMode?: import('../..').BlendMode; get x(): number; set x(value: number | Percent); get y(): number; set y(value: number | Percent); get translate(): Point; set translate(value: Point | number); get anchor(): Point; set anchor(value: Point | number); get scale(): Point; set scale(value: Point | number); mask: import('../..').Mask | undefined; keepAspectRatio: boolean; get aspectRatio(): number; set aspectRatio(value: number | undefined); get height(): number; set height(value: Percent | number | undefined); get width(): number; set width(value: Percent | number | undefined); get position(): Point; set position(value: RelativePoint | "center"); animate(time: import('../..').Timestamp): /*elided*/ any; layout(next: import('../..').Size): void; readonly size: import('../..').Size; readonly bounds: [Point, Point, Point, Point]; animations: import('..').ClipAnimationOptions; start: import('../..').Timestamp; stop: import('../..').Timestamp; toJSON(exclude?: string[]): unknown; fromJSON<K = {}>(obj: K extends string ? never : K): /*elided*/ any; }; readonly VISUAL_MIXIN: symbol; } & typeof Clip; export declare class TextClip extends TextClip_base { private node; readonly type = "TEXT"; layer?: Layer<TextClip>; animations: TextClipAnimationOptions; background?: Background; /** * The width at which text will wrap */ maxWidth: number | Percent | undefined; constructor(props?: TextClipProps); /** * Set the copy for the text object. To split a line you can use '\n'. */ get text(): string; set text(value: string); /** * A fillstyle that will be used on the text '#00FF00'. */ get color(): hex; set color(value: hex); /** * The font to use for the text. */ get font(): Font; set font(value: Font); /** * The casing of the text, e.g. uppercase */ get casing(): TextCase; set casing(value: TextCase); /** * Alignment for multiline text, does not affect single line text. */ get align(): TextAlign; set align(value: TextAlign); /** * The baseline of the text that is rendered. */ get baseline(): TextBaseline; set baseline(value: TextBaseline); /** * An object describing the stroke to apply */ get stroke(): Stroke | undefined; set stroke(value: Stroke | undefined); get strokes(): Stroke[]; set strokes(value: Stroke[]); /** * Set a drop shadow for the text. */ get shadow(): Shadow | undefined; set shadow(value: Shadow | Shadow[] | undefined); get shadows(): Shadow[]; set shadows(value: Shadow[]); /** * The space between lines */ get leading(): number; set leading(value: number); /** * An object describing the glow to apply */ get glow(): Glow | undefined; set glow(value: Glow | undefined); get styles(): StyleOverride[]; set styles(value: StyleOverride[]); render(renderer: Renderer): void; get width(): number; set width(value: number); get height(): number; set height(_value: number); /** * Proxy for font.size */ get fontSize(): number; set fontSize(value: number); get name(): string; get position(): Point; set position(value: RelativePoint | 'center'); get lines(): import('../../primitives/text/token').Token[][]; } export {};