@tsparticles/engine 4.0.0-alpha.8 → 4.0.0-beta.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/164.min.js +1 -0
- package/README.md +41 -7
- package/browser/Core/Canvas.js +238 -137
- package/browser/Core/Container.js +80 -74
- package/browser/Core/Engine.js +43 -64
- package/browser/Core/Particle.js +182 -169
- package/browser/Core/Particles.js +187 -138
- package/browser/Core/Retina.js +5 -0
- package/browser/Core/Utils/Constants.js +2 -2
- package/browser/Core/Utils/EventListeners.js +67 -63
- package/browser/Core/Utils/Ranges.js +29 -10
- package/browser/Core/Utils/SpatialHashGrid.js +102 -0
- package/browser/Core/Utils/Vectors.js +17 -18
- package/browser/Options/Classes/AnimatableColor.js +1 -0
- package/browser/Options/Classes/AnimationOptions.js +8 -0
- package/browser/Options/Classes/Background/Background.js +6 -0
- package/browser/Options/Classes/ColorAnimation.js +12 -1
- package/browser/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/browser/Options/Classes/HslAnimation.js +4 -5
- package/browser/Options/Classes/Options.js +63 -4
- package/browser/Options/Classes/OptionsColor.js +1 -0
- package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/browser/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/browser/Options/Classes/Particles/Fill.js +28 -0
- package/browser/Options/Classes/Particles/Move/Move.js +17 -3
- package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/browser/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/browser/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/browser/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/browser/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/browser/Options/Classes/Particles/Move/Spin.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/browser/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/browser/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/browser/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/browser/Options/Classes/Particles/Size/Size.js +1 -0
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/browser/Options/Classes/Particles/Stroke.js +3 -0
- package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/browser/Options/Classes/ResizeEvent.js +2 -0
- package/browser/Options/Classes/ValueWithRandom.js +3 -4
- package/browser/Utils/CanvasUtils.js +44 -51
- package/browser/Utils/ColorUtils.js +30 -19
- package/browser/Utils/EventDispatcher.js +1 -0
- package/browser/Utils/MathUtils.js +12 -7
- package/browser/Utils/Utils.js +109 -31
- package/browser/exports.js +1 -2
- package/cjs/Core/Canvas.js +238 -137
- package/cjs/Core/Container.js +80 -74
- package/cjs/Core/Engine.js +43 -64
- package/cjs/Core/Particle.js +182 -169
- package/cjs/Core/Particles.js +187 -138
- package/cjs/Core/Retina.js +5 -0
- package/cjs/Core/Utils/Constants.js +2 -2
- package/cjs/Core/Utils/EventListeners.js +67 -63
- package/cjs/Core/Utils/Ranges.js +29 -10
- package/cjs/Core/Utils/SpatialHashGrid.js +102 -0
- package/cjs/Core/Utils/Vectors.js +17 -18
- package/cjs/Options/Classes/AnimatableColor.js +1 -0
- package/cjs/Options/Classes/AnimationOptions.js +8 -0
- package/cjs/Options/Classes/Background/Background.js +6 -0
- package/cjs/Options/Classes/ColorAnimation.js +12 -1
- package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/cjs/Options/Classes/HslAnimation.js +4 -5
- package/cjs/Options/Classes/Options.js +63 -4
- package/cjs/Options/Classes/OptionsColor.js +1 -0
- package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/cjs/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/cjs/Options/Classes/Particles/Fill.js +28 -0
- package/cjs/Options/Classes/Particles/Move/Move.js +17 -3
- package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/cjs/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/cjs/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/cjs/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/cjs/Options/Classes/Particles/Move/Spin.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/cjs/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/cjs/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/cjs/Options/Classes/Particles/Size/Size.js +1 -0
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/cjs/Options/Classes/Particles/Stroke.js +3 -0
- package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/cjs/Options/Classes/ResizeEvent.js +2 -0
- package/cjs/Options/Classes/ValueWithRandom.js +3 -4
- package/cjs/Utils/CanvasUtils.js +44 -51
- package/cjs/Utils/ColorUtils.js +30 -19
- package/cjs/Utils/EventDispatcher.js +1 -0
- package/cjs/Utils/MathUtils.js +12 -7
- package/cjs/Utils/Utils.js +109 -31
- package/cjs/exports.js +1 -2
- package/dist_browser_Core_Container_js.js +12 -12
- package/esm/Core/Canvas.js +238 -137
- package/esm/Core/Container.js +80 -74
- package/esm/Core/Engine.js +43 -64
- package/esm/Core/Particle.js +182 -169
- package/esm/Core/Particles.js +187 -138
- package/esm/Core/Retina.js +5 -0
- package/esm/Core/Utils/Constants.js +2 -2
- package/esm/Core/Utils/EventListeners.js +67 -63
- package/esm/Core/Utils/Ranges.js +29 -10
- package/esm/Core/Utils/SpatialHashGrid.js +102 -0
- package/esm/Core/Utils/Vectors.js +17 -18
- package/esm/Options/Classes/AnimatableColor.js +1 -0
- package/esm/Options/Classes/AnimationOptions.js +8 -0
- package/esm/Options/Classes/Background/Background.js +6 -0
- package/esm/Options/Classes/ColorAnimation.js +12 -1
- package/esm/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/esm/Options/Classes/HslAnimation.js +4 -5
- package/esm/Options/Classes/Options.js +63 -4
- package/esm/Options/Classes/OptionsColor.js +1 -0
- package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/esm/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/esm/Options/Classes/Particles/Fill.js +28 -0
- package/esm/Options/Classes/Particles/Move/Move.js +17 -3
- package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/esm/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/esm/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/esm/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/esm/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/esm/Options/Classes/Particles/Move/Spin.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/esm/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/esm/Options/Classes/Particles/ParticlesOptions.js +25 -5
- package/esm/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/esm/Options/Classes/Particles/Size/Size.js +1 -0
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/esm/Options/Classes/Particles/Stroke.js +3 -0
- package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/esm/Options/Classes/ResizeEvent.js +2 -0
- package/esm/Options/Classes/ValueWithRandom.js +3 -4
- package/esm/Utils/CanvasUtils.js +44 -51
- package/esm/Utils/ColorUtils.js +30 -19
- package/esm/Utils/EventDispatcher.js +1 -0
- package/esm/Utils/MathUtils.js +12 -7
- package/esm/Utils/Utils.js +109 -31
- package/esm/exports.js +1 -2
- package/package.json +1 -1
- package/report.html +1 -1
- package/scripts/install.js +4 -20
- package/tsparticles.engine.js +93 -91
- package/tsparticles.engine.min.js +2 -2
- package/types/Core/Canvas.d.ts +17 -2
- package/types/Core/Container.d.ts +3 -7
- package/types/Core/Engine.d.ts +13 -20
- package/types/Core/Interfaces/IColorManager.d.ts +0 -1
- package/types/Core/Interfaces/IContainerPlugin.d.ts +2 -1
- package/types/Core/Interfaces/IPalette.d.ts +7 -0
- package/types/Core/Interfaces/IParticleOpacityData.d.ts +1 -0
- package/types/Core/Interfaces/IParticleValueAnimation.d.ts +3 -3
- package/types/Core/Interfaces/IShapeDrawData.d.ts +8 -0
- package/types/Core/Interfaces/IShapeDrawer.d.ts +0 -1
- package/types/Core/Interfaces/IShapeValues.d.ts +0 -1
- package/types/Core/Particle.d.ts +3 -7
- package/types/Core/Particles.d.ts +15 -7
- package/types/Core/Utils/Constants.d.ts +2 -2
- package/types/Core/Utils/Ranges.d.ts +4 -1
- package/types/Core/Utils/SpatialHashGrid.d.ts +25 -0
- package/types/Core/Utils/Vectors.d.ts +8 -10
- package/types/Options/Classes/ColorAnimation.d.ts +3 -1
- package/types/Options/Classes/HslAnimation.d.ts +3 -4
- package/types/Options/Classes/Options.d.ts +2 -0
- package/types/Options/Classes/Particles/Effect/Effect.d.ts +0 -1
- package/types/Options/Classes/Particles/Fill.d.ts +12 -0
- package/types/Options/Classes/Particles/Move/Move.d.ts +0 -2
- package/types/Options/Classes/Particles/ParticlesOptions.d.ts +2 -2
- package/types/Options/Classes/Particles/Shape/Shape.d.ts +0 -1
- package/types/Options/Classes/ValueWithRandom.d.ts +0 -1
- package/types/Options/Interfaces/IColorAnimation.d.ts +2 -0
- package/types/Options/Interfaces/IOptions.d.ts +1 -0
- package/types/Options/Interfaces/Particles/Effect/IEffect.d.ts +0 -1
- package/types/Options/Interfaces/Particles/IFill.d.ts +9 -0
- package/types/Options/Interfaces/Particles/IParticlesOptions.d.ts +2 -2
- package/types/Options/Interfaces/Particles/IStroke.d.ts +2 -2
- package/types/Options/Interfaces/Particles/Move/IMove.d.ts +0 -2
- package/types/Options/Interfaces/Particles/Shape/IShape.d.ts +0 -1
- package/types/Types/EngineInitializers.d.ts +6 -3
- package/types/Utils/CanvasUtils.d.ts +6 -12
- package/types/Utils/ColorUtils.d.ts +3 -2
- package/types/Utils/MathUtils.d.ts +2 -0
- package/types/Utils/Utils.d.ts +8 -1
- package/types/export-types.d.ts +3 -5
- package/types/exports.d.ts +1 -2
- package/umd/Core/Canvas.js +237 -136
- package/umd/Core/Container.js +80 -74
- package/umd/Core/Engine.js +42 -63
- package/umd/Core/Particle.js +183 -170
- package/umd/Core/Particles.js +187 -138
- package/umd/Core/Retina.js +5 -0
- package/umd/Core/Utils/Constants.js +3 -3
- package/umd/Core/Utils/EventListeners.js +67 -63
- package/umd/Core/Utils/Ranges.js +28 -9
- package/umd/Core/Utils/SpatialHashGrid.js +116 -0
- package/umd/Core/Utils/Vectors.js +17 -18
- package/umd/Options/Classes/AnimatableColor.js +1 -0
- package/umd/Options/Classes/AnimationOptions.js +8 -0
- package/umd/Options/Classes/Background/Background.js +6 -0
- package/umd/Options/Classes/ColorAnimation.js +12 -1
- package/umd/Options/Classes/FullScreen/FullScreen.js +2 -0
- package/umd/Options/Classes/HslAnimation.js +5 -6
- package/umd/Options/Classes/Options.js +63 -4
- package/umd/Options/Classes/OptionsColor.js +1 -0
- package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -0
- package/umd/Options/Classes/Particles/Effect/Effect.js +3 -4
- package/umd/Options/Classes/Particles/Fill.js +42 -0
- package/umd/Options/Classes/Particles/Move/Move.js +18 -4
- package/umd/Options/Classes/Particles/Move/MoveAngle.js +2 -0
- package/umd/Options/Classes/Particles/Move/MoveCenter.js +4 -0
- package/umd/Options/Classes/Particles/Move/MoveGravity.js +4 -0
- package/umd/Options/Classes/Particles/Move/OutModes.js +5 -0
- package/umd/Options/Classes/Particles/Move/Path/MovePath.js +5 -0
- package/umd/Options/Classes/Particles/Move/Spin.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -0
- package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -0
- package/umd/Options/Classes/Particles/Opacity/Opacity.js +1 -0
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +1 -0
- package/umd/Options/Classes/Particles/ParticlesOptions.js +26 -6
- package/umd/Options/Classes/Particles/Shape/Shape.js +3 -4
- package/umd/Options/Classes/Particles/Size/Size.js +1 -0
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +1 -0
- package/umd/Options/Classes/Particles/Stroke.js +3 -0
- package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
- package/umd/Options/Classes/ResizeEvent.js +2 -0
- package/umd/Options/Classes/ValueWithRandom.js +3 -4
- package/umd/Utils/CanvasUtils.js +44 -53
- package/umd/Utils/ColorUtils.js +30 -18
- package/umd/Utils/EventDispatcher.js +1 -0
- package/umd/Utils/MathUtils.js +14 -7
- package/umd/Utils/Utils.js +111 -32
- package/umd/exports.js +2 -3
- package/794.min.js +0 -2
- package/794.min.js.LICENSE.txt +0 -1
- package/browser/Core/Utils/Point.js +0 -6
- package/browser/Core/Utils/QuadTree.js +0 -59
- package/browser/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/cjs/Core/Utils/Point.js +0 -6
- package/cjs/Core/Utils/QuadTree.js +0 -59
- package/cjs/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/esm/Core/Interfaces/IMovePathGenerator.js +0 -1
- package/esm/Core/Interfaces/IParticleMover.js +0 -1
- package/esm/Core/Utils/Point.js +0 -6
- package/esm/Core/Utils/QuadTree.js +0 -59
- package/esm/Options/Classes/Particles/Move/MoveAttract.js +0 -33
- package/esm/Options/Interfaces/Particles/Move/IMoveAttract.js +0 -1
- package/tsparticles.engine.min.js.LICENSE.txt +0 -1
- package/types/Core/Interfaces/IMovePathGenerator.d.ts +0 -10
- package/types/Core/Interfaces/IParticleMover.d.ts +0 -7
- package/types/Core/Utils/Point.d.ts +0 -7
- package/types/Core/Utils/QuadTree.d.ts +0 -18
- package/types/Options/Classes/Particles/Move/MoveAttract.d.ts +0 -12
- package/types/Options/Interfaces/Particles/Move/IMoveAttract.d.ts +0 -7
- package/umd/Core/Utils/Point.js +0 -20
- package/umd/Core/Utils/QuadTree.js +0 -73
- package/umd/Options/Classes/Particles/Move/MoveAttract.js +0 -47
- package/umd/Options/Interfaces/Particles/Move/IMoveAttract.js +0 -12
- /package/browser/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/browser/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/{browser/Options/Interfaces/Particles/Move/IMoveAttract.js → cjs/Core/Interfaces/IPalette.js} +0 -0
- /package/cjs/{Core/Interfaces/IMovePathGenerator.js → Options/Interfaces/Particles/IFill.js} +0 -0
- /package/{cjs/Core/Interfaces/IParticleMover.js → esm/Core/Interfaces/IPalette.js} +0 -0
- /package/{cjs/Options/Interfaces/Particles/Move/IMoveAttract.js → esm/Options/Interfaces/Particles/IFill.js} +0 -0
- /package/umd/Core/Interfaces/{IMovePathGenerator.js → IPalette.js} +0 -0
- /package/umd/{Core/Interfaces/IParticleMover.js → Options/Interfaces/Particles/IFill.js} +0 -0
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
15
15
|
const MathUtils_js_1 = require("../../../../Utils/MathUtils.js");
|
|
16
16
|
class Spin {
|
|
17
|
+
acceleration;
|
|
18
|
+
enable;
|
|
19
|
+
position;
|
|
17
20
|
constructor() {
|
|
18
21
|
this.acceleration = 0;
|
|
19
22
|
this.enable = false;
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
const ParticlesNumberLimit_js_1 = require("./ParticlesNumberLimit.js");
|
|
15
15
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
16
16
|
class ParticlesNumber {
|
|
17
|
+
density;
|
|
18
|
+
limit;
|
|
19
|
+
value;
|
|
17
20
|
constructor() {
|
|
18
21
|
this.density = new ParticlesDensity_js_1.ParticlesDensity();
|
|
19
22
|
this.limit = new ParticlesNumberLimit_js_1.ParticlesNumberLimit();
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
const LimitMode_js_1 = require("../../../../Enums/Modes/LimitMode.js");
|
|
14
14
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
15
15
|
class ParticlesNumberLimit {
|
|
16
|
+
mode;
|
|
17
|
+
value;
|
|
16
18
|
constructor() {
|
|
17
19
|
this.mode = LimitMode_js_1.LimitMode.delete;
|
|
18
20
|
this.value = 0;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
const ValueWithRandom_js_1 = require("../../ValueWithRandom.js");
|
|
15
15
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
16
16
|
class Opacity extends ValueWithRandom_js_1.RangedAnimationValueWithRandom {
|
|
17
|
+
animation;
|
|
17
18
|
constructor() {
|
|
18
19
|
super();
|
|
19
20
|
this.animation = new OpacityAnimation_js_1.OpacityAnimation();
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
const AnimationOptions_js_1 = require("../../AnimationOptions.js");
|
|
15
15
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
16
16
|
class OpacityAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
|
|
17
|
+
destroy;
|
|
17
18
|
constructor() {
|
|
18
19
|
super();
|
|
19
20
|
this.destroy = DestroyType_js_1.DestroyType.none;
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "../../../Utils/Utils.js", "
|
|
7
|
+
define(["require", "exports", "../../../Utils/Utils.js", "./Effect/Effect.js", "./Fill.js", "./Move/Move.js", "./Opacity/Opacity.js", "./Bounce/ParticlesBounce.js", "./Number/ParticlesNumber.js", "./Shape/Shape.js", "./Size/Size.js", "./Stroke.js", "./ZIndex/ZIndex.js", "../../../Utils/TypeUtils.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ParticlesOptions = void 0;
|
|
13
13
|
const Utils_js_1 = require("../../../Utils/Utils.js");
|
|
14
|
-
const AnimatableColor_js_1 = require("../AnimatableColor.js");
|
|
15
14
|
const Effect_js_1 = require("./Effect/Effect.js");
|
|
15
|
+
const Fill_js_1 = require("./Fill.js");
|
|
16
16
|
const Move_js_1 = require("./Move/Move.js");
|
|
17
17
|
const Opacity_js_1 = require("./Opacity/Opacity.js");
|
|
18
18
|
const ParticlesBounce_js_1 = require("./Bounce/ParticlesBounce.js");
|
|
@@ -23,13 +23,26 @@
|
|
|
23
23
|
const ZIndex_js_1 = require("./ZIndex/ZIndex.js");
|
|
24
24
|
const TypeUtils_js_1 = require("../../../Utils/TypeUtils.js");
|
|
25
25
|
class ParticlesOptions {
|
|
26
|
+
bounce;
|
|
27
|
+
effect;
|
|
28
|
+
fill;
|
|
29
|
+
groups;
|
|
30
|
+
move;
|
|
31
|
+
number;
|
|
32
|
+
opacity;
|
|
33
|
+
reduceDuplicates;
|
|
34
|
+
shape;
|
|
35
|
+
size;
|
|
36
|
+
stroke;
|
|
37
|
+
zIndex;
|
|
38
|
+
_container;
|
|
39
|
+
_engine;
|
|
26
40
|
constructor(engine, container) {
|
|
27
41
|
this._engine = engine;
|
|
28
42
|
this._container = container;
|
|
29
43
|
this.bounce = new ParticlesBounce_js_1.ParticlesBounce();
|
|
30
|
-
this.color = new AnimatableColor_js_1.AnimatableColor();
|
|
31
|
-
this.color.value = "#fff";
|
|
32
44
|
this.effect = new Effect_js_1.Effect();
|
|
45
|
+
this.fill = new Fill_js_1.Fill();
|
|
33
46
|
this.groups = {};
|
|
34
47
|
this.move = new Move_js_1.Move();
|
|
35
48
|
this.number = new ParticlesNumber_js_1.ParticlesNumber();
|
|
@@ -46,7 +59,7 @@
|
|
|
46
59
|
}
|
|
47
60
|
if (data.groups !== undefined) {
|
|
48
61
|
for (const group of Object.keys(data.groups)) {
|
|
49
|
-
if (!
|
|
62
|
+
if (!(group in data.groups)) {
|
|
50
63
|
continue;
|
|
51
64
|
}
|
|
52
65
|
const item = data.groups[group];
|
|
@@ -59,7 +72,6 @@
|
|
|
59
72
|
this.reduceDuplicates = data.reduceDuplicates;
|
|
60
73
|
}
|
|
61
74
|
this.bounce.load(data.bounce);
|
|
62
|
-
this.color.load(AnimatableColor_js_1.AnimatableColor.create(this.color, data.color));
|
|
63
75
|
this.effect.load(data.effect);
|
|
64
76
|
this.move.load(data.move);
|
|
65
77
|
this.number.load(data.number);
|
|
@@ -67,6 +79,14 @@
|
|
|
67
79
|
this.shape.load(data.shape);
|
|
68
80
|
this.size.load(data.size);
|
|
69
81
|
this.zIndex.load(data.zIndex);
|
|
82
|
+
const fillToLoad = data.fill;
|
|
83
|
+
if (fillToLoad) {
|
|
84
|
+
this.fill = (0, Utils_js_1.executeOnSingleOrMultiple)(fillToLoad, t => {
|
|
85
|
+
const tmp = new Fill_js_1.Fill();
|
|
86
|
+
tmp.load(t);
|
|
87
|
+
return tmp;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
70
90
|
const strokeToLoad = data.stroke;
|
|
71
91
|
if (strokeToLoad) {
|
|
72
92
|
this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, t => {
|
|
@@ -13,9 +13,11 @@
|
|
|
13
13
|
const Utils_js_1 = require("../../../../Utils/Utils.js");
|
|
14
14
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
15
15
|
class Shape {
|
|
16
|
+
close;
|
|
17
|
+
options;
|
|
18
|
+
type;
|
|
16
19
|
constructor() {
|
|
17
20
|
this.close = true;
|
|
18
|
-
this.fill = true;
|
|
19
21
|
this.options = {};
|
|
20
22
|
this.type = "circle";
|
|
21
23
|
}
|
|
@@ -35,9 +37,6 @@
|
|
|
35
37
|
if (data.close !== undefined) {
|
|
36
38
|
this.close = data.close;
|
|
37
39
|
}
|
|
38
|
-
if (data.fill !== undefined) {
|
|
39
|
-
this.fill = data.fill;
|
|
40
|
-
}
|
|
41
40
|
if (data.type !== undefined) {
|
|
42
41
|
this.type = data.type;
|
|
43
42
|
}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
const SizeAnimation_js_1 = require("./SizeAnimation.js");
|
|
15
15
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
16
16
|
class Size extends ValueWithRandom_js_1.RangedAnimationValueWithRandom {
|
|
17
|
+
animation;
|
|
17
18
|
constructor() {
|
|
18
19
|
super();
|
|
19
20
|
this.animation = new SizeAnimation_js_1.SizeAnimation();
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
const AnimationOptions_js_1 = require("../../AnimationOptions.js");
|
|
15
15
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
16
16
|
class SizeAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
|
|
17
|
+
destroy;
|
|
17
18
|
constructor() {
|
|
18
19
|
super();
|
|
19
20
|
this.destroy = DestroyType_js_1.DestroyType.none;
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
const ValueWithRandom_js_1 = require("../../ValueWithRandom.js");
|
|
14
14
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
15
15
|
class ZIndex extends ValueWithRandom_js_1.ValueWithRandom {
|
|
16
|
+
opacityRate;
|
|
17
|
+
sizeRate;
|
|
18
|
+
velocityRate;
|
|
16
19
|
constructor() {
|
|
17
20
|
super();
|
|
18
21
|
this.opacityRate = 1;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
|
|
15
15
|
const MathUtils_js_1 = require("../../Utils/MathUtils.js");
|
|
16
16
|
class ValueWithRandom {
|
|
17
|
+
value;
|
|
17
18
|
constructor() {
|
|
18
19
|
this.value = 0;
|
|
19
20
|
}
|
|
@@ -28,10 +29,7 @@
|
|
|
28
29
|
}
|
|
29
30
|
exports.ValueWithRandom = ValueWithRandom;
|
|
30
31
|
class AnimationValueWithRandom extends ValueWithRandom {
|
|
31
|
-
|
|
32
|
-
super();
|
|
33
|
-
this.animation = new AnimationOptions_js_1.AnimationOptions();
|
|
34
|
-
}
|
|
32
|
+
animation = new AnimationOptions_js_1.AnimationOptions();
|
|
35
33
|
load(data) {
|
|
36
34
|
super.load(data);
|
|
37
35
|
if ((0, TypeUtils_js_1.isNull)(data)) {
|
|
@@ -45,6 +43,7 @@
|
|
|
45
43
|
}
|
|
46
44
|
exports.AnimationValueWithRandom = AnimationValueWithRandom;
|
|
47
45
|
class RangedAnimationValueWithRandom extends AnimationValueWithRandom {
|
|
46
|
+
animation;
|
|
48
47
|
constructor() {
|
|
49
48
|
super();
|
|
50
49
|
this.animation = new AnimationOptions_js_1.RangedAnimationOptions();
|
package/umd/Utils/CanvasUtils.js
CHANGED
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "../Core/Utils/Constants.js"
|
|
7
|
+
define(["require", "exports", "../Core/Utils/Constants.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.drawLine = drawLine;
|
|
13
12
|
exports.paintBase = paintBase;
|
|
14
13
|
exports.paintImage = paintImage;
|
|
15
14
|
exports.clear = clear;
|
|
@@ -20,15 +19,7 @@
|
|
|
20
19
|
exports.drawShapeAfterDraw = drawShapeAfterDraw;
|
|
21
20
|
exports.drawShapeBeforeDraw = drawShapeBeforeDraw;
|
|
22
21
|
exports.drawParticlePlugin = drawParticlePlugin;
|
|
23
|
-
exports.alterHsl = alterHsl;
|
|
24
22
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
25
|
-
const AlterType_js_1 = require("../Enums/Types/AlterType.js");
|
|
26
|
-
function drawLine(context, begin, end) {
|
|
27
|
-
context.beginPath();
|
|
28
|
-
context.moveTo(begin.x, begin.y);
|
|
29
|
-
context.lineTo(end.x, end.y);
|
|
30
|
-
context.closePath();
|
|
31
|
-
}
|
|
32
23
|
function paintBase(context, dimension, baseColor) {
|
|
33
24
|
context.fillStyle = baseColor ?? "rgba(0,0,0,0)";
|
|
34
25
|
context.fillRect(Constants_js_1.originPoint.x, Constants_js_1.originPoint.y, dimension.width, dimension.height);
|
|
@@ -37,20 +28,24 @@
|
|
|
37
28
|
if (!image) {
|
|
38
29
|
return;
|
|
39
30
|
}
|
|
31
|
+
const prevAlpha = context.globalAlpha;
|
|
40
32
|
context.globalAlpha = opacity;
|
|
41
33
|
context.drawImage(image, Constants_js_1.originPoint.x, Constants_js_1.originPoint.y, dimension.width, dimension.height);
|
|
42
|
-
context.globalAlpha =
|
|
34
|
+
context.globalAlpha = prevAlpha;
|
|
43
35
|
}
|
|
44
36
|
function clear(context, dimension) {
|
|
45
37
|
context.clearRect(Constants_js_1.originPoint.x, Constants_js_1.originPoint.y, dimension.width, dimension.height);
|
|
46
38
|
}
|
|
47
39
|
function drawParticle(data) {
|
|
48
|
-
const { container, context, particle, delta, colorStyles, radius, opacity, transform } = data, pos = particle.getPosition(), transformData = particle.getTransformData(transform)
|
|
40
|
+
const { container, context, particle, delta, colorStyles, radius, opacity, transform } = data, { effectDrawers, shapeDrawers } = container.particles, pos = particle.getPosition(), transformData = particle.getTransformData(transform), drawScale = Constants_js_1.defaultZoom, drawPosition = {
|
|
41
|
+
x: pos.x,
|
|
42
|
+
y: pos.y,
|
|
43
|
+
};
|
|
49
44
|
context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
|
|
50
45
|
if (colorStyles.fill) {
|
|
51
46
|
context.fillStyle = colorStyles.fill;
|
|
52
47
|
}
|
|
53
|
-
const strokeWidth = particle.strokeWidth ?? Constants_js_1.minStrokeWidth;
|
|
48
|
+
const fillEnabled = !!particle.fillEnabled, strokeWidth = particle.strokeWidth ?? Constants_js_1.minStrokeWidth;
|
|
54
49
|
context.lineWidth = strokeWidth;
|
|
55
50
|
if (colorStyles.stroke) {
|
|
56
51
|
context.strokeStyle = colorStyles.stroke;
|
|
@@ -59,49 +54,54 @@
|
|
|
59
54
|
context,
|
|
60
55
|
particle,
|
|
61
56
|
radius,
|
|
57
|
+
drawRadius: radius * drawScale,
|
|
62
58
|
opacity,
|
|
63
59
|
delta,
|
|
64
60
|
pixelRatio: container.retina.pixelRatio,
|
|
65
|
-
fill:
|
|
66
|
-
stroke: strokeWidth > Constants_js_1.minStrokeWidth
|
|
61
|
+
fill: fillEnabled,
|
|
62
|
+
stroke: strokeWidth > Constants_js_1.minStrokeWidth,
|
|
67
63
|
transformData,
|
|
64
|
+
position: { ...pos },
|
|
65
|
+
drawPosition,
|
|
66
|
+
drawScale,
|
|
68
67
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
68
|
+
for (const plugin of container.plugins) {
|
|
69
|
+
plugin.drawParticleTransform?.(drawData);
|
|
70
|
+
}
|
|
71
|
+
const effect = particle.effect ? effectDrawers.get(particle.effect) : undefined, shape = particle.shape ? shapeDrawers.get(particle.shape) : undefined;
|
|
72
|
+
drawBeforeEffect(effect, drawData);
|
|
73
|
+
drawShapeBeforeDraw(shape, drawData);
|
|
74
|
+
drawShape(shape, drawData);
|
|
75
|
+
drawShapeAfterDraw(shape, drawData);
|
|
76
|
+
drawAfterEffect(effect, drawData);
|
|
74
77
|
context.resetTransform();
|
|
75
78
|
}
|
|
76
|
-
function drawAfterEffect(
|
|
79
|
+
function drawAfterEffect(drawer, data) {
|
|
80
|
+
if (!drawer?.drawAfter) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
77
83
|
const { particle } = data;
|
|
78
84
|
if (!particle.effect) {
|
|
79
85
|
return;
|
|
80
86
|
}
|
|
81
|
-
|
|
82
|
-
|
|
87
|
+
drawer.drawAfter(data);
|
|
88
|
+
}
|
|
89
|
+
function drawBeforeEffect(drawer, data) {
|
|
90
|
+
if (!drawer?.drawBefore) {
|
|
83
91
|
return;
|
|
84
92
|
}
|
|
85
|
-
drawFunc(data);
|
|
86
|
-
}
|
|
87
|
-
function drawBeforeEffect(container, data) {
|
|
88
93
|
const { particle } = data;
|
|
89
94
|
if (!particle.effect) {
|
|
90
95
|
return;
|
|
91
96
|
}
|
|
92
|
-
const drawer = container.effectDrawers.get(particle.effect);
|
|
93
|
-
if (!drawer?.drawBefore) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
97
|
drawer.drawBefore(data);
|
|
97
98
|
}
|
|
98
|
-
function drawShape(
|
|
99
|
-
|
|
100
|
-
if (!particle.shape) {
|
|
99
|
+
function drawShape(drawer, data) {
|
|
100
|
+
if (!drawer) {
|
|
101
101
|
return;
|
|
102
102
|
}
|
|
103
|
-
const
|
|
104
|
-
if (!
|
|
103
|
+
const { context, fill, particle, stroke } = data;
|
|
104
|
+
if (!particle.shape) {
|
|
105
105
|
return;
|
|
106
106
|
}
|
|
107
107
|
context.beginPath();
|
|
@@ -112,30 +112,28 @@
|
|
|
112
112
|
if (stroke) {
|
|
113
113
|
context.stroke();
|
|
114
114
|
}
|
|
115
|
-
if (
|
|
115
|
+
if (fill) {
|
|
116
116
|
context.fill();
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
function drawShapeAfterDraw(
|
|
120
|
-
const { particle } = data;
|
|
121
|
-
if (!particle.shape) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
const drawer = container.shapeDrawers.get(particle.shape);
|
|
119
|
+
function drawShapeAfterDraw(drawer, data) {
|
|
125
120
|
if (!drawer?.afterDraw) {
|
|
126
121
|
return;
|
|
127
122
|
}
|
|
128
|
-
drawer.afterDraw(data);
|
|
129
|
-
}
|
|
130
|
-
function drawShapeBeforeDraw(container, data) {
|
|
131
123
|
const { particle } = data;
|
|
132
124
|
if (!particle.shape) {
|
|
133
125
|
return;
|
|
134
126
|
}
|
|
135
|
-
|
|
127
|
+
drawer.afterDraw(data);
|
|
128
|
+
}
|
|
129
|
+
function drawShapeBeforeDraw(drawer, data) {
|
|
136
130
|
if (!drawer?.beforeDraw) {
|
|
137
131
|
return;
|
|
138
132
|
}
|
|
133
|
+
const { particle } = data;
|
|
134
|
+
if (!particle.shape) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
139
137
|
drawer.beforeDraw(data);
|
|
140
138
|
}
|
|
141
139
|
function drawParticlePlugin(context, plugin, particle, delta) {
|
|
@@ -144,11 +142,4 @@
|
|
|
144
142
|
}
|
|
145
143
|
plugin.drawParticle(context, particle, delta);
|
|
146
144
|
}
|
|
147
|
-
function alterHsl(color, type, value) {
|
|
148
|
-
return {
|
|
149
|
-
h: color.h,
|
|
150
|
-
s: color.s,
|
|
151
|
-
l: color.l + (type === AlterType_js_1.AlterType.darken ? -Constants_js_1.lFactor : Constants_js_1.lFactor) * value,
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
145
|
});
|
package/umd/Utils/ColorUtils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
if (v !== undefined) module.exports = v;
|
|
5
5
|
}
|
|
6
6
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./MathUtils.js", "../Core/Utils/Constants.js", "./TypeUtils.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
|
|
7
|
+
define(["require", "exports", "./MathUtils.js", "../Core/Utils/Constants.js", "./TypeUtils.js", "../Enums/Types/AlterType.js", "../Enums/AnimationStatus.js", "./Utils.js"], factory);
|
|
8
8
|
}
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
@@ -28,9 +28,11 @@
|
|
|
28
28
|
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
29
29
|
exports.updateColorValue = updateColorValue;
|
|
30
30
|
exports.updateColor = updateColor;
|
|
31
|
+
exports.alterHsl = alterHsl;
|
|
31
32
|
const MathUtils_js_1 = require("./MathUtils.js");
|
|
32
33
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
33
34
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
35
|
+
const AlterType_js_1 = require("../Enums/Types/AlterType.js");
|
|
34
36
|
const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
|
|
35
37
|
const Utils_js_1 = require("./Utils.js");
|
|
36
38
|
const styleCache = new Map(), maxCacheSize = 1000, firstIndex = 0, rgbFixedPrecision = 2, hslFixedPrecision = 2;
|
|
@@ -219,10 +221,10 @@
|
|
|
219
221
|
}
|
|
220
222
|
function colorMix(color1, color2, size1, size2) {
|
|
221
223
|
let rgb1 = color1, rgb2 = color2;
|
|
222
|
-
if (!
|
|
224
|
+
if (!("r" in rgb1)) {
|
|
223
225
|
rgb1 = hslToRgb(color1);
|
|
224
226
|
}
|
|
225
|
-
if (!
|
|
227
|
+
if (!("r" in rgb2)) {
|
|
226
228
|
rgb2 = hslToRgb(color2);
|
|
227
229
|
}
|
|
228
230
|
return {
|
|
@@ -275,27 +277,33 @@
|
|
|
275
277
|
}
|
|
276
278
|
}
|
|
277
279
|
function getHslFromAnimation(animation) {
|
|
278
|
-
return animation
|
|
279
|
-
?
|
|
280
|
+
return animation === undefined
|
|
281
|
+
? undefined
|
|
282
|
+
: {
|
|
280
283
|
h: animation.h.value,
|
|
281
284
|
s: animation.s.value,
|
|
282
285
|
l: animation.l.value,
|
|
283
|
-
}
|
|
284
|
-
: undefined;
|
|
286
|
+
};
|
|
285
287
|
}
|
|
286
288
|
function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
|
|
287
289
|
const resColor = {
|
|
288
290
|
h: {
|
|
289
291
|
enable: false,
|
|
290
292
|
value: hsl.h,
|
|
293
|
+
min: Constants_js_1.hMin,
|
|
294
|
+
max: Constants_js_1.hMax,
|
|
291
295
|
},
|
|
292
296
|
s: {
|
|
293
297
|
enable: false,
|
|
294
298
|
value: hsl.s,
|
|
299
|
+
min: Constants_js_1.sMin,
|
|
300
|
+
max: Constants_js_1.sMax,
|
|
295
301
|
},
|
|
296
302
|
l: {
|
|
297
303
|
enable: false,
|
|
298
304
|
value: hsl.l,
|
|
305
|
+
min: Constants_js_1.lMin,
|
|
306
|
+
max: Constants_js_1.lMax,
|
|
299
307
|
},
|
|
300
308
|
};
|
|
301
309
|
if (animationOptions) {
|
|
@@ -307,6 +315,8 @@
|
|
|
307
315
|
}
|
|
308
316
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
309
317
|
colorValue.enable = colorAnimation.enable;
|
|
318
|
+
colorValue.min = colorAnimation.min;
|
|
319
|
+
colorValue.max = colorAnimation.max;
|
|
310
320
|
if (colorValue.enable) {
|
|
311
321
|
colorValue.velocity = ((0, MathUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
|
|
312
322
|
colorValue.decay = Constants_js_1.decayOffset - (0, MathUtils_js_1.getRangeValue)(colorAnimation.decay);
|
|
@@ -326,7 +336,7 @@
|
|
|
326
336
|
colorValue.velocity = Constants_js_1.defaultVelocity;
|
|
327
337
|
}
|
|
328
338
|
}
|
|
329
|
-
function updateColorValue(data,
|
|
339
|
+
function updateColorValue(data, decrease, delta) {
|
|
330
340
|
const minLoops = 0, minDelay = 0, identity = 1, minVelocity = 0, minOffset = 0, velocityFactor = 3.6;
|
|
331
341
|
if (!data.enable ||
|
|
332
342
|
((data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops))) {
|
|
@@ -339,7 +349,7 @@
|
|
|
339
349
|
if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {
|
|
340
350
|
return;
|
|
341
351
|
}
|
|
342
|
-
const offset = data.offset ? (0, MathUtils_js_1.randomInRangeValue)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max =
|
|
352
|
+
const offset = data.offset ? (0, MathUtils_js_1.randomInRangeValue)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max = data.max, min = data.min;
|
|
343
353
|
if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
|
|
344
354
|
data.value += velocity;
|
|
345
355
|
if (data.value > max) {
|
|
@@ -355,8 +365,7 @@
|
|
|
355
365
|
}
|
|
356
366
|
else {
|
|
357
367
|
data.value -= velocity;
|
|
358
|
-
|
|
359
|
-
if (data.value < minValue) {
|
|
368
|
+
if (data.value < min) {
|
|
360
369
|
data.loops ??= 0;
|
|
361
370
|
data.loops++;
|
|
362
371
|
data.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
@@ -371,13 +380,16 @@
|
|
|
371
380
|
if (!color) {
|
|
372
381
|
return;
|
|
373
382
|
}
|
|
374
|
-
const { h, s, l } = color
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
383
|
+
const { h, s, l } = color;
|
|
384
|
+
updateColorValue(h, false, delta);
|
|
385
|
+
updateColorValue(s, true, delta);
|
|
386
|
+
updateColorValue(l, true, delta);
|
|
387
|
+
}
|
|
388
|
+
function alterHsl(color, type, value) {
|
|
389
|
+
return {
|
|
390
|
+
h: color.h,
|
|
391
|
+
s: color.s,
|
|
392
|
+
l: color.l + (type === AlterType_js_1.AlterType.darken ? -Constants_js_1.lFactor : Constants_js_1.lFactor) * value,
|
|
378
393
|
};
|
|
379
|
-
updateColorValue(h, ranges.h, false, delta);
|
|
380
|
-
updateColorValue(s, ranges.s, true, delta);
|
|
381
|
-
updateColorValue(l, ranges.l, true, delta);
|
|
382
394
|
}
|
|
383
395
|
});
|
package/umd/Utils/MathUtils.js
CHANGED
|
@@ -23,7 +23,9 @@
|
|
|
23
23
|
exports.getRangeMax = getRangeMax;
|
|
24
24
|
exports.setRangeValue = setRangeValue;
|
|
25
25
|
exports.getDistances = getDistances;
|
|
26
|
+
exports.getDistanceSq = getDistanceSq;
|
|
26
27
|
exports.getDistance = getDistance;
|
|
28
|
+
exports.checkDistance = checkDistance;
|
|
27
29
|
exports.degToRad = degToRad;
|
|
28
30
|
exports.getParticleDirectionAngle = getParticleDirectionAngle;
|
|
29
31
|
exports.getParticleBaseVelocity = getParticleBaseVelocity;
|
|
@@ -57,10 +59,8 @@
|
|
|
57
59
|
return getRandom() * (max - min) + min;
|
|
58
60
|
}
|
|
59
61
|
function setAnimationFunctions(nextFrame, cancel) {
|
|
60
|
-
_animationLoop.nextFrame =
|
|
61
|
-
_animationLoop.cancel =
|
|
62
|
-
cancel(handle);
|
|
63
|
-
};
|
|
62
|
+
_animationLoop.nextFrame = nextFrame;
|
|
63
|
+
_animationLoop.cancel = cancel;
|
|
64
64
|
}
|
|
65
65
|
function animate(fn) {
|
|
66
66
|
return _animationLoop.nextFrame(fn);
|
|
@@ -104,11 +104,18 @@
|
|
|
104
104
|
: setRangeValue(min, max);
|
|
105
105
|
}
|
|
106
106
|
function getDistances(pointA, pointB) {
|
|
107
|
-
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y
|
|
108
|
-
return { dx: dx, dy: dy, distance: Math.
|
|
107
|
+
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
|
|
108
|
+
return { dx: dx, dy: dy, distance: Math.hypot(dx, dy) };
|
|
109
|
+
}
|
|
110
|
+
function getDistanceSq(pointA, pointB) {
|
|
111
|
+
const dx = pointA.x - pointB.x, dy = pointA.y - pointB.y;
|
|
112
|
+
return dx * dx + dy * dy;
|
|
109
113
|
}
|
|
110
114
|
function getDistance(pointA, pointB) {
|
|
111
|
-
return
|
|
115
|
+
return Math.sqrt(getDistanceSq(pointA, pointB));
|
|
116
|
+
}
|
|
117
|
+
function checkDistance(pointA, pointB, distance) {
|
|
118
|
+
return getDistanceSq(pointA, pointB) <= distance * distance;
|
|
112
119
|
}
|
|
113
120
|
function degToRad(degrees) {
|
|
114
121
|
return degrees * degToRadFactor;
|