UNPKG

@diffusionstudio/core-v4

Version:

A fast, browser based video compositing engine powered by WebCodecs

32 lines (31 loc) 1.17 kB
import { ClipProps } from '../clip'; import { VisualMixinProps } from '../visual'; import { StyleOverride, TextStyle } from '../../primitives'; import { CaptionPresetType } from './types'; import { hex, Percent } from '../../types'; import { Renderer, TextAlign, TextBaseline, Stroke, Shadow, Font } from '../../renderer'; import { WordGroup } from '../../sources'; import { CaptionClip } from './caption'; import { Background } from '../text'; export interface CaptionsClipProps extends ClipProps, Omit<VisualMixinProps, 'height'>, Partial<TextStyle> { align?: TextAlign; baseline?: TextBaseline; stroke?: Stroke; shadow?: Shadow | Shadow[]; range?: [number, number]; leading?: number; styles?: StyleOverride[]; maxWidth?: number | Percent; preset?: CaptionPreset<CaptionPresetType>; } export interface CaptionPreset<T extends CaptionPresetType> { type: T; font?: Font; groups: WordGroup[]; applied: boolean; applyStyles(clip: CaptionClip): Promise<void>; render(clip: CaptionClip, renderer: Renderer): void; init(clip: CaptionClip): void; highlightColors?: hex[]; background?: Background; }