UNPKG

jparticles

Version:

A lightweight, efficient and easy-to-use Canvas library for building some cool particle effects.

63 lines (46 loc) 1.81 kB
import type { CommonConfig } from './common-config' import type { ICanvasImageSource } from './utility-types' export interface ComOptions { // 是否填充背景色,设置为 false 相关值无效 fill: boolean | boolean[] // 填充的背景色,当 fill 设置为 true 时生效 fillColor: string | string[] // 是否绘制边框,设置为 false 相关值无效 line: boolean | boolean[] // 边框颜色,当 line 设置为 true 时生效 lineColor: string | string[] // 边框宽度,空数组则随机 [.2, 2) 的宽度。 lineWidth: number | number[] // 波纹横向偏移值,距离 Canvas 左边缘的偏移值 // (0, 1) 表示容器宽度的倍数,0 & [1, +∞) 表示具体数值 offsetLeft: number | number[] // 波纹纵向偏移值,波纹中点距离 Canvas 顶部的距离 // (0, 1) 表示容器高度的倍数,0 & [1, +∞) 表示具体数值 offsetTop: number | number[] // 波峰高度,(0, 1) 表示容器高度的倍数,0 & [1, +∞) 表示具体数值 crestHeight: number | number[] // 波峰个数,即正弦周期个数,默认随机 [1, 0.2 * 容器宽度) crestCount: number | number[] // 运动速度,默认随机 [.1, .4) speed: number | number[] // 遮罩:图片 URL 地址、 Base64 格式、canvas 图像源 mask?: string | ICanvasImageSource // 遮罩模式,默认 normal maskMode?: 'normal' | 'ghost' } export interface Options extends ComOptions, Partial<CommonConfig> { // 波纹个数 num: number } export type StdOptions = { [K in keyof ComOptions]: K extends 'maskMode' | 'mask' ? ComOptions[K] : Extract<ComOptions[K], unknown[]> } export interface IElement { // x 坐标 x: number // y 坐标 y: number } export type StrNumBool = string | number | boolean