plotboilerplate 1.17.0 → 1.18.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.
Files changed (81) hide show
  1. package/README.md +63 -6
  2. package/changelog.md +25 -0
  3. package/dist/index.esm.js +152 -28
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.esm.min.js +1 -1
  6. package/dist/index.esm.min.js.map +1 -1
  7. package/dist/plotboilerplate.browser.min.js +1 -1
  8. package/dist/plotboilerplate.browser.min.js.map +1 -1
  9. package/dist/plotboilerplate.js +155 -28
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/Bounds.d.ts +11 -0
  13. package/src/cjs/Bounds.js +14 -0
  14. package/src/cjs/Bounds.js.map +1 -1
  15. package/src/cjs/Circle.d.ts +36 -2
  16. package/src/cjs/Circle.js +81 -1
  17. package/src/cjs/Circle.js.map +1 -1
  18. package/src/cjs/MouseHandler.d.ts +3 -2
  19. package/src/cjs/MouseHandler.js +16 -14
  20. package/src/cjs/MouseHandler.js.map +1 -1
  21. package/src/cjs/PlotBoilerplate.d.ts +3 -1
  22. package/src/cjs/PlotBoilerplate.js +8 -1
  23. package/src/cjs/PlotBoilerplate.js.map +1 -1
  24. package/src/cjs/draw.d.ts +8 -2
  25. package/src/cjs/draw.js +23 -8
  26. package/src/cjs/draw.js.map +1 -1
  27. package/src/cjs/drawgl.d.ts +4 -2
  28. package/src/cjs/drawgl.js +5 -2
  29. package/src/cjs/drawgl.js.map +1 -1
  30. package/src/cjs/drawutilssvg.d.ts +4 -2
  31. package/src/cjs/drawutilssvg.js +8 -2
  32. package/src/cjs/drawutilssvg.js.map +1 -1
  33. package/src/cjs/interfaces/DrawLib.d.ts +3 -1
  34. package/src/cjs/interfaces/DrawLib.js +1 -0
  35. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  36. package/src/cjs/interfaces/core.d.ts +2 -0
  37. package/src/cjs/interfaces/core.js +1 -0
  38. package/src/cjs/interfaces/core.js.map +1 -1
  39. package/src/cjs/utils/datastructures/Color.d.ts +3 -1
  40. package/src/cjs/utils/datastructures/Color.js +17 -6
  41. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  42. package/src/esm/Bounds.d.ts +11 -0
  43. package/src/esm/Bounds.js +14 -0
  44. package/src/esm/Bounds.js.map +1 -1
  45. package/src/esm/Circle.d.ts +36 -2
  46. package/src/esm/Circle.js +81 -1
  47. package/src/esm/Circle.js.map +1 -1
  48. package/src/esm/MouseHandler.d.ts +3 -2
  49. package/src/esm/MouseHandler.js +16 -14
  50. package/src/esm/MouseHandler.js.map +1 -1
  51. package/src/esm/PlotBoilerplate.d.ts +3 -1
  52. package/src/esm/PlotBoilerplate.js +8 -1
  53. package/src/esm/PlotBoilerplate.js.map +1 -1
  54. package/src/esm/draw.d.ts +8 -2
  55. package/src/esm/draw.js +22 -8
  56. package/src/esm/draw.js.map +1 -1
  57. package/src/esm/drawgl.d.ts +4 -2
  58. package/src/esm/drawgl.js +4 -2
  59. package/src/esm/drawgl.js.map +1 -1
  60. package/src/esm/drawutilssvg.d.ts +4 -2
  61. package/src/esm/drawutilssvg.js +7 -2
  62. package/src/esm/drawutilssvg.js.map +1 -1
  63. package/src/esm/interfaces/DrawLib.d.ts +3 -1
  64. package/src/esm/interfaces/DrawLib.js +1 -0
  65. package/src/esm/interfaces/DrawLib.js.map +1 -1
  66. package/src/esm/interfaces/core.d.ts +2 -0
  67. package/src/esm/interfaces/core.js +1 -0
  68. package/src/esm/interfaces/core.js.map +1 -1
  69. package/src/esm/utils/datastructures/Color.d.ts +3 -1
  70. package/src/esm/utils/datastructures/Color.js +17 -6
  71. package/src/esm/utils/datastructures/Color.js.map +1 -1
  72. package/src/ts/Bounds.ts +15 -0
  73. package/src/ts/Circle.ts +92 -2
  74. package/src/ts/MouseHandler.ts +16 -15
  75. package/src/ts/PlotBoilerplate.ts +8 -1
  76. package/src/ts/draw.ts +23 -8
  77. package/src/ts/drawgl.ts +4 -2
  78. package/src/ts/drawutilssvg.ts +7 -2
  79. package/src/ts/interfaces/DrawLib.ts +3 -1
  80. package/src/ts/interfaces/core.ts +3 -2
  81. package/src/ts/utils/datastructures/Color.ts +17 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plotboilerplate",
3
- "version": "1.17.0",
3
+ "version": "1.18.0",
4
4
  "description": "A simple javascript plotting boilerplate for 2d stuff.",
5
5
  "private": false,
6
6
  "main": "src/cjs/index.js",
@@ -86,6 +86,17 @@ export declare class Bounds implements IBounds, XYDimension {
86
86
  * @returns {string} Get these bounds in a human readable form.
87
87
  */
88
88
  toString(): string;
89
+ /**
90
+ * Clone this bounds object (create a deep clone).
91
+ *
92
+ * Note: the returned format might change in the future, so please do not
93
+ * rely on the returned string format.
94
+ *
95
+ * @method clone
96
+ * @instance
97
+ * @memberof Bounds
98
+ * @returns {string} Creates a deep clone of this bounds object. The returned object's `min` and `max` instances are `Vertex` instances.
99
+ */
89
100
  /**
90
101
  * Compute the minimal bounding box for a given set of vertices.
91
102
  *
package/src/cjs/Bounds.js CHANGED
@@ -71,6 +71,20 @@ var Bounds = /** @class */ (function () {
71
71
  Bounds.prototype.toString = function () {
72
72
  return "{ min: " + this.min.toString() + ", max : " + this.max.toString() + ", width: " + this.width + ", height : " + this.height + " }";
73
73
  };
74
+ /**
75
+ * Clone this bounds object (create a deep clone).
76
+ *
77
+ * Note: the returned format might change in the future, so please do not
78
+ * rely on the returned string format.
79
+ *
80
+ * @method clone
81
+ * @instance
82
+ * @memberof Bounds
83
+ * @returns {string} Creates a deep clone of this bounds object. The returned object's `min` and `max` instances are `Vertex` instances.
84
+ */
85
+ // clone() {
86
+ // return new Bounds(new Vertex(this.min.x, this.min.y), new Vertex(this.max.x, this.max.y));
87
+ // }
74
88
  /**
75
89
  * Compute the minimal bounding box for a given set of vertices.
76
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Bounds.js","sourceRoot":"","sources":["../ts/Bounds.ts"],"names":[],"mappings":"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"}
@@ -9,13 +9,16 @@
9
9
  * @modified 2021-01-20 Added UID.
10
10
  * @modified 2022-02-02 Added the `destroy` method.
11
11
  * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
12
- * @version 1.3.0
12
+ * @modified 2022-08-15 Added the `containsPoint` function.
13
+ * @modified 2022-08-23 Added the `lineIntersection` function.
14
+ * @modified 2022-08-23 Added the `closestPoint` function.
15
+ * @version 1.4.0
13
16
  **/
14
17
  import { Line } from "./Line";
15
18
  import { Vector } from "./Vector";
16
19
  import { VertTuple } from "./VertTuple";
17
20
  import { Vertex } from "./Vertex";
18
- import { SVGSerializable, UID } from "./interfaces";
21
+ import { SVGSerializable, UID, XYCoords } from "./interfaces";
19
22
  /**
20
23
  * @classdesc A simple circle: center point and radius.
21
24
  *
@@ -69,6 +72,16 @@ export declare class Circle implements SVGSerializable {
69
72
  * @param {number} radius - The radius of the circle.
70
73
  */
71
74
  constructor(center: Vertex, radius: number);
75
+ /**
76
+ * Check if the given circle is fully contained inside this circle.
77
+ *
78
+ * @method containsPoint
79
+ * @param {XYCoords} point - The point to check if it is contained in this circle.
80
+ * @instance
81
+ * @memberof Circle
82
+ * @return {boolean} `true` if the given point is inside this circle.
83
+ */
84
+ containsPoint(point: XYCoords): boolean;
72
85
  /**
73
86
  * Check if the given circle is fully contained inside this circle.
74
87
  *
@@ -126,6 +139,27 @@ export declare class Circle implements SVGSerializable {
126
139
  * @return {Line|null} The intersection points (as a line) or null if the two circles do not intersect.
127
140
  **/
128
141
  circleIntersection(circle: Circle): Line | null;
142
+ /**
143
+ * Calculate the intersection points (if exists) with the given infinite line (defined by two points).
144
+ *
145
+ * @method lineIntersection
146
+ * @instance
147
+ * @memberof Circle
148
+ * @param {Vertex} a- The first of the two points defining the line.
149
+ * @param {Vertex} b - The second of the two points defining the line.
150
+ * @return {Line|null} The intersection points (as a line) or null if this circle does not intersect the line given.
151
+ **/
152
+ lineIntersection(a: Vertex, b: XYCoords): Line | null;
153
+ /**
154
+ * Calculate the closest point on the outline of this circle to the given point.
155
+ *
156
+ * @method closestPoint
157
+ * @instance
158
+ * @memberof Circle
159
+ * @param {XYCoords} vert - The point to find the closest circle point for.
160
+ * @return {Vertex} The closest point on this circle.
161
+ **/
162
+ closestPoint(vert: XYCoords): Vertex;
129
163
  /**
130
164
  * This function should invalidate any installed listeners and invalidate this object.
131
165
  * After calling this function the object might not hold valid data any more and
package/src/cjs/Circle.js CHANGED
@@ -10,7 +10,10 @@
10
10
  * @modified 2021-01-20 Added UID.
11
11
  * @modified 2022-02-02 Added the `destroy` method.
12
12
  * @modified 2022-02-02 Cleared the `toSVGString` function (deprecated). Use `drawutilssvg` instead.
13
- * @version 1.3.0
13
+ * @modified 2022-08-15 Added the `containsPoint` function.
14
+ * @modified 2022-08-23 Added the `lineIntersection` function.
15
+ * @modified 2022-08-23 Added the `closestPoint` function.
16
+ * @version 1.4.0
14
17
  **/
15
18
  Object.defineProperty(exports, "__esModule", { value: true });
16
19
  exports.Circle = void 0;
@@ -47,6 +50,18 @@ var Circle = /** @class */ (function () {
47
50
  this.center = center;
48
51
  this.radius = radius;
49
52
  }
53
+ /**
54
+ * Check if the given circle is fully contained inside this circle.
55
+ *
56
+ * @method containsPoint
57
+ * @param {XYCoords} point - The point to check if it is contained in this circle.
58
+ * @instance
59
+ * @memberof Circle
60
+ * @return {boolean} `true` if the given point is inside this circle.
61
+ */
62
+ Circle.prototype.containsPoint = function (point) {
63
+ return this.center.distance(point) < this.radius;
64
+ };
50
65
  /**
51
66
  * Check if the given circle is fully contained inside this circle.
52
67
  *
@@ -158,6 +173,71 @@ var Circle = /** @class */ (function () {
158
173
  var y4 = p2.y + (h * (p1.x - p0.x)) / d;
159
174
  return new Line_1.Line(new Vertex_1.Vertex(x3, y3), new Vertex_1.Vertex(x4, y4));
160
175
  };
176
+ /**
177
+ * Calculate the intersection points (if exists) with the given infinite line (defined by two points).
178
+ *
179
+ * @method lineIntersection
180
+ * @instance
181
+ * @memberof Circle
182
+ * @param {Vertex} a- The first of the two points defining the line.
183
+ * @param {Vertex} b - The second of the two points defining the line.
184
+ * @return {Line|null} The intersection points (as a line) or null if this circle does not intersect the line given.
185
+ **/
186
+ Circle.prototype.lineIntersection = function (a, b) {
187
+ // Based on the math from
188
+ // https://mathworld.wolfram.com/Circle-LineIntersection.html
189
+ var interA = new Vertex_1.Vertex();
190
+ var interB = new Vertex_1.Vertex();
191
+ // First do a transformation, because the calculation is based on a cicle at (0,0)
192
+ var transA = new Vertex_1.Vertex(a).sub(this.center);
193
+ var transB = new Vertex_1.Vertex(b).sub(this.center);
194
+ var diff = transA.difference(transB);
195
+ // There is a special case if diff.y=0, where the intersection is not calcuatable.
196
+ // Use an non-zero epsilon here to approximate this case.
197
+ // TODO for the future: find a better solution
198
+ if (Math.abs(diff.y) === 0) {
199
+ diff.y = 0.000001;
200
+ }
201
+ var dist = transA.distance(transB);
202
+ var det = transA.x * transB.y - transA.y * transB.x;
203
+ var distSquared = dist * dist;
204
+ var radiusSquared = this.radius * this.radius;
205
+ // Check if circle and line have an intersection at all
206
+ if (radiusSquared * distSquared - det * det < 0) {
207
+ return null;
208
+ }
209
+ var belowSqrt = this.radius * this.radius * dist * dist - det * det;
210
+ var sqrt = Math.sqrt(belowSqrt);
211
+ interA.x = (det * diff.y + Math.sign(diff.y) * diff.x * sqrt) / distSquared;
212
+ interB.x = (det * diff.y - Math.sign(diff.y) * diff.x * sqrt) / distSquared;
213
+ interA.y = (-det * diff.x + Math.abs(diff.y) * sqrt) / distSquared;
214
+ interB.y = (-det * diff.x - Math.abs(diff.y) * sqrt) / distSquared;
215
+ return new Line_1.Line(interA.add(this.center), interB.add(this.center));
216
+ // return new Line(interA, interB);
217
+ };
218
+ /**
219
+ * Calculate the closest point on the outline of this circle to the given point.
220
+ *
221
+ * @method closestPoint
222
+ * @instance
223
+ * @memberof Circle
224
+ * @param {XYCoords} vert - The point to find the closest circle point for.
225
+ * @return {Vertex} The closest point on this circle.
226
+ **/
227
+ Circle.prototype.closestPoint = function (vert) {
228
+ var lineIntersection = this.lineIntersection(this.center, vert);
229
+ if (!lineIntersection) {
230
+ // Note: this case should not happen as a radial from the center always intersect this circle.
231
+ return new Vertex_1.Vertex();
232
+ }
233
+ // Return closed of both
234
+ if (lineIntersection.a.distance(vert) < lineIntersection.b.distance(vert)) {
235
+ return lineIntersection.a;
236
+ }
237
+ else {
238
+ return lineIntersection.b;
239
+ }
240
+ };
161
241
  /**
162
242
  * This function should invalidate any installed listeners and invalidate this object.
163
243
  * After calling this function the object might not hold valid data any more and
@@ -1 +1 @@
1
- {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;IAYI;;;AAEJ,+BAA8B;AAC9B,+CAA8C;AAC9C,mCAAkC;AAElC,mCAAkC;AAGlC;;;;;;;;;;IAUI;AACJ;IAsCE;;;;;;;OAOG;IACH,gBAAY,MAAc,EAAE,MAAc;QA7C1C;;YAEI;QACK,cAAS,GAAW,QAAQ,CAAC;QA2CpC,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,+BAAc,GAAd,UAAe,MAAc;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,6BAAY,GAAZ,UAAa,IAAoB;QAC/B,IAAM,kBAAkB,GAAW,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,OAAO,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAChE,CAAC;IAED;;;;;;;;QAQI;IACJ,uBAAM,GAAN,UAAO,KAAa;QAClB,mFAAmF;QACnF,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;;;;QAUI;IACJ,0BAAS,GAAT,UAAU,KAAa;QACrB,IAAM,MAAM,GAAW,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,oFAAoF;QACpF,OAAQ,IAAI,eAAM,CAAC,MAAM,EAAE,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAY,CAAC,IAAI,EAAY,CAAC;IAC5F,CAAC;IAED;;;;;;;;QAQI;IACJ,mCAAkB,GAAlB,UAAmB,MAAc;QAC/B,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;YACrE,OAAO,IAAI,CAAC;SACb;QACD,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;YAC/E,OAAO,IAAI,CAAC;SACb;QACD,iDAAiD;QACjD,mFAAmF;QACnF,wDAAwD;QACxD,kDAAkD;QAClD,EAAE;QACF,2CAA2C;QAC3C,EAAE;QACF,+CAA+C;QAC/C,qBAAqB;QACrB,yBAAyB;QACzB,oBAAoB;QACpB,0BAA0B;QAC1B,sCAAsC;QACtC,0BAA0B;QAC1B,+CAA+C;QAC/C,2BAA2B;QAC3B,oCAAoC;QACpC,oCAAoC;QACpC,oCAAoC;QACpC,oCAAoC;QACpC,8DAA8D;QAC9D,IAAI;QACJ,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,WAAI,CAAC,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,wBAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,kBAAW,GAAG;QACnB,MAAM,EAAE,UAAC,KAAa,EAAE,MAAc;YACpC;uDACkC;YAClC,OAAO,IAAI,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;IACJ,aAAC;CAAA,AAzLD,IAyLC,CAAC,YAAY;AAzLD,wBAAM"}
1
+ {"version":3,"file":"Circle.js","sourceRoot":"","sources":["../ts/Circle.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,8 @@
17
17
  * @modified 2020-10-04 Added extended JSDoc comments.
18
18
  * @modified 2020-11-25 Added the `isTouchEvent` param.
19
19
  * @modified 2021-01-10 The mouse handler is now also working with SVGElements.
20
- * @version 1.2.0
20
+ * @modified 2022-08-16 Fixed a bug in the mouse button detection.
21
+ * @version 1.2.1
21
22
  *
22
23
  * @file MouseHandler
23
24
  * @public
@@ -150,7 +151,7 @@ export declare class MouseHandler {
150
151
  * @memberof MouseHandler
151
152
  * @instance
152
153
  * @private
153
- * @param {MouseEvent} e - The mouse event to get the relative position for.
154
+ * @param {MouseEvent} event - The mouse event to get the relative position for.
154
155
  * @param {string} eventName - The name of the firing event.
155
156
  * @return {XMouseEvent}
156
157
  */
@@ -18,7 +18,8 @@
18
18
  * @modified 2020-10-04 Added extended JSDoc comments.
19
19
  * @modified 2020-11-25 Added the `isTouchEvent` param.
20
20
  * @modified 2021-01-10 The mouse handler is now also working with SVGElements.
21
- * @version 1.2.0
21
+ * @modified 2022-08-16 Fixed a bug in the mouse button detection.
22
+ * @version 1.2.1
22
23
  *
23
24
  * @file MouseHandler
24
25
  * @public
@@ -135,8 +136,8 @@ var MouseHandler = /** @class */ (function () {
135
136
  // +-------------------------------------------------
136
137
  this.name = name;
137
138
  this.element = element;
138
- this.mouseDownPos = null;
139
- this.mouseDragPos = null;
139
+ this.mouseDownPos = undefined;
140
+ this.mouseDragPos = undefined;
140
141
  // this.mousePos = null;
141
142
  this.mouseButton = -1;
142
143
  this.listeners = {};
@@ -205,26 +206,27 @@ var MouseHandler = /** @class */ (function () {
205
206
  * @memberof MouseHandler
206
207
  * @instance
207
208
  * @private
208
- * @param {MouseEvent} e - The mouse event to get the relative position for.
209
+ * @param {MouseEvent} event - The mouse event to get the relative position for.
209
210
  * @param {string} eventName - The name of the firing event.
210
211
  * @return {XMouseEvent}
211
212
  */
212
- MouseHandler.prototype.mkParams = function (e, eventName) {
213
- var rel = this.relPos(e);
214
- var xEvent = e;
213
+ MouseHandler.prototype.mkParams = function (event, eventName) {
214
+ var _a, _b;
215
+ var rel = this.relPos(event);
216
+ var xEvent = event;
215
217
  xEvent.params = {
216
218
  element: this.element,
217
219
  name: eventName,
218
220
  isTouchEvent: false,
219
221
  pos: rel,
220
- button: this.mouseButton,
221
- leftButton: this.mouseButton == 0,
222
- middleButton: this.mouseButton == 1,
223
- rightButton: this.mouseButton == 2,
224
- mouseDownPos: this.mouseDownPos,
225
- draggedFrom: this.mouseDragPos,
222
+ button: event.button,
223
+ leftButton: event.button === 0,
224
+ middleButton: event.button === 1,
225
+ rightButton: event.button === 2,
226
+ mouseDownPos: (_a = this.mouseDownPos) !== null && _a !== void 0 ? _a : { x: NaN, y: NaN },
227
+ draggedFrom: (_b = this.mouseDragPos) !== null && _b !== void 0 ? _b : { x: NaN, y: NaN },
226
228
  wasDragged: this.mouseDownPos != null && (this.mouseDownPos.x != rel.x || this.mouseDownPos.y != rel.y),
227
- dragAmount: this.mouseDownPos != null ? { x: rel.x - this.mouseDragPos.x, y: rel.y - this.mouseDragPos.y } : { x: 0, y: 0 }
229
+ dragAmount: this.mouseDragPos != null ? { x: rel.x - this.mouseDragPos.x, y: rel.y - this.mouseDragPos.y } : { x: 0, y: 0 }
228
230
  };
229
231
  return xEvent;
230
232
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MouseHandler.js","sourceRoot":"","sources":["../ts/MouseHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MouseHandler.js","sourceRoot":"","sources":["../ts/MouseHandler.ts"],"names":[],"mappings":"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"}
@@ -74,7 +74,8 @@
74
74
  * @modified 2021-03-29 Clearing `currentClassName` and `currentId` after drawing each drawable.
75
75
  * @modified 2021-04-25 Extending `remove` to accept arrays of drawables.
76
76
  * @modified 2021-11-16 Adding the `PBText` drawable.
77
- * @version 1.15.0
77
+ * @modified 2022-08-01 Added `title` to the params.
78
+ * @version 1.15.1
78
79
  *
79
80
  * @file PlotBoilerplate
80
81
  * @fileoverview The main class.
@@ -313,6 +314,7 @@ export declare class PlotBoilerplate {
313
314
  * @param {boolean=} [config.enableGL=false] - Indicates if the application should use the experimental WebGL features (not recommended).
314
315
  * @param {boolean=} [config.enableSVGExport=true] - Indicates if the SVG export should be enabled (default is true).
315
316
  * Note that changes from the postDraw hook might not be visible in the export.
317
+ * @param {string=} [config.title=null] - Specify any hover tile here. It will be attached as a `title` attribute to the most elevated element.
316
318
  */
317
319
  constructor(config: PBParams);
318
320
  /**
@@ -75,7 +75,8 @@
75
75
  * @modified 2021-03-29 Clearing `currentClassName` and `currentId` after drawing each drawable.
76
76
  * @modified 2021-04-25 Extending `remove` to accept arrays of drawables.
77
77
  * @modified 2021-11-16 Adding the `PBText` drawable.
78
- * @version 1.15.0
78
+ * @modified 2022-08-01 Added `title` to the params.
79
+ * @version 1.15.1
79
80
  *
80
81
  * @file PlotBoilerplate
81
82
  * @fileoverview The main class.
@@ -190,6 +191,7 @@ var PlotBoilerplate = /** @class */ (function () {
190
191
  * @param {boolean=} [config.enableGL=false] - Indicates if the application should use the experimental WebGL features (not recommended).
191
192
  * @param {boolean=} [config.enableSVGExport=true] - Indicates if the SVG export should be enabled (default is true).
192
193
  * Note that changes from the postDraw hook might not be visible in the export.
194
+ * @param {string=} [config.title=null] - Specify any hover tile here. It will be attached as a `title` attribute to the most elevated element.
193
195
  */
194
196
  function PlotBoilerplate(config) {
195
197
  /**
@@ -405,6 +407,11 @@ var PlotBoilerplate = /** @class */ (function () {
405
407
  else {
406
408
  throw "Element is neither a canvas nor an svg element.";
407
409
  }
410
+ // At this point the event cacher element is deinfed and located at highest elevation.
411
+ // Set `title` attribut?
412
+ if (config.title) {
413
+ this.eventCatcher.setAttribute("title", config.title);
414
+ }
408
415
  this.draw.scale.set(this.config.scaleX, this.config.scaleY);
409
416
  this.fill.scale.set(this.config.scaleX, this.config.scaleY);
410
417
  this.vertices = [];