plotboilerplate 1.12.10 → 1.16.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 (213) hide show
  1. package/README.md +5 -1
  2. package/changelog.md +50 -0
  3. package/dist/index.esm.js +999 -510
  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 +1013 -509
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +45 -2
  13. package/src/cjs/BezierPath.js +114 -18
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Circle.d.ts +25 -10
  16. package/src/cjs/Circle.js +38 -33
  17. package/src/cjs/Circle.js.map +1 -1
  18. package/src/cjs/CircleSector.d.ts +27 -13
  19. package/src/cjs/CircleSector.js +38 -23
  20. package/src/cjs/CircleSector.js.map +1 -1
  21. package/src/cjs/CubicBezierCurve.d.ts +17 -1
  22. package/src/cjs/CubicBezierCurve.js +78 -79
  23. package/src/cjs/CubicBezierCurve.js.map +1 -1
  24. package/src/cjs/KeyHandler.d.ts +10 -3
  25. package/src/cjs/KeyHandler.js +28 -23
  26. package/src/cjs/KeyHandler.js.map +1 -1
  27. package/src/cjs/Line.d.ts +2 -1
  28. package/src/cjs/Line.js +19 -18
  29. package/src/cjs/Line.js.map +1 -1
  30. package/src/cjs/MouseHandler.js +43 -53
  31. package/src/cjs/MouseHandler.js.map +1 -1
  32. package/src/cjs/PBImage.d.ts +16 -1
  33. package/src/cjs/PBImage.js +13 -3
  34. package/src/cjs/PBImage.js.map +1 -1
  35. package/src/cjs/PBText.d.ts +130 -0
  36. package/src/cjs/PBText.js +76 -0
  37. package/src/cjs/PBText.js.map +1 -0
  38. package/src/cjs/PlotBoilerplate.d.ts +2 -1
  39. package/src/cjs/PlotBoilerplate.js +44 -16
  40. package/src/cjs/PlotBoilerplate.js.map +1 -1
  41. package/src/cjs/Polygon.d.ts +37 -1
  42. package/src/cjs/Polygon.js +131 -54
  43. package/src/cjs/Polygon.js.map +1 -1
  44. package/src/cjs/Triangle.d.ts +16 -1
  45. package/src/cjs/Triangle.js +50 -54
  46. package/src/cjs/Triangle.js.map +1 -1
  47. package/src/cjs/VEllipse.d.ts +16 -1
  48. package/src/cjs/VEllipse.js +25 -12
  49. package/src/cjs/VEllipse.js.map +1 -1
  50. package/src/cjs/VEllipseSector.d.ts +15 -1
  51. package/src/cjs/VEllipseSector.js +11 -1
  52. package/src/cjs/VEllipseSector.js.map +1 -1
  53. package/src/cjs/Vector.d.ts +3 -1
  54. package/src/cjs/Vector.js +32 -36
  55. package/src/cjs/Vector.js.map +1 -1
  56. package/src/cjs/VertTuple.d.ts +15 -1
  57. package/src/cjs/VertTuple.js +14 -19
  58. package/src/cjs/VertTuple.js.map +1 -1
  59. package/src/cjs/Vertex.d.ts +66 -4
  60. package/src/cjs/Vertex.js +99 -17
  61. package/src/cjs/Vertex.js.map +1 -1
  62. package/src/cjs/VertexListeners.d.ts +12 -8
  63. package/src/cjs/VertexListeners.js +18 -25
  64. package/src/cjs/VertexListeners.js.map +1 -1
  65. package/src/cjs/draw.d.ts +30 -2
  66. package/src/cjs/draw.js +51 -6
  67. package/src/cjs/draw.js.map +1 -1
  68. package/src/cjs/drawgl.d.ts +29 -2
  69. package/src/cjs/drawgl.js +21 -4
  70. package/src/cjs/drawgl.js.map +1 -1
  71. package/src/cjs/drawutilssvg.d.ts +25 -7
  72. package/src/cjs/drawutilssvg.js +62 -14
  73. package/src/cjs/drawutilssvg.js.map +1 -1
  74. package/src/cjs/entry.js +1 -0
  75. package/src/cjs/index.d.ts +1 -0
  76. package/src/cjs/index.js +1 -0
  77. package/src/cjs/index.js.map +1 -1
  78. package/src/cjs/interfaces/DrawLib.d.ts +27 -6
  79. package/src/cjs/interfaces/DrawLib.js +3 -0
  80. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  81. package/src/cjs/interfaces/core.d.ts +9 -1
  82. package/src/cjs/interfaces/core.js +1 -0
  83. package/src/cjs/interfaces/core.js.map +1 -1
  84. package/src/cjs/utils/creategui.js +1 -1
  85. package/src/cjs/utils/findInVertexArray.d.ts +19 -0
  86. package/src/cjs/utils/findInVertexArray.js +29 -0
  87. package/src/cjs/utils/findInVertexArray.js.map +1 -0
  88. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  89. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +55 -28
  90. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  91. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  92. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  93. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  94. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  95. package/src/cjs/utils/io/FileDrop.js +142 -0
  96. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  97. package/src/esm/BezierPath.d.ts +45 -2
  98. package/src/esm/BezierPath.js +114 -18
  99. package/src/esm/BezierPath.js.map +1 -1
  100. package/src/esm/Circle.d.ts +25 -10
  101. package/src/esm/Circle.js +38 -33
  102. package/src/esm/Circle.js.map +1 -1
  103. package/src/esm/CircleSector.d.ts +27 -13
  104. package/src/esm/CircleSector.js +38 -23
  105. package/src/esm/CircleSector.js.map +1 -1
  106. package/src/esm/CubicBezierCurve.d.ts +17 -1
  107. package/src/esm/CubicBezierCurve.js +78 -79
  108. package/src/esm/CubicBezierCurve.js.map +1 -1
  109. package/src/esm/KeyHandler.d.ts +10 -3
  110. package/src/esm/KeyHandler.js +28 -23
  111. package/src/esm/KeyHandler.js.map +1 -1
  112. package/src/esm/Line.d.ts +2 -1
  113. package/src/esm/Line.js +19 -18
  114. package/src/esm/Line.js.map +1 -1
  115. package/src/esm/MouseHandler.js +43 -53
  116. package/src/esm/MouseHandler.js.map +1 -1
  117. package/src/esm/PBImage.d.ts +16 -1
  118. package/src/esm/PBImage.js +13 -3
  119. package/src/esm/PBImage.js.map +1 -1
  120. package/src/esm/PBText.d.ts +130 -0
  121. package/src/esm/PBText.js +71 -0
  122. package/src/esm/PBText.js.map +1 -0
  123. package/src/esm/PlotBoilerplate.d.ts +2 -1
  124. package/src/esm/PlotBoilerplate.js +44 -16
  125. package/src/esm/PlotBoilerplate.js.map +1 -1
  126. package/src/esm/Polygon.d.ts +37 -1
  127. package/src/esm/Polygon.js +131 -54
  128. package/src/esm/Polygon.js.map +1 -1
  129. package/src/esm/Triangle.d.ts +16 -1
  130. package/src/esm/Triangle.js +50 -54
  131. package/src/esm/Triangle.js.map +1 -1
  132. package/src/esm/VEllipse.d.ts +16 -1
  133. package/src/esm/VEllipse.js +25 -12
  134. package/src/esm/VEllipse.js.map +1 -1
  135. package/src/esm/VEllipseSector.d.ts +15 -1
  136. package/src/esm/VEllipseSector.js +11 -1
  137. package/src/esm/VEllipseSector.js.map +1 -1
  138. package/src/esm/Vector.d.ts +3 -1
  139. package/src/esm/Vector.js +32 -36
  140. package/src/esm/Vector.js.map +1 -1
  141. package/src/esm/VertTuple.d.ts +15 -1
  142. package/src/esm/VertTuple.js +14 -19
  143. package/src/esm/VertTuple.js.map +1 -1
  144. package/src/esm/Vertex.d.ts +66 -4
  145. package/src/esm/Vertex.js +99 -17
  146. package/src/esm/Vertex.js.map +1 -1
  147. package/src/esm/VertexListeners.d.ts +12 -8
  148. package/src/esm/VertexListeners.js +18 -25
  149. package/src/esm/VertexListeners.js.map +1 -1
  150. package/src/esm/draw.d.ts +30 -2
  151. package/src/esm/draw.js +51 -6
  152. package/src/esm/draw.js.map +1 -1
  153. package/src/esm/drawgl.d.ts +29 -2
  154. package/src/esm/drawgl.js +21 -4
  155. package/src/esm/drawgl.js.map +1 -1
  156. package/src/esm/drawutilssvg.d.ts +25 -7
  157. package/src/esm/drawutilssvg.js +62 -14
  158. package/src/esm/drawutilssvg.js.map +1 -1
  159. package/src/esm/entry.js +1 -0
  160. package/src/esm/index.d.ts +1 -0
  161. package/src/esm/index.js +1 -0
  162. package/src/esm/index.js.map +1 -1
  163. package/src/esm/interfaces/DrawLib.d.ts +27 -6
  164. package/src/esm/interfaces/DrawLib.js +3 -0
  165. package/src/esm/interfaces/DrawLib.js.map +1 -1
  166. package/src/esm/interfaces/core.d.ts +9 -1
  167. package/src/esm/interfaces/core.js +1 -0
  168. package/src/esm/interfaces/core.js.map +1 -1
  169. package/src/esm/utils/findInVertexArray.d.ts +19 -0
  170. package/src/esm/utils/findInVertexArray.js +25 -0
  171. package/src/esm/utils/findInVertexArray.js.map +1 -0
  172. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +15 -0
  173. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +54 -28
  174. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  175. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  176. package/src/esm/utils/io/DndFileHandler.js +106 -0
  177. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  178. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  179. package/src/esm/utils/io/FileDrop.js +136 -0
  180. package/src/esm/utils/io/FileDrop.js.map +1 -0
  181. package/src/ts/BezierPath.ts +133 -16
  182. package/src/ts/Circle.ts +213 -200
  183. package/src/ts/CircleSector.ts +171 -141
  184. package/src/ts/CubicBezierCurve.ts +777 -810
  185. package/src/ts/KeyHandler.ts +221 -212
  186. package/src/ts/Line.ts +77 -80
  187. package/src/ts/MouseHandler.ts +356 -368
  188. package/src/ts/PBImage.ts +81 -68
  189. package/src/ts/PBText.ts +166 -0
  190. package/src/ts/PlotBoilerplate.ts +48 -20
  191. package/src/ts/Polygon.ts +519 -451
  192. package/src/ts/Triangle.ts +484 -489
  193. package/src/ts/VEllipse.ts +36 -11
  194. package/src/ts/VEllipseSector.ts +20 -1
  195. package/src/ts/Vector.ts +164 -160
  196. package/src/ts/VertTuple.ts +333 -338
  197. package/src/ts/Vertex.ts +117 -16
  198. package/src/ts/VertexListeners.ts +248 -266
  199. package/src/ts/draw.ts +71 -8
  200. package/src/ts/drawgl.ts +48 -8
  201. package/src/ts/drawutilssvg.ts +94 -17
  202. package/src/ts/index.ts +1 -0
  203. package/src/ts/interfaces/DrawLib.ts +30 -4
  204. package/src/ts/interfaces/core.ts +9 -0
  205. package/src/ts/utils/findInVertexArray.ts +28 -0
  206. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +61 -30
  207. package/src/ts/utils/io/FileDrop.ts +178 -0
  208. package/dist/plotboilerplate.browser.min.js.LICENSE.txt +0 -8
  209. package/src/ts/utils/algorithms/clearPolygonDuplicateVertices.ts~ +0 -5
  210. package/src/ts/utils/algorithms/findPolygonSelfIntersections.ts~ +0 -45
  211. package/src/ts/utils/algorithms/sh-tmp.ts~ +0 -59
  212. package/src/ts/utils/algorithms/splitPolygonToNonIntersecting.ts~ +0 -113
  213. package/src/ts/utils/algorithms/sutherlandHodgman.ts~ +0 -88
@@ -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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"}
@@ -4,7 +4,9 @@
4
4
  * @modified 2019-03-23 Added JSDoc tags.
5
5
  * @modified 2020-03-25 Ported this class from vanilla-JS to Typescript.
6
6
  * @modified 2021-01-20 Added UID.
7
- * @version 1.1.0
7
+ * @modified 2022-02-02 Added the `destroy` method.
8
+ * @modified 2022-02-02 Cleared the `PBImage.toSVGString` function (deprecated). Use `drawutilssvg` instead.
9
+ * @version 1.2.0
8
10
  *
9
11
  * @file PBImage
10
12
  * @fileoverview As native Image objects have only a position and with
@@ -53,6 +55,13 @@ export declare class PBImage implements SVGSerializable {
53
55
  * @instance
54
56
  */
55
57
  lowerRight: Vertex;
58
+ /**
59
+ * @member isDestroyed
60
+ * @memberof PBImage
61
+ * @type {boolean}
62
+ * @instance
63
+ */
64
+ isDestroyed: boolean;
56
65
  /**
57
66
  * The constructor.
58
67
  *
@@ -76,4 +85,10 @@ export declare class PBImage implements SVGSerializable {
76
85
  toSVGString(options: {
77
86
  className?: string;
78
87
  }): string;
88
+ /**
89
+ * This function should invalidate any installed listeners and invalidate this object.
90
+ * After calling this function the object might not hold valid data any more and
91
+ * should not be used.
92
+ */
93
+ destroy(): void;
79
94
  }
@@ -5,7 +5,9 @@
5
5
  * @modified 2019-03-23 Added JSDoc tags.
6
6
  * @modified 2020-03-25 Ported this class from vanilla-JS to Typescript.
7
7
  * @modified 2021-01-20 Added UID.
8
- * @version 1.1.0
8
+ * @modified 2022-02-02 Added the `destroy` method.
9
+ * @modified 2022-02-02 Cleared the `PBImage.toSVGString` function (deprecated). Use `drawutilssvg` instead.
10
+ * @version 1.2.0
9
11
  *
10
12
  * @file PBImage
11
13
  * @fileoverview As native Image objects have only a position and with
@@ -43,7 +45,6 @@ var PBImage = /** @class */ (function () {
43
45
  this.upperLeft = upperLeft;
44
46
  this.lowerRight = lowerRight;
45
47
  }
46
- ;
47
48
  /**
48
49
  * Convert this vertex to SVG code.
49
50
  *
@@ -58,7 +59,16 @@ var PBImage = /** @class */ (function () {
58
59
  console.warn("PBImage is not yet SVG serializable. Returning empty SVG string.");
59
60
  return "";
60
61
  };
61
- ;
62
+ /**
63
+ * This function should invalidate any installed listeners and invalidate this object.
64
+ * After calling this function the object might not hold valid data any more and
65
+ * should not be used.
66
+ */
67
+ PBImage.prototype.destroy = function () {
68
+ this.upperLeft.destroy();
69
+ this.lowerRight.destroy();
70
+ this.isDestroyed = true;
71
+ };
62
72
  return PBImage;
63
73
  }());
64
74
  exports.PBImage = PBImage;
@@ -1 +1 @@
1
- {"version":3,"file":"PBImage.js","sourceRoot":"","sources":["../ts/PBImage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;IAYI;;;AAIJ,+CAA8C;AAI9C;;;;;;;GAOG;AACH;IA0CI;;;;;;;;QAQI;IACJ,iBAAa,KAAsB,EAAE,SAAgB,EAAE,UAAiB;QAhDxE;;YAEI;QACK,cAAS,GAAY,SAAS,CAAC;QA8C3C,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC1B,CAAC;IAAA,CAAC;IAGF;;;;;;;;;QASI;IACJ,6BAAW,GAAX,UAAa,OAA6B;QAC7C,OAAO,CAAC,IAAI,CAAE,kEAAkE,CAAE,CAAC;QACnF,OAAO,EAAE,CAAC;IACP,CAAC;IAAA,CAAC;IACN,cAAC;AAAD,CAAC,AAzED,IAyEC;AAzEY,0BAAO"}
1
+ {"version":3,"file":"PBImage.js","sourceRoot":"","sources":["../ts/PBImage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;IAcI;;;AAGJ,+CAA8C;AAG9C;;;;;;;GAOG;AACH;IA6CE;;;;;;;;QAQI;IACJ,iBAAY,KAAuB,EAAE,SAAiB,EAAE,UAAkB;QArD1E;;YAEI;QACK,cAAS,GAAW,SAAS,CAAC;QAmDrC,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;;;QASI;IACJ,6BAAW,GAAX,UAAY,OAA+B;QACzC,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QACjF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,yBAAO,GAAP;QACE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,cAAC;AAAD,CAAC,AAtFD,IAsFC;AAtFY,0BAAO"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * @author Ikaros Kappler
3
+ * @date 2021-11-16
4
+ * @modified 2022-02-02 Added the `destroy` method.
5
+ * @version 1.1.0
6
+ **/
7
+ import { Vertex } from "./Vertex";
8
+ import { FontOptions, FontStyle, FontWeight, SVGSerializable, UID } from "./interfaces";
9
+ /**
10
+ * @classdesc A simple text element: position, fontSize, fontFamily, color, textAlign, lineHeight and rotation.
11
+ *
12
+ * @requires FontOptions
13
+ * @requires FontSize
14
+ * @requires FontStyle
15
+ * @requires FontWeight
16
+ * @requires Vertex
17
+ * @requires SVGSerializale
18
+ * @requires UID
19
+ * @requires UIDGenerator
20
+ **/
21
+ export declare class PBText implements SVGSerializable, FontOptions {
22
+ /**
23
+ * Required to generate proper CSS classes and other class related IDs.
24
+ **/
25
+ readonly className: string;
26
+ /**
27
+ * The UID of this drawable object.
28
+ *
29
+ * @member {UID}
30
+ * @memberof PBText
31
+ * @instance
32
+ * @readonly
33
+ */
34
+ readonly uid: UID;
35
+ /**
36
+ * @member {string}
37
+ * @memberof PBText
38
+ * @instance
39
+ */
40
+ text: string;
41
+ /**
42
+ * @member {Vertex}
43
+ * @memberof PBText
44
+ * @instance
45
+ */
46
+ anchor: Vertex;
47
+ /**
48
+ * @member {number}
49
+ * @memberof PBText
50
+ * @instance
51
+ */
52
+ fontSize: number | undefined;
53
+ /**
54
+ * @member {number}
55
+ * @memberof PBText
56
+ * @instance
57
+ */
58
+ lineHeight: number | undefined;
59
+ /**
60
+ * @member {FontWeight}
61
+ * @memberof PBText
62
+ * @instance
63
+ */
64
+ fontWeight: FontWeight | undefined;
65
+ /**
66
+ * @member {FontStyle}
67
+ * @memberof PBText
68
+ * @instance
69
+ */
70
+ fontStyle: FontStyle | undefined;
71
+ /**
72
+ * @member {CanvasRenderingContext2D["textAlign"]}
73
+ * @memberof PBText
74
+ * @instance
75
+ */
76
+ textAlign: CanvasRenderingContext2D["textAlign"] | undefined;
77
+ /**
78
+ * @member {number}
79
+ * @memberof PBText
80
+ * @instance
81
+ */
82
+ rotation: number | undefined;
83
+ /**
84
+ * @member {number}
85
+ * @memberof PBText
86
+ * @instance
87
+ */
88
+ fontFamily: string | undefined;
89
+ /**
90
+ * @member {number}
91
+ * @memberof PBText
92
+ * @instance
93
+ */
94
+ color: string | undefined;
95
+ /**
96
+ * @member isDestroyed
97
+ * @memberof PBText
98
+ * @type {boolean}
99
+ * @instance
100
+ */
101
+ isDestroyed: boolean;
102
+ /**
103
+ * Create a new circle with given center point and radius.
104
+ *
105
+ * @constructor
106
+ * @name Circle
107
+ * @param {Vertex} center - The center point of the circle.
108
+ * @param {number} radius - The radius of the circle.
109
+ */
110
+ constructor(text: string, anchor?: Vertex, options?: FontOptions);
111
+ /**
112
+ * Create an SVG representation of this circle.
113
+ *
114
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
115
+ * @method toSVGString
116
+ * @param {object=} options - An optional set of options, like 'className'.
117
+ * @return {string} A string representing the SVG code for this vertex.
118
+ * @instance
119
+ * @memberof Circle
120
+ */
121
+ toSVGString(options: {
122
+ className?: string;
123
+ }): string;
124
+ /**
125
+ * This function should invalidate any installed listeners and invalidate this object.
126
+ * After calling this function the object might not hold valid data any more and
127
+ * should not be used.
128
+ */
129
+ destroy(): void;
130
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * @author Ikaros Kappler
4
+ * @date 2021-11-16
5
+ * @modified 2022-02-02 Added the `destroy` method.
6
+ * @version 1.1.0
7
+ **/
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PBText = void 0;
10
+ var UIDGenerator_1 = require("./UIDGenerator");
11
+ var Vertex_1 = require("./Vertex");
12
+ /**
13
+ * @classdesc A simple text element: position, fontSize, fontFamily, color, textAlign, lineHeight and rotation.
14
+ *
15
+ * @requires FontOptions
16
+ * @requires FontSize
17
+ * @requires FontStyle
18
+ * @requires FontWeight
19
+ * @requires Vertex
20
+ * @requires SVGSerializale
21
+ * @requires UID
22
+ * @requires UIDGenerator
23
+ **/
24
+ var PBText = /** @class */ (function () {
25
+ /**
26
+ * Create a new circle with given center point and radius.
27
+ *
28
+ * @constructor
29
+ * @name Circle
30
+ * @param {Vertex} center - The center point of the circle.
31
+ * @param {number} radius - The radius of the circle.
32
+ */
33
+ function PBText(text, anchor, options) {
34
+ /**
35
+ * Required to generate proper CSS classes and other class related IDs.
36
+ **/
37
+ this.className = "PBText";
38
+ this.uid = UIDGenerator_1.UIDGenerator.next();
39
+ this.text = text;
40
+ this.anchor = anchor !== null && anchor !== void 0 ? anchor : new Vertex_1.Vertex();
41
+ this.color = options.color;
42
+ this.fontFamily = options.fontFamily;
43
+ this.fontSize = options.fontSize;
44
+ this.fontStyle = options.fontStyle;
45
+ this.fontWeight = options.fontWeight;
46
+ this.lineHeight = options.lineHeight;
47
+ this.textAlign = options.textAlign;
48
+ this.rotation = options.rotation;
49
+ }
50
+ /**
51
+ * Create an SVG representation of this circle.
52
+ *
53
+ * @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
54
+ * @method toSVGString
55
+ * @param {object=} options - An optional set of options, like 'className'.
56
+ * @return {string} A string representing the SVG code for this vertex.
57
+ * @instance
58
+ * @memberof Circle
59
+ */
60
+ PBText.prototype.toSVGString = function (options) {
61
+ console.warn("[PBText.toSVGString()] This function is not implemented as it defines a deprecated method. Use the 'drawutilssvg.text()' method instead.");
62
+ return "";
63
+ };
64
+ /**
65
+ * This function should invalidate any installed listeners and invalidate this object.
66
+ * After calling this function the object might not hold valid data any more and
67
+ * should not be used.
68
+ */
69
+ PBText.prototype.destroy = function () {
70
+ this.anchor.destroy();
71
+ this.isDestroyed = true;
72
+ };
73
+ return PBText;
74
+ }()); // END class
75
+ exports.PBText = PBText;
76
+ //# sourceMappingURL=PBText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PBText.js","sourceRoot":"","sources":["../ts/PBText.ts"],"names":[],"mappings":";AAAA;;;;;IAKI;;;AAEJ,+CAA8C;AAC9C,mCAAkC;AAGlC;;;;;;;;;;;IAWI;AACJ;IA8FE;;;;;;;OAOG;IACH,gBAAY,IAAY,EAAE,MAAe,EAAE,OAAqB;QArGhE;;YAEI;QACK,cAAS,GAAW,QAAQ,CAAC;QAmGpC,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,eAAM,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,4BAAW,GAAX,UAAY,OAA+B;QACzC,OAAO,CAAC,IAAI,CACV,0IAA0I,CAC3I,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,wBAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IACH,aAAC;AAAD,CAAC,AA9ID,IA8IC,CAAC,YAAY;AA9ID,wBAAM"}
@@ -73,7 +73,8 @@
73
73
  * @modified 2021-03-03 Added the `VEllipseSector` drawable.
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
- * @version 1.14.0
76
+ * @modified 2021-11-16 Adding the `PBText` drawable.
77
+ * @version 1.15.0
77
78
  *
78
79
  * @file PlotBoilerplate
79
80
  * @fileoverview The main class.
@@ -74,7 +74,8 @@
74
74
  * @modified 2021-03-03 Added the `VEllipseSector` drawable.
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
- * @version 1.14.0
77
+ * @modified 2021-11-16 Adding the `PBText` drawable.
78
+ * @version 1.15.0
78
79
  *
79
80
  * @file PlotBoilerplate
80
81
  * @fileoverview The main class.
@@ -102,6 +103,7 @@ var VEllipseSector_1 = require("./VEllipseSector");
102
103
  var Vector_1 = require("./Vector");
103
104
  var Vertex_1 = require("./Vertex");
104
105
  var VertexAttr_1 = require("./VertexAttr");
106
+ var PBText_1 = require("./PBText");
105
107
  /**
106
108
  * @classdesc The main class of the PlotBoilerplate.
107
109
  *
@@ -340,6 +342,12 @@ var PlotBoilerplate = /** @class */ (function () {
340
342
  image: {
341
343
  color: "#a8a8a8",
342
344
  lineWidth: 1
345
+ },
346
+ text: {
347
+ color: "rgba(192,0,128,0.5)",
348
+ lineWidth: 1,
349
+ fill: true,
350
+ anchor: true
343
351
  }
344
352
  }; // END drawConfig
345
353
  // +---------------------------------------------------------------------------------
@@ -461,7 +469,7 @@ var PlotBoilerplate = /** @class */ (function () {
461
469
  var blob = new Blob([svgCode], { type: "image/svg;charset=utf-8" });
462
470
  // See documentation for FileSaver.js for usage.
463
471
  // https://github.com/eligrey/FileSaver.js
464
- if (typeof globalThis["saveAs"] != "function")
472
+ if (typeof globalThis["saveAs"] !== "function")
465
473
  throw "Cannot save file; did you load the ./utils/savefile helper function and the eligrey/SaveFile library?";
466
474
  var _saveAs = globalThis["saveAs"];
467
475
  _saveAs(blob, "plotboilerplate.svg");
@@ -567,7 +575,6 @@ var PlotBoilerplate = /** @class */ (function () {
567
575
  PlotBoilerplate.prototype.add = function (drawable, redraw) {
568
576
  if (Array.isArray(drawable)) {
569
577
  var arr = drawable;
570
- // for( var i in arr )
571
578
  for (var i = 0; i < arr.length; i++) {
572
579
  this.add(arr[i], false);
573
580
  }
@@ -613,9 +620,9 @@ var PlotBoilerplate = /** @class */ (function () {
613
620
  }
614
621
  else if (drawable instanceof Polygon_1.Polygon) {
615
622
  this.drawables.push(drawable);
616
- // for( var i in drawable.vertices )
617
- for (var i = 0; i < drawable.vertices.length; i++)
623
+ for (var i = 0; i < drawable.vertices.length; i++) {
618
624
  this.vertices.push(drawable.vertices[i]);
625
+ }
619
626
  }
620
627
  else if (drawable instanceof Triangle_1.Triangle) {
621
628
  this.drawables.push(drawable);
@@ -627,8 +634,9 @@ var PlotBoilerplate = /** @class */ (function () {
627
634
  this.drawables.push(drawable);
628
635
  var bezierPath = drawable;
629
636
  for (var i = 0; i < bezierPath.bezierCurves.length; i++) {
630
- if (!drawable.adjustCircular && i == 0)
637
+ if (!drawable.adjustCircular && i == 0) {
631
638
  this.vertices.push(bezierPath.bezierCurves[i].startPoint);
639
+ }
632
640
  this.vertices.push(bezierPath.bezierCurves[i].endPoint);
633
641
  this.vertices.push(bezierPath.bezierCurves[i].startControlPoint);
634
642
  this.vertices.push(bezierPath.bezierCurves[i].endControlPoint);
@@ -647,6 +655,11 @@ var PlotBoilerplate = /** @class */ (function () {
647
655
  });
648
656
  drawable.lowerRight.attr.selectable = false;
649
657
  }
658
+ else if (drawable instanceof PBText_1.PBText) {
659
+ this.vertices.push(drawable.anchor);
660
+ this.drawables.push(drawable);
661
+ drawable.anchor.attr.selectable = false;
662
+ }
650
663
  else {
651
664
  throw "Cannot add drawable of unrecognized type: " + typeof drawable + ".";
652
665
  }
@@ -694,7 +707,7 @@ var PlotBoilerplate = /** @class */ (function () {
694
707
  }
695
708
  }
696
709
  for (var i = 0; i < this.drawables.length; i++) {
697
- if (this.drawables[i] === drawable) {
710
+ if (this.drawables[i] === drawable || this.drawables[i].uid === drawable.uid) {
698
711
  this.drawables.splice(i, 1);
699
712
  if (removeWithVertices) {
700
713
  // Check if some listeners need to be removed
@@ -745,6 +758,9 @@ var PlotBoilerplate = /** @class */ (function () {
745
758
  this.removeVertex(drawable.upperLeft, false);
746
759
  this.removeVertex(drawable.lowerRight, false);
747
760
  }
761
+ else if (drawable instanceof PBText_1.PBText) {
762
+ this.removeVertex(drawable.anchor, false);
763
+ }
748
764
  } // END removeWithVertices
749
765
  if (redraw) {
750
766
  this.redraw();
@@ -766,8 +782,9 @@ var PlotBoilerplate = /** @class */ (function () {
766
782
  for (var i = 0; i < this.vertices.length; i++) {
767
783
  if (this.vertices[i] === vert) {
768
784
  this.vertices.splice(i, 1);
769
- if (redraw)
785
+ if (redraw) {
770
786
  this.redraw();
787
+ }
771
788
  return;
772
789
  }
773
790
  }
@@ -802,8 +819,9 @@ var PlotBoilerplate = /** @class */ (function () {
802
819
  **/
803
820
  PlotBoilerplate.prototype.getVertexNear = function (pixelPosition, pixelTolerance) {
804
821
  var p = this.locatePointNear(this.transformMousePosition(pixelPosition.x, pixelPosition.y), pixelTolerance / Math.min(this.config.cssScaleX, this.config.cssScaleY));
805
- if (p && p.typeName == "vertex")
822
+ if (p && p.typeName == "vertex") {
806
823
  return this.vertices[p.vindex];
824
+ }
807
825
  return undefined;
808
826
  };
809
827
  /**
@@ -1070,6 +1088,16 @@ var PlotBoilerplate = /** @class */ (function () {
1070
1088
  d.lowerRight.attr.renderTime = renderTime;
1071
1089
  }
1072
1090
  }
1091
+ else if (d instanceof PBText_1.PBText) {
1092
+ fill.setCurrentId(d.uid);
1093
+ fill.text(d.text, d.anchor.x, d.anchor.y, d);
1094
+ if (this.drawConfig.text.anchor) {
1095
+ draw.setCurrentId(d.uid + "_a0");
1096
+ draw.setCurrentClassName(d.className + "-anchor");
1097
+ (this.drawConfig.text.fill ? fill : draw).point(d.anchor, this.drawConfig.text.color);
1098
+ }
1099
+ d.anchor.attr.renderTime = renderTime;
1100
+ }
1073
1101
  else {
1074
1102
  console.error("Cannot draw object. Unknown class.");
1075
1103
  }
@@ -1349,7 +1377,6 @@ var PlotBoilerplate = /** @class */ (function () {
1349
1377
  // Apply the zoom (the tolerant area should not shrink or grow when zooming)
1350
1378
  tolerance /= _self.draw.scale.x;
1351
1379
  // Search in vertices
1352
- // for( var vindex in _self.vertices ) {
1353
1380
  for (var vindex = 0; vindex < _self.vertices.length; vindex++) {
1354
1381
  var vert = _self.vertices[vindex];
1355
1382
  if ((vert.attr.draggable || vert.attr.selectable) && vert.distance(point) < tolerance) {
@@ -1369,10 +1396,7 @@ var PlotBoilerplate = /** @class */ (function () {
1369
1396
  * @return {void}
1370
1397
  **/
1371
1398
  PlotBoilerplate.prototype.handleClick = function (e) {
1372
- // x:number,y:number) {
1373
1399
  var _self = this;
1374
- // const x:number = e.params.pos.x;
1375
- //const y:number = e.params.pos.y;
1376
1400
  var p = this.locatePointNear(_self.transformMousePosition(e.params.pos.x, e.params.pos.y), PlotBoilerplate.DEFAULT_CLICK_TOLERANCE / Math.min(_self.config.cssScaleX, _self.config.cssScaleY));
1377
1401
  if (p) {
1378
1402
  _self.vertices[p.vindex].listeners.fireClickEvent(e);
@@ -1389,7 +1413,7 @@ var PlotBoilerplate = /** @class */ (function () {
1389
1413
  }
1390
1414
  _self.redraw();
1391
1415
  }
1392
- else if (this.keyHandler.isDown("y") /* && p.type=='bpath' && (p.pid==BezierPath.START_POINT || p.pid==BezierPath.END_POINT) */) {
1416
+ else if (this.keyHandler.isDown("y")) {
1393
1417
  _self.vertices[p.vindex].attr.bezierAutoAdjust = !_self.vertices[p.vindex].attr.bezierAutoAdjust;
1394
1418
  _self.redraw();
1395
1419
  }
@@ -1687,6 +1711,7 @@ var PlotBoilerplate = /** @class */ (function () {
1687
1711
  _self.draggedElements = [];
1688
1712
  };
1689
1713
  var afProps = {
1714
+ // touchStart: (evt: TouchEvent) => {
1690
1715
  touchStart: function (evt) {
1691
1716
  if (evt.touches.length == 1) {
1692
1717
  touchMovePos = new Vertex_1.Vertex(relPos_1({ x: evt.touches[0].clientX, y: evt.touches[0].clientY }));
@@ -1789,10 +1814,13 @@ var PlotBoilerplate = /** @class */ (function () {
1789
1814
  _self.redraw();
1790
1815
  }
1791
1816
  }; // END afProps
1792
- if (window["createAlloyFinger"])
1817
+ if (window["createAlloyFinger"]) {
1793
1818
  window["createAlloyFinger"](this.eventCatcher ? this.eventCatcher : this.canvas, afProps);
1794
- else
1819
+ }
1820
+ else {
1821
+ /* tslint:disable-next-line */
1795
1822
  new alloyfinger_typescript_1.default(this.eventCatcher ? this.eventCatcher : this.canvas, afProps);
1823
+ }
1796
1824
  }
1797
1825
  catch (e) {
1798
1826
  console.error("Failed to initialize AlloyFinger!");