UNPKG

@tsparticles/plugin-canvas-mask

Version:

tsParticles canvas mask plugin

59 lines (58 loc) 1.88 kB
"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;