@tsparticles/plugin-canvas-mask 3.0.0-beta.0 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/CanvasMaskInstance.js +1 -1
- package/browser/Options/Classes/CanvasMask.js +4 -4
- package/browser/Options/Classes/TextMask.js +2 -2
- package/browser/index.js +2 -2
- package/browser/package.json +1 -0
- package/cjs/CanvasMaskInstance.js +5 -5
- package/cjs/Options/Classes/CanvasMask.js +8 -8
- package/cjs/Options/Classes/TextMask.js +4 -4
- package/cjs/index.js +4 -4
- package/cjs/package.json +1 -0
- package/esm/CanvasMaskInstance.js +1 -1
- package/esm/Options/Classes/CanvasMask.js +4 -4
- package/esm/Options/Classes/TextMask.js +2 -2
- package/esm/index.js +2 -2
- package/esm/package.json +1 -0
- package/package.json +16 -4
- package/report.html +2 -2
- package/tsparticles.plugin.canvas-mask.js +1 -1
- package/tsparticles.plugin.canvas-mask.min.js.LICENSE.txt +1 -1
- package/types/CanvasMaskInstance.d.ts +1 -1
- package/types/Options/Classes/CanvasMask.d.ts +5 -5
- package/types/Options/Classes/CanvasMaskOverride.d.ts +1 -1
- package/types/Options/Classes/CanvasMaskPixels.d.ts +1 -1
- package/types/Options/Classes/FontTextMask.d.ts +1 -1
- package/types/Options/Classes/ImageMask.d.ts +1 -1
- package/types/Options/Classes/TextMask.d.ts +3 -3
- package/types/Options/Classes/TextMaskLine.d.ts +1 -1
- package/types/Options/Interfaces/ICanvasMask.d.ts +4 -4
- package/types/Options/Interfaces/ITextMask.d.ts +2 -2
- package/types/types.d.ts +2 -2
- package/types/utils.d.ts +2 -2
- package/umd/CanvasMaskInstance.js +6 -6
- package/umd/Options/Classes/CanvasMask.js +9 -9
- package/umd/Options/Classes/TextMask.js +5 -5
- package/umd/index.js +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData } from "./utils";
|
|
1
|
+
import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData } from "./utils.js";
|
|
2
2
|
export class CanvasMaskInstance {
|
|
3
3
|
constructor(container, engine) {
|
|
4
4
|
this._container = container;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CanvasMaskOverride } from "./CanvasMaskOverride";
|
|
2
|
-
import { CanvasMaskPixels } from "./CanvasMaskPixels";
|
|
3
|
-
import { ImageMask } from "./ImageMask";
|
|
4
|
-
import { TextMask } from "./TextMask";
|
|
1
|
+
import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
|
|
2
|
+
import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
|
|
3
|
+
import { ImageMask } from "./ImageMask.js";
|
|
4
|
+
import { TextMask } from "./TextMask.js";
|
|
5
5
|
export class CanvasMask {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.enable = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FontTextMask } from "./FontTextMask";
|
|
2
|
-
import { TextMaskLine } from "./TextMaskLine";
|
|
1
|
+
import { FontTextMask } from "./FontTextMask.js";
|
|
2
|
+
import { TextMaskLine } from "./TextMaskLine.js";
|
|
3
3
|
export class TextMask {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.color = "#000000";
|
package/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CanvasMask } from "./Options/Classes/CanvasMask";
|
|
2
|
-
import { CanvasMaskInstance } from "./CanvasMaskInstance";
|
|
1
|
+
import { CanvasMask } from "./Options/Classes/CanvasMask.js";
|
|
2
|
+
import { CanvasMaskInstance } from "./CanvasMaskInstance.js";
|
|
3
3
|
class CanvasMaskPlugin {
|
|
4
4
|
constructor(engine) {
|
|
5
5
|
this.id = "canvasMask";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "module" }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CanvasMaskInstance = void 0;
|
|
4
|
-
const
|
|
4
|
+
const utils_js_1 = require("./utils.js");
|
|
5
5
|
class CanvasMaskInstance {
|
|
6
6
|
constructor(container, engine) {
|
|
7
7
|
this._container = container;
|
|
@@ -23,11 +23,11 @@ class CanvasMaskInstance {
|
|
|
23
23
|
if (!url) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
pixelData = await (0,
|
|
26
|
+
pixelData = await (0, utils_js_1.getImageData)(url, offset);
|
|
27
27
|
}
|
|
28
28
|
else if (options.text) {
|
|
29
29
|
const textOptions = options.text;
|
|
30
|
-
const data = (0,
|
|
30
|
+
const data = (0, utils_js_1.getTextData)(textOptions, offset);
|
|
31
31
|
if (!data) {
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
@@ -42,9 +42,9 @@ class CanvasMaskInstance {
|
|
|
42
42
|
if (!context) {
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
-
pixelData = (0,
|
|
45
|
+
pixelData = (0, utils_js_1.getCanvasImageData)(context, canvas, offset);
|
|
46
46
|
}
|
|
47
|
-
(0,
|
|
47
|
+
(0, utils_js_1.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
exports.CanvasMaskInstance = CanvasMaskInstance;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CanvasMask = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const CanvasMaskOverride_js_1 = require("./CanvasMaskOverride.js");
|
|
5
|
+
const CanvasMaskPixels_js_1 = require("./CanvasMaskPixels.js");
|
|
6
|
+
const ImageMask_js_1 = require("./ImageMask.js");
|
|
7
|
+
const TextMask_js_1 = require("./TextMask.js");
|
|
8
8
|
class CanvasMask {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.enable = false;
|
|
11
|
-
this.override = new
|
|
12
|
-
this.pixels = new
|
|
11
|
+
this.override = new CanvasMaskOverride_js_1.CanvasMaskOverride();
|
|
12
|
+
this.pixels = new CanvasMaskPixels_js_1.CanvasMaskPixels();
|
|
13
13
|
this.position = {
|
|
14
14
|
x: 50,
|
|
15
15
|
y: 50,
|
|
@@ -28,7 +28,7 @@ class CanvasMask {
|
|
|
28
28
|
}
|
|
29
29
|
if (data.image) {
|
|
30
30
|
if (!this.image) {
|
|
31
|
-
this.image = new
|
|
31
|
+
this.image = new ImageMask_js_1.ImageMask();
|
|
32
32
|
}
|
|
33
33
|
this.image.load(data.image);
|
|
34
34
|
}
|
|
@@ -48,7 +48,7 @@ class CanvasMask {
|
|
|
48
48
|
}
|
|
49
49
|
if (data.text) {
|
|
50
50
|
if (!this.text) {
|
|
51
|
-
this.text = new
|
|
51
|
+
this.text = new TextMask_js_1.TextMask();
|
|
52
52
|
}
|
|
53
53
|
this.text.load(data.text);
|
|
54
54
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TextMask = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const FontTextMask_js_1 = require("./FontTextMask.js");
|
|
5
|
+
const TextMaskLine_js_1 = require("./TextMaskLine.js");
|
|
6
6
|
class TextMask {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.color = "#000000";
|
|
9
|
-
this.font = new
|
|
10
|
-
this.lines = new
|
|
9
|
+
this.font = new FontTextMask_js_1.FontTextMask();
|
|
10
|
+
this.lines = new TextMaskLine_js_1.TextMaskLine();
|
|
11
11
|
this.text = "";
|
|
12
12
|
}
|
|
13
13
|
load(data) {
|
package/cjs/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loadCanvasMaskPlugin = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const CanvasMask_js_1 = require("./Options/Classes/CanvasMask.js");
|
|
5
|
+
const CanvasMaskInstance_js_1 = require("./CanvasMaskInstance.js");
|
|
6
6
|
class CanvasMaskPlugin {
|
|
7
7
|
constructor(engine) {
|
|
8
8
|
this.id = "canvasMask";
|
|
9
9
|
this._engine = engine;
|
|
10
10
|
}
|
|
11
11
|
getPlugin(container) {
|
|
12
|
-
return new
|
|
12
|
+
return new CanvasMaskInstance_js_1.CanvasMaskInstance(container, this._engine);
|
|
13
13
|
}
|
|
14
14
|
loadOptions(options, source) {
|
|
15
15
|
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
@@ -17,7 +17,7 @@ class CanvasMaskPlugin {
|
|
|
17
17
|
}
|
|
18
18
|
let canvasMaskOptions = options.canvasMask;
|
|
19
19
|
if (canvasMaskOptions?.load === undefined) {
|
|
20
|
-
options.canvasMask = canvasMaskOptions = new
|
|
20
|
+
options.canvasMask = canvasMaskOptions = new CanvasMask_js_1.CanvasMask();
|
|
21
21
|
}
|
|
22
22
|
canvasMaskOptions.load(source?.canvasMask);
|
|
23
23
|
}
|
package/cjs/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "commonjs" }
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData } from "./utils";
|
|
1
|
+
import { addParticlesFromCanvasPixels, getCanvasImageData, getImageData, getTextData } from "./utils.js";
|
|
2
2
|
export class CanvasMaskInstance {
|
|
3
3
|
constructor(container, engine) {
|
|
4
4
|
this._container = container;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { CanvasMaskOverride } from "./CanvasMaskOverride";
|
|
2
|
-
import { CanvasMaskPixels } from "./CanvasMaskPixels";
|
|
3
|
-
import { ImageMask } from "./ImageMask";
|
|
4
|
-
import { TextMask } from "./TextMask";
|
|
1
|
+
import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
|
|
2
|
+
import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
|
|
3
|
+
import { ImageMask } from "./ImageMask.js";
|
|
4
|
+
import { TextMask } from "./TextMask.js";
|
|
5
5
|
export class CanvasMask {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.enable = false;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FontTextMask } from "./FontTextMask";
|
|
2
|
-
import { TextMaskLine } from "./TextMaskLine";
|
|
1
|
+
import { FontTextMask } from "./FontTextMask.js";
|
|
2
|
+
import { TextMaskLine } from "./TextMaskLine.js";
|
|
3
3
|
export class TextMask {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.color = "#000000";
|
package/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CanvasMask } from "./Options/Classes/CanvasMask";
|
|
2
|
-
import { CanvasMaskInstance } from "./CanvasMaskInstance";
|
|
1
|
+
import { CanvasMask } from "./Options/Classes/CanvasMask.js";
|
|
2
|
+
import { CanvasMaskInstance } from "./CanvasMaskInstance.js";
|
|
3
3
|
class CanvasMaskPlugin {
|
|
4
4
|
constructor(engine) {
|
|
5
5
|
this.id = "canvasMask";
|
package/esm/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "module" }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/plugin-canvas-mask",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.1",
|
|
4
4
|
"description": "tsParticles canvas mask plugin",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -67,14 +67,26 @@
|
|
|
67
67
|
"bugs": {
|
|
68
68
|
"url": "https://github.com/matteobruni/tsparticles/issues"
|
|
69
69
|
},
|
|
70
|
-
"
|
|
70
|
+
"sideEffects": false,
|
|
71
71
|
"jsdelivr": "tsparticles.plugin.canvas-mask.min.js",
|
|
72
72
|
"unpkg": "tsparticles.plugin.canvas-mask.min.js",
|
|
73
|
+
"browser": "browser/index.js",
|
|
74
|
+
"main": "cjs/index.js",
|
|
73
75
|
"module": "esm/index.js",
|
|
74
76
|
"types": "types/index.d.ts",
|
|
75
|
-
"
|
|
77
|
+
"exports": {
|
|
78
|
+
".": {
|
|
79
|
+
"types": "./types/index.d.ts",
|
|
80
|
+
"browser": "./browser/index.js",
|
|
81
|
+
"import": "./esm/index.js",
|
|
82
|
+
"require": "./cjs/index.js",
|
|
83
|
+
"umd": "./umd/index.js",
|
|
84
|
+
"default": "./cjs/index.js"
|
|
85
|
+
},
|
|
86
|
+
"./package.json": "./package.json"
|
|
87
|
+
},
|
|
76
88
|
"dependencies": {
|
|
77
|
-
"@tsparticles/engine": "^3.0.0-beta.
|
|
89
|
+
"@tsparticles/engine": "^3.0.0-beta.1"
|
|
78
90
|
},
|
|
79
91
|
"publishConfig": {
|
|
80
92
|
"access": "public"
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@tsparticles/plugin-canvas-mask [
|
|
6
|
+
<title>@tsparticles/plugin-canvas-mask [25 Aug 2023 at 16:11]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<body>
|
|
32
32
|
<div id="app"></div>
|
|
33
33
|
<script>
|
|
34
|
-
window.chartData = [{"label":"tsparticles.plugin.canvas-mask.js","isAsset":true,"statSize":
|
|
34
|
+
window.chartData = [{"label":"tsparticles.plugin.canvas-mask.js","isAsset":true,"statSize":10723,"parsedSize":14550,"gzipSize":3880,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":10681,"groups":[{"id":775,"label":"index.js + 9 modules (concatenated)","path":"./dist/browser/index.js + 9 modules (concatenated)","statSize":10681,"parsedSize":14550,"gzipSize":3880,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser","statSize":10681,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/index.js","statSize":876,"parsedSize":1193,"gzipSize":318,"inaccurateSizes":true},{"id":null,"label":"CanvasMaskInstance.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/CanvasMaskInstance.js","statSize":1360,"parsedSize":1852,"gzipSize":494,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes","statSize":3868,"groups":[{"id":null,"label":"CanvasMask.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/CanvasMask.js","statSize":1346,"parsedSize":1833,"gzipSize":488,"inaccurateSizes":true},{"id":null,"label":"CanvasMaskOverride.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/CanvasMaskOverride.js","statSize":314,"parsedSize":427,"gzipSize":114,"inaccurateSizes":true},{"id":null,"label":"CanvasMaskPixels.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/CanvasMaskPixels.js","statSize":632,"parsedSize":860,"gzipSize":229,"inaccurateSizes":true},{"id":null,"label":"ImageMask.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/ImageMask.js","statSize":190,"parsedSize":258,"gzipSize":69,"inaccurateSizes":true},{"id":null,"label":"TextMask.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/TextMask.js","statSize":531,"parsedSize":723,"gzipSize":192,"inaccurateSizes":true},{"id":null,"label":"FontTextMask.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/FontTextMask.js","statSize":534,"parsedSize":727,"gzipSize":193,"inaccurateSizes":true},{"id":null,"label":"TextMaskLine.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/Options/Classes/TextMaskLine.js","statSize":321,"parsedSize":437,"gzipSize":116,"inaccurateSizes":true}],"parsedSize":5269,"gzipSize":1405,"inaccurateSizes":true},{"id":null,"label":"utils.js","path":"./dist/browser/index.js + 9 modules (concatenated)/dist/browser/utils.js","statSize":4577,"parsedSize":6234,"gzipSize":1662,"inaccurateSizes":true}],"parsedSize":14550,"gzipSize":3880,"inaccurateSizes":true}]}],"parsedSize":14550,"gzipSize":3880},{"label":"engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles","statSize":42,"groups":[{"id":533,"label":"engine\",\"root\":\"window\"}","path":"./engine\",\"commonjs2\":\"@tsparticles/engine\",\"amd\":\"@tsparticles/engine\",\"root\":\"window\"}","statSize":42}],"parsedSize":0,"gzipSize":0}],"isInitialByEntrypoint":{"tsparticles.plugin.canvas-mask":true}}];
|
|
35
35
|
window.entrypoints = ["tsparticles.plugin.canvas-mask","tsparticles.plugin.canvas-mask.min"];
|
|
36
36
|
window.defaultSizes = "parsed";
|
|
37
37
|
</script>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.0.0-beta.
|
|
7
|
+
* v3.0.0-beta.1
|
|
8
8
|
*/
|
|
9
9
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
10
10
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Canvas Mask Plugin v3.0.0-beta.
|
|
1
|
+
/*! tsParticles Canvas Mask Plugin v3.0.0-beta.1 by Matteo Bruni */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Engine, IContainerPlugin } from "@tsparticles/engine";
|
|
2
|
-
import type { CanvasMaskContainer } from "./types";
|
|
2
|
+
import type { CanvasMaskContainer } from "./types.js";
|
|
3
3
|
export declare class CanvasMaskInstance implements IContainerPlugin {
|
|
4
4
|
private readonly _container;
|
|
5
5
|
private readonly _engine;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ICoordinates, IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import { CanvasMaskOverride } from "./CanvasMaskOverride";
|
|
3
|
-
import { CanvasMaskPixels } from "./CanvasMaskPixels";
|
|
4
|
-
import type { ICanvasMask } from "../Interfaces/ICanvasMask";
|
|
5
|
-
import { ImageMask } from "./ImageMask";
|
|
6
|
-
import { TextMask } from "./TextMask";
|
|
2
|
+
import { CanvasMaskOverride } from "./CanvasMaskOverride.js";
|
|
3
|
+
import { CanvasMaskPixels } from "./CanvasMaskPixels.js";
|
|
4
|
+
import type { ICanvasMask } from "../Interfaces/ICanvasMask.js";
|
|
5
|
+
import { ImageMask } from "./ImageMask.js";
|
|
6
|
+
import { TextMask } from "./TextMask.js";
|
|
7
7
|
export declare class CanvasMask implements ICanvasMask, IOptionLoader<ICanvasMask> {
|
|
8
8
|
element?: HTMLCanvasElement;
|
|
9
9
|
enable: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { ICanvasMaskOverride } from "../Interfaces/ICanvasMaskOverride";
|
|
2
|
+
import type { ICanvasMaskOverride } from "../Interfaces/ICanvasMaskOverride.js";
|
|
3
3
|
export declare class CanvasMaskOverride implements ICanvasMaskOverride, IOptionLoader<ICanvasMaskOverride> {
|
|
4
4
|
color: boolean;
|
|
5
5
|
opacity: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOptionLoader, IRgba, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { ICanvasMaskPixels } from "../Interfaces/ICanvasMaskPixels";
|
|
2
|
+
import type { ICanvasMaskPixels } from "../Interfaces/ICanvasMaskPixels.js";
|
|
3
3
|
export declare class CanvasMaskPixels implements ICanvasMaskPixels, IOptionLoader<ICanvasMaskPixels> {
|
|
4
4
|
filter: (pixel: IRgba) => boolean;
|
|
5
5
|
offset: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IFontTextMask } from "../Interfaces/IFontTextMask";
|
|
2
|
+
import type { IFontTextMask } from "../Interfaces/IFontTextMask.js";
|
|
3
3
|
export declare class FontTextMask implements IFontTextMask, IOptionLoader<IFontTextMask> {
|
|
4
4
|
family: string;
|
|
5
5
|
size: string | number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IImageMask } from "../Interfaces/IImageMask";
|
|
2
|
+
import type { IImageMask } from "../Interfaces/IImageMask.js";
|
|
3
3
|
export declare class ImageMask implements IImageMask, IOptionLoader<IImageMask> {
|
|
4
4
|
src: string;
|
|
5
5
|
constructor();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import { FontTextMask } from "./FontTextMask";
|
|
3
|
-
import type { ITextMask } from "../Interfaces/ITextMask";
|
|
4
|
-
import { TextMaskLine } from "./TextMaskLine";
|
|
2
|
+
import { FontTextMask } from "./FontTextMask.js";
|
|
3
|
+
import type { ITextMask } from "../Interfaces/ITextMask.js";
|
|
4
|
+
import { TextMaskLine } from "./TextMaskLine.js";
|
|
5
5
|
export declare class TextMask implements ITextMask, IOptionLoader<ITextMask> {
|
|
6
6
|
color: string;
|
|
7
7
|
font: FontTextMask;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { ITextMaskLine } from "../Interfaces/ITextMaskLine";
|
|
2
|
+
import type { ITextMaskLine } from "../Interfaces/ITextMaskLine.js";
|
|
3
3
|
export declare class TextMaskLine implements ITextMaskLine, IOptionLoader<ITextMaskLine> {
|
|
4
4
|
separator: string;
|
|
5
5
|
spacing: number;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ICanvasMaskOverride } from "./ICanvasMaskOverride";
|
|
2
|
-
import type { ICanvasMaskPixels } from "./ICanvasMaskPixels";
|
|
1
|
+
import type { ICanvasMaskOverride } from "./ICanvasMaskOverride.js";
|
|
2
|
+
import type { ICanvasMaskPixels } from "./ICanvasMaskPixels.js";
|
|
3
3
|
import type { ICoordinates } from "@tsparticles/engine";
|
|
4
|
-
import type { IImageMask } from "./IImageMask";
|
|
5
|
-
import type { ITextMask } from "./ITextMask";
|
|
4
|
+
import type { IImageMask } from "./IImageMask.js";
|
|
5
|
+
import type { ITextMask } from "./ITextMask.js";
|
|
6
6
|
export interface ICanvasMask {
|
|
7
7
|
element?: HTMLCanvasElement;
|
|
8
8
|
enable: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { IFontTextMask } from "./IFontTextMask";
|
|
2
|
-
import type { ITextMaskLine } from "./ITextMaskLine";
|
|
1
|
+
import type { IFontTextMask } from "./IFontTextMask.js";
|
|
2
|
+
import type { ITextMaskLine } from "./ITextMaskLine.js";
|
|
3
3
|
export interface ITextMask {
|
|
4
4
|
color: string;
|
|
5
5
|
font: IFontTextMask;
|
package/types/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Container, IOptions, Options } from "@tsparticles/engine";
|
|
2
|
-
import type { CanvasMask } from "./Options/Classes/CanvasMask";
|
|
3
|
-
import type { ICanvasMask } from "./Options/Interfaces/ICanvasMask";
|
|
2
|
+
import type { CanvasMask } from "./Options/Classes/CanvasMask.js";
|
|
3
|
+
import type { ICanvasMask } from "./Options/Interfaces/ICanvasMask.js";
|
|
4
4
|
export type ICanvasMaskOptions = IOptions & {
|
|
5
5
|
canvasMask?: ICanvasMask;
|
|
6
6
|
};
|
package/types/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Container, type ICoordinates, type IDimension, type IRgba } from "@tsparticles/engine";
|
|
2
|
-
import type { ICanvasMaskOverride } from "./Options/Interfaces/ICanvasMaskOverride";
|
|
3
|
-
import type { TextMask } from "./Options/Classes/TextMask";
|
|
2
|
+
import type { ICanvasMaskOverride } from "./Options/Interfaces/ICanvasMaskOverride.js";
|
|
3
|
+
import type { TextMask } from "./Options/Classes/TextMask.js";
|
|
4
4
|
export type CanvasPixelData = {
|
|
5
5
|
height: number;
|
|
6
6
|
pixels: IRgba[][];
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./utils"], factory);
|
|
7
|
+
define(["require", "exports", "./utils.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CanvasMaskInstance = void 0;
|
|
13
|
-
const
|
|
13
|
+
const utils_js_1 = require("./utils.js");
|
|
14
14
|
class CanvasMaskInstance {
|
|
15
15
|
constructor(container, engine) {
|
|
16
16
|
this._container = container;
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
if (!url) {
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
pixelData = await (0,
|
|
35
|
+
pixelData = await (0, utils_js_1.getImageData)(url, offset);
|
|
36
36
|
}
|
|
37
37
|
else if (options.text) {
|
|
38
38
|
const textOptions = options.text;
|
|
39
|
-
const data = (0,
|
|
39
|
+
const data = (0, utils_js_1.getTextData)(textOptions, offset);
|
|
40
40
|
if (!data) {
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
if (!context) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
pixelData = (0,
|
|
54
|
+
pixelData = (0, utils_js_1.getCanvasImageData)(context, canvas, offset);
|
|
55
55
|
}
|
|
56
|
-
(0,
|
|
56
|
+
(0, utils_js_1.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
exports.CanvasMaskInstance = CanvasMaskInstance;
|
|
@@ -4,21 +4,21 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./CanvasMaskOverride", "./CanvasMaskPixels", "./ImageMask", "./TextMask"], factory);
|
|
7
|
+
define(["require", "exports", "./CanvasMaskOverride.js", "./CanvasMaskPixels.js", "./ImageMask.js", "./TextMask.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CanvasMask = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
13
|
+
const CanvasMaskOverride_js_1 = require("./CanvasMaskOverride.js");
|
|
14
|
+
const CanvasMaskPixels_js_1 = require("./CanvasMaskPixels.js");
|
|
15
|
+
const ImageMask_js_1 = require("./ImageMask.js");
|
|
16
|
+
const TextMask_js_1 = require("./TextMask.js");
|
|
17
17
|
class CanvasMask {
|
|
18
18
|
constructor() {
|
|
19
19
|
this.enable = false;
|
|
20
|
-
this.override = new
|
|
21
|
-
this.pixels = new
|
|
20
|
+
this.override = new CanvasMaskOverride_js_1.CanvasMaskOverride();
|
|
21
|
+
this.pixels = new CanvasMaskPixels_js_1.CanvasMaskPixels();
|
|
22
22
|
this.position = {
|
|
23
23
|
x: 50,
|
|
24
24
|
y: 50,
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
}
|
|
38
38
|
if (data.image) {
|
|
39
39
|
if (!this.image) {
|
|
40
|
-
this.image = new
|
|
40
|
+
this.image = new ImageMask_js_1.ImageMask();
|
|
41
41
|
}
|
|
42
42
|
this.image.load(data.image);
|
|
43
43
|
}
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
}
|
|
58
58
|
if (data.text) {
|
|
59
59
|
if (!this.text) {
|
|
60
|
-
this.text = new
|
|
60
|
+
this.text = new TextMask_js_1.TextMask();
|
|
61
61
|
}
|
|
62
62
|
this.text.load(data.text);
|
|
63
63
|
}
|
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./FontTextMask", "./TextMaskLine"], factory);
|
|
7
|
+
define(["require", "exports", "./FontTextMask.js", "./TextMaskLine.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TextMask = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
13
|
+
const FontTextMask_js_1 = require("./FontTextMask.js");
|
|
14
|
+
const TextMaskLine_js_1 = require("./TextMaskLine.js");
|
|
15
15
|
class TextMask {
|
|
16
16
|
constructor() {
|
|
17
17
|
this.color = "#000000";
|
|
18
|
-
this.font = new
|
|
19
|
-
this.lines = new
|
|
18
|
+
this.font = new FontTextMask_js_1.FontTextMask();
|
|
19
|
+
this.lines = new TextMaskLine_js_1.TextMaskLine();
|
|
20
20
|
this.text = "";
|
|
21
21
|
}
|
|
22
22
|
load(data) {
|
package/umd/index.js
CHANGED
|
@@ -4,21 +4,21 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./Options/Classes/CanvasMask", "./CanvasMaskInstance"], factory);
|
|
7
|
+
define(["require", "exports", "./Options/Classes/CanvasMask.js", "./CanvasMaskInstance.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.loadCanvasMaskPlugin = void 0;
|
|
13
|
-
const
|
|
14
|
-
const
|
|
13
|
+
const CanvasMask_js_1 = require("./Options/Classes/CanvasMask.js");
|
|
14
|
+
const CanvasMaskInstance_js_1 = require("./CanvasMaskInstance.js");
|
|
15
15
|
class CanvasMaskPlugin {
|
|
16
16
|
constructor(engine) {
|
|
17
17
|
this.id = "canvasMask";
|
|
18
18
|
this._engine = engine;
|
|
19
19
|
}
|
|
20
20
|
getPlugin(container) {
|
|
21
|
-
return new
|
|
21
|
+
return new CanvasMaskInstance_js_1.CanvasMaskInstance(container, this._engine);
|
|
22
22
|
}
|
|
23
23
|
loadOptions(options, source) {
|
|
24
24
|
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
}
|
|
27
27
|
let canvasMaskOptions = options.canvasMask;
|
|
28
28
|
if (canvasMaskOptions?.load === undefined) {
|
|
29
|
-
options.canvasMask = canvasMaskOptions = new
|
|
29
|
+
options.canvasMask = canvasMaskOptions = new CanvasMask_js_1.CanvasMask();
|
|
30
30
|
}
|
|
31
31
|
canvasMaskOptions.load(source?.canvasMask);
|
|
32
32
|
}
|