UNPKG

@tsparticles/plugin-canvas-mask

Version:

tsParticles canvas mask plugin

69 lines (68 loc) 2.56 kB
(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", "@tsparticles/engine", "./CanvasMaskOverride.js", "./CanvasMaskPixels.js", "./ImageMask.js", "./TextMask.js"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CanvasMask = void 0; const engine_1 = require("@tsparticles/engine"); const CanvasMaskOverride_js_1 = require("./CanvasMaskOverride.js"); const CanvasMaskPixels_js_1 = require("./CanvasMaskPixels.js"); const ImageMask_js_1 = require("./ImageMask.js"); const TextMask_js_1 = require("./TextMask.js"); class CanvasMask { constructor() { this.enable = false; this.override = new CanvasMaskOverride_js_1.CanvasMaskOverride(); this.pixels = new CanvasMaskPixels_js_1.CanvasMaskPixels(); this.position = { x: 50, y: 50, }; this.scale = 1; } load(data) { if ((0, engine_1.isNull)(data)) { return; } if (data.element !== undefined && data.element instanceof HTMLCanvasElement) { this.element = data.element; } if (data.enable !== undefined) { this.enable = data.enable; } if (data.image) { if (!this.image) { this.image = new ImageMask_js_1.ImageMask(); } this.image.load(data.image); } this.pixels.load(data.pixels); if (data.position) { this.position = { x: data.position.x ?? this.position.x, y: data.position.y ?? this.position.y, }; } this.override.load(data.override); if (data.scale !== undefined) { this.scale = data.scale; } if (data.selector !== undefined) { this.selector = data.selector; } if (data.text) { if (!this.text) { this.text = new TextMask_js_1.TextMask(); } this.text.load(data.text); } } } exports.CanvasMask = CanvasMask; });