canvasparticles-js
Version:
In an HTML canvas, a bunch of interactive particles connected with lines when they approach each other.
56 lines (47 loc) • 1.04 kB
text/typescript
import type CanvasParticles from '..'
import type { CanvasParticlesOptions } from './options'
export interface CanvasParticlesCanvas extends HTMLCanvasElement {
instance: CanvasParticles
rect: CanvasRect
inViewbox: boolean
options: CanvasParticlesOptions
}
interface CanvasRect {
top: number
left: number
width: number
height: number
}
export interface Particle {
posX: number
posY: number
x: number
y: number
velX: number
velY: number
offX: number
offY: number
dir: number
speed: number
size: number
bounds: ParticleBounds
gridPos: ParticleGridPos
isVisible: boolean
isManual: boolean
}
export interface ParticleBounds {
top: number
right: number
bottom: number
left: number
}
export type GridPos = 0 | 1 | 2
export interface ParticleGridPos {
x: GridPos
y: GridPos
}
export interface ContextColor {
hex: string
alpha: number
}
export type SpatialGrid = Map</* key: */ number, /* indexesOfParticles: */ number[]>