@bddh/starling-cutout
Version:
cutout
49 lines (48 loc) • 1.4 kB
TypeScript
/**
* @file 接口
* @author sunwen05
*/
export interface SeriouslySource {
destroy: () => void;
width: number;
height: number;
id: string;
isDestroyed: () => boolean;
isReady: () => boolean;
off: (event: string, callback?: () => void) => void;
on: (event: string, callback?: () => void) => void;
original: HTMLElement;
readPixels: (x?: number, y?: number, width?: number, height?: number, dest?: number) => any;
render: () => void;
update: () => void;
}
export interface SeriouslyTarget extends SeriouslySource {
getTexture: () => any;
go: (options: any) => any;
stop: () => void;
source: SeriouslyEffect;
original: HTMLCanvasElement;
}
export interface ChromaV1EffectOptions {
screen: number[];
edgeShrink?: number;
weight: number;
balance: number;
clipBlack: number;
clipWhite: number;
}
export interface ChromaV2EffectOptions {
screen: number[];
edgeShrink?: number;
similarity: number;
smoothness: number;
spill?: number;
opacity: number;
contrast?: number;
brightness?: number;
gamma?: number;
}
export type ChromaEffectOptions = ChromaV1EffectOptions | ChromaV2EffectOptions;
export interface SeriouslyEffect extends SeriouslySource, ChromaV2EffectOptions, ChromaV1EffectOptions {
source: SeriouslySource;
}