34 lines
823 B
TypeScript
34 lines
823 B
TypeScript
import type { Effect } from "@/effects/types";
|
|
import type { BlendMode, Transform } from "@/rendering";
|
|
import type { BaseTimelineElement } from "./base";
|
|
|
|
export interface TextBackground {
|
|
enabled: boolean;
|
|
color: string;
|
|
cornerRadius?: number;
|
|
paddingX?: number;
|
|
paddingY?: number;
|
|
offsetX?: number;
|
|
offsetY?: number;
|
|
}
|
|
|
|
export interface TextElement extends BaseTimelineElement {
|
|
type: "text";
|
|
content: string;
|
|
fontSize: number;
|
|
fontFamily: string;
|
|
color: string;
|
|
background: TextBackground;
|
|
textAlign: "left" | "center" | "right";
|
|
fontWeight: "normal" | "bold";
|
|
fontStyle: "normal" | "italic";
|
|
textDecoration: "none" | "underline" | "line-through";
|
|
letterSpacing?: number;
|
|
lineHeight?: number;
|
|
hidden?: boolean;
|
|
transform: Transform;
|
|
opacity: number;
|
|
blendMode?: BlendMode;
|
|
effects?: Effect[];
|
|
}
|