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.
- package/README.md +1 -0
- package/changelog.md +26 -1
- package/dist/index.esm.js +355 -441
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/plotboilerplate.browser.min.js +1 -1
- package/dist/plotboilerplate.browser.min.js.map +1 -1
- package/dist/plotboilerplate.js +357 -345
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +0 -14
- package/src/cjs/BezierPath.js +0 -26
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +22 -1
- package/src/cjs/Bounds.js +24 -1
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +0 -13
- package/src/cjs/Circle.js +0 -23
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +0 -13
- package/src/cjs/CircleSector.js +0 -27
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +0 -15
- package/src/cjs/CubicBezierCurve.js +0 -36
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/Line.d.ts +0 -14
- package/src/cjs/Line.js +0 -26
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/PBImage.d.ts +0 -13
- package/src/cjs/PBImage.js +0 -14
- package/src/cjs/PBImage.js.map +1 -1
- package/src/cjs/PBText.d.ts +0 -13
- package/src/cjs/PBText.js +0 -14
- package/src/cjs/PBText.js.map +1 -1
- package/src/cjs/Polygon.d.ts +9 -15
- package/src/cjs/Polygon.js +12 -39
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +0 -13
- package/src/cjs/Triangle.js +0 -37
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +0 -10
- package/src/cjs/VEllipse.js +0 -21
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/Vector.d.ts +0 -14
- package/src/cjs/Vector.js +0 -36
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/Vertex.d.ts +0 -14
- package/src/cjs/Vertex.js +0 -25
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/draw.d.ts +41 -2
- package/src/cjs/draw.js +140 -3
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +38 -2
- package/src/cjs/drawgl.js +41 -2
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +66 -3
- package/src/cjs/drawutilssvg.js +140 -15
- package/src/cjs/drawutilssvg.js.map +1 -1
- package/src/cjs/index.d.ts +0 -1
- package/src/cjs/index.js +0 -1
- package/src/cjs/index.js.map +1 -1
- package/src/cjs/interfaces/DrawLib.d.ts +61 -26
- package/src/cjs/interfaces/DrawLib.js +2 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +0 -12
- package/src/cjs/module.d.ts +1 -3
- package/src/cjs/module.js +2 -5
- package/src/cjs/module.js.map +1 -1
- package/src/cjs/utils/creategui.js +16 -2
- package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
- package/src/cjs/utils/datastructures/Girih.js +18 -14
- package/src/cjs/utils/datastructures/Girih.js.map +1 -1
- package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
- package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
- package/src/cjs/utils/datastructures/GirihTile.js +2 -13
- package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +9 -18
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/BezierPath.d.ts +0 -14
- package/src/esm/BezierPath.js +0 -26
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +22 -1
- package/src/esm/Bounds.js +24 -1
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +0 -13
- package/src/esm/Circle.js +0 -23
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +0 -13
- package/src/esm/CircleSector.js +0 -27
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +0 -15
- package/src/esm/CubicBezierCurve.js +0 -36
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/Line.d.ts +0 -14
- package/src/esm/Line.js +0 -26
- package/src/esm/Line.js.map +1 -1
- package/src/esm/PBImage.d.ts +0 -13
- package/src/esm/PBImage.js +0 -14
- package/src/esm/PBImage.js.map +1 -1
- package/src/esm/PBText.d.ts +0 -13
- package/src/esm/PBText.js +0 -14
- package/src/esm/PBText.js.map +1 -1
- package/src/esm/Polygon.d.ts +9 -15
- package/src/esm/Polygon.js +12 -39
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +0 -13
- package/src/esm/Triangle.js +0 -37
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +0 -10
- package/src/esm/VEllipse.js +0 -21
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/Vector.d.ts +0 -14
- package/src/esm/Vector.js +0 -36
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/Vertex.d.ts +0 -14
- package/src/esm/Vertex.js +0 -25
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/draw.d.ts +41 -2
- package/src/esm/draw.js +139 -3
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +38 -2
- package/src/esm/drawgl.js +41 -2
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +66 -3
- package/src/esm/drawutilssvg.js +140 -15
- package/src/esm/drawutilssvg.js.map +1 -1
- package/src/esm/index.d.ts +0 -1
- package/src/esm/index.js +0 -1
- package/src/esm/index.js.map +1 -1
- package/src/esm/interfaces/DrawLib.d.ts +61 -26
- package/src/esm/interfaces/DrawLib.js +2 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +0 -12
- package/src/esm/module.d.ts +1 -3
- package/src/esm/module.js +5 -4
- package/src/esm/module.js.map +1 -1
- package/src/esm/utils/datastructures/Girih.d.ts +5 -0
- package/src/esm/utils/datastructures/Girih.js +18 -14
- package/src/esm/utils/datastructures/Girih.js.map +1 -1
- package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
- package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
- package/src/esm/utils/datastructures/GirihTile.js +2 -13
- package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +2 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +9 -18
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/ts/BezierPath.ts +0 -29
- package/src/ts/Bounds.ts +25 -1
- package/src/ts/Circle.ts +0 -26
- package/src/ts/CircleSector.ts +0 -30
- package/src/ts/CubicBezierCurve.ts +0 -39
- package/src/ts/Line.ts +0 -29
- package/src/ts/PBImage.ts +0 -15
- package/src/ts/PBText.ts +0 -17
- package/src/ts/Polygon.ts +16 -42
- package/src/ts/Triangle.ts +0 -40
- package/src/ts/VEllipse.ts +0 -24
- package/src/ts/Vector.ts +0 -40
- package/src/ts/Vertex.ts +0 -28
- package/src/ts/draw.ts +192 -3
- package/src/ts/drawgl.ts +44 -2
- package/src/ts/drawutilssvg.ts +181 -15
- package/src/ts/index.ts +0 -1
- package/src/ts/interfaces/DrawLib.ts +69 -26
- package/src/ts/interfaces/core.ts +0 -11
- package/src/ts/module.ts +2 -4
- package/src/ts/utils/datastructures/Girih.ts +204 -209
- package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
- package/src/ts/utils/datastructures/GirihTile.ts +394 -419
- package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +9 -18
- 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
|
-
* @
|
|
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.
|
|
281
|
-
this.pb.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
512
|
-
|
|
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
|
|
package/src/ts/SVGBuilder.ts
DELETED
|
@@ -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
|
-
}
|