UNPKG

@tsparticles/plugin-polygon-mask

Version:

tsParticles polygon mask plugin

31 lines (30 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PolygonMaskPlugin = void 0; const PolygonMask_js_1 = require("./Options/Classes/PolygonMask.js"); const PolygonMaskInstance_js_1 = require("./PolygonMaskInstance.js"); const PolygonMaskType_js_1 = require("./Enums/PolygonMaskType.js"); class PolygonMaskPlugin { constructor(engine) { this.id = "polygonMask"; this._engine = engine; } getPlugin(container) { return Promise.resolve(new PolygonMaskInstance_js_1.PolygonMaskInstance(container, this._engine)); } loadOptions(options, source) { if (!this.needsPlugin(options) && !this.needsPlugin(source)) { return; } let polygonOptions = options.polygon; if (polygonOptions?.load === undefined) { options.polygon = polygonOptions = new PolygonMask_js_1.PolygonMask(this._engine); } polygonOptions.load(source?.polygon); } needsPlugin(options) { return (options?.polygon?.enable ?? (options?.polygon?.type !== undefined && options.polygon.type !== PolygonMaskType_js_1.PolygonMaskType.none)); } } exports.PolygonMaskPlugin = PolygonMaskPlugin;