@tsparticles/plugin-canvas-mask
Version:
tsParticles canvas mask plugin
38 lines (37 loc) • 1.5 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./Options/Classes/CanvasMask.js", "./CanvasMaskInstance.js"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CanvasMaskPlugin = void 0;
const CanvasMask_js_1 = require("./Options/Classes/CanvasMask.js");
const CanvasMaskInstance_js_1 = require("./CanvasMaskInstance.js");
class CanvasMaskPlugin {
constructor() {
this.id = "canvasMask";
}
getPlugin(container) {
return Promise.resolve(new CanvasMaskInstance_js_1.CanvasMaskInstance(container));
}
loadOptions(options, source) {
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
return;
}
let canvasMaskOptions = options.canvasMask;
if (canvasMaskOptions?.load === undefined) {
options.canvasMask = canvasMaskOptions = new CanvasMask_js_1.CanvasMask();
}
canvasMaskOptions.load(source?.canvasMask);
}
needsPlugin(options) {
return options?.canvasMask?.enable ?? false;
}
}
exports.CanvasMaskPlugin = CanvasMaskPlugin;
});