@tsparticles/plugin-polygon-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/Options/Classes/PolygonMask.js +4 -4
- package/browser/Options/Classes/PolygonMaskDraw.js +1 -1
- package/browser/PolygonMaskInstance.js +1 -1
- package/browser/index.js +6 -6
- package/browser/package.json +1 -0
- package/cjs/Options/Classes/PolygonMask.js +8 -8
- package/cjs/Options/Classes/PolygonMaskDraw.js +2 -2
- package/cjs/PolygonMaskInstance.js +6 -6
- package/cjs/index.js +8 -8
- package/cjs/package.json +1 -0
- package/esm/Options/Classes/PolygonMask.js +4 -4
- package/esm/Options/Classes/PolygonMaskDraw.js +1 -1
- package/esm/PolygonMaskInstance.js +1 -1
- package/esm/index.js +6 -6
- package/esm/package.json +1 -0
- package/package.json +18 -6
- package/report.html +2 -2
- package/tsparticles.plugin.polygon-mask.js +1 -1
- package/tsparticles.plugin.polygon-mask.min.js.LICENSE.txt +1 -1
- package/types/Interfaces/ISvgPath.d.ts +1 -1
- package/types/Options/Classes/PolygonMask.d.ts +6 -6
- package/types/Options/Classes/PolygonMaskDraw.d.ts +2 -2
- package/types/Options/Classes/PolygonMaskDrawStroke.d.ts +1 -1
- package/types/Options/Classes/PolygonMaskInline.d.ts +3 -3
- package/types/Options/Classes/PolygonMaskLocalSvg.d.ts +1 -1
- package/types/Options/Classes/PolygonMaskMove.d.ts +2 -2
- package/types/Options/Interfaces/IPolygonMask.d.ts +5 -5
- package/types/Options/Interfaces/IPolygonMaskDraw.d.ts +1 -1
- package/types/Options/Interfaces/IPolygonMaskInline.d.ts +1 -1
- package/types/Options/Interfaces/IPolygonMaskMove.d.ts +1 -1
- package/types/PolygonMaskInstance.d.ts +2 -2
- package/types/index.d.ts +4 -4
- package/types/types.d.ts +3 -3
- package/types/utils.d.ts +2 -2
- package/umd/Options/Classes/PolygonMask.js +9 -9
- package/umd/Options/Classes/PolygonMaskDraw.js +3 -3
- package/umd/PolygonMaskInstance.js +7 -7
- package/umd/index.js +9 -9
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { deepExtend, isString, } from "@tsparticles/engine";
|
|
2
|
-
import { PolygonMaskDraw } from "./PolygonMaskDraw";
|
|
3
|
-
import { PolygonMaskInline } from "./PolygonMaskInline";
|
|
4
|
-
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg";
|
|
5
|
-
import { PolygonMaskMove } from "./PolygonMaskMove";
|
|
2
|
+
import { PolygonMaskDraw } from "./PolygonMaskDraw.js";
|
|
3
|
+
import { PolygonMaskInline } from "./PolygonMaskInline.js";
|
|
4
|
+
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg.js";
|
|
5
|
+
import { PolygonMaskMove } from "./PolygonMaskMove.js";
|
|
6
6
|
export class PolygonMask {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.draw = new PolygonMaskDraw();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { deepExtend, errorPrefix, getDistance, getDistances, getRandom, isArray, isString, itemFromArray, } from "@tsparticles/engine";
|
|
2
|
-
import { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from "./utils";
|
|
2
|
+
import { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from "./utils.js";
|
|
3
3
|
const noPolygonDataLoaded = `${errorPrefix} No polygon data loaded.`, noPolygonFound = `${errorPrefix} No polygon found, you need to specify SVG url in config.`;
|
|
4
4
|
export class PolygonMaskInstance {
|
|
5
5
|
constructor(container, engine) {
|
package/browser/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./pathseg";
|
|
2
|
-
import { PolygonMask } from "./Options/Classes/PolygonMask";
|
|
3
|
-
import { PolygonMaskInstance } from "./PolygonMaskInstance";
|
|
1
|
+
import "./pathseg.js";
|
|
2
|
+
import { PolygonMask } from "./Options/Classes/PolygonMask.js";
|
|
3
|
+
import { PolygonMaskInstance } from "./PolygonMaskInstance.js";
|
|
4
4
|
class PolygonMaskPlugin {
|
|
5
5
|
constructor(engine) {
|
|
6
6
|
this.id = "polygonMask";
|
|
@@ -27,6 +27,6 @@ class PolygonMaskPlugin {
|
|
|
27
27
|
export async function loadPolygonMaskPlugin(engine, refresh = true) {
|
|
28
28
|
await engine.addPlugin(new PolygonMaskPlugin(engine), refresh);
|
|
29
29
|
}
|
|
30
|
-
export * from "./Enums/PolygonMaskInlineArrangement";
|
|
31
|
-
export * from "./Enums/PolygonMaskMoveType";
|
|
32
|
-
export * from "./Enums/PolygonMaskType";
|
|
30
|
+
export * from "./Enums/PolygonMaskInlineArrangement.js";
|
|
31
|
+
export * from "./Enums/PolygonMaskMoveType.js";
|
|
32
|
+
export * from "./Enums/PolygonMaskType.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "module" }
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PolygonMask = void 0;
|
|
4
4
|
const engine_1 = require("@tsparticles/engine");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
5
|
+
const PolygonMaskDraw_js_1 = require("./PolygonMaskDraw.js");
|
|
6
|
+
const PolygonMaskInline_js_1 = require("./PolygonMaskInline.js");
|
|
7
|
+
const PolygonMaskLocalSvg_js_1 = require("./PolygonMaskLocalSvg.js");
|
|
8
|
+
const PolygonMaskMove_js_1 = require("./PolygonMaskMove.js");
|
|
9
9
|
class PolygonMask {
|
|
10
10
|
constructor() {
|
|
11
|
-
this.draw = new
|
|
11
|
+
this.draw = new PolygonMaskDraw_js_1.PolygonMaskDraw();
|
|
12
12
|
this.enable = false;
|
|
13
|
-
this.inline = new
|
|
14
|
-
this.move = new
|
|
13
|
+
this.inline = new PolygonMaskInline_js_1.PolygonMaskInline();
|
|
14
|
+
this.move = new PolygonMaskMove_js_1.PolygonMaskMove();
|
|
15
15
|
this.scale = 1;
|
|
16
16
|
this.type = "none";
|
|
17
17
|
}
|
|
@@ -42,7 +42,7 @@ class PolygonMask {
|
|
|
42
42
|
this.data = data.data;
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
this.data = new
|
|
45
|
+
this.data = new PolygonMaskLocalSvg_js_1.PolygonMaskLocalSvg();
|
|
46
46
|
this.data.load(data.data);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PolygonMaskDraw = void 0;
|
|
4
|
-
const
|
|
4
|
+
const PolygonMaskDrawStroke_js_1 = require("./PolygonMaskDrawStroke.js");
|
|
5
5
|
class PolygonMaskDraw {
|
|
6
6
|
constructor() {
|
|
7
7
|
this.enable = false;
|
|
8
|
-
this.stroke = new
|
|
8
|
+
this.stroke = new PolygonMaskDrawStroke_js_1.PolygonMaskDrawStroke();
|
|
9
9
|
}
|
|
10
10
|
load(data) {
|
|
11
11
|
if (!data) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PolygonMaskInstance = void 0;
|
|
4
4
|
const engine_1 = require("@tsparticles/engine");
|
|
5
|
-
const
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
6
6
|
const noPolygonDataLoaded = `${engine_1.errorPrefix} No polygon data loaded.`, noPolygonFound = `${engine_1.errorPrefix} No polygon found, you need to specify SVG url in config.`;
|
|
7
7
|
class PolygonMaskInstance {
|
|
8
8
|
constructor(container, engine) {
|
|
@@ -208,7 +208,7 @@ class PolygonMaskInstance {
|
|
|
208
208
|
x: (canvasSize.width * position.x) / 100 - this.dimension.width / 2,
|
|
209
209
|
y: (canvasSize.height * position.y) / 100 - this.dimension.height / 2,
|
|
210
210
|
};
|
|
211
|
-
return (0,
|
|
211
|
+
return (0, utils_js_1.parsePaths)(this.paths, scale, this.offset);
|
|
212
212
|
};
|
|
213
213
|
this._polygonBounce = (particle, _delta, direction) => {
|
|
214
214
|
const options = this._container.actualOptions.polygon;
|
|
@@ -220,11 +220,11 @@ class PolygonMaskInstance {
|
|
|
220
220
|
const pos = particle.getPosition(), radius = particle.getRadius();
|
|
221
221
|
for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {
|
|
222
222
|
const pi = this.raw[i], pj = this.raw[j];
|
|
223
|
-
closest = (0,
|
|
223
|
+
closest = (0, utils_js_1.calcClosestPtOnSegment)(pi, pj, pos);
|
|
224
224
|
const dist = (0, engine_1.getDistances)(pos, closest);
|
|
225
225
|
[dx, dy] = [dist.dx, dist.dy];
|
|
226
226
|
if (dist.distance < radius) {
|
|
227
|
-
(0,
|
|
227
|
+
(0, utils_js_1.segmentBounce)(pi, pj, particle.velocity);
|
|
228
228
|
return true;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
@@ -324,10 +324,10 @@ class PolygonMaskInstance {
|
|
|
324
324
|
continue;
|
|
325
325
|
}
|
|
326
326
|
if (path2d && this.offset) {
|
|
327
|
-
(0,
|
|
327
|
+
(0, utils_js_1.drawPolygonMaskPath)(context, path2d, polygonDraw.stroke, this.offset);
|
|
328
328
|
}
|
|
329
329
|
else if (rawData) {
|
|
330
|
-
(0,
|
|
330
|
+
(0, utils_js_1.drawPolygonMask)(context, rawData, polygonDraw.stroke);
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
}
|
package/cjs/index.js
CHANGED
|
@@ -15,16 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.loadPolygonMaskPlugin = void 0;
|
|
18
|
-
require("./pathseg");
|
|
19
|
-
const
|
|
20
|
-
const
|
|
18
|
+
require("./pathseg.js");
|
|
19
|
+
const PolygonMask_js_1 = require("./Options/Classes/PolygonMask.js");
|
|
20
|
+
const PolygonMaskInstance_js_1 = require("./PolygonMaskInstance.js");
|
|
21
21
|
class PolygonMaskPlugin {
|
|
22
22
|
constructor(engine) {
|
|
23
23
|
this.id = "polygonMask";
|
|
24
24
|
this._engine = engine;
|
|
25
25
|
}
|
|
26
26
|
getPlugin(container) {
|
|
27
|
-
return new
|
|
27
|
+
return new PolygonMaskInstance_js_1.PolygonMaskInstance(container, this._engine);
|
|
28
28
|
}
|
|
29
29
|
loadOptions(options, source) {
|
|
30
30
|
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
@@ -32,7 +32,7 @@ class PolygonMaskPlugin {
|
|
|
32
32
|
}
|
|
33
33
|
let polygonOptions = options.polygon;
|
|
34
34
|
if (polygonOptions?.load === undefined) {
|
|
35
|
-
options.polygon = polygonOptions = new
|
|
35
|
+
options.polygon = polygonOptions = new PolygonMask_js_1.PolygonMask();
|
|
36
36
|
}
|
|
37
37
|
polygonOptions.load(source?.polygon);
|
|
38
38
|
}
|
|
@@ -45,6 +45,6 @@ async function loadPolygonMaskPlugin(engine, refresh = true) {
|
|
|
45
45
|
await engine.addPlugin(new PolygonMaskPlugin(engine), refresh);
|
|
46
46
|
}
|
|
47
47
|
exports.loadPolygonMaskPlugin = loadPolygonMaskPlugin;
|
|
48
|
-
__exportStar(require("./Enums/PolygonMaskInlineArrangement"), exports);
|
|
49
|
-
__exportStar(require("./Enums/PolygonMaskMoveType"), exports);
|
|
50
|
-
__exportStar(require("./Enums/PolygonMaskType"), exports);
|
|
48
|
+
__exportStar(require("./Enums/PolygonMaskInlineArrangement.js"), exports);
|
|
49
|
+
__exportStar(require("./Enums/PolygonMaskMoveType.js"), exports);
|
|
50
|
+
__exportStar(require("./Enums/PolygonMaskType.js"), exports);
|
package/cjs/package.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "commonjs" }
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { deepExtend, isString, } from "@tsparticles/engine";
|
|
2
|
-
import { PolygonMaskDraw } from "./PolygonMaskDraw";
|
|
3
|
-
import { PolygonMaskInline } from "./PolygonMaskInline";
|
|
4
|
-
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg";
|
|
5
|
-
import { PolygonMaskMove } from "./PolygonMaskMove";
|
|
2
|
+
import { PolygonMaskDraw } from "./PolygonMaskDraw.js";
|
|
3
|
+
import { PolygonMaskInline } from "./PolygonMaskInline.js";
|
|
4
|
+
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg.js";
|
|
5
|
+
import { PolygonMaskMove } from "./PolygonMaskMove.js";
|
|
6
6
|
export class PolygonMask {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.draw = new PolygonMaskDraw();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { deepExtend, errorPrefix, getDistance, getDistances, getRandom, isArray, isString, itemFromArray, } from "@tsparticles/engine";
|
|
2
|
-
import { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from "./utils";
|
|
2
|
+
import { calcClosestPtOnSegment, drawPolygonMask, drawPolygonMaskPath, parsePaths, segmentBounce } from "./utils.js";
|
|
3
3
|
const noPolygonDataLoaded = `${errorPrefix} No polygon data loaded.`, noPolygonFound = `${errorPrefix} No polygon found, you need to specify SVG url in config.`;
|
|
4
4
|
export class PolygonMaskInstance {
|
|
5
5
|
constructor(container, engine) {
|
package/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./pathseg";
|
|
2
|
-
import { PolygonMask } from "./Options/Classes/PolygonMask";
|
|
3
|
-
import { PolygonMaskInstance } from "./PolygonMaskInstance";
|
|
1
|
+
import "./pathseg.js";
|
|
2
|
+
import { PolygonMask } from "./Options/Classes/PolygonMask.js";
|
|
3
|
+
import { PolygonMaskInstance } from "./PolygonMaskInstance.js";
|
|
4
4
|
class PolygonMaskPlugin {
|
|
5
5
|
constructor(engine) {
|
|
6
6
|
this.id = "polygonMask";
|
|
@@ -27,6 +27,6 @@ class PolygonMaskPlugin {
|
|
|
27
27
|
export async function loadPolygonMaskPlugin(engine, refresh = true) {
|
|
28
28
|
await engine.addPlugin(new PolygonMaskPlugin(engine), refresh);
|
|
29
29
|
}
|
|
30
|
-
export * from "./Enums/PolygonMaskInlineArrangement";
|
|
31
|
-
export * from "./Enums/PolygonMaskMoveType";
|
|
32
|
-
export * from "./Enums/PolygonMaskType";
|
|
30
|
+
export * from "./Enums/PolygonMaskInlineArrangement.js";
|
|
31
|
+
export * from "./Enums/PolygonMaskMoveType.js";
|
|
32
|
+
export * from "./Enums/PolygonMaskType.js";
|
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-polygon-mask",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.1",
|
|
4
4
|
"description": "tsParticles polygon mask plugin",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -67,16 +67,28 @@
|
|
|
67
67
|
"bugs": {
|
|
68
68
|
"url": "https://github.com/matteobruni/tsparticles/issues"
|
|
69
69
|
},
|
|
70
|
-
"
|
|
70
|
+
"sideEffects": [
|
|
71
|
+
"./**/pathseg.js"
|
|
72
|
+
],
|
|
71
73
|
"jsdelivr": "tsparticles.plugin.polygon-mask.min.js",
|
|
72
74
|
"unpkg": "tsparticles.plugin.polygon-mask.min.js",
|
|
75
|
+
"browser": "browser/index.js",
|
|
76
|
+
"main": "cjs/index.js",
|
|
73
77
|
"module": "esm/index.js",
|
|
74
78
|
"types": "types/index.d.ts",
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
79
|
+
"exports": {
|
|
80
|
+
".": {
|
|
81
|
+
"types": "./types/index.d.ts",
|
|
82
|
+
"browser": "./browser/index.js",
|
|
83
|
+
"import": "./esm/index.js",
|
|
84
|
+
"require": "./cjs/index.js",
|
|
85
|
+
"umd": "./umd/index.js",
|
|
86
|
+
"default": "./cjs/index.js"
|
|
87
|
+
},
|
|
88
|
+
"./package.json": "./package.json"
|
|
89
|
+
},
|
|
78
90
|
"dependencies": {
|
|
79
|
-
"@tsparticles/engine": "^3.0.0-beta.
|
|
91
|
+
"@tsparticles/engine": "^3.0.0-beta.1"
|
|
80
92
|
},
|
|
81
93
|
"publishConfig": {
|
|
82
94
|
"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-polygon-mask [
|
|
6
|
+
<title>@tsparticles/plugin-polygon-mask [25 Aug 2023 at 16:13]</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.polygon-mask.js","isAsset":true,"statSize":
|
|
34
|
+
window.chartData = [{"label":"tsparticles.plugin.polygon-mask.js","isAsset":true,"statSize":81329,"parsedSize":85379,"gzipSize":11106,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":81287,"groups":[{"id":822,"label":"index.js + 8 modules (concatenated)","path":"./dist/browser/index.js + 8 modules (concatenated)","statSize":21609,"parsedSize":85379,"gzipSize":11106,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser","statSize":21609,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/index.js","statSize":1102,"parsedSize":4354,"gzipSize":566,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskInstance.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/PolygonMaskInstance.js","statSize":13420,"parsedSize":53023,"gzipSize":6897,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes","statSize":3366,"groups":[{"id":null,"label":"PolygonMask.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMask.js","statSize":1338,"parsedSize":5286,"gzipSize":687,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskDraw.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMaskDraw.js","statSize":388,"parsedSize":1533,"gzipSize":199,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskInline.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMaskInline.js","statSize":243,"parsedSize":960,"gzipSize":124,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskMove.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMaskMove.js","statSize":302,"parsedSize":1193,"gzipSize":155,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskLocalSvg.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMaskLocalSvg.js","statSize":493,"parsedSize":1947,"gzipSize":253,"inaccurateSizes":true},{"id":null,"label":"PolygonMaskDrawStroke.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/Options/Classes/PolygonMaskDrawStroke.js","statSize":602,"parsedSize":2378,"gzipSize":309,"inaccurateSizes":true}],"parsedSize":13299,"gzipSize":1729,"inaccurateSizes":true},{"id":null,"label":"utils.js","path":"./dist/browser/index.js + 8 modules (concatenated)/dist/browser/utils.js","statSize":3721,"parsedSize":14701,"gzipSize":1912,"inaccurateSizes":true}],"parsedSize":85379,"gzipSize":11106,"inaccurateSizes":true}]},{"id":448,"label":"pathseg.js","path":"./dist/browser/pathseg.js","statSize":59678}],"parsedSize":85379,"gzipSize":11106},{"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.polygon-mask":true}}];
|
|
35
35
|
window.entrypoints = ["tsparticles.plugin.polygon-mask","tsparticles.plugin.polygon-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 Polygon Mask Plugin v3.0.0-beta.
|
|
1
|
+
/*! tsParticles Polygon Mask Plugin v3.0.0-beta.1 by Matteo Bruni */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type ICoordinates, type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMask } from "../Interfaces/IPolygonMask";
|
|
3
|
-
import { PolygonMaskDraw } from "./PolygonMaskDraw";
|
|
4
|
-
import { PolygonMaskInline } from "./PolygonMaskInline";
|
|
5
|
-
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg";
|
|
6
|
-
import { PolygonMaskMove } from "./PolygonMaskMove";
|
|
7
|
-
import { PolygonMaskType } from "../../Enums/PolygonMaskType";
|
|
2
|
+
import type { IPolygonMask } from "../Interfaces/IPolygonMask.js";
|
|
3
|
+
import { PolygonMaskDraw } from "./PolygonMaskDraw.js";
|
|
4
|
+
import { PolygonMaskInline } from "./PolygonMaskInline.js";
|
|
5
|
+
import { PolygonMaskLocalSvg } from "./PolygonMaskLocalSvg.js";
|
|
6
|
+
import { PolygonMaskMove } from "./PolygonMaskMove.js";
|
|
7
|
+
import { PolygonMaskType } from "../../Enums/PolygonMaskType.js";
|
|
8
8
|
export declare class PolygonMask implements IPolygonMask, IOptionLoader<IPolygonMask> {
|
|
9
9
|
data?: string | PolygonMaskLocalSvg;
|
|
10
10
|
draw: PolygonMaskDraw;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskDraw } from "../Interfaces/IPolygonMaskDraw";
|
|
3
|
-
import { PolygonMaskDrawStroke } from "./PolygonMaskDrawStroke";
|
|
2
|
+
import type { IPolygonMaskDraw } from "../Interfaces/IPolygonMaskDraw.js";
|
|
3
|
+
import { PolygonMaskDrawStroke } from "./PolygonMaskDrawStroke.js";
|
|
4
4
|
export declare class PolygonMaskDraw implements IPolygonMaskDraw, IOptionLoader<IPolygonMaskDraw> {
|
|
5
5
|
enable: boolean;
|
|
6
6
|
stroke: PolygonMaskDrawStroke;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IOptionLoader, OptionsColor, type RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskDrawStroke } from "../Interfaces/IPolygonMaskDrawStroke";
|
|
2
|
+
import type { IPolygonMaskDrawStroke } from "../Interfaces/IPolygonMaskDrawStroke.js";
|
|
3
3
|
export declare class PolygonMaskDrawStroke implements IPolygonMaskDrawStroke, IOptionLoader<IPolygonMaskDrawStroke> {
|
|
4
4
|
color: OptionsColor;
|
|
5
5
|
opacity: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskInline } from "../Interfaces/IPolygonMaskInline";
|
|
3
|
-
import { PolygonMaskInlineArrangement } from "../../Enums/PolygonMaskInlineArrangement";
|
|
4
|
-
import type { PolygonMaskInlineArrangementAlt } from "../../Enums/PolygonMaskInlineArrangement";
|
|
2
|
+
import type { IPolygonMaskInline } from "../Interfaces/IPolygonMaskInline.js";
|
|
3
|
+
import { PolygonMaskInlineArrangement } from "../../Enums/PolygonMaskInlineArrangement.js";
|
|
4
|
+
import type { PolygonMaskInlineArrangementAlt } from "../../Enums/PolygonMaskInlineArrangement.js";
|
|
5
5
|
export declare class PolygonMaskInline implements IPolygonMaskInline, IOptionLoader<IPolygonMaskInline> {
|
|
6
6
|
arrangement: PolygonMaskInlineArrangement | keyof typeof PolygonMaskInlineArrangement | PolygonMaskInlineArrangementAlt;
|
|
7
7
|
constructor();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IDimension, IOptionLoader, RecursivePartial, SingleOrMultiple } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskLocalSvg } from "../Interfaces/IPolygonMaskLocalSvg";
|
|
2
|
+
import type { IPolygonMaskLocalSvg } from "../Interfaces/IPolygonMaskLocalSvg.js";
|
|
3
3
|
export declare class PolygonMaskLocalSvg implements IPolygonMaskLocalSvg, IOptionLoader<IPolygonMaskLocalSvg> {
|
|
4
4
|
path: SingleOrMultiple<string>;
|
|
5
5
|
size: IDimension;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskMove } from "../Interfaces/IPolygonMaskMove";
|
|
3
|
-
import { PolygonMaskMoveType } from "../../Enums/PolygonMaskMoveType";
|
|
2
|
+
import type { IPolygonMaskMove } from "../Interfaces/IPolygonMaskMove.js";
|
|
3
|
+
import { PolygonMaskMoveType } from "../../Enums/PolygonMaskMoveType.js";
|
|
4
4
|
export declare class PolygonMaskMove implements IPolygonMaskMove, IOptionLoader<IPolygonMaskMove> {
|
|
5
5
|
radius: number;
|
|
6
6
|
type: PolygonMaskMoveType | keyof typeof PolygonMaskMoveType;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ICoordinates } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskDraw } from "./IPolygonMaskDraw";
|
|
3
|
-
import type { IPolygonMaskInline } from "./IPolygonMaskInline";
|
|
4
|
-
import type { IPolygonMaskLocalSvg } from "./IPolygonMaskLocalSvg";
|
|
5
|
-
import type { IPolygonMaskMove } from "./IPolygonMaskMove";
|
|
6
|
-
import type { PolygonMaskType } from "../../Enums/PolygonMaskType";
|
|
2
|
+
import type { IPolygonMaskDraw } from "./IPolygonMaskDraw.js";
|
|
3
|
+
import type { IPolygonMaskInline } from "./IPolygonMaskInline.js";
|
|
4
|
+
import type { IPolygonMaskLocalSvg } from "./IPolygonMaskLocalSvg.js";
|
|
5
|
+
import type { IPolygonMaskMove } from "./IPolygonMaskMove.js";
|
|
6
|
+
import type { PolygonMaskType } from "../../Enums/PolygonMaskType.js";
|
|
7
7
|
export interface IPolygonMask {
|
|
8
8
|
data?: string | IPolygonMaskLocalSvg;
|
|
9
9
|
draw: IPolygonMaskDraw;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PolygonMaskInlineArrangement, PolygonMaskInlineArrangementAlt } from "../../Enums/PolygonMaskInlineArrangement";
|
|
1
|
+
import type { PolygonMaskInlineArrangement, PolygonMaskInlineArrangementAlt } from "../../Enums/PolygonMaskInlineArrangement.js";
|
|
2
2
|
export interface IPolygonMaskInline {
|
|
3
3
|
arrangement: PolygonMaskInlineArrangement | keyof typeof PolygonMaskInlineArrangement | PolygonMaskInlineArrangementAlt;
|
|
4
4
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PolygonMaskMoveType } from "../../Enums/PolygonMaskMoveType";
|
|
1
|
+
import type { PolygonMaskMoveType } from "../../Enums/PolygonMaskMoveType.js";
|
|
2
2
|
export interface IPolygonMaskMove {
|
|
3
3
|
radius: number;
|
|
4
4
|
type: PolygonMaskMoveType | keyof typeof PolygonMaskMoveType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Engine, type IContainerPlugin, type ICoordinates, type IDelta, type IDimension, OutModeDirection, type Particle } from "@tsparticles/engine";
|
|
2
|
-
import type { ISvgPath } from "./Interfaces/ISvgPath";
|
|
3
|
-
import type { PolygonMaskContainer } from "./types";
|
|
2
|
+
import type { ISvgPath } from "./Interfaces/ISvgPath.js";
|
|
3
|
+
import type { PolygonMaskContainer } from "./types.js";
|
|
4
4
|
export declare class PolygonMaskInstance implements IContainerPlugin {
|
|
5
5
|
dimension: IDimension;
|
|
6
6
|
offset?: ICoordinates;
|
package/types/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./pathseg";
|
|
1
|
+
import "./pathseg.js";
|
|
2
2
|
import type { Engine } from "@tsparticles/engine";
|
|
3
3
|
export declare function loadPolygonMaskPlugin(engine: Engine, refresh?: boolean): Promise<void>;
|
|
4
|
-
export * from "./Enums/PolygonMaskInlineArrangement";
|
|
5
|
-
export * from "./Enums/PolygonMaskMoveType";
|
|
6
|
-
export * from "./Enums/PolygonMaskType";
|
|
4
|
+
export * from "./Enums/PolygonMaskInlineArrangement.js";
|
|
5
|
+
export * from "./Enums/PolygonMaskMoveType.js";
|
|
6
|
+
export * from "./Enums/PolygonMaskType.js";
|
package/types/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Container, IOptions, Options } from "@tsparticles/engine";
|
|
2
|
-
import type { SVGPathSegArcAbs, SVGPathSegArcRel, SVGPathSegCurvetoCubicAbs, SVGPathSegCurvetoCubicRel, SVGPathSegCurvetoCubicSmoothAbs, SVGPathSegCurvetoCubicSmoothRel, SVGPathSegCurvetoQuadraticAbs, SVGPathSegCurvetoQuadraticRel, SVGPathSegCurvetoQuadraticSmoothAbs, SVGPathSegCurvetoQuadraticSmoothRel, SVGPathSegLinetoAbs, SVGPathSegLinetoRel, SVGPathSegMovetoAbs, SVGPathSegMovetoRel } from "./pathseg";
|
|
3
|
-
import type { IPolygonMask } from "./Options/Interfaces/IPolygonMask";
|
|
4
|
-
import type { PolygonMask } from "./Options/Classes/PolygonMask";
|
|
2
|
+
import type { SVGPathSegArcAbs, SVGPathSegArcRel, SVGPathSegCurvetoCubicAbs, SVGPathSegCurvetoCubicRel, SVGPathSegCurvetoCubicSmoothAbs, SVGPathSegCurvetoCubicSmoothRel, SVGPathSegCurvetoQuadraticAbs, SVGPathSegCurvetoQuadraticRel, SVGPathSegCurvetoQuadraticSmoothAbs, SVGPathSegCurvetoQuadraticSmoothRel, SVGPathSegLinetoAbs, SVGPathSegLinetoRel, SVGPathSegMovetoAbs, SVGPathSegMovetoRel } from "./pathseg.js";
|
|
3
|
+
import type { IPolygonMask } from "./Options/Interfaces/IPolygonMask.js";
|
|
4
|
+
import type { PolygonMask } from "./Options/Classes/PolygonMask.js";
|
|
5
5
|
export type SvgAbsoluteCoordinatesTypes = SVGPathSegArcAbs | SVGPathSegCurvetoCubicAbs | SVGPathSegCurvetoCubicSmoothAbs | SVGPathSegCurvetoQuadraticAbs | SVGPathSegCurvetoQuadraticSmoothAbs | SVGPathSegLinetoAbs | SVGPathSegMovetoAbs;
|
|
6
6
|
export type SvgRelativeCoordinatesTypes = SVGPathSegArcRel | SVGPathSegCurvetoCubicRel | SVGPathSegCurvetoCubicSmoothRel | SVGPathSegCurvetoQuadraticRel | SVGPathSegCurvetoQuadraticSmoothRel | SVGPathSegLinetoRel | SVGPathSegMovetoRel;
|
|
7
7
|
export type IPolygonMaskOptions = IOptions & {
|
package/types/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ICoordinates, Vector } from "@tsparticles/engine";
|
|
2
|
-
import type { IPolygonMaskDrawStroke } from "./Options/Interfaces/IPolygonMaskDrawStroke";
|
|
3
|
-
import type { ISvgPath } from "./Interfaces/ISvgPath";
|
|
2
|
+
import type { IPolygonMaskDrawStroke } from "./Options/Interfaces/IPolygonMaskDrawStroke.js";
|
|
3
|
+
import type { ISvgPath } from "./Interfaces/ISvgPath.js";
|
|
4
4
|
export declare function drawPolygonMask(context: CanvasRenderingContext2D, rawData: ICoordinates[], stroke: IPolygonMaskDrawStroke): void;
|
|
5
5
|
export declare function drawPolygonMaskPath(context: CanvasRenderingContext2D, path: Path2D, stroke: IPolygonMaskDrawStroke, position: ICoordinates): void;
|
|
6
6
|
export declare function parsePaths(paths: ISvgPath[], scale: number, offset: ICoordinates): ICoordinates[];
|
|
@@ -4,23 +4,23 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "@tsparticles/engine", "./PolygonMaskDraw", "./PolygonMaskInline", "./PolygonMaskLocalSvg", "./PolygonMaskMove"], factory);
|
|
7
|
+
define(["require", "exports", "@tsparticles/engine", "./PolygonMaskDraw.js", "./PolygonMaskInline.js", "./PolygonMaskLocalSvg.js", "./PolygonMaskMove.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PolygonMask = void 0;
|
|
13
13
|
const engine_1 = require("@tsparticles/engine");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
14
|
+
const PolygonMaskDraw_js_1 = require("./PolygonMaskDraw.js");
|
|
15
|
+
const PolygonMaskInline_js_1 = require("./PolygonMaskInline.js");
|
|
16
|
+
const PolygonMaskLocalSvg_js_1 = require("./PolygonMaskLocalSvg.js");
|
|
17
|
+
const PolygonMaskMove_js_1 = require("./PolygonMaskMove.js");
|
|
18
18
|
class PolygonMask {
|
|
19
19
|
constructor() {
|
|
20
|
-
this.draw = new
|
|
20
|
+
this.draw = new PolygonMaskDraw_js_1.PolygonMaskDraw();
|
|
21
21
|
this.enable = false;
|
|
22
|
-
this.inline = new
|
|
23
|
-
this.move = new
|
|
22
|
+
this.inline = new PolygonMaskInline_js_1.PolygonMaskInline();
|
|
23
|
+
this.move = new PolygonMaskMove_js_1.PolygonMaskMove();
|
|
24
24
|
this.scale = 1;
|
|
25
25
|
this.type = "none";
|
|
26
26
|
}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
this.data = data.data;
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
this.data = new
|
|
54
|
+
this.data = new PolygonMaskLocalSvg_js_1.PolygonMaskLocalSvg();
|
|
55
55
|
this.data.load(data.data);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./PolygonMaskDrawStroke"], factory);
|
|
7
|
+
define(["require", "exports", "./PolygonMaskDrawStroke.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PolygonMaskDraw = void 0;
|
|
13
|
-
const
|
|
13
|
+
const PolygonMaskDrawStroke_js_1 = require("./PolygonMaskDrawStroke.js");
|
|
14
14
|
class PolygonMaskDraw {
|
|
15
15
|
constructor() {
|
|
16
16
|
this.enable = false;
|
|
17
|
-
this.stroke = new
|
|
17
|
+
this.stroke = new PolygonMaskDrawStroke_js_1.PolygonMaskDrawStroke();
|
|
18
18
|
}
|
|
19
19
|
load(data) {
|
|
20
20
|
if (!data) {
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "@tsparticles/engine", "./utils"], factory);
|
|
7
|
+
define(["require", "exports", "@tsparticles/engine", "./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.PolygonMaskInstance = void 0;
|
|
13
13
|
const engine_1 = require("@tsparticles/engine");
|
|
14
|
-
const
|
|
14
|
+
const utils_js_1 = require("./utils.js");
|
|
15
15
|
const noPolygonDataLoaded = `${engine_1.errorPrefix} No polygon data loaded.`, noPolygonFound = `${engine_1.errorPrefix} No polygon found, you need to specify SVG url in config.`;
|
|
16
16
|
class PolygonMaskInstance {
|
|
17
17
|
constructor(container, engine) {
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
x: (canvasSize.width * position.x) / 100 - this.dimension.width / 2,
|
|
218
218
|
y: (canvasSize.height * position.y) / 100 - this.dimension.height / 2,
|
|
219
219
|
};
|
|
220
|
-
return (0,
|
|
220
|
+
return (0, utils_js_1.parsePaths)(this.paths, scale, this.offset);
|
|
221
221
|
};
|
|
222
222
|
this._polygonBounce = (particle, _delta, direction) => {
|
|
223
223
|
const options = this._container.actualOptions.polygon;
|
|
@@ -229,11 +229,11 @@
|
|
|
229
229
|
const pos = particle.getPosition(), radius = particle.getRadius();
|
|
230
230
|
for (let i = 0, j = this.raw.length - 1; i < this.raw.length; j = i++) {
|
|
231
231
|
const pi = this.raw[i], pj = this.raw[j];
|
|
232
|
-
closest = (0,
|
|
232
|
+
closest = (0, utils_js_1.calcClosestPtOnSegment)(pi, pj, pos);
|
|
233
233
|
const dist = (0, engine_1.getDistances)(pos, closest);
|
|
234
234
|
[dx, dy] = [dist.dx, dist.dy];
|
|
235
235
|
if (dist.distance < radius) {
|
|
236
|
-
(0,
|
|
236
|
+
(0, utils_js_1.segmentBounce)(pi, pj, particle.velocity);
|
|
237
237
|
return true;
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -333,10 +333,10 @@
|
|
|
333
333
|
continue;
|
|
334
334
|
}
|
|
335
335
|
if (path2d && this.offset) {
|
|
336
|
-
(0,
|
|
336
|
+
(0, utils_js_1.drawPolygonMaskPath)(context, path2d, polygonDraw.stroke, this.offset);
|
|
337
337
|
}
|
|
338
338
|
else if (rawData) {
|
|
339
|
-
(0,
|
|
339
|
+
(0, utils_js_1.drawPolygonMask)(context, rawData, polygonDraw.stroke);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
}
|
package/umd/index.js
CHANGED
|
@@ -18,22 +18,22 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
if (v !== undefined) module.exports = v;
|
|
19
19
|
}
|
|
20
20
|
else if (typeof define === "function" && define.amd) {
|
|
21
|
-
define(["require", "exports", "./pathseg", "./Options/Classes/PolygonMask", "./PolygonMaskInstance", "./Enums/PolygonMaskInlineArrangement", "./Enums/PolygonMaskMoveType", "./Enums/PolygonMaskType"], factory);
|
|
21
|
+
define(["require", "exports", "./pathseg.js", "./Options/Classes/PolygonMask.js", "./PolygonMaskInstance.js", "./Enums/PolygonMaskInlineArrangement.js", "./Enums/PolygonMaskMoveType.js", "./Enums/PolygonMaskType.js"], factory);
|
|
22
22
|
}
|
|
23
23
|
})(function (require, exports) {
|
|
24
24
|
"use strict";
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.loadPolygonMaskPlugin = void 0;
|
|
27
|
-
require("./pathseg");
|
|
28
|
-
const
|
|
29
|
-
const
|
|
27
|
+
require("./pathseg.js");
|
|
28
|
+
const PolygonMask_js_1 = require("./Options/Classes/PolygonMask.js");
|
|
29
|
+
const PolygonMaskInstance_js_1 = require("./PolygonMaskInstance.js");
|
|
30
30
|
class PolygonMaskPlugin {
|
|
31
31
|
constructor(engine) {
|
|
32
32
|
this.id = "polygonMask";
|
|
33
33
|
this._engine = engine;
|
|
34
34
|
}
|
|
35
35
|
getPlugin(container) {
|
|
36
|
-
return new
|
|
36
|
+
return new PolygonMaskInstance_js_1.PolygonMaskInstance(container, this._engine);
|
|
37
37
|
}
|
|
38
38
|
loadOptions(options, source) {
|
|
39
39
|
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
@@ -41,7 +41,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
41
41
|
}
|
|
42
42
|
let polygonOptions = options.polygon;
|
|
43
43
|
if (polygonOptions?.load === undefined) {
|
|
44
|
-
options.polygon = polygonOptions = new
|
|
44
|
+
options.polygon = polygonOptions = new PolygonMask_js_1.PolygonMask();
|
|
45
45
|
}
|
|
46
46
|
polygonOptions.load(source?.polygon);
|
|
47
47
|
}
|
|
@@ -54,7 +54,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
54
54
|
await engine.addPlugin(new PolygonMaskPlugin(engine), refresh);
|
|
55
55
|
}
|
|
56
56
|
exports.loadPolygonMaskPlugin = loadPolygonMaskPlugin;
|
|
57
|
-
__exportStar(require("./Enums/PolygonMaskInlineArrangement"), exports);
|
|
58
|
-
__exportStar(require("./Enums/PolygonMaskMoveType"), exports);
|
|
59
|
-
__exportStar(require("./Enums/PolygonMaskType"), exports);
|
|
57
|
+
__exportStar(require("./Enums/PolygonMaskInlineArrangement.js"), exports);
|
|
58
|
+
__exportStar(require("./Enums/PolygonMaskMoveType.js"), exports);
|
|
59
|
+
__exportStar(require("./Enums/PolygonMaskType.js"), exports);
|
|
60
60
|
});
|