UNPKG

@tsparticles/plugin-polygon-mask

Version:

tsParticles polygon mask plugin

28 lines (27 loc) 1.05 kB
import { PolygonMask } from "./Options/Classes/PolygonMask.js"; import { PolygonMaskType } from "./Enums/PolygonMaskType.js"; export class PolygonMaskPlugin { id = "polygon-mask"; #pluginManager; constructor(pluginManager) { this.#pluginManager = pluginManager; } async getPlugin(container) { const { PolygonMaskInstance } = await import("./PolygonMaskInstance.js"); return new PolygonMaskInstance(this.#pluginManager, container); } loadOptions(_container, options, source) { if (!this.needsPlugin(options) && !this.needsPlugin(source)) { return; } let polygonOptions = options.polygon; if (polygonOptions?.load === undefined) { options.polygon = polygonOptions = new PolygonMask(this.#pluginManager); } polygonOptions.load(source?.polygon); } needsPlugin(options) { return (options?.polygon?.enable ?? (options?.polygon?.type !== undefined && options.polygon.type !== PolygonMaskType.none)); } }