1 | import type { ICoordinates } from "./ICoordinates";
|
2 | import type { Particle } from "../Particle";
|
3 | import type { ClickMode, OutModeDirection } from "../../Enums";
|
4 | import type { RecursivePartial } from "../../Types";
|
5 | import type { IOptions } from "../../Options/Interfaces/IOptions";
|
6 | import type { IDelta } from "./IDelta";
|
7 | import type { IColor } from "./Colors";
|
8 | export 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 | }
|