tsParticles - v4.0.0-beta.12
    Preparing search index...

    Container plugin interface for extending container behavior

    interface IContainerPlugin {
        canvasClear?: () => boolean;
        canvasPaint?: () => boolean;
        checkParticlePosition?: (
            particle: Particle,
            position: ICoordinates,
            tryCount: number,
        ) => boolean;
        clearDraw?: (
            context: OffscreenCanvasRenderingContext2D,
            delta: IDelta,
        ) => void;
        clickPositionValid?: (position: ICoordinates) => boolean;
        destroy?: () => void;
        draw?: (context: OffscreenCanvasRenderingContext2D, delta: IDelta) => void;
        drawParticle?: (
            context: OffscreenCanvasRenderingContext2D,
            particle: Particle,
            delta: IDelta,
        ) => void;
        drawParticleCleanup?: (
            context: OffscreenCanvasRenderingContext2D,
            particle: Particle,
            delta: IDelta,
        ) => void;
        drawParticleSetup?: (
            context: OffscreenCanvasRenderingContext2D,
            particle: Particle,
            delta: IDelta,
        ) => void;
        drawParticleTransform?: (data: IShapeDrawData) => void;
        drawSettingsCleanup?: (
            context: OffscreenCanvasRenderingContext2D,
            delta: IDelta,
        ) => void;
        drawSettingsSetup?: (
            context: OffscreenCanvasRenderingContext2D,
            delta: IDelta,
        ) => void;
        export?: (
            type: string,
            data: Record<string, unknown>,
        ) => Promise<ExportResult>;
        init?: () => Promise<void>;
        particleBounce?: (
            particle: Particle,
            delta: IDelta,
            direction: OutModeDirection,
        ) => boolean;
        particleCreated?: (particle: Particle) => void;
        particleDestroyed?: (particle: Particle, override?: boolean) => void;
        particleFillColor?: (
            particle: Particle,
        ) => string | IRangeColor | undefined;
        particlePosition?: (
            position?: ICoordinates,
            particle?: Particle,
        ) => ICoordinates | undefined;
        particleReset?: (particle: Particle) => void;
        particlesDensityCount?: () => number;
        particlesInitialization?: () => boolean;
        particlesSetup?: () => void;
        particleStrokeColor?: (
            particle: Particle,
        ) => string | IRangeColor | undefined;
        particleUpdate?: (particle: Particle, delta: IDelta) => void;
        pause?: () => void;
        play?: () => void;
        postParticleUpdate?: (particle: Particle, delta: IDelta) => void;
        postUpdate?: (delta: IDelta) => void;
        preInit?: () => Promise<void>;
        redrawInit?: () => Promise<void>;
        resize?: () => void;
        start?: () => Promise<void>;
        stop?: () => void;
        update?: (delta: IDelta) => void;
        updateActualOptions?: () => boolean;
    }
    Index

    Properties

    canvasClear?: () => boolean

    Handles canvas clearing, returns true if handled

    canvasPaint?: () => boolean

    Handles canvas painting, returns true if handled

    checkParticlePosition?: (
        particle: Particle,
        position: ICoordinates,
        tryCount: number,
    ) => boolean

    Checks if a particle position is valid, with retry count

    clearDraw?: (context: OffscreenCanvasRenderingContext2D, delta: IDelta) => void

    Clears plugin-specific drawings from the canvas

    clickPositionValid?: (position: ICoordinates) => boolean

    Validates a click position

    destroy?: () => void

    Cleans up plugin resources

    draw?: (context: OffscreenCanvasRenderingContext2D, delta: IDelta) => void

    Draws plugin content on the canvas

    drawParticle?: (
        context: OffscreenCanvasRenderingContext2D,
        particle: Particle,
        delta: IDelta,
    ) => void

    Draws a particle managed by the plugin

    drawParticleCleanup?: (
        context: OffscreenCanvasRenderingContext2D,
        particle: Particle,
        delta: IDelta,
    ) => void

    Cleanup after drawing a particle

    drawParticleSetup?: (
        context: OffscreenCanvasRenderingContext2D,
        particle: Particle,
        delta: IDelta,
    ) => void

    Setup before drawing a particle

    drawParticleTransform?: (data: IShapeDrawData) => void

    Applies canvas transform before drawing a particle

    drawSettingsCleanup?: (
        context: OffscreenCanvasRenderingContext2D,
        delta: IDelta,
    ) => void

    Cleanup after drawing settings

    drawSettingsSetup?: (
        context: OffscreenCanvasRenderingContext2D,
        delta: IDelta,
    ) => void

    Setup before drawing settings

    export?: (type: string, data: Record<string, unknown>) => Promise<ExportResult>

    Exports the container content

    init?: () => Promise<void>

    Initializes the plugin

    particleBounce?: (
        particle: Particle,
        delta: IDelta,
        direction: OutModeDirection,
    ) => boolean

    Handles particle bounce with the given direction

    particleCreated?: (particle: Particle) => void

    Called when a particle is created

    particleDestroyed?: (particle: Particle, override?: boolean) => void

    Called when a particle is destroyed

    particleFillColor?: (particle: Particle) => string | IRangeColor | undefined

    Returns the fill color for a particle

    particlePosition?: (
        position?: ICoordinates,
        particle?: Particle,
    ) => ICoordinates | undefined

    Returns a custom position for a particle

    particleReset?: (particle: Particle) => void

    Resets a particle state

    particlesDensityCount?: () => number

    Returns the particle density count

    particlesInitialization?: () => boolean

    Handles particle initialization, returns true if handled

    particlesSetup?: () => void

    Sets up particles for the container

    particleStrokeColor?: (particle: Particle) => string | IRangeColor | undefined

    Returns the stroke color for a particle

    particleUpdate?: (particle: Particle, delta: IDelta) => void

    Updates a particle each frame

    pause?: () => void

    Pauses the plugin

    play?: () => void

    Resumes the plugin

    postParticleUpdate?: (particle: Particle, delta: IDelta) => void

    Called after each particle update

    postUpdate?: (delta: IDelta) => void

    Called after all updates

    preInit?: () => Promise<void>

    Called before initialization

    redrawInit?: () => Promise<void>

    Reinitializes for redraw

    resize?: () => void

    Handles container resize

    start?: () => Promise<void>

    Starts the plugin

    stop?: () => void

    Stops the plugin

    update?: (delta: IDelta) => void

    Updates the plugin each frame

    updateActualOptions?: () => boolean

    Updates actual options, returns true if options changed