UNPKG

@diffusionstudio/core-v4

Version:

A fast, browser based video compositing engine powered by WebCodecs

86 lines (85 loc) 3.32 kB
import { VideoSource } from '../../sources'; import { AudioClip } from '../audio'; import { Renderer } from '../../renderer'; import { Layer } from '../../layer'; import { VideoClipAnimationOptions, VideoClipProps } from './interfaces'; declare const VideoClip_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; effects: import('..').Effect[]; blendMode?: import('../..').BlendMode; get x(): number; set x(value: number | import('../..').Percent); get y(): number; set y(value: number | import('../..').Percent); get filter(): string; get translate(): import('../..').Point; set translate(value: import('../..').Point | number); get anchor(): import('../..').Point; set anchor(value: import('../..').Point | number); get scale(): import('../..').Point; set scale(value: import('../..').Point | number); get mask(): import('../..').Mask | undefined; set mask(value: import('../..').Mask | undefined); get keepAspectRatio(): boolean; set keepAspectRatio(value: boolean); get aspectRatio(): number; set aspectRatio(value: number | undefined); get height(): number; set height(value: import('../..').Percent | number | undefined); get width(): number; set width(value: import('../..').Percent | number | undefined); get position(): import('../..').Point; set position(value: import('../..').RelativePoint | "center"); animate(time: number): /*elided*/ any; layout(next: import('../..').Size): void; get size(): import('../..').Size; get bounds(): [import('../..').Point, import('../..').Point, import('../..').Point, import('../..').Point]; animations: import('..').ClipAnimationOptions; start: number; end: number; toJSON(exclude?: string[]): unknown; fromJSON<K = {}>(obj: K extends string ? never : K): /*elided*/ any; }; readonly VISUAL_MIXIN: symbol; } & typeof AudioClip; export declare class VideoClip extends VideoClip_base { _keepAspectRatio: boolean; readonly type = "VIDEO"; layer?: Layer<VideoClip>; source: VideoSource; private videoDecoders; private decoderPrimed; animations: VideoClipAnimationOptions; constructor(source?: VideoSource, props?: VideoClipProps); initRenderer(renderer: Renderer): Promise<void>; update(renderer: Renderer): Promise<void>; ambientUpdate(renderer: Renderer): void; render(video: Renderer): void; exit(renderer: Renderer): Promise<void>; deinitRenderer(renderer: Renderer): Promise<void>; } export {};