@diffusionstudio/core-v4
Version:
A fast, browser based video compositing engine powered by WebCodecs
33 lines (32 loc) • 1.13 kB
TypeScript
import { Percent, KeyframeOptions } from '../../types';
import { BlendMode, Point, RelativePoint } from '../../renderer';
import { Mask } from '../../masks';
import { ConstraintType, Effect } from './type';
export type VisualMixinAnimationOptions = KeyframeOptions<'opacity' | 'rotation' | 'scale' | 'scaleX' | 'scaleY' | 'anchorX' | 'anchorY' | 'x' | 'y' | 'height' | 'width' | 'translateX' | 'translateY', number>[];
export interface VisualMixinProps {
rotation?: number;
opacity?: number;
translate?: Point | number;
translateX?: number | Percent;
translateY?: number | Percent;
constraints?: Constraints;
position?: RelativePoint | 'center';
x?: number | Percent;
y?: number | Percent;
scale?: Point | number;
scaleX?: number;
scaleY?: number;
height?: Percent | number;
width?: Percent | number;
anchor?: Point | number;
anchorX?: number;
anchorY?: number;
keepAspectRatio?: boolean;
effects?: Effect[];
blendMode?: BlendMode;
mask?: Mask;
}
export interface Constraints {
horizontal: ConstraintType;
vertical: ConstraintType;
}