plotboilerplate 1.16.0 → 1.17.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 (173) hide show
  1. package/README.md +1 -0
  2. package/changelog.md +26 -1
  3. package/dist/index.esm.js +355 -441
  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 +357 -345
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +0 -14
  13. package/src/cjs/BezierPath.js +0 -26
  14. package/src/cjs/BezierPath.js.map +1 -1
  15. package/src/cjs/Bounds.d.ts +22 -1
  16. package/src/cjs/Bounds.js +24 -1
  17. package/src/cjs/Bounds.js.map +1 -1
  18. package/src/cjs/Circle.d.ts +0 -13
  19. package/src/cjs/Circle.js +0 -23
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +0 -13
  22. package/src/cjs/CircleSector.js +0 -27
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +0 -15
  25. package/src/cjs/CubicBezierCurve.js +0 -36
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/Line.d.ts +0 -14
  28. package/src/cjs/Line.js +0 -26
  29. package/src/cjs/Line.js.map +1 -1
  30. package/src/cjs/PBImage.d.ts +0 -13
  31. package/src/cjs/PBImage.js +0 -14
  32. package/src/cjs/PBImage.js.map +1 -1
  33. package/src/cjs/PBText.d.ts +0 -13
  34. package/src/cjs/PBText.js +0 -14
  35. package/src/cjs/PBText.js.map +1 -1
  36. package/src/cjs/Polygon.d.ts +9 -15
  37. package/src/cjs/Polygon.js +12 -39
  38. package/src/cjs/Polygon.js.map +1 -1
  39. package/src/cjs/Triangle.d.ts +0 -13
  40. package/src/cjs/Triangle.js +0 -37
  41. package/src/cjs/Triangle.js.map +1 -1
  42. package/src/cjs/VEllipse.d.ts +0 -10
  43. package/src/cjs/VEllipse.js +0 -21
  44. package/src/cjs/VEllipse.js.map +1 -1
  45. package/src/cjs/Vector.d.ts +0 -14
  46. package/src/cjs/Vector.js +0 -36
  47. package/src/cjs/Vector.js.map +1 -1
  48. package/src/cjs/Vertex.d.ts +0 -14
  49. package/src/cjs/Vertex.js +0 -25
  50. package/src/cjs/Vertex.js.map +1 -1
  51. package/src/cjs/draw.d.ts +41 -2
  52. package/src/cjs/draw.js +140 -3
  53. package/src/cjs/draw.js.map +1 -1
  54. package/src/cjs/drawgl.d.ts +38 -2
  55. package/src/cjs/drawgl.js +41 -2
  56. package/src/cjs/drawgl.js.map +1 -1
  57. package/src/cjs/drawutilssvg.d.ts +66 -3
  58. package/src/cjs/drawutilssvg.js +140 -15
  59. package/src/cjs/drawutilssvg.js.map +1 -1
  60. package/src/cjs/index.d.ts +0 -1
  61. package/src/cjs/index.js +0 -1
  62. package/src/cjs/index.js.map +1 -1
  63. package/src/cjs/interfaces/DrawLib.d.ts +61 -26
  64. package/src/cjs/interfaces/DrawLib.js +2 -0
  65. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  66. package/src/cjs/interfaces/core.d.ts +0 -12
  67. package/src/cjs/module.d.ts +1 -3
  68. package/src/cjs/module.js +2 -5
  69. package/src/cjs/module.js.map +1 -1
  70. package/src/cjs/utils/creategui.js +16 -2
  71. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  72. package/src/cjs/utils/datastructures/Girih.js +18 -14
  73. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  74. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  75. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  76. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  77. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  78. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
  79. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +9 -18
  80. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  81. package/src/esm/BezierPath.d.ts +0 -14
  82. package/src/esm/BezierPath.js +0 -26
  83. package/src/esm/BezierPath.js.map +1 -1
  84. package/src/esm/Bounds.d.ts +22 -1
  85. package/src/esm/Bounds.js +24 -1
  86. package/src/esm/Bounds.js.map +1 -1
  87. package/src/esm/Circle.d.ts +0 -13
  88. package/src/esm/Circle.js +0 -23
  89. package/src/esm/Circle.js.map +1 -1
  90. package/src/esm/CircleSector.d.ts +0 -13
  91. package/src/esm/CircleSector.js +0 -27
  92. package/src/esm/CircleSector.js.map +1 -1
  93. package/src/esm/CubicBezierCurve.d.ts +0 -15
  94. package/src/esm/CubicBezierCurve.js +0 -36
  95. package/src/esm/CubicBezierCurve.js.map +1 -1
  96. package/src/esm/Line.d.ts +0 -14
  97. package/src/esm/Line.js +0 -26
  98. package/src/esm/Line.js.map +1 -1
  99. package/src/esm/PBImage.d.ts +0 -13
  100. package/src/esm/PBImage.js +0 -14
  101. package/src/esm/PBImage.js.map +1 -1
  102. package/src/esm/PBText.d.ts +0 -13
  103. package/src/esm/PBText.js +0 -14
  104. package/src/esm/PBText.js.map +1 -1
  105. package/src/esm/Polygon.d.ts +9 -15
  106. package/src/esm/Polygon.js +12 -39
  107. package/src/esm/Polygon.js.map +1 -1
  108. package/src/esm/Triangle.d.ts +0 -13
  109. package/src/esm/Triangle.js +0 -37
  110. package/src/esm/Triangle.js.map +1 -1
  111. package/src/esm/VEllipse.d.ts +0 -10
  112. package/src/esm/VEllipse.js +0 -21
  113. package/src/esm/VEllipse.js.map +1 -1
  114. package/src/esm/Vector.d.ts +0 -14
  115. package/src/esm/Vector.js +0 -36
  116. package/src/esm/Vector.js.map +1 -1
  117. package/src/esm/Vertex.d.ts +0 -14
  118. package/src/esm/Vertex.js +0 -25
  119. package/src/esm/Vertex.js.map +1 -1
  120. package/src/esm/draw.d.ts +41 -2
  121. package/src/esm/draw.js +139 -3
  122. package/src/esm/draw.js.map +1 -1
  123. package/src/esm/drawgl.d.ts +38 -2
  124. package/src/esm/drawgl.js +41 -2
  125. package/src/esm/drawgl.js.map +1 -1
  126. package/src/esm/drawutilssvg.d.ts +66 -3
  127. package/src/esm/drawutilssvg.js +140 -15
  128. package/src/esm/drawutilssvg.js.map +1 -1
  129. package/src/esm/index.d.ts +0 -1
  130. package/src/esm/index.js +0 -1
  131. package/src/esm/index.js.map +1 -1
  132. package/src/esm/interfaces/DrawLib.d.ts +61 -26
  133. package/src/esm/interfaces/DrawLib.js +2 -0
  134. package/src/esm/interfaces/DrawLib.js.map +1 -1
  135. package/src/esm/interfaces/core.d.ts +0 -12
  136. package/src/esm/module.d.ts +1 -3
  137. package/src/esm/module.js +5 -4
  138. package/src/esm/module.js.map +1 -1
  139. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  140. package/src/esm/utils/datastructures/Girih.js +18 -14
  141. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  142. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  143. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  144. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  145. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  146. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
  147. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +9 -18
  148. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  149. package/src/ts/BezierPath.ts +0 -29
  150. package/src/ts/Bounds.ts +25 -1
  151. package/src/ts/Circle.ts +0 -26
  152. package/src/ts/CircleSector.ts +0 -30
  153. package/src/ts/CubicBezierCurve.ts +0 -39
  154. package/src/ts/Line.ts +0 -29
  155. package/src/ts/PBImage.ts +0 -15
  156. package/src/ts/PBText.ts +0 -17
  157. package/src/ts/Polygon.ts +16 -42
  158. package/src/ts/Triangle.ts +0 -40
  159. package/src/ts/VEllipse.ts +0 -24
  160. package/src/ts/Vector.ts +0 -40
  161. package/src/ts/Vertex.ts +0 -28
  162. package/src/ts/draw.ts +192 -3
  163. package/src/ts/drawgl.ts +44 -2
  164. package/src/ts/drawutilssvg.ts +181 -15
  165. package/src/ts/index.ts +0 -1
  166. package/src/ts/interfaces/DrawLib.ts +69 -26
  167. package/src/ts/interfaces/core.ts +0 -11
  168. package/src/ts/module.ts +2 -4
  169. package/src/ts/utils/datastructures/Girih.ts +204 -209
  170. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  171. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  172. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +9 -18
  173. package/src/ts/SVGBuilder.ts +0 -109
@@ -20,7 +20,8 @@
20
20
  * @modified 2021-01-03 Changed property to `autoAdjustPaths` in the HandlerOptions interface (typo).
21
21
  * @modified 2021-01-03 Added following new functions: `addPathVertexDragStartListeners`, `removePathVertexDragStartListeners`, `addPathVertexDragEndListeners` and `removePathVertexDragEndListeners`.
22
22
  * @modified 2021-03-31 Fixed the issue with the new AlloyFinger (Typescript).
23
- * @version 1.1.1
23
+ * @modified 2022-02-03 Changing the element to catch events (eventCatcher instead of canvas).
24
+ * @version 1.1.2
24
25
  *
25
26
  * @file BezierPathInteractionHelper
26
27
  * @public
@@ -277,8 +278,8 @@ export class BezierPathInteractionHelper {
277
278
  // removePathVertexDragStartListeners(this.paths[i], listener);
278
279
  }
279
280
  this.paths = [];
280
- this.pb.canvas.removeEventListener("mouseenter", this._mouseEnterListener);
281
- this.pb.canvas.removeEventListener("mouseleave", this._mouseLeaveListener);
281
+ this.pb.eventCatcher.removeEventListener("mouseenter", this._mouseEnterListener);
282
+ this.pb.eventCatcher.removeEventListener("mouseleave", this._mouseLeaveListener);
282
283
  this._mouseHandler.destroy();
283
284
  this._keyHandler.destroy();
284
285
  }
@@ -450,11 +451,10 @@ export class BezierPathInteractionHelper {
450
451
  _self._clearMoveEvent();
451
452
  }
452
453
  };
453
- // new AlloyFinger(this.pb.canvas, afProps);
454
454
  if (window["createAlloyFinger"]) {
455
- return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
455
+ return window["createAlloyFinger"](this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
456
456
  } else {
457
- return new AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.canvas, afProps);
457
+ return new AlloyFinger(this.pb.eventCatcher ? this.pb.eventCatcher : this.pb.eventCatcher, afProps);
458
458
  }
459
459
  }
460
460
 
@@ -463,7 +463,7 @@ export class BezierPathInteractionHelper {
463
463
  // +-------------------------------
464
464
  private _installMouseListener(): MouseHandler {
465
465
  var _self: BezierPathInteractionHelper = this;
466
- var mouseHandler = new MouseHandler(this.pb.canvas)
466
+ var mouseHandler = new MouseHandler(this.pb.eventCatcher)
467
467
  .up(function (e: XMouseEvent) {
468
468
  if (e.params.wasDragged) return;
469
469
  if (_self._keyHandler.isDown("shift")) return;
@@ -502,21 +502,12 @@ export class BezierPathInteractionHelper {
502
502
  _self.onVertexInserted(_self.currentPathIndex, leftPath.bezierCurves.length, newPath, oldPath);
503
503
  })
504
504
  .move(function (e: XMouseEvent) {
505
- // console.log('moved');
506
- // if( _self.pb.getDraggedElementCount() == 0 )
507
505
  _self.mouseIsOver = true;
508
506
  _self._handleMoveEvent(e.params.pos.x, e.params.pos.y);
509
507
  });
510
508
 
511
- // _self.pb.canvas.addEventListener("mouseenter", function () {
512
- // _self.mouseIsOver = true;
513
- // });
514
- // _self.pb.canvas.addEventListener("mouseleave", function () {
515
- // _self.mouseIsOver = false;
516
- // _self._clearMoveEvent();
517
- // });
518
- this.pb.canvas.addEventListener("mouseenter", this._mouseEnterListener);
519
- this.pb.canvas.addEventListener("mouseleave", this._mouseLeaveListener);
509
+ this.pb.eventCatcher.addEventListener("mouseenter", this._mouseEnterListener);
510
+ this.pb.eventCatcher.addEventListener("mouseleave", this._mouseLeaveListener);
520
511
  return mouseHandler;
521
512
  }
522
513
 
@@ -1,109 +0,0 @@
1
- /**
2
- * Todos:
3
- * + use a Drawable interface
4
- * + use a SVGSerializable interface
5
- *
6
- * @require Vertex
7
- *
8
- * @deprecated THIS CLASS IS DEPRECATED. Please use the new `drawutilssvg` instead.
9
- *
10
- * @author Ikaros Kappler
11
- * @date 2018-12-04
12
- * @modified 2019-11-07 Added the 'Triangle' style class.
13
- * @modified 2019-11-13 Added the <?xml ...?> tag.
14
- * @modified 2020-03-25 Ported this class from vanilla-JS to Typescript.
15
- * @modified 2020-12-17 Added Circle and CircleSection style classes.
16
- * @modified 2021-01-26 DEPRECATION
17
- * @version 1.0.5
18
- **/
19
-
20
-
21
- import { Vertex } from "./Vertex";
22
- import { SVGSerializable } from "./interfaces";
23
-
24
-
25
- /**
26
- * @classdesc A default SVG builder.
27
- *
28
- * @requires SVGSerializable
29
- * @requires Vertex
30
- */
31
- export class SVGBuilder {
32
-
33
- /**
34
- * @constructor
35
- **/
36
- constructor() {
37
- console.warn("THIS CLASS IS DEPRECATED. Please use the new 'drawutilssvg' instead.")
38
- };
39
-
40
-
41
- /**
42
- * Builds the SVG code from the given list of drawables.
43
- *
44
- * @param {object[]} drawables - The drawable elements (should implement Drawable) to be converted (each must have a toSVGString-function).
45
- * @param {object} options - { canvasSize, zoom, offset }
46
- * @return {string}
47
- **/
48
- build( drawables:Array<SVGSerializable>,
49
- options:{canvasSize:{width:number,height:number},zoom:Vertex,offset:Vertex}
50
- ) : string {
51
-
52
- var nl : string = '\n';
53
- var indent : string = ' ';
54
- var buffer : Array<string> = [];
55
-
56
- buffer.push( '<?xml version="1.0" encoding="UTF-8"?>' + nl );
57
- buffer.push( '<svg width="'+options.canvasSize.width+'" height="'+options.canvasSize.height+'"' );
58
- buffer.push( ' viewBox="' );
59
- buffer.push( '0' );
60
- buffer.push( ' ' );
61
- buffer.push( '0' );
62
- buffer.push( ' ' );
63
- buffer.push( options.canvasSize.width.toString() );
64
- buffer.push( ' ' );
65
- buffer.push( options.canvasSize.height.toString() );
66
- buffer.push( '"' );
67
-
68
- buffer.push( ' xmlns="http://www.w3.org/2000/svg">' + nl );
69
-
70
- buffer.push( indent + '<defs>' + nl );
71
- buffer.push( indent + '<style>' + nl);
72
-
73
- buffer.push( indent + indent + ' .Vertex { fill : blue; stroke : none; } ' + nl );
74
- buffer.push( indent + indent + ' .Triangle { fill : none; stroke : turquoise; stroke-width : 1px; } ' + nl );
75
- buffer.push( indent + indent + ' .Polygon { fill : none; stroke : green; stroke-width : 2px; } ' + nl );
76
- buffer.push( indent + indent + ' .BezierPath { fill : none; stroke : blue; stroke-width : 2px; } ' + nl );
77
- buffer.push( indent + indent + ' .VEllipse { fill : none; stroke : black; stroke-width : 1px; } ' + nl );
78
- buffer.push( indent + indent + ' .Line { fill : none; stroke : purple; stroke-width : 1px; } ' + nl );
79
- buffer.push( indent + indent + ' .Circle { fill : none; stroke : purple; stroke-width : 1px; } ' + nl );
80
- buffer.push( indent + indent + ' .CircleSector { fill : none; stroke : purple; stroke-width : 1px; } ' + nl );
81
- buffer.push( indent + '</style>' + nl );
82
- buffer.push( indent + '</defs>' + nl );
83
-
84
- buffer.push( indent + '<g class="main-g"' );
85
- if( options.zoom || options.offset ) {
86
- buffer.push( ' transform="' );
87
- if( options.zoom )
88
- buffer.push( 'scale(' + options.zoom.x + ',' + options.zoom.y + ')' );
89
- if( options.offset )
90
- buffer.push( ' translate(' + options.offset.x + ',' + options.offset.y + ')' );
91
- buffer.push( '"' );
92
- }
93
- buffer.push( '>' + nl );
94
-
95
- for( var i in drawables ) {
96
- var d : SVGSerializable = drawables[i];
97
- if( typeof d.toSVGString == 'function' ) {
98
- buffer.push( indent + indent );
99
- buffer.push( d.toSVGString( { 'className' : d.className } ) );
100
- buffer.push( nl );
101
- } else {
102
- console.warn( 'Unrecognized drawable type has no toSVGString()-function. Ignoring: ' + d.className );
103
- }
104
- }
105
- buffer.push( indent + '</g>' + nl );
106
- buffer.push( '</svg>' + nl );
107
- return buffer.join('');
108
- };
109
- }