project/node_modules/zrender/lib/tool/morphPath.d.ts

42 lines
1.7 KiB
TypeScript
Raw Normal View History

2024-07-14 15:48:34 +08:00
import Path from '../graphic/Path';
import Element, { ElementAnimateConfig } from '../Element';
import { split } from './dividePath';
export declare function alignBezierCurves(array1: number[][], array2: number[][]): number[][][];
export interface CombineMorphingPath extends Path {
childrenRef(): (CombineMorphingPath | Path)[];
__isCombineMorphing: boolean;
}
export declare function centroid(array: number[]): number[];
export declare function isCombineMorphing(path: Element): path is CombineMorphingPath;
export declare function isMorphing(el: Element): boolean;
export declare function morphPath(fromPath: Path, toPath: Path, animationOpts: ElementAnimateConfig): Path;
export interface DividePathParams {
path: Path;
count: number;
}
export interface DividePath {
(params: DividePathParams): Path[];
}
export interface IndividualDelay {
(index: number, count: number, fromPath: Path, toPath: Path): number;
}
export interface CombineConfig extends ElementAnimateConfig {
dividePath?: DividePath;
individualDelay?: IndividualDelay;
}
export declare function combineMorph(fromList: (CombineMorphingPath | Path)[], toPath: Path, animationOpts: CombineConfig): {
fromIndividuals: Path<import("../graphic/Path").PathProps>[];
toIndividuals: Path<import("../graphic/Path").PathProps>[];
count: number;
};
export interface SeparateConfig extends ElementAnimateConfig {
dividePath?: DividePath;
individualDelay?: IndividualDelay;
}
export declare function separateMorph(fromPath: Path, toPathList: Path[], animationOpts: SeparateConfig): {
fromIndividuals: Path<import("../graphic/Path").PathProps>[];
toIndividuals: Path<import("../graphic/Path").PathProps>[];
count: number;
};
export { split as defaultDividePath };