plotboilerplate 1.15.0 → 1.17.1
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 +65 -0
- package/dist/index.esm.js +760 -667
- 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 +765 -571
- package/dist/plotboilerplate.min.js +1 -1
- package/package.json +1 -1
- package/src/cjs/BezierPath.d.ts +32 -14
- package/src/cjs/BezierPath.js +65 -24
- package/src/cjs/BezierPath.js.map +1 -1
- package/src/cjs/Bounds.d.ts +33 -1
- package/src/cjs/Bounds.js +38 -1
- package/src/cjs/Bounds.js.map +1 -1
- package/src/cjs/Circle.d.ts +15 -13
- package/src/cjs/Circle.js +16 -34
- package/src/cjs/Circle.js.map +1 -1
- package/src/cjs/CircleSector.d.ts +17 -16
- package/src/cjs/CircleSector.js +12 -24
- package/src/cjs/CircleSector.js.map +1 -1
- package/src/cjs/CubicBezierCurve.d.ts +16 -15
- package/src/cjs/CubicBezierCurve.js +57 -94
- package/src/cjs/CubicBezierCurve.js.map +1 -1
- package/src/cjs/KeyHandler.d.ts +10 -3
- package/src/cjs/KeyHandler.js +28 -23
- package/src/cjs/KeyHandler.js.map +1 -1
- package/src/cjs/Line.d.ts +2 -15
- package/src/cjs/Line.js +6 -31
- package/src/cjs/Line.js.map +1 -1
- package/src/cjs/MouseHandler.js +43 -53
- package/src/cjs/MouseHandler.js.map +1 -1
- package/src/cjs/PBImage.d.ts +15 -13
- package/src/cjs/PBImage.js +11 -15
- package/src/cjs/PBImage.js.map +1 -1
- package/src/cjs/PBText.d.ts +13 -12
- package/src/cjs/PBText.js +8 -12
- package/src/cjs/PBText.js.map +1 -1
- package/src/cjs/PlotBoilerplate.d.ts +3 -1
- package/src/cjs/PlotBoilerplate.js +9 -2
- package/src/cjs/PlotBoilerplate.js.map +1 -1
- package/src/cjs/Polygon.d.ts +23 -14
- package/src/cjs/Polygon.js +22 -35
- package/src/cjs/Polygon.js.map +1 -1
- package/src/cjs/Triangle.d.ts +15 -13
- package/src/cjs/Triangle.js +23 -64
- package/src/cjs/Triangle.js.map +1 -1
- package/src/cjs/VEllipse.d.ts +14 -9
- package/src/cjs/VEllipse.js +10 -18
- package/src/cjs/VEllipse.js.map +1 -1
- package/src/cjs/VEllipseSector.d.ts +15 -1
- package/src/cjs/VEllipseSector.js +11 -1
- package/src/cjs/VEllipseSector.js.map +1 -1
- package/src/cjs/Vector.d.ts +3 -15
- package/src/cjs/Vector.js +9 -49
- package/src/cjs/Vector.js.map +1 -1
- package/src/cjs/VertTuple.d.ts +15 -1
- package/src/cjs/VertTuple.js +14 -19
- package/src/cjs/VertTuple.js.map +1 -1
- package/src/cjs/Vertex.d.ts +23 -13
- package/src/cjs/Vertex.js +24 -22
- package/src/cjs/Vertex.js.map +1 -1
- package/src/cjs/VertexListeners.d.ts +12 -8
- package/src/cjs/VertexListeners.js +18 -25
- package/src/cjs/VertexListeners.js.map +1 -1
- package/src/cjs/draw.d.ts +45 -3
- package/src/cjs/draw.js +149 -6
- package/src/cjs/draw.js.map +1 -1
- package/src/cjs/drawgl.d.ts +41 -3
- package/src/cjs/drawgl.js +45 -3
- package/src/cjs/drawgl.js.map +1 -1
- package/src/cjs/drawutilssvg.d.ts +69 -4
- package/src/cjs/drawutilssvg.js +147 -16
- 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 +64 -27
- package/src/cjs/interfaces/DrawLib.js +3 -0
- package/src/cjs/interfaces/DrawLib.js.map +1 -1
- package/src/cjs/interfaces/core.d.ts +2 -12
- package/src/cjs/interfaces/core.js +1 -0
- package/src/cjs/interfaces/core.js.map +1 -1
- 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/Color.d.ts +3 -1
- package/src/cjs/utils/datastructures/Color.js +17 -6
- package/src/cjs/utils/datastructures/Color.js.map +1 -1
- 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 +17 -1
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
- package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
- package/src/cjs/utils/io/DndFileHandler.js +112 -0
- package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
- package/src/cjs/utils/io/FileDrop.d.ts +98 -0
- package/src/cjs/utils/io/FileDrop.js +142 -0
- package/src/cjs/utils/io/FileDrop.js.map +1 -0
- package/src/esm/BezierPath.d.ts +32 -14
- package/src/esm/BezierPath.js +65 -24
- package/src/esm/BezierPath.js.map +1 -1
- package/src/esm/Bounds.d.ts +33 -1
- package/src/esm/Bounds.js +38 -1
- package/src/esm/Bounds.js.map +1 -1
- package/src/esm/Circle.d.ts +15 -13
- package/src/esm/Circle.js +16 -34
- package/src/esm/Circle.js.map +1 -1
- package/src/esm/CircleSector.d.ts +17 -16
- package/src/esm/CircleSector.js +12 -24
- package/src/esm/CircleSector.js.map +1 -1
- package/src/esm/CubicBezierCurve.d.ts +16 -15
- package/src/esm/CubicBezierCurve.js +57 -94
- package/src/esm/CubicBezierCurve.js.map +1 -1
- package/src/esm/KeyHandler.d.ts +10 -3
- package/src/esm/KeyHandler.js +28 -23
- package/src/esm/KeyHandler.js.map +1 -1
- package/src/esm/Line.d.ts +2 -15
- package/src/esm/Line.js +6 -31
- package/src/esm/Line.js.map +1 -1
- package/src/esm/MouseHandler.js +43 -53
- package/src/esm/MouseHandler.js.map +1 -1
- package/src/esm/PBImage.d.ts +15 -13
- package/src/esm/PBImage.js +11 -15
- package/src/esm/PBImage.js.map +1 -1
- package/src/esm/PBText.d.ts +13 -12
- package/src/esm/PBText.js +8 -12
- package/src/esm/PBText.js.map +1 -1
- package/src/esm/PlotBoilerplate.d.ts +3 -1
- package/src/esm/PlotBoilerplate.js +9 -2
- package/src/esm/PlotBoilerplate.js.map +1 -1
- package/src/esm/Polygon.d.ts +23 -14
- package/src/esm/Polygon.js +22 -35
- package/src/esm/Polygon.js.map +1 -1
- package/src/esm/Triangle.d.ts +15 -13
- package/src/esm/Triangle.js +23 -64
- package/src/esm/Triangle.js.map +1 -1
- package/src/esm/VEllipse.d.ts +14 -9
- package/src/esm/VEllipse.js +10 -18
- package/src/esm/VEllipse.js.map +1 -1
- package/src/esm/VEllipseSector.d.ts +15 -1
- package/src/esm/VEllipseSector.js +11 -1
- package/src/esm/VEllipseSector.js.map +1 -1
- package/src/esm/Vector.d.ts +3 -15
- package/src/esm/Vector.js +9 -49
- package/src/esm/Vector.js.map +1 -1
- package/src/esm/VertTuple.d.ts +15 -1
- package/src/esm/VertTuple.js +14 -19
- package/src/esm/VertTuple.js.map +1 -1
- package/src/esm/Vertex.d.ts +23 -13
- package/src/esm/Vertex.js +24 -22
- package/src/esm/Vertex.js.map +1 -1
- package/src/esm/VertexListeners.d.ts +12 -8
- package/src/esm/VertexListeners.js +18 -25
- package/src/esm/VertexListeners.js.map +1 -1
- package/src/esm/draw.d.ts +45 -3
- package/src/esm/draw.js +147 -6
- package/src/esm/draw.js.map +1 -1
- package/src/esm/drawgl.d.ts +41 -3
- package/src/esm/drawgl.js +44 -3
- package/src/esm/drawgl.js.map +1 -1
- package/src/esm/drawutilssvg.d.ts +69 -4
- package/src/esm/drawutilssvg.js +146 -16
- 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 +64 -27
- package/src/esm/interfaces/DrawLib.js +3 -0
- package/src/esm/interfaces/DrawLib.js.map +1 -1
- package/src/esm/interfaces/core.d.ts +2 -12
- package/src/esm/interfaces/core.js +1 -0
- package/src/esm/interfaces/core.js.map +1 -1
- 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/Color.d.ts +3 -1
- package/src/esm/utils/datastructures/Color.js +17 -6
- package/src/esm/utils/datastructures/Color.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 +17 -1
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
- package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
- package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
- package/src/esm/utils/io/DndFileHandler.js +106 -0
- package/src/esm/utils/io/DndFileHandler.js.map +1 -0
- package/src/esm/utils/io/FileDrop.d.ts +98 -0
- package/src/esm/utils/io/FileDrop.js +136 -0
- package/src/esm/utils/io/FileDrop.js.map +1 -0
- package/src/ts/BezierPath.ts +78 -22
- package/src/ts/Bounds.ts +40 -1
- package/src/ts/Circle.ts +187 -200
- package/src/ts/CircleSector.ts +141 -141
- package/src/ts/CubicBezierCurve.ts +738 -810
- package/src/ts/KeyHandler.ts +221 -212
- package/src/ts/Line.ts +48 -80
- package/src/ts/MouseHandler.ts +356 -368
- package/src/ts/PBImage.ts +67 -69
- package/src/ts/PBText.ts +16 -14
- package/src/ts/PlotBoilerplate.ts +9 -2
- package/src/ts/Polygon.ts +34 -34
- package/src/ts/Triangle.ts +444 -489
- package/src/ts/VEllipse.ts +18 -17
- package/src/ts/VEllipseSector.ts +20 -1
- package/src/ts/Vector.ts +124 -160
- package/src/ts/VertTuple.ts +333 -338
- package/src/ts/Vertex.ts +35 -21
- package/src/ts/VertexListeners.ts +248 -266
- package/src/ts/draw.ts +201 -6
- package/src/ts/drawgl.ts +47 -3
- package/src/ts/drawutilssvg.ts +187 -16
- package/src/ts/index.ts +0 -1
- package/src/ts/interfaces/DrawLib.ts +72 -27
- package/src/ts/interfaces/core.ts +3 -13
- package/src/ts/module.ts +2 -4
- package/src/ts/utils/datastructures/Color.ts +17 -6
- 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 +56 -34
- package/src/ts/utils/io/FileDrop.ts +178 -0
- package/src/ts/SVGBuilder.ts +0 -109
package/src/esm/KeyHandler.js
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* @modified 2020-07-28 Changed the `delete` key code from 8 to 46.
|
|
6
6
|
* @modified 2020-10-04 Changed `window` to `globalThis`.
|
|
7
7
|
* @modified 2020-10-04 Added extended JSDoc.
|
|
8
|
-
* @
|
|
8
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
9
|
+
* @version 1.1.0
|
|
9
10
|
*
|
|
10
11
|
* @file KeyHandler
|
|
11
12
|
* @public
|
|
@@ -36,7 +37,7 @@ export class KeyHandler {
|
|
|
36
37
|
* @memberof KeyHandler
|
|
37
38
|
* @param {HTMLElement} options.element (optional) The HTML element to listen on; if null then 'window' will be used.
|
|
38
39
|
* @param {boolean} options.trackAll (optional) Set to true if you want to keep track of _all_ keys (keyStatus).
|
|
39
|
-
|
|
40
|
+
**/
|
|
40
41
|
constructor(options) {
|
|
41
42
|
this.downListeners = [];
|
|
42
43
|
this.pressListeners = [];
|
|
@@ -55,7 +56,6 @@ export class KeyHandler {
|
|
|
55
56
|
// Install the listeners
|
|
56
57
|
this.installListeners();
|
|
57
58
|
}
|
|
58
|
-
;
|
|
59
59
|
/**
|
|
60
60
|
* A helper function to fire key events from this KeyHandler.
|
|
61
61
|
*
|
|
@@ -73,7 +73,6 @@ export class KeyHandler {
|
|
|
73
73
|
}
|
|
74
74
|
return hasListener;
|
|
75
75
|
}
|
|
76
|
-
;
|
|
77
76
|
/**
|
|
78
77
|
* Internal function to fire a new keydown event to all listeners.
|
|
79
78
|
* You should not call this function on your own unless you know what you do.
|
|
@@ -89,10 +88,9 @@ export class KeyHandler {
|
|
|
89
88
|
fireDownEvent(e, handler) {
|
|
90
89
|
if (handler.fireEvent(e, handler.downListeners) || handler.trackAllKeys) {
|
|
91
90
|
// Down event has listeners. Update key state.
|
|
92
|
-
handler.keyStates[e.keyCode] =
|
|
91
|
+
handler.keyStates[e.keyCode] = "down";
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
|
-
;
|
|
96
94
|
/**
|
|
97
95
|
* Internal function to fire a new keypress event to all listeners.
|
|
98
96
|
* You should not call this function on your own unless you know what you do.
|
|
@@ -108,7 +106,6 @@ export class KeyHandler {
|
|
|
108
106
|
firePressEvent(e, handler) {
|
|
109
107
|
handler.fireEvent(e, handler.pressListeners);
|
|
110
108
|
}
|
|
111
|
-
;
|
|
112
109
|
/**
|
|
113
110
|
* Internal function to fire a new keyup event to all listeners.
|
|
114
111
|
* You should not call this function on your own unless you know what you do.
|
|
@@ -127,20 +124,18 @@ export class KeyHandler {
|
|
|
127
124
|
delete handler.keyStates[e.keyCode];
|
|
128
125
|
}
|
|
129
126
|
}
|
|
130
|
-
;
|
|
131
127
|
/**
|
|
132
128
|
* Resolve the key/name code.
|
|
133
129
|
*/
|
|
134
130
|
static key2code(key) {
|
|
135
|
-
if (typeof key ==
|
|
131
|
+
if (typeof key == "number")
|
|
136
132
|
return key;
|
|
137
|
-
if (typeof key !=
|
|
133
|
+
if (typeof key != "string")
|
|
138
134
|
throw "Unknown key name or key type (should be a string or integer): " + key;
|
|
139
135
|
if (KeyHandler.KEY_CODES[key])
|
|
140
136
|
return KeyHandler.KEY_CODES[key];
|
|
141
137
|
throw "Unknown key (cannot resolve key code): " + key;
|
|
142
138
|
}
|
|
143
|
-
;
|
|
144
139
|
/**
|
|
145
140
|
* Install the required listeners into the initially passed element.
|
|
146
141
|
*
|
|
@@ -149,20 +144,24 @@ export class KeyHandler {
|
|
|
149
144
|
*/
|
|
150
145
|
installListeners() {
|
|
151
146
|
var _self = this;
|
|
152
|
-
this.element.addEventListener(
|
|
153
|
-
|
|
154
|
-
|
|
147
|
+
this.element.addEventListener("keydown", (this._keyDownListener = (e) => {
|
|
148
|
+
_self.fireDownEvent(e, _self);
|
|
149
|
+
}));
|
|
150
|
+
this.element.addEventListener("keypress", (this._keyPressListener = (e) => {
|
|
151
|
+
_self.firePressEvent(e, _self);
|
|
152
|
+
}));
|
|
153
|
+
this.element.addEventListener("keyup", (this._keyUpListener = (e) => {
|
|
154
|
+
_self.fireUpEvent(e, _self);
|
|
155
|
+
}));
|
|
155
156
|
}
|
|
156
|
-
;
|
|
157
157
|
/**
|
|
158
158
|
* Remove all installed event listeners from the underlying element.
|
|
159
159
|
*/
|
|
160
160
|
releaseListeners() {
|
|
161
|
-
this.element.removeEventListener(
|
|
162
|
-
this.element.removeEventListener(
|
|
163
|
-
this.element.removeEventListener(
|
|
161
|
+
this.element.removeEventListener("keydown", this._keyDownListener);
|
|
162
|
+
this.element.removeEventListener("keypress", this._keyPressListener);
|
|
163
|
+
this.element.removeEventListener("keyup", this._keyUpListener);
|
|
164
164
|
}
|
|
165
|
-
;
|
|
166
165
|
/**
|
|
167
166
|
* Listen for key down. This function allows chaining.
|
|
168
167
|
*
|
|
@@ -179,7 +178,6 @@ export class KeyHandler {
|
|
|
179
178
|
this.downListeners.push({ key: key, keyCode: KeyHandler.key2code(key), listener: listener });
|
|
180
179
|
return this;
|
|
181
180
|
}
|
|
182
|
-
;
|
|
183
181
|
/**
|
|
184
182
|
* Listen for key press.
|
|
185
183
|
*
|
|
@@ -196,7 +194,6 @@ export class KeyHandler {
|
|
|
196
194
|
this.pressListeners.push({ key: key, keyCode: KeyHandler.key2code(key), listener: listener });
|
|
197
195
|
return this;
|
|
198
196
|
}
|
|
199
|
-
;
|
|
200
197
|
/**
|
|
201
198
|
* Listen for key up.
|
|
202
199
|
*
|
|
@@ -213,23 +210,31 @@ export class KeyHandler {
|
|
|
213
210
|
this.upListeners.push({ key: key, keyCode: KeyHandler.key2code(key), listener: listener });
|
|
214
211
|
return this;
|
|
215
212
|
}
|
|
216
|
-
;
|
|
217
213
|
/**
|
|
218
214
|
* Check if a specific key is currently held pressed.
|
|
219
215
|
*
|
|
220
216
|
* @param {string|number} key - Any key identifier, key code or one from the KEY_CODES list.
|
|
221
217
|
*/
|
|
222
218
|
isDown(key) {
|
|
223
|
-
if (typeof key ==
|
|
219
|
+
if (typeof key == "number")
|
|
224
220
|
return this.keyStates[key] ? true : false;
|
|
225
221
|
else
|
|
226
222
|
return this.keyStates[KeyHandler.key2code(key)] ? true : false;
|
|
227
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
226
|
+
* After calling this function the object might not hold valid data any more and
|
|
227
|
+
* should not be used any more.
|
|
228
|
+
*/
|
|
229
|
+
destroy() {
|
|
230
|
+
this.releaseListeners();
|
|
231
|
+
}
|
|
228
232
|
}
|
|
229
233
|
/**
|
|
230
234
|
* Source:
|
|
231
235
|
* https://keycode.info/
|
|
232
236
|
*/
|
|
237
|
+
// prettier-ignore
|
|
233
238
|
KeyHandler.KEY_CODES = {
|
|
234
239
|
'break': 3,
|
|
235
240
|
'backspace': 8,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyHandler.js","sourceRoot":"","sources":["../ts/KeyHandler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"KeyHandler.js","sourceRoot":"","sources":["../ts/KeyHandler.ts"],"names":[],"mappings":"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"}
|
package/src/esm/Line.d.ts
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* @modified 2020-03-16 The Line.angle(Line) parameter is now optional. The baseline (x-axis) will be used if not defined.
|
|
13
13
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
14
14
|
* @modified 2020-12-04 The `intersection` function returns undefined if both lines are parallel.
|
|
15
|
-
* @
|
|
15
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
16
|
+
* @version 2.2.0
|
|
16
17
|
*
|
|
17
18
|
* @file Line
|
|
18
19
|
* @public
|
|
@@ -52,18 +53,4 @@ export declare class Line extends VertTuple<Line> implements SVGSerializable {
|
|
|
52
53
|
* @memberof Line
|
|
53
54
|
**/
|
|
54
55
|
intersection(line: Line): Vertex | undefined;
|
|
55
|
-
/**
|
|
56
|
-
* Create an SVG representation of this line.
|
|
57
|
-
*
|
|
58
|
-
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
59
|
-
* @method toSVGString
|
|
60
|
-
* @param {options} p - A set of options, like the 'classname' to use
|
|
61
|
-
* for the line object.
|
|
62
|
-
* @return {string} The SVG string representing this line.
|
|
63
|
-
* @instance
|
|
64
|
-
* @memberof Line
|
|
65
|
-
**/
|
|
66
|
-
toSVGString(options: {
|
|
67
|
-
className?: string;
|
|
68
|
-
}): string;
|
|
69
56
|
}
|
package/src/esm/Line.js
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* @modified 2020-03-16 The Line.angle(Line) parameter is now optional. The baseline (x-axis) will be used if not defined.
|
|
13
13
|
* @modified 2020-03-23 Ported to Typescript from JS.
|
|
14
14
|
* @modified 2020-12-04 The `intersection` function returns undefined if both lines are parallel.
|
|
15
|
-
* @
|
|
15
|
+
* @modified 2022-02-02 Added the `destroy` method.
|
|
16
|
+
* @version 2.2.0
|
|
16
17
|
*
|
|
17
18
|
* @file Line
|
|
18
19
|
* @public
|
|
@@ -59,44 +60,18 @@ export class Line extends VertTuple {
|
|
|
59
60
|
return null;
|
|
60
61
|
let a = this.a.y - line.a.y;
|
|
61
62
|
let b = this.a.x - line.a.x;
|
|
62
|
-
const numerator1 = (
|
|
63
|
-
const numerator2 = (
|
|
63
|
+
const numerator1 = (line.b.x - line.a.x) * a - (line.b.y - line.a.y) * b;
|
|
64
|
+
const numerator2 = (this.b.x - this.a.x) * a - (this.b.y - this.a.y) * b;
|
|
64
65
|
a = numerator1 / denominator; // NaN if parallel lines
|
|
65
66
|
b = numerator2 / denominator;
|
|
66
67
|
// Catch NaN?
|
|
67
|
-
const x = this.a.x +
|
|
68
|
-
const y = this.a.y +
|
|
68
|
+
const x = this.a.x + a * (this.b.x - this.a.x);
|
|
69
|
+
const y = this.a.y + a * (this.b.y - this.a.y);
|
|
69
70
|
if (isNaN(a) || isNaN(x) || isNaN(y)) {
|
|
70
71
|
return undefined;
|
|
71
72
|
}
|
|
72
73
|
// if we cast these lines infinitely in both directions, they intersect here:
|
|
73
74
|
return new Vertex(x, y);
|
|
74
75
|
}
|
|
75
|
-
;
|
|
76
|
-
/**
|
|
77
|
-
* Create an SVG representation of this line.
|
|
78
|
-
*
|
|
79
|
-
* @deprecated DEPRECATION Please use the drawutilssvg library and an XMLSerializer instead.
|
|
80
|
-
* @method toSVGString
|
|
81
|
-
* @param {options} p - A set of options, like the 'classname' to use
|
|
82
|
-
* for the line object.
|
|
83
|
-
* @return {string} The SVG string representing this line.
|
|
84
|
-
* @instance
|
|
85
|
-
* @memberof Line
|
|
86
|
-
**/
|
|
87
|
-
toSVGString(options) {
|
|
88
|
-
options = options || {};
|
|
89
|
-
var buffer = [];
|
|
90
|
-
buffer.push('<line');
|
|
91
|
-
if (options.className)
|
|
92
|
-
buffer.push(' class="' + options.className + '"');
|
|
93
|
-
buffer.push(' x1="' + this.a.x + '"');
|
|
94
|
-
buffer.push(' y1="' + this.a.y + '"');
|
|
95
|
-
buffer.push(' x2="' + this.b.x + '"');
|
|
96
|
-
buffer.push(' y2="' + this.b.y + '"');
|
|
97
|
-
buffer.push(' />');
|
|
98
|
-
return buffer.join('');
|
|
99
|
-
}
|
|
100
|
-
;
|
|
101
76
|
}
|
|
102
77
|
//# sourceMappingURL=Line.js.map
|
package/src/esm/Line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"Line.js","sourceRoot":"","sources":["../ts/Line.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;IAmBI;AAEJ,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;;GAOG;AACH,MAAM,OAAO,IAAK,SAAQ,SAAe;IAMvC;;;;;;;QAOI;IACJ,YAAY,CAAS,EAAE,CAAS;QAC9B,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAdxD;;YAEI;QACK,cAAS,GAAW,MAAM,CAAC;IAYpC,CAAC;IAED;;;;;;;;QAQI;IACJ,+BAA+B;IAC/B,YAAY,CAAC,IAAU;QACrB,MAAM,WAAW,GAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,WAAW,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAElC,IAAI,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,UAAU,GAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,MAAM,UAAU,GAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjF,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC,wBAAwB;QACtD,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;QAE7B,aAAa;QACb,MAAM,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACpC,OAAO,SAAS,CAAC;SAClB;QAED,6EAA6E;QAC7E,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF"}
|
package/src/esm/MouseHandler.js
CHANGED
|
@@ -121,41 +121,41 @@ export class MouseHandler {
|
|
|
121
121
|
// | drag offset, ...) to the callbacks.
|
|
122
122
|
// +-------------------------------------------------
|
|
123
123
|
const _self = this;
|
|
124
|
-
this.handlers[
|
|
124
|
+
this.handlers["mousemove"] = (e) => {
|
|
125
125
|
if (_self.listeners.mousemove)
|
|
126
|
-
_self.listeners.mousemove(_self.mkParams(e,
|
|
126
|
+
_self.listeners.mousemove(_self.mkParams(e, "mousemove"));
|
|
127
127
|
if (_self.mouseDragPos && _self.listeners.drag)
|
|
128
|
-
_self.listeners.drag(_self.mkParams(e,
|
|
128
|
+
_self.listeners.drag(_self.mkParams(e, "drag"));
|
|
129
129
|
if (_self.mouseDownPos)
|
|
130
130
|
_self.mouseDragPos = _self.relPos(e);
|
|
131
131
|
};
|
|
132
|
-
this.handlers[
|
|
132
|
+
this.handlers["mouseup"] = (e) => {
|
|
133
133
|
if (_self.listeners.mouseup)
|
|
134
|
-
_self.listeners.mouseup(_self.mkParams(e,
|
|
134
|
+
_self.listeners.mouseup(_self.mkParams(e, "mouseup"));
|
|
135
135
|
_self.mouseDragPos = undefined;
|
|
136
136
|
_self.mouseDownPos = undefined;
|
|
137
137
|
_self.mouseButton = -1;
|
|
138
138
|
};
|
|
139
|
-
this.handlers[
|
|
139
|
+
this.handlers["mousedown"] = (e) => {
|
|
140
140
|
_self.mouseDragPos = _self.relPos(e);
|
|
141
141
|
_self.mouseDownPos = _self.relPos(e);
|
|
142
142
|
_self.mouseButton = e.button;
|
|
143
143
|
if (_self.listeners.mousedown)
|
|
144
|
-
_self.listeners.mousedown(_self.mkParams(e,
|
|
144
|
+
_self.listeners.mousedown(_self.mkParams(e, "mousedown"));
|
|
145
145
|
};
|
|
146
|
-
this.handlers[
|
|
146
|
+
this.handlers["click"] = (e) => {
|
|
147
147
|
if (_self.listeners.click)
|
|
148
|
-
_self.listeners.click(_self.mkParams(e,
|
|
148
|
+
_self.listeners.click(_self.mkParams(e, "click"));
|
|
149
149
|
};
|
|
150
|
-
this.handlers[
|
|
150
|
+
this.handlers["wheel"] = (e) => {
|
|
151
151
|
if (_self.listeners.wheel)
|
|
152
|
-
_self.listeners.wheel(_self.mkParams(e,
|
|
152
|
+
_self.listeners.wheel(_self.mkParams(e, "wheel"));
|
|
153
153
|
};
|
|
154
|
-
this.element.addEventListener(
|
|
155
|
-
this.element.addEventListener(
|
|
156
|
-
this.element.addEventListener(
|
|
157
|
-
this.element.addEventListener(
|
|
158
|
-
this.element.addEventListener(
|
|
154
|
+
this.element.addEventListener("mousemove", this.handlers["mousemove"]);
|
|
155
|
+
this.element.addEventListener("mouseup", this.handlers["mouseup"]);
|
|
156
|
+
this.element.addEventListener("mousedown", this.handlers["mousedown"]);
|
|
157
|
+
this.element.addEventListener("click", this.handlers["click"]);
|
|
158
|
+
this.element.addEventListener("wheel", this.handlers["wheel"]);
|
|
159
159
|
}
|
|
160
160
|
/**
|
|
161
161
|
* Get relative position from the given MouseEvent.
|
|
@@ -168,11 +168,8 @@ export class MouseHandler {
|
|
|
168
168
|
* @return {XYCoords} The relative mouse coordinates.
|
|
169
169
|
*/
|
|
170
170
|
relPos(e) {
|
|
171
|
-
return { x: e.offsetX,
|
|
172
|
-
y: e.offsetY
|
|
173
|
-
};
|
|
171
|
+
return { x: e.offsetX, y: e.offsetY };
|
|
174
172
|
}
|
|
175
|
-
;
|
|
176
173
|
/**
|
|
177
174
|
* Build the extended event params.
|
|
178
175
|
*
|
|
@@ -198,8 +195,8 @@ export class MouseHandler {
|
|
|
198
195
|
rightButton: this.mouseButton == 2,
|
|
199
196
|
mouseDownPos: this.mouseDownPos,
|
|
200
197
|
draggedFrom: this.mouseDragPos,
|
|
201
|
-
wasDragged:
|
|
202
|
-
dragAmount:
|
|
198
|
+
wasDragged: this.mouseDownPos != null && (this.mouseDownPos.x != rel.x || this.mouseDownPos.y != rel.y),
|
|
199
|
+
dragAmount: this.mouseDownPos != null ? { x: rel.x - this.mouseDragPos.x, y: rel.y - this.mouseDragPos.y } : { x: 0, y: 0 }
|
|
203
200
|
};
|
|
204
201
|
return xEvent;
|
|
205
202
|
}
|
|
@@ -250,14 +247,13 @@ export class MouseHandler {
|
|
|
250
247
|
*/
|
|
251
248
|
drag(callback) {
|
|
252
249
|
if (this.listeners.drag)
|
|
253
|
-
this.throwAlreadyInstalled(
|
|
250
|
+
this.throwAlreadyInstalled("drag");
|
|
254
251
|
this.listeners.drag = callback;
|
|
255
|
-
this.listenFor(
|
|
256
|
-
this.listenFor(
|
|
257
|
-
this.listenFor(
|
|
252
|
+
this.listenFor("mousedown");
|
|
253
|
+
this.listenFor("mousemove");
|
|
254
|
+
this.listenFor("mouseup");
|
|
258
255
|
return this;
|
|
259
256
|
}
|
|
260
|
-
;
|
|
261
257
|
/**
|
|
262
258
|
* Installer function to listen for a specific event: mouse-move.
|
|
263
259
|
* Pass your callbacks here.
|
|
@@ -272,12 +268,11 @@ export class MouseHandler {
|
|
|
272
268
|
*/
|
|
273
269
|
move(callback) {
|
|
274
270
|
if (this.listeners.mousemove)
|
|
275
|
-
this.throwAlreadyInstalled(
|
|
276
|
-
this.listenFor(
|
|
271
|
+
this.throwAlreadyInstalled("mousemove");
|
|
272
|
+
this.listenFor("mousemove");
|
|
277
273
|
this.listeners.mousemove = callback;
|
|
278
274
|
return this;
|
|
279
275
|
}
|
|
280
|
-
;
|
|
281
276
|
/**
|
|
282
277
|
* Installer function to listen for a specific event: mouse-up.
|
|
283
278
|
* Pass your callbacks here.
|
|
@@ -292,12 +287,11 @@ export class MouseHandler {
|
|
|
292
287
|
*/
|
|
293
288
|
up(callback) {
|
|
294
289
|
if (this.listeners.mouseup)
|
|
295
|
-
this.throwAlreadyInstalled(
|
|
296
|
-
this.listenFor(
|
|
290
|
+
this.throwAlreadyInstalled("mouseup");
|
|
291
|
+
this.listenFor("mouseup");
|
|
297
292
|
this.listeners.mouseup = callback;
|
|
298
293
|
return this;
|
|
299
294
|
}
|
|
300
|
-
;
|
|
301
295
|
/**
|
|
302
296
|
* Installer function to listen for a specific event: mouse-down.
|
|
303
297
|
* Pass your callbacks here.
|
|
@@ -312,12 +306,11 @@ export class MouseHandler {
|
|
|
312
306
|
*/
|
|
313
307
|
down(callback) {
|
|
314
308
|
if (this.listeners.mousedown)
|
|
315
|
-
this.throwAlreadyInstalled(
|
|
316
|
-
this.listenFor(
|
|
309
|
+
this.throwAlreadyInstalled("mousedown");
|
|
310
|
+
this.listenFor("mousedown");
|
|
317
311
|
this.listeners.mousedown = callback;
|
|
318
312
|
return this;
|
|
319
313
|
}
|
|
320
|
-
;
|
|
321
314
|
/**
|
|
322
315
|
* Installer function to listen for a specific event: mouse-click.
|
|
323
316
|
* Pass your callbacks here.
|
|
@@ -332,12 +325,11 @@ export class MouseHandler {
|
|
|
332
325
|
*/
|
|
333
326
|
click(callback) {
|
|
334
327
|
if (this.listeners.click)
|
|
335
|
-
this.throwAlreadyInstalled(
|
|
336
|
-
this.listenFor(
|
|
328
|
+
this.throwAlreadyInstalled("click");
|
|
329
|
+
this.listenFor("click");
|
|
337
330
|
this.listeners.click = callback;
|
|
338
331
|
return this;
|
|
339
332
|
}
|
|
340
|
-
;
|
|
341
333
|
/**
|
|
342
334
|
* Installer function to listen for a specific event: mouse-wheel.
|
|
343
335
|
* Pass your callbacks here.
|
|
@@ -352,12 +344,11 @@ export class MouseHandler {
|
|
|
352
344
|
*/
|
|
353
345
|
wheel(callback) {
|
|
354
346
|
if (this.listeners.wheel)
|
|
355
|
-
this.throwAlreadyInstalled(
|
|
356
|
-
this.listenFor(
|
|
347
|
+
this.throwAlreadyInstalled("wheel");
|
|
348
|
+
this.listenFor("wheel");
|
|
357
349
|
this.listeners.wheel = callback;
|
|
358
350
|
return this;
|
|
359
351
|
}
|
|
360
|
-
;
|
|
361
352
|
/**
|
|
362
353
|
* An internal function to throw events.
|
|
363
354
|
*
|
|
@@ -371,7 +362,6 @@ export class MouseHandler {
|
|
|
371
362
|
throwAlreadyInstalled(name) {
|
|
372
363
|
throw `This MouseHandler already has a '${name}' callback. To keep the code simple there is only room for one.`;
|
|
373
364
|
}
|
|
374
|
-
;
|
|
375
365
|
/**
|
|
376
366
|
* Call this when your work is done.
|
|
377
367
|
*
|
|
@@ -384,16 +374,16 @@ export class MouseHandler {
|
|
|
384
374
|
* @return {void}
|
|
385
375
|
*/
|
|
386
376
|
destroy() {
|
|
387
|
-
this.unlistenFor(
|
|
388
|
-
this.unlistenFor(
|
|
389
|
-
this.unlistenFor(
|
|
390
|
-
this.unlistenFor(
|
|
391
|
-
this.unlistenFor(
|
|
392
|
-
this.element.removeEventListener(
|
|
393
|
-
this.element.removeEventListener(
|
|
394
|
-
this.element.removeEventListener(
|
|
395
|
-
this.element.removeEventListener(
|
|
396
|
-
this.element.removeEventListener(
|
|
377
|
+
this.unlistenFor("mousedown");
|
|
378
|
+
this.unlistenFor("mousemove");
|
|
379
|
+
this.unlistenFor("moseup");
|
|
380
|
+
this.unlistenFor("click");
|
|
381
|
+
this.unlistenFor("wheel");
|
|
382
|
+
this.element.removeEventListener("mousemove", this.handlers["mousemove"]);
|
|
383
|
+
this.element.removeEventListener("mouseup", this.handlers["mousedown"]);
|
|
384
|
+
this.element.removeEventListener("mousedown", this.handlers["mousedown"]);
|
|
385
|
+
this.element.removeEventListener("click", this.handlers["click"]);
|
|
386
|
+
this.element.removeEventListener("wheel", this.handlers["wheel"]);
|
|
397
387
|
}
|
|
398
388
|
}
|
|
399
389
|
//# sourceMappingURL=MouseHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MouseHandler.js","sourceRoot":"","sources":["../ts/MouseHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;IAuBI;
|
|
1
|
+
{"version":3,"file":"MouseHandler.js","sourceRoot":"","sources":["../ts/MouseHandler.ts"],"names":[],"mappings":"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"}
|
package/src/esm/PBImage.d.ts
CHANGED
|
@@ -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
|
-
* @
|
|
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
|
*
|
|
@@ -64,16 +73,9 @@ export declare class PBImage implements SVGSerializable {
|
|
|
64
73
|
**/
|
|
65
74
|
constructor(image: HTMLImageElement, upperLeft: Vertex, lowerRight: Vertex);
|
|
66
75
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
* @return {string} A string representing the SVG code for this vertex.
|
|
73
|
-
* @instance
|
|
74
|
-
* @memberof PBImage
|
|
75
|
-
**/
|
|
76
|
-
toSVGString(options: {
|
|
77
|
-
className?: string;
|
|
78
|
-
}): string;
|
|
76
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
77
|
+
* After calling this function the object might not hold valid data any more and
|
|
78
|
+
* should not be used.
|
|
79
|
+
*/
|
|
80
|
+
destroy(): void;
|
|
79
81
|
}
|
package/src/esm/PBImage.js
CHANGED
|
@@ -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
|
-
* @
|
|
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
|
|
@@ -40,21 +42,15 @@ export class PBImage {
|
|
|
40
42
|
this.upperLeft = upperLeft;
|
|
41
43
|
this.lowerRight = lowerRight;
|
|
42
44
|
}
|
|
43
|
-
;
|
|
44
45
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
**/
|
|
54
|
-
toSVGString(options) {
|
|
55
|
-
console.warn("PBImage is not yet SVG serializable. Returning empty SVG string.");
|
|
56
|
-
return "";
|
|
46
|
+
* This function should invalidate any installed listeners and invalidate this object.
|
|
47
|
+
* After calling this function the object might not hold valid data any more and
|
|
48
|
+
* should not be used.
|
|
49
|
+
*/
|
|
50
|
+
destroy() {
|
|
51
|
+
this.upperLeft.destroy();
|
|
52
|
+
this.lowerRight.destroy();
|
|
53
|
+
this.isDestroyed = true;
|
|
57
54
|
}
|
|
58
|
-
;
|
|
59
55
|
}
|
|
60
56
|
//# sourceMappingURL=PBImage.js.map
|