UNPKG

hover-effects-ts

Version:

A collection of beautiful hover effects for images using canvas

68 lines 2.13 kB
import { HoverEffect } from '../types'; export default class DotMatrixHover implements HoverEffect { private readonly id; private element; private canvas; private ctx; private tempCanvas; private tempCtx; private isHovering; private mousePos; private animationFrame; private imageData; private lastRenderTime; private readonly FPS; private readonly frameInterval; private frameCount; private ledPath; private radius; private softEdge; private ledSize; private ledSpacing; private scale; private glow; private fadeExp; private colorMode; private animationType; private animationSpeed; private animationIntensity; private driftOffsets; constructor(options?: { radius?: number; softEdge?: number; ledSize?: number; ledSpacing?: number; scale?: number; glow?: boolean; fadeExp?: number; colorMode?: 'mono' | 'rgb'; animationType?: 'none' | 'wave' | 'pulse' | 'drift' | 'ripple' | 'rotation'; animationSpeed?: number; animationIntensity?: number; }); private buildLedPath; private initDriftOffsets; private updateDriftOffsets; private getAnimationOffset; private onMouseEnter; private onMouseLeave; private onMouseMove; private updateImageData; private render; attach(element: HTMLElement): void; detach(): void; destroy(): void; setRadius(radius: number): void; setLedSize(ledSize: number): void; setLedSpacing(ledSpacing: number): void; setGlow(glow: boolean): void; setSoftEdge(softEdge: number): void; setScale(scale: number): void; setFadeExp(fadeExp: number): void; setColorMode(colorMode: 'mono' | 'rgb'): void; setAnimationType(animationType: 'none' | 'wave' | 'pulse' | 'drift' | 'ripple' | 'rotation'): void; setAnimationSpeed(animationSpeed: number): void; setAnimationIntensity(animationIntensity: number): void; addDriftOffset(x: number, y: number, vx: number, vy: number): void; } //# sourceMappingURL=DotMatrixHover.d.ts.map