@diffusionstudio/core-v4
Version:
2D motion graphics and video rendering engine
151 lines (150 loc) • 4.79 kB
TypeScript
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 {};