@tsparticles/shape-rounded-polygon 3.0.3 → 3.1.0
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/RoundedPolygonDrawer.js +12 -9
- package/cjs/RoundedPolygonDrawer.js +12 -9
- package/esm/RoundedPolygonDrawer.js +12 -9
- package/package.json +2 -2
- package/report.html +2 -2
- package/tsparticles.shape.rounded-polygon.js +20 -11
- package/tsparticles.shape.rounded-polygon.min.js +1 -1
- package/tsparticles.shape.rounded-polygon.min.js.LICENSE.txt +1 -1
- package/umd/RoundedPolygonDrawer.js +12 -9
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { getRangeValue, } from "@tsparticles/engine";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const double = 2, doublePI = Math.PI * double, half = 0.5, defaultSides = 5, defaultRotation = 0, defaultRadius = 5;
|
|
3
|
+
function polygon(sides, radius, rot = defaultRotation) {
|
|
4
|
+
const step = doublePI / sides, path = [];
|
|
4
5
|
for (let i = 0; i < sides; i++) {
|
|
5
6
|
path.push({ x: Math.cos(i * step + rot) * radius, y: Math.sin(i * step + rot) * radius });
|
|
6
7
|
}
|
|
7
8
|
return path;
|
|
8
9
|
}
|
|
9
10
|
function roundedPath(context, path, radius) {
|
|
10
|
-
|
|
11
|
+
const index1 = 0, index2 = 1, increment = 1;
|
|
12
|
+
let p1 = path[index1], p2 = path[index2];
|
|
11
13
|
const len = path.length;
|
|
12
|
-
context.moveTo((p1.x + p2.x)
|
|
14
|
+
context.moveTo((p1.x + p2.x) * half, (p1.y + p2.y) * half);
|
|
13
15
|
for (let i = 1; i <= len; i++) {
|
|
14
16
|
p1 = p2;
|
|
15
|
-
p2 = path[(i +
|
|
16
|
-
context.arcTo(p1.x, p1.y, (p1.x + p2.x)
|
|
17
|
+
p2 = path[(i + increment) % len];
|
|
18
|
+
context.arcTo(p1.x, p1.y, (p1.x + p2.x) * half, (p1.y + p2.y) * half, radius);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
export class RoundedPolygonDrawer {
|
|
20
22
|
draw(data) {
|
|
21
23
|
const { context, particle, radius } = data;
|
|
22
|
-
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ??
|
|
24
|
+
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ?? defaultRadius);
|
|
23
25
|
}
|
|
24
26
|
getSidesCount(particle) {
|
|
25
27
|
const roundedPolygon = particle.shapeData;
|
|
26
|
-
return Math.round(getRangeValue(roundedPolygon?.sides ??
|
|
28
|
+
return Math.round(getRangeValue(roundedPolygon?.sides ?? defaultSides));
|
|
27
29
|
}
|
|
28
30
|
particleInit(container, particle) {
|
|
29
31
|
const shapeData = particle.shapeData;
|
|
30
|
-
particle.borderRadius =
|
|
32
|
+
particle.borderRadius =
|
|
33
|
+
Math.round(getRangeValue(shapeData?.radius ?? defaultSides)) * container.retina.pixelRatio;
|
|
31
34
|
}
|
|
32
35
|
}
|
|
@@ -2,35 +2,38 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RoundedPolygonDrawer = void 0;
|
|
4
4
|
const engine_1 = require("@tsparticles/engine");
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const double = 2, doublePI = Math.PI * double, half = 0.5, defaultSides = 5, defaultRotation = 0, defaultRadius = 5;
|
|
6
|
+
function polygon(sides, radius, rot = defaultRotation) {
|
|
7
|
+
const step = doublePI / sides, path = [];
|
|
7
8
|
for (let i = 0; i < sides; i++) {
|
|
8
9
|
path.push({ x: Math.cos(i * step + rot) * radius, y: Math.sin(i * step + rot) * radius });
|
|
9
10
|
}
|
|
10
11
|
return path;
|
|
11
12
|
}
|
|
12
13
|
function roundedPath(context, path, radius) {
|
|
13
|
-
|
|
14
|
+
const index1 = 0, index2 = 1, increment = 1;
|
|
15
|
+
let p1 = path[index1], p2 = path[index2];
|
|
14
16
|
const len = path.length;
|
|
15
|
-
context.moveTo((p1.x + p2.x)
|
|
17
|
+
context.moveTo((p1.x + p2.x) * half, (p1.y + p2.y) * half);
|
|
16
18
|
for (let i = 1; i <= len; i++) {
|
|
17
19
|
p1 = p2;
|
|
18
|
-
p2 = path[(i +
|
|
19
|
-
context.arcTo(p1.x, p1.y, (p1.x + p2.x)
|
|
20
|
+
p2 = path[(i + increment) % len];
|
|
21
|
+
context.arcTo(p1.x, p1.y, (p1.x + p2.x) * half, (p1.y + p2.y) * half, radius);
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
class RoundedPolygonDrawer {
|
|
23
25
|
draw(data) {
|
|
24
26
|
const { context, particle, radius } = data;
|
|
25
|
-
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ??
|
|
27
|
+
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ?? defaultRadius);
|
|
26
28
|
}
|
|
27
29
|
getSidesCount(particle) {
|
|
28
30
|
const roundedPolygon = particle.shapeData;
|
|
29
|
-
return Math.round((0, engine_1.getRangeValue)(roundedPolygon?.sides ??
|
|
31
|
+
return Math.round((0, engine_1.getRangeValue)(roundedPolygon?.sides ?? defaultSides));
|
|
30
32
|
}
|
|
31
33
|
particleInit(container, particle) {
|
|
32
34
|
const shapeData = particle.shapeData;
|
|
33
|
-
particle.borderRadius =
|
|
35
|
+
particle.borderRadius =
|
|
36
|
+
Math.round((0, engine_1.getRangeValue)(shapeData?.radius ?? defaultSides)) * container.retina.pixelRatio;
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
39
|
exports.RoundedPolygonDrawer = RoundedPolygonDrawer;
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { getRangeValue, } from "@tsparticles/engine";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const double = 2, doublePI = Math.PI * double, half = 0.5, defaultSides = 5, defaultRotation = 0, defaultRadius = 5;
|
|
3
|
+
function polygon(sides, radius, rot = defaultRotation) {
|
|
4
|
+
const step = doublePI / sides, path = [];
|
|
4
5
|
for (let i = 0; i < sides; i++) {
|
|
5
6
|
path.push({ x: Math.cos(i * step + rot) * radius, y: Math.sin(i * step + rot) * radius });
|
|
6
7
|
}
|
|
7
8
|
return path;
|
|
8
9
|
}
|
|
9
10
|
function roundedPath(context, path, radius) {
|
|
10
|
-
|
|
11
|
+
const index1 = 0, index2 = 1, increment = 1;
|
|
12
|
+
let p1 = path[index1], p2 = path[index2];
|
|
11
13
|
const len = path.length;
|
|
12
|
-
context.moveTo((p1.x + p2.x)
|
|
14
|
+
context.moveTo((p1.x + p2.x) * half, (p1.y + p2.y) * half);
|
|
13
15
|
for (let i = 1; i <= len; i++) {
|
|
14
16
|
p1 = p2;
|
|
15
|
-
p2 = path[(i +
|
|
16
|
-
context.arcTo(p1.x, p1.y, (p1.x + p2.x)
|
|
17
|
+
p2 = path[(i + increment) % len];
|
|
18
|
+
context.arcTo(p1.x, p1.y, (p1.x + p2.x) * half, (p1.y + p2.y) * half, radius);
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
export class RoundedPolygonDrawer {
|
|
20
22
|
draw(data) {
|
|
21
23
|
const { context, particle, radius } = data;
|
|
22
|
-
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ??
|
|
24
|
+
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ?? defaultRadius);
|
|
23
25
|
}
|
|
24
26
|
getSidesCount(particle) {
|
|
25
27
|
const roundedPolygon = particle.shapeData;
|
|
26
|
-
return Math.round(getRangeValue(roundedPolygon?.sides ??
|
|
28
|
+
return Math.round(getRangeValue(roundedPolygon?.sides ?? defaultSides));
|
|
27
29
|
}
|
|
28
30
|
particleInit(container, particle) {
|
|
29
31
|
const shapeData = particle.shapeData;
|
|
30
|
-
particle.borderRadius =
|
|
32
|
+
particle.borderRadius =
|
|
33
|
+
Math.round(getRangeValue(shapeData?.radius ?? defaultSides)) * container.retina.pixelRatio;
|
|
31
34
|
}
|
|
32
35
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/shape-rounded-polygon",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "tsParticles rounded polygon shape",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"./package.json": "./package.json"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@tsparticles/engine": "^3.0
|
|
62
|
+
"@tsparticles/engine": "^3.1.0"
|
|
63
63
|
},
|
|
64
64
|
"publishConfig": {
|
|
65
65
|
"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/shape-rounded-polygon [
|
|
6
|
+
<title>@tsparticles/shape-rounded-polygon [13 Jan 2024 at 23:07]</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.shape.rounded-polygon.js","isAsset":true,"statSize":
|
|
34
|
+
window.chartData = [{"label":"tsparticles.shape.rounded-polygon.js","isAsset":true,"statSize":1713,"parsedSize":5584,"gzipSize":1889,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":1671,"groups":[{"id":426,"label":"index.js + 1 modules (concatenated)","path":"./dist/browser/index.js + 1 modules (concatenated)","statSize":1671,"parsedSize":5584,"gzipSize":1889,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 1 modules (concatenated)/dist/browser","statSize":1671,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 1 modules (concatenated)/dist/browser/index.js","statSize":220,"parsedSize":735,"gzipSize":248,"inaccurateSizes":true},{"id":null,"label":"RoundedPolygonDrawer.js","path":"./dist/browser/index.js + 1 modules (concatenated)/dist/browser/RoundedPolygonDrawer.js","statSize":1451,"parsedSize":4848,"gzipSize":1640,"inaccurateSizes":true}],"parsedSize":5584,"gzipSize":1889,"inaccurateSizes":true}]}],"parsedSize":5584,"gzipSize":1889},{"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.shape.rounded-polygon":true}}];
|
|
35
35
|
window.entrypoints = ["tsparticles.shape.rounded-polygon","tsparticles.shape.rounded-polygon.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
|
|
7
|
+
* v3.1.0
|
|
8
8
|
*/
|
|
9
9
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
10
10
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -98,8 +98,14 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
98
98
|
var engine_root_window_ = __webpack_require__(533);
|
|
99
99
|
;// CONCATENATED MODULE: ./dist/browser/RoundedPolygonDrawer.js
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
const RoundedPolygonDrawer_double = 2,
|
|
102
|
+
doublePI = Math.PI * RoundedPolygonDrawer_double,
|
|
103
|
+
half = 0.5,
|
|
104
|
+
defaultSides = 5,
|
|
105
|
+
defaultRotation = 0,
|
|
106
|
+
defaultRadius = 5;
|
|
107
|
+
function polygon(sides, radius, rot = defaultRotation) {
|
|
108
|
+
const step = doublePI / sides,
|
|
103
109
|
path = [];
|
|
104
110
|
for (let i = 0; i < sides; i++) {
|
|
105
111
|
path.push({
|
|
@@ -110,14 +116,17 @@ function polygon(sides, radius, rot = 0) {
|
|
|
110
116
|
return path;
|
|
111
117
|
}
|
|
112
118
|
function roundedPath(context, path, radius) {
|
|
113
|
-
|
|
114
|
-
|
|
119
|
+
const index1 = 0,
|
|
120
|
+
index2 = 1,
|
|
121
|
+
increment = 1;
|
|
122
|
+
let p1 = path[index1],
|
|
123
|
+
p2 = path[index2];
|
|
115
124
|
const len = path.length;
|
|
116
|
-
context.moveTo((p1.x + p2.x)
|
|
125
|
+
context.moveTo((p1.x + p2.x) * half, (p1.y + p2.y) * half);
|
|
117
126
|
for (let i = 1; i <= len; i++) {
|
|
118
127
|
p1 = p2;
|
|
119
|
-
p2 = path[(i +
|
|
120
|
-
context.arcTo(p1.x, p1.y, (p1.x + p2.x)
|
|
128
|
+
p2 = path[(i + increment) % len];
|
|
129
|
+
context.arcTo(p1.x, p1.y, (p1.x + p2.x) * half, (p1.y + p2.y) * half, radius);
|
|
121
130
|
}
|
|
122
131
|
}
|
|
123
132
|
class RoundedPolygonDrawer {
|
|
@@ -127,15 +136,15 @@ class RoundedPolygonDrawer {
|
|
|
127
136
|
particle,
|
|
128
137
|
radius
|
|
129
138
|
} = data;
|
|
130
|
-
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ??
|
|
139
|
+
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ?? defaultRadius);
|
|
131
140
|
}
|
|
132
141
|
getSidesCount(particle) {
|
|
133
142
|
const roundedPolygon = particle.shapeData;
|
|
134
|
-
return Math.round((0,engine_root_window_.getRangeValue)(roundedPolygon?.sides ??
|
|
143
|
+
return Math.round((0,engine_root_window_.getRangeValue)(roundedPolygon?.sides ?? defaultSides));
|
|
135
144
|
}
|
|
136
145
|
particleInit(container, particle) {
|
|
137
146
|
const shapeData = particle.shapeData;
|
|
138
|
-
particle.borderRadius = Math.round((0,engine_root_window_.getRangeValue)(shapeData?.radius ??
|
|
147
|
+
particle.borderRadius = Math.round((0,engine_root_window_.getRangeValue)(shapeData?.radius ?? defaultSides)) * container.retina.pixelRatio;
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
150
|
;// CONCATENATED MODULE: ./dist/browser/index.js
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.shape.rounded-polygon.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var o="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{loadRoundedPolygonShape:()=>
|
|
2
|
+
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],t);else{var o="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(e=>(()=>{"use strict";var t={533:t=>{t.exports=e}},o={};function r(e){var n=o[e];if(void 0!==n)return n.exports;var a=o[e]={exports:{}};return t[e](a,a.exports,r),a.exports}r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{loadRoundedPolygonShape:()=>i});var e=r(533);const t=2*Math.PI,o=.5;class a{draw(e){const{context:r,particle:n,radius:a}=e;!function(e,t,r){let n=t[0],a=t[1];const i=t.length;e.moveTo((n.x+a.x)*o,(n.y+a.y)*o);for(let s=1;s<=i;s++)n=a,a=t[(s+1)%i],e.arcTo(n.x,n.y,(n.x+a.x)*o,(n.y+a.y)*o,r)}(r,function(e,o,r=0){const n=t/e,a=[];for(let t=0;t<e;t++)a.push({x:Math.cos(t*n+r)*o,y:Math.sin(t*n+r)*o});return a}(n.sides,a),n.borderRadius??5)}getSidesCount(t){const o=t.shapeData;return Math.round((0,e.getRangeValue)(o?.sides??5))}particleInit(t,o){const r=o.shapeData;o.borderRadius=Math.round((0,e.getRangeValue)(r?.radius??5))*t.retina.pixelRatio}}async function i(e,t=!0){await e.addShape("rounded-polygon",new a,t)}})(),n})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles RoundedPolygon Shape v3.0
|
|
1
|
+
/*! tsParticles RoundedPolygon Shape v3.1.0 by Matteo Bruni */
|
|
@@ -11,35 +11,38 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RoundedPolygonDrawer = void 0;
|
|
13
13
|
const engine_1 = require("@tsparticles/engine");
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const double = 2, doublePI = Math.PI * double, half = 0.5, defaultSides = 5, defaultRotation = 0, defaultRadius = 5;
|
|
15
|
+
function polygon(sides, radius, rot = defaultRotation) {
|
|
16
|
+
const step = doublePI / sides, path = [];
|
|
16
17
|
for (let i = 0; i < sides; i++) {
|
|
17
18
|
path.push({ x: Math.cos(i * step + rot) * radius, y: Math.sin(i * step + rot) * radius });
|
|
18
19
|
}
|
|
19
20
|
return path;
|
|
20
21
|
}
|
|
21
22
|
function roundedPath(context, path, radius) {
|
|
22
|
-
|
|
23
|
+
const index1 = 0, index2 = 1, increment = 1;
|
|
24
|
+
let p1 = path[index1], p2 = path[index2];
|
|
23
25
|
const len = path.length;
|
|
24
|
-
context.moveTo((p1.x + p2.x)
|
|
26
|
+
context.moveTo((p1.x + p2.x) * half, (p1.y + p2.y) * half);
|
|
25
27
|
for (let i = 1; i <= len; i++) {
|
|
26
28
|
p1 = p2;
|
|
27
|
-
p2 = path[(i +
|
|
28
|
-
context.arcTo(p1.x, p1.y, (p1.x + p2.x)
|
|
29
|
+
p2 = path[(i + increment) % len];
|
|
30
|
+
context.arcTo(p1.x, p1.y, (p1.x + p2.x) * half, (p1.y + p2.y) * half, radius);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
class RoundedPolygonDrawer {
|
|
32
34
|
draw(data) {
|
|
33
35
|
const { context, particle, radius } = data;
|
|
34
|
-
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ??
|
|
36
|
+
roundedPath(context, polygon(particle.sides, radius), particle.borderRadius ?? defaultRadius);
|
|
35
37
|
}
|
|
36
38
|
getSidesCount(particle) {
|
|
37
39
|
const roundedPolygon = particle.shapeData;
|
|
38
|
-
return Math.round((0, engine_1.getRangeValue)(roundedPolygon?.sides ??
|
|
40
|
+
return Math.round((0, engine_1.getRangeValue)(roundedPolygon?.sides ?? defaultSides));
|
|
39
41
|
}
|
|
40
42
|
particleInit(container, particle) {
|
|
41
43
|
const shapeData = particle.shapeData;
|
|
42
|
-
particle.borderRadius =
|
|
44
|
+
particle.borderRadius =
|
|
45
|
+
Math.round((0, engine_1.getRangeValue)(shapeData?.radius ?? defaultSides)) * container.retina.pixelRatio;
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
exports.RoundedPolygonDrawer = RoundedPolygonDrawer;
|