@tsparticles/plugin-polygon-mask
Version:
tsParticles polygon mask plugin
56 lines (55 loc) • 1.99 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PolygonMask = void 0;
const engine_1 = require("@tsparticles/engine");
const PolygonMaskDraw_js_1 = require("./PolygonMaskDraw.js");
const PolygonMaskInline_js_1 = require("./PolygonMaskInline.js");
const PolygonMaskLocalSvg_js_1 = require("./PolygonMaskLocalSvg.js");
const PolygonMaskMove_js_1 = require("./PolygonMaskMove.js");
const PolygonMaskType_js_1 = require("../../Enums/PolygonMaskType.js");
class PolygonMask {
constructor(engine) {
this.draw = new PolygonMaskDraw_js_1.PolygonMaskDraw(engine);
this.enable = false;
this.inline = new PolygonMaskInline_js_1.PolygonMaskInline();
this.move = new PolygonMaskMove_js_1.PolygonMaskMove();
this.scale = 1;
this.type = PolygonMaskType_js_1.PolygonMaskType.none;
}
load(data) {
if ((0, engine_1.isNull)(data)) {
return;
}
this.draw.load(data.draw);
this.inline.load(data.inline);
this.move.load(data.move);
if (data.scale !== undefined) {
this.scale = data.scale;
}
if (data.type !== undefined) {
this.type = data.type;
}
if (data.enable !== undefined) {
this.enable = data.enable;
}
else {
this.enable = this.type !== PolygonMaskType_js_1.PolygonMaskType.none;
}
if (data.url !== undefined) {
this.url = data.url;
}
if (data.data !== undefined) {
if ((0, engine_1.isString)(data.data)) {
this.data = data.data;
}
else {
this.data = new PolygonMaskLocalSvg_js_1.PolygonMaskLocalSvg();
this.data.load(data.data);
}
}
if (data.position !== undefined) {
this.position = (0, engine_1.deepExtend)({}, data.position);
}
}
}
exports.PolygonMask = PolygonMask;