UNPKG

@9am/fire-flame

Version:
49 lines (48 loc) 1.56 kB
import Vector from './vector'; import Particle from './particle'; import { Painter, CanvasPainter, SVGPainter } from './painter'; export declare type PainterType = 'canvas' | 'svg'; export declare type SizeCurveFunction = (x: number, prev: number) => number; export interface FireFlameOption { x?: number; y?: number; mousemove?: boolean; w?: number; h?: number; fps?: number; wind?: Vector; friction?: number; particleNum?: number; particleDistance?: number; particleFPS?: number; sizeCurveFn?: SizeCurveFunction; innerColor?: string; outerColor?: string; painterType?: PainterType; } declare class FireFlame extends Vector { readonly container: HTMLElement; protected option: FireFlameOption; protected painter: Painter; protected pIndex: number; protected particles: Map<number, Particle>; protected spawnAnimation: any; protected renderAnimation: any; protected static painterMap: { canvas: typeof CanvasPainter; svg: typeof SVGPainter; }; static getDefaultOption(): FireFlameOption; constructor(container: HTMLElement, option?: FireFlameOption); protected preparePainter(pType: PainterType): void; start(): void; stop(): void; setOption(option: FireFlameOption): void; protected spawn: () => void; protected updateParticles(): void; protected getPath(): Array<[Vector, Vector]>; protected render: () => void; protected onMove: (evt: MouseEvent) => void; destroy(): void; } export default FireFlame;