@diffusionstudio/core-v4
Version:
A fast, browser based video compositing engine powered by WebCodecs
80 lines (79 loc) • 3.04 kB
TypeScript
import { ImageSource } from '../../sources';
import { Clip } from '../clip';
import { Layer } from '../../layer';
import { ImageClipAnimationOptions, ImageClipProps } from './interfaces';
import { Renderer } from '../../renderer';
declare const ImageClip_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 Clip;
export declare class ImageClip extends ImageClip_base {
_keepAspectRatio: boolean;
readonly type = "IMAGE";
layer?: Layer<ImageClip>;
source?: ImageSource;
animations: ImageClipAnimationOptions;
constructor(input?: ImageSource, props?: ImageClipProps);
init(): Promise<void>;
render(renderer: Renderer): void;
}
export {};