UNPKG

1.66 kBTypeScriptView Raw
1import type { ICoordinates } from "./ICoordinates";
2import type { Particle } from "../Particle";
3import type { ClickMode, OutModeDirection } from "../../Enums";
4import type { RecursivePartial } from "../../Types";
5import type { IOptions } from "../../Options/Interfaces/IOptions";
6import type { IDelta } from "./IDelta";
7import type { IColor } from "./Colors";
8export interface IContainerPlugin {
9 clickPositionValid?: (position: ICoordinates) => boolean;
10 draw?: (context: CanvasRenderingContext2D, delta: IDelta) => void;
11 drawParticle?: (context: CanvasRenderingContext2D, particle: Particle, delta: IDelta) => void;
12 handleClickMode?: (mode: ClickMode | string) => void;
13 init?: (options?: RecursivePartial<IOptions>) => void;
14 initAsync?: (options?: RecursivePartial<IOptions>) => Promise<void>;
15 play?: () => void;
16 pause?: () => void;
17 particleBounce?: (particle: Particle, delta: IDelta, direction: OutModeDirection) => boolean;
18 particleCreated?: (particle: Particle) => void;
19 particleDestroyed?: (particle: Particle, override?: boolean) => void;
20 particleFillColor?: (particle: Particle) => string | IColor | undefined;
21 particleStrokeColor?: (particle: Particle) => string | IColor | undefined;
22 particlePosition?: (position?: ICoordinates, particle?: Particle) => ICoordinates | undefined;
23 particleUpdate?: (particle: Particle, delta: IDelta) => void;
24 particlesInitialization?: () => boolean;
25 particlesSetup?: () => void;
26 reset?: () => void;
27 resize?: () => void;
28 start?: () => void;
29 startAsync?: () => Promise<void>;
30 stop?: () => void;
31 update?: (delta: IDelta) => void;
32}