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/drawgl.d.ts
CHANGED
|
@@ -6,11 +6,16 @@
|
|
|
6
6
|
* @modified 2020-10-15 Re-added the text() function.
|
|
7
7
|
* @modified 2021-01-24 Added the `setCurrentId` function.
|
|
8
8
|
* @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
|
|
9
|
-
* @
|
|
9
|
+
* @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
|
|
10
|
+
* @modified 2022-02-03 Added the `cross(...)` function.
|
|
11
|
+
* @modified 2022-03-27 Added the `texturedPoly` function.
|
|
12
|
+
* @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
|
|
13
|
+
* @version 0.0.8
|
|
10
14
|
**/
|
|
11
15
|
import { Polygon } from "./Polygon";
|
|
12
16
|
import { Vertex } from "./Vertex";
|
|
13
17
|
import { DrawLib, XYCoords, SVGPathParams, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
|
|
18
|
+
import { Bounds } from "./Bounds";
|
|
14
19
|
/**
|
|
15
20
|
* @classdesc A wrapper class for basic drawing operations. This is the WebGL
|
|
16
21
|
* implementation whih sould work with shaders.
|
|
@@ -127,11 +132,28 @@ export declare class drawutilsgl implements DrawLib<void> {
|
|
|
127
132
|
* @param {Image} image - The image object to draw.
|
|
128
133
|
* @param {Vertex} position - The position to draw the the upper left corner at.
|
|
129
134
|
* @param {Vertex} size - The x/y-size to draw the image with.
|
|
135
|
+
* @param {number=0.0} alpha - (optional, default=0.0) The transparency (0.0=opaque, 1.0=transparent).
|
|
130
136
|
* @return {void}
|
|
131
137
|
* @instance
|
|
132
138
|
* @memberof drawutils
|
|
133
139
|
**/
|
|
134
|
-
image(image: HTMLImageElement, position: Vertex, size: Vertex): void;
|
|
140
|
+
image(image: HTMLImageElement, position: Vertex, size: Vertex, alpha?: number): void;
|
|
141
|
+
/**
|
|
142
|
+
* Draw an image at the given position with the given size.<br>
|
|
143
|
+
* <br>
|
|
144
|
+
* Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
|
|
145
|
+
*
|
|
146
|
+
* @method texturedPoly
|
|
147
|
+
* @param {Image} textureImage - The image object to draw.
|
|
148
|
+
* @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
|
|
149
|
+
* @param {Polygon} polygon - The polygon to use as clip path.
|
|
150
|
+
* @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
|
|
151
|
+
* @param {number} rotation - The rotation to use for the polygon (and for the texture).
|
|
152
|
+
* @return {void}
|
|
153
|
+
* @instance
|
|
154
|
+
* @memberof drawutilsgl
|
|
155
|
+
**/
|
|
156
|
+
texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): void;
|
|
135
157
|
_fillOrDraw(color: string): void;
|
|
136
158
|
/**
|
|
137
159
|
* Draw the given (cubic) bézier curve.
|
|
@@ -368,11 +390,27 @@ export declare class drawutilsgl implements DrawLib<void> {
|
|
|
368
390
|
* @param {XYCoords} center - The center of the crosshair.
|
|
369
391
|
* @param {number} radius - The radius of the crosshair.
|
|
370
392
|
* @param {string} color - The CSS color to draw the crosshair with.
|
|
393
|
+
* @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
|
|
394
|
+
* @return {void}
|
|
395
|
+
* @instance
|
|
396
|
+
* @memberof drawutils
|
|
397
|
+
*/
|
|
398
|
+
crosshair(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
|
|
399
|
+
/**
|
|
400
|
+
* Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
|
|
401
|
+
* <br>
|
|
402
|
+
* Note that the x's radius will not be affected by scaling.
|
|
403
|
+
*
|
|
404
|
+
* @method crosshair
|
|
405
|
+
* @param {XYCoords} center - The center of the crosshair.
|
|
406
|
+
* @param {number} radius - The radius of the crosshair.
|
|
407
|
+
* @param {string} color - The CSS color to draw the crosshair with.
|
|
408
|
+
* @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
|
|
371
409
|
* @return {void}
|
|
372
410
|
* @instance
|
|
373
411
|
* @memberof drawutils
|
|
374
412
|
*/
|
|
375
|
-
|
|
413
|
+
cross(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
|
|
376
414
|
/**
|
|
377
415
|
* Draw a polygon.
|
|
378
416
|
*
|
package/src/esm/drawgl.js
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
* @modified 2020-10-15 Re-added the text() function.
|
|
7
7
|
* @modified 2021-01-24 Added the `setCurrentId` function.
|
|
8
8
|
* @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
|
|
9
|
-
* @
|
|
9
|
+
* @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
|
|
10
|
+
* @modified 2022-02-03 Added the `cross(...)` function.
|
|
11
|
+
* @modified 2022-03-27 Added the `texturedPoly` function.
|
|
12
|
+
* @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
|
|
13
|
+
* @version 0.0.8
|
|
10
14
|
**/
|
|
11
15
|
import { Vertex } from "./Vertex";
|
|
12
16
|
/**
|
|
@@ -197,11 +201,30 @@ export class drawutilsgl {
|
|
|
197
201
|
* @param {Image} image - The image object to draw.
|
|
198
202
|
* @param {Vertex} position - The position to draw the the upper left corner at.
|
|
199
203
|
* @param {Vertex} size - The x/y-size to draw the image with.
|
|
204
|
+
* @param {number=0.0} alpha - (optional, default=0.0) The transparency (0.0=opaque, 1.0=transparent).
|
|
200
205
|
* @return {void}
|
|
201
206
|
* @instance
|
|
202
207
|
* @memberof drawutils
|
|
203
208
|
**/
|
|
204
|
-
image(image, position, size) {
|
|
209
|
+
image(image, position, size, alpha = 0.0) {
|
|
210
|
+
// NOT YET IMPLEMENTED
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Draw an image at the given position with the given size.<br>
|
|
214
|
+
* <br>
|
|
215
|
+
* Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
|
|
216
|
+
*
|
|
217
|
+
* @method texturedPoly
|
|
218
|
+
* @param {Image} textureImage - The image object to draw.
|
|
219
|
+
* @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
|
|
220
|
+
* @param {Polygon} polygon - The polygon to use as clip path.
|
|
221
|
+
* @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
|
|
222
|
+
* @param {number} rotation - The rotation to use for the polygon (and for the texture).
|
|
223
|
+
* @return {void}
|
|
224
|
+
* @instance
|
|
225
|
+
* @memberof drawutilsgl
|
|
226
|
+
**/
|
|
227
|
+
texturedPoly(textureImage, textureSize, polygon, polygonPosition, rotation) {
|
|
205
228
|
// NOT YET IMPLEMENTED
|
|
206
229
|
}
|
|
207
230
|
// +---------------------------------------------------------------------------------
|
|
@@ -485,11 +508,29 @@ export class drawutilsgl {
|
|
|
485
508
|
* @param {XYCoords} center - The center of the crosshair.
|
|
486
509
|
* @param {number} radius - The radius of the crosshair.
|
|
487
510
|
* @param {string} color - The CSS color to draw the crosshair with.
|
|
511
|
+
* @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
|
|
512
|
+
* @return {void}
|
|
513
|
+
* @instance
|
|
514
|
+
* @memberof drawutils
|
|
515
|
+
*/
|
|
516
|
+
crosshair(center, radius, color, lineWidth) {
|
|
517
|
+
// NOT YET IMPLEMENTED
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
|
|
521
|
+
* <br>
|
|
522
|
+
* Note that the x's radius will not be affected by scaling.
|
|
523
|
+
*
|
|
524
|
+
* @method crosshair
|
|
525
|
+
* @param {XYCoords} center - The center of the crosshair.
|
|
526
|
+
* @param {number} radius - The radius of the crosshair.
|
|
527
|
+
* @param {string} color - The CSS color to draw the crosshair with.
|
|
528
|
+
* @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
|
|
488
529
|
* @return {void}
|
|
489
530
|
* @instance
|
|
490
531
|
* @memberof drawutils
|
|
491
532
|
*/
|
|
492
|
-
|
|
533
|
+
cross(center, radius, color, lineWidth) {
|
|
493
534
|
// NOT YET IMPLEMENTED
|
|
494
535
|
}
|
|
495
536
|
/**
|
package/src/esm/drawgl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawgl.js","sourceRoot":"","sources":["../ts/drawgl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drawgl.js","sourceRoot":"","sources":["../ts/drawgl.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,11 +29,17 @@
|
|
|
29
29
|
* @modified 2021-11-15 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
|
|
30
30
|
* @modified 2021-11-19 Fixing the `label(text,x,y)` position.
|
|
31
31
|
* @modified 2021-11-19 Added the `color` param to the `label(...)` function.
|
|
32
|
-
* @
|
|
32
|
+
* @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
|
|
33
|
+
* @modified 2022-02-03 Added the `cross(...)` function.
|
|
34
|
+
* @modified 2022-03-26 Added the private `nodeDefs` and `bufferedNodeDefs` attributes.
|
|
35
|
+
* @modified 2022-03-26 Added the `texturedPoly` function to draw textures polygons.
|
|
36
|
+
* @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
|
|
37
|
+
* @version 1.6.1
|
|
33
38
|
**/
|
|
34
39
|
import { Polygon } from "./Polygon";
|
|
35
40
|
import { Vertex } from "./Vertex";
|
|
36
41
|
import { DrawConfig, DrawLib, XYCoords, XYDimension, SVGPathParams, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
|
|
42
|
+
import { Bounds } from "./Bounds";
|
|
37
43
|
/**
|
|
38
44
|
* @classdesc A helper class for basic SVG drawing operations. This class should
|
|
39
45
|
* be compatible to the default 'draw' class.
|
|
@@ -71,6 +77,22 @@ export declare class drawutilssvg implements DrawLib<void | SVGElement> {
|
|
|
71
77
|
* @private
|
|
72
78
|
*/
|
|
73
79
|
private nodeStyle;
|
|
80
|
+
/**
|
|
81
|
+
* A style node of type `<defs>`.
|
|
82
|
+
* @member {SVGGelement}
|
|
83
|
+
* @memberof drawutilssvg
|
|
84
|
+
* @instance
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
private nodeDefs;
|
|
88
|
+
/**
|
|
89
|
+
* The buffered nodeDefs.
|
|
90
|
+
* @member {SVGGelement}
|
|
91
|
+
* @memberof drawutilssvg
|
|
92
|
+
* @instance
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
private bufferedNodeDefs;
|
|
74
96
|
/**
|
|
75
97
|
* @member {Vertex}
|
|
76
98
|
* @memberof drawutilssvg
|
|
@@ -136,8 +158,18 @@ export declare class drawutilssvg implements DrawLib<void | SVGElement> {
|
|
|
136
158
|
* @param {boolean=} isSecondary - (optional) Indicates if this is the primary or secondary instance. Only primary instances manage child nodes.
|
|
137
159
|
* @param {SVGGElement=} gNode - (optional) Primary and seconday instances share the same <g> node.
|
|
138
160
|
**/
|
|
139
|
-
constructor(svgNode: SVGElement, offset: XYCoords, scale: XYCoords, canvasSize: XYDimension, fillShapes: boolean, drawConfig: DrawConfig, isSecondary?: boolean, gNode?: SVGGElement, bufferGNode?: SVGGElement);
|
|
161
|
+
constructor(svgNode: SVGElement, offset: XYCoords, scale: XYCoords, canvasSize: XYDimension, fillShapes: boolean, drawConfig: DrawConfig, isSecondary?: boolean, gNode?: SVGGElement, bufferGNode?: SVGGElement, nodeDefs?: SVGDefsElement, bufferNodeDefs?: SVGDefsElement);
|
|
162
|
+
/**
|
|
163
|
+
* Adds a default style defintion based on the passed DrawConfig.
|
|
164
|
+
* Twaek the draw config to change default colors or line thicknesses.
|
|
165
|
+
*
|
|
166
|
+
* @param {DrawConfig} drawConfig
|
|
167
|
+
*/
|
|
140
168
|
private addStyleDefs;
|
|
169
|
+
/**
|
|
170
|
+
* Adds the internal <defs> node.
|
|
171
|
+
*/
|
|
172
|
+
private addDefsNode;
|
|
141
173
|
/**
|
|
142
174
|
* This is a simple way to include custom CSS class mappings to the style defs of the generated SVG.
|
|
143
175
|
*
|
|
@@ -310,11 +342,28 @@ export declare class drawutilssvg implements DrawLib<void | SVGElement> {
|
|
|
310
342
|
* @param {Image} image - The image object to draw.
|
|
311
343
|
* @param {Vertex} position - The position to draw the the upper left corner at.
|
|
312
344
|
* @param {Vertex} size - The x/y-size to draw the image with.
|
|
345
|
+
* @param {number=0.0} alpha - (optional, default=0.0) The transparency (1.0=opaque, 0.0=transparent).
|
|
313
346
|
* @return {void}
|
|
314
347
|
* @instance
|
|
315
348
|
* @memberof drawutilssvg
|
|
316
349
|
**/
|
|
317
|
-
image(image: HTMLImageElement, position: Vertex, size: Vertex): SVGElement;
|
|
350
|
+
image(image: HTMLImageElement, position: Vertex, size: Vertex, alpha?: number): SVGElement;
|
|
351
|
+
/**
|
|
352
|
+
* Draw an image at the given position with the given size.<br>
|
|
353
|
+
* <br>
|
|
354
|
+
* Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
|
|
355
|
+
*
|
|
356
|
+
* @method texturedPoly
|
|
357
|
+
* @param {Image} textureImage - The image object to draw.
|
|
358
|
+
* @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
|
|
359
|
+
* @param {Polygon} polygon - The polygon to use as clip path.
|
|
360
|
+
* @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
|
|
361
|
+
* @param {number} rotation - The rotation to use for the polygon (and for the texture).
|
|
362
|
+
* @return {void}
|
|
363
|
+
* @instance
|
|
364
|
+
* @memberof drawutilssvg
|
|
365
|
+
**/
|
|
366
|
+
texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): SVGElement;
|
|
318
367
|
/**
|
|
319
368
|
* Draw the given (cubic) bézier curve.
|
|
320
369
|
*
|
|
@@ -550,11 +599,27 @@ export declare class drawutilssvg implements DrawLib<void | SVGElement> {
|
|
|
550
599
|
* @param {XYCoords} center - The center of the crosshair.
|
|
551
600
|
* @param {number} radius - The radius of the crosshair.
|
|
552
601
|
* @param {string} color - The CSS color to draw the crosshair with.
|
|
602
|
+
* @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
|
|
553
603
|
* @return {void}
|
|
554
604
|
* @instance
|
|
555
605
|
* @memberof drawutilssvg
|
|
556
606
|
*/
|
|
557
|
-
crosshair(center: XYCoords, radius: number, color: string): SVGElement;
|
|
607
|
+
crosshair(center: XYCoords, radius: number, color: string, lineWidth?: number): SVGElement;
|
|
608
|
+
/**
|
|
609
|
+
* Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
|
|
610
|
+
* <br>
|
|
611
|
+
* Note that the x's radius will not be affected by scaling.
|
|
612
|
+
*
|
|
613
|
+
* @method crosshair
|
|
614
|
+
* @param {XYCoords} center - The center of the crosshair.
|
|
615
|
+
* @param {number} radius - The radius of the crosshair.
|
|
616
|
+
* @param {string} color - The CSS color to draw the crosshair with.
|
|
617
|
+
* @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
|
|
618
|
+
* @return {void}
|
|
619
|
+
* @instance
|
|
620
|
+
* @memberof drawutils
|
|
621
|
+
*/
|
|
622
|
+
cross(center: XYCoords, radius: number, color: string, lineWidth?: number): SVGElement;
|
|
558
623
|
/**
|
|
559
624
|
* Draw a polygon.
|
|
560
625
|
*
|
package/src/esm/drawutilssvg.js
CHANGED
|
@@ -29,11 +29,17 @@
|
|
|
29
29
|
* @modified 2021-11-15 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
|
|
30
30
|
* @modified 2021-11-19 Fixing the `label(text,x,y)` position.
|
|
31
31
|
* @modified 2021-11-19 Added the `color` param to the `label(...)` function.
|
|
32
|
-
* @
|
|
32
|
+
* @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
|
|
33
|
+
* @modified 2022-02-03 Added the `cross(...)` function.
|
|
34
|
+
* @modified 2022-03-26 Added the private `nodeDefs` and `bufferedNodeDefs` attributes.
|
|
35
|
+
* @modified 2022-03-26 Added the `texturedPoly` function to draw textures polygons.
|
|
36
|
+
* @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
|
|
37
|
+
* @version 1.6.1
|
|
33
38
|
**/
|
|
34
39
|
import { CircleSector } from "./CircleSector";
|
|
35
40
|
import { CubicBezierCurve } from "./CubicBezierCurve";
|
|
36
41
|
import { Vertex } from "./Vertex";
|
|
42
|
+
import { UIDGenerator } from "./UIDGenerator";
|
|
37
43
|
const RAD_TO_DEG = 180 / Math.PI;
|
|
38
44
|
/**
|
|
39
45
|
* @classdesc A helper class for basic SVG drawing operations. This class should
|
|
@@ -59,7 +65,7 @@ export class drawutilssvg {
|
|
|
59
65
|
* @param {boolean=} isSecondary - (optional) Indicates if this is the primary or secondary instance. Only primary instances manage child nodes.
|
|
60
66
|
* @param {SVGGElement=} gNode - (optional) Primary and seconday instances share the same <g> node.
|
|
61
67
|
**/
|
|
62
|
-
constructor(svgNode, offset, scale, canvasSize, fillShapes, drawConfig, isSecondary, gNode, bufferGNode) {
|
|
68
|
+
constructor(svgNode, offset, scale, canvasSize, fillShapes, drawConfig, isSecondary, gNode, bufferGNode, nodeDefs, bufferNodeDefs) {
|
|
63
69
|
this.svgNode = svgNode;
|
|
64
70
|
this.offset = new Vertex(0, 0).set(offset);
|
|
65
71
|
this.scale = new Vertex(1, 1).set(scale);
|
|
@@ -71,14 +77,23 @@ export class drawutilssvg {
|
|
|
71
77
|
if (isSecondary) {
|
|
72
78
|
this.gNode = gNode;
|
|
73
79
|
this.bufferGNode = bufferGNode;
|
|
80
|
+
this.nodeDefs = nodeDefs;
|
|
81
|
+
this.bufferedNodeDefs = bufferNodeDefs;
|
|
74
82
|
}
|
|
75
83
|
else {
|
|
76
84
|
this.addStyleDefs(drawConfig);
|
|
85
|
+
this.addDefsNode();
|
|
77
86
|
this.gNode = this.createSVGNode("g");
|
|
78
87
|
this.bufferGNode = this.createSVGNode("g");
|
|
79
88
|
this.svgNode.appendChild(this.gNode);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Adds a default style defintion based on the passed DrawConfig.
|
|
93
|
+
* Twaek the draw config to change default colors or line thicknesses.
|
|
94
|
+
*
|
|
95
|
+
* @param {DrawConfig} drawConfig
|
|
96
|
+
*/
|
|
82
97
|
addStyleDefs(drawConfig) {
|
|
83
98
|
this.nodeStyle = this.createSVGNode("style");
|
|
84
99
|
this.svgNode.appendChild(this.nodeStyle);
|
|
@@ -111,6 +126,15 @@ export class drawutilssvg {
|
|
|
111
126
|
}
|
|
112
127
|
this.nodeStyle.innerHTML = rules.join("\n");
|
|
113
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Adds the internal <defs> node.
|
|
131
|
+
*/
|
|
132
|
+
addDefsNode() {
|
|
133
|
+
this.nodeDefs = this.createSVGNode("defs");
|
|
134
|
+
// this.svgNode.appendChild(this.nodeDefs);
|
|
135
|
+
this.bufferedNodeDefs = this.createSVGNode("defs");
|
|
136
|
+
this.svgNode.appendChild(this.nodeDefs);
|
|
137
|
+
}
|
|
114
138
|
/**
|
|
115
139
|
* This is a simple way to include custom CSS class mappings to the style defs of the generated SVG.
|
|
116
140
|
*
|
|
@@ -248,7 +272,7 @@ export class drawutilssvg {
|
|
|
248
272
|
copyInstance(fillShapes) {
|
|
249
273
|
var copy = new drawutilssvg(this.svgNode, this.offset, this.scale, this.canvasSize, fillShapes, null, // no DrawConfig
|
|
250
274
|
true, // isSecondary
|
|
251
|
-
this.gNode, this.bufferGNode);
|
|
275
|
+
this.gNode, this.bufferGNode, this.nodeDefs, this.bufferedNodeDefs);
|
|
252
276
|
return copy;
|
|
253
277
|
}
|
|
254
278
|
/**
|
|
@@ -325,11 +349,15 @@ export class drawutilssvg {
|
|
|
325
349
|
// layout updates.
|
|
326
350
|
// Replace the old <g>-node with the buffer node.
|
|
327
351
|
// https://stackoverflow.com/questions/27442464/how-to-update-a-svg-image-without-seeing-a-blinking
|
|
352
|
+
this.svgNode.replaceChild(this.bufferedNodeDefs, this.nodeDefs);
|
|
328
353
|
this.svgNode.replaceChild(this.bufferGNode, this.gNode);
|
|
329
354
|
}
|
|
330
|
-
|
|
355
|
+
const tmpGNode = this.gNode;
|
|
331
356
|
this.gNode = this.bufferGNode;
|
|
332
|
-
this.bufferGNode =
|
|
357
|
+
this.bufferGNode = tmpGNode;
|
|
358
|
+
const tmpDefsNode = this.nodeDefs;
|
|
359
|
+
this.nodeDefs = this.bufferedNodeDefs;
|
|
360
|
+
this.bufferedNodeDefs = tmpDefsNode;
|
|
333
361
|
}
|
|
334
362
|
_x(x) {
|
|
335
363
|
return this.offset.x + this.scale.x * x;
|
|
@@ -392,11 +420,12 @@ export class drawutilssvg {
|
|
|
392
420
|
* @param {Image} image - The image object to draw.
|
|
393
421
|
* @param {Vertex} position - The position to draw the the upper left corner at.
|
|
394
422
|
* @param {Vertex} size - The x/y-size to draw the image with.
|
|
423
|
+
* @param {number=0.0} alpha - (optional, default=0.0) The transparency (1.0=opaque, 0.0=transparent).
|
|
395
424
|
* @return {void}
|
|
396
425
|
* @instance
|
|
397
426
|
* @memberof drawutilssvg
|
|
398
427
|
**/
|
|
399
|
-
image(image, position, size) {
|
|
428
|
+
image(image, position, size, alpha = 1.0) {
|
|
400
429
|
const node = this.makeNode("image");
|
|
401
430
|
// We need to re-adjust the image if it was not yet fully loaded before.
|
|
402
431
|
const setImageSize = (image) => {
|
|
@@ -406,6 +435,9 @@ export class drawutilssvg {
|
|
|
406
435
|
node.setAttribute("width", `${image.naturalWidth * this.scale.x}`);
|
|
407
436
|
node.setAttribute("height", `${image.naturalHeight * this.scale.y}`);
|
|
408
437
|
node.setAttribute("display", null); // Dislay when loaded
|
|
438
|
+
// if (alpha) {
|
|
439
|
+
node.setAttribute("opacity", `${alpha}`);
|
|
440
|
+
// }
|
|
409
441
|
node.setAttribute("transform", `translate(${this._x(position.x)} ${this._y(position.y)}) scale(${ratioX} ${ratioY})`);
|
|
410
442
|
}
|
|
411
443
|
};
|
|
@@ -421,6 +453,75 @@ export class drawutilssvg {
|
|
|
421
453
|
node.setAttribute("href", image.src);
|
|
422
454
|
return this._bindFillDraw(node, "image", null, null);
|
|
423
455
|
}
|
|
456
|
+
/**
|
|
457
|
+
* Draw an image at the given position with the given size.<br>
|
|
458
|
+
* <br>
|
|
459
|
+
* Note: SVG images may have resizing issues at the moment.Draw a line and an arrow at the end (zB) of the given line with the specified (CSS-) color.
|
|
460
|
+
*
|
|
461
|
+
* @method texturedPoly
|
|
462
|
+
* @param {Image} textureImage - The image object to draw.
|
|
463
|
+
* @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
|
|
464
|
+
* @param {Polygon} polygon - The polygon to use as clip path.
|
|
465
|
+
* @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
|
|
466
|
+
* @param {number} rotation - The rotation to use for the polygon (and for the texture).
|
|
467
|
+
* @return {void}
|
|
468
|
+
* @instance
|
|
469
|
+
* @memberof drawutilssvg
|
|
470
|
+
**/
|
|
471
|
+
texturedPoly(textureImage, textureSize, polygon, polygonPosition, rotation) {
|
|
472
|
+
const basePolygonBounds = polygon.getBounds();
|
|
473
|
+
const rotatedScalingOrigin = new Vertex(textureSize.min).clone().rotate(rotation, polygonPosition);
|
|
474
|
+
const rotationCenter = polygonPosition.clone().add(rotatedScalingOrigin.difference(textureSize.min).inv());
|
|
475
|
+
// Create something like this
|
|
476
|
+
// ...
|
|
477
|
+
// <defs>
|
|
478
|
+
// <clipPath id="shape">
|
|
479
|
+
// <path fill="none" d="..."/>
|
|
480
|
+
// </clipPath>
|
|
481
|
+
// </defs>
|
|
482
|
+
// ...
|
|
483
|
+
// <g clip-path="url(#shape)">
|
|
484
|
+
// <g transform="scale(...)">
|
|
485
|
+
// <image width="643" height="643" transform="rotate(...)" xlink:href="https://s3-us-west-2.amazonaws.com/s.cdpn.io/222579/beagle400.jpg" >
|
|
486
|
+
// </g>
|
|
487
|
+
// </g>
|
|
488
|
+
// </image>
|
|
489
|
+
// ...
|
|
490
|
+
const clipPathNode = this.makeNode("clipPath");
|
|
491
|
+
const clipPathId = `clippath_${UIDGenerator.next()}`; // TODO: use a better UUID generator here?
|
|
492
|
+
clipPathNode.setAttribute("id", clipPathId);
|
|
493
|
+
const gNode = this.makeNode("g");
|
|
494
|
+
const imageNode = this.makeNode("image");
|
|
495
|
+
imageNode.setAttribute("x", `${this._x(rotatedScalingOrigin.x)}`);
|
|
496
|
+
imageNode.setAttribute("y", `${this._y(rotatedScalingOrigin.y)}`);
|
|
497
|
+
imageNode.setAttribute("width", `${textureSize.width}`);
|
|
498
|
+
imageNode.setAttribute("height", `${textureSize.height}`);
|
|
499
|
+
imageNode.setAttribute("href", textureImage.src);
|
|
500
|
+
// imageNode.setAttribute("opacity", "0.5");
|
|
501
|
+
// SVG rotations in degrees
|
|
502
|
+
imageNode.setAttribute("transform", `rotate(${rotation * RAD_TO_DEG}, ${this._x(rotatedScalingOrigin.x)}, ${this._y(rotatedScalingOrigin.y)})`);
|
|
503
|
+
const pathNode = this.makeNode("path");
|
|
504
|
+
const pathData = [];
|
|
505
|
+
if (polygon.vertices.length > 0) {
|
|
506
|
+
const self = this;
|
|
507
|
+
pathData.push("M", `${this._x(polygon.vertices[0].x)}`, `${this._y(polygon.vertices[0].y)}`);
|
|
508
|
+
for (var i = 1; i < polygon.vertices.length; i++) {
|
|
509
|
+
pathData.push("L", `${this._x(polygon.vertices[i].x)}`, `${this._y(polygon.vertices[i].y)}`);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
pathNode.setAttribute("d", pathData.join(" "));
|
|
513
|
+
clipPathNode.appendChild(pathNode);
|
|
514
|
+
this.bufferedNodeDefs.appendChild(clipPathNode);
|
|
515
|
+
gNode.appendChild(imageNode);
|
|
516
|
+
gNode.setAttribute("transform-origin", `${this._x(rotatedScalingOrigin.x)} ${this._y(rotatedScalingOrigin.y)}`);
|
|
517
|
+
gNode.setAttribute("transform", `scale(${this.scale.x}, ${this.scale.y})`);
|
|
518
|
+
const clipNode = this.makeNode("g");
|
|
519
|
+
clipNode.appendChild(gNode);
|
|
520
|
+
clipNode.setAttribute("clip-path", `url(#${clipPathId})`);
|
|
521
|
+
// TODO: check if the image class is correct here or if we should use a 'clippedImage' class here
|
|
522
|
+
this._bindFillDraw(clipNode, "image", null, null); // No color, no lineWidth
|
|
523
|
+
return clipNode;
|
|
524
|
+
}
|
|
424
525
|
/**
|
|
425
526
|
* Draw the given (cubic) bézier curve.
|
|
426
527
|
*
|
|
@@ -813,11 +914,12 @@ export class drawutilssvg {
|
|
|
813
914
|
* @param {XYCoords} center - The center of the crosshair.
|
|
814
915
|
* @param {number} radius - The radius of the crosshair.
|
|
815
916
|
* @param {string} color - The CSS color to draw the crosshair with.
|
|
917
|
+
* @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
|
|
816
918
|
* @return {void}
|
|
817
919
|
* @instance
|
|
818
920
|
* @memberof drawutilssvg
|
|
819
921
|
*/
|
|
820
|
-
crosshair(center, radius, color) {
|
|
922
|
+
crosshair(center, radius, color, lineWidth) {
|
|
821
923
|
const node = this.makeNode("path");
|
|
822
924
|
const d = [
|
|
823
925
|
"M",
|
|
@@ -834,7 +936,40 @@ export class drawutilssvg {
|
|
|
834
936
|
this._y(center.y) + radius
|
|
835
937
|
];
|
|
836
938
|
node.setAttribute("d", d.join(" "));
|
|
837
|
-
return this._bindFillDraw(node, "crosshair", color, 0.5);
|
|
939
|
+
return this._bindFillDraw(node, "crosshair", color, lineWidth || 0.5);
|
|
940
|
+
}
|
|
941
|
+
/**
|
|
942
|
+
* Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
|
|
943
|
+
* <br>
|
|
944
|
+
* Note that the x's radius will not be affected by scaling.
|
|
945
|
+
*
|
|
946
|
+
* @method crosshair
|
|
947
|
+
* @param {XYCoords} center - The center of the crosshair.
|
|
948
|
+
* @param {number} radius - The radius of the crosshair.
|
|
949
|
+
* @param {string} color - The CSS color to draw the crosshair with.
|
|
950
|
+
* @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
|
|
951
|
+
* @return {void}
|
|
952
|
+
* @instance
|
|
953
|
+
* @memberof drawutils
|
|
954
|
+
*/
|
|
955
|
+
cross(center, radius, color, lineWidth) {
|
|
956
|
+
const node = this.makeNode("path");
|
|
957
|
+
const d = [
|
|
958
|
+
"M",
|
|
959
|
+
this._x(center.x) - radius,
|
|
960
|
+
this._y(center.y) - radius,
|
|
961
|
+
"L",
|
|
962
|
+
this._x(center.x) + radius,
|
|
963
|
+
this._y(center.y) + radius,
|
|
964
|
+
"M",
|
|
965
|
+
this._x(center.x) - radius,
|
|
966
|
+
this._y(center.y) + radius,
|
|
967
|
+
"L",
|
|
968
|
+
this._x(center.x) + radius,
|
|
969
|
+
this._y(center.y) - radius
|
|
970
|
+
];
|
|
971
|
+
node.setAttribute("d", d.join(" "));
|
|
972
|
+
return this._bindFillDraw(node, "cross", color, lineWidth || 1.0);
|
|
838
973
|
}
|
|
839
974
|
/**
|
|
840
975
|
* Draw a polygon.
|
|
@@ -997,14 +1132,6 @@ export class drawutilssvg {
|
|
|
997
1132
|
if (this.isSecondary) {
|
|
998
1133
|
return;
|
|
999
1134
|
}
|
|
1000
|
-
// // Clearing an SVG is equivalent to removing all its child elements.
|
|
1001
|
-
// for (var i = 0; i < this.gNode.childNodes.length; i++) {
|
|
1002
|
-
// // Hide all nodes here. Don't throw them away.
|
|
1003
|
-
// // We can probably re-use them in the next draw cycle.
|
|
1004
|
-
// var child: SVGElement = this.gNode.childNodes[i] as SVGElement;
|
|
1005
|
-
// this.cache.set(child.getAttribute("id"), child);
|
|
1006
|
-
// }
|
|
1007
|
-
// this.removeAllChildNodes();
|
|
1008
1135
|
// Add a covering rect with the given background color
|
|
1009
1136
|
this.curId = "background";
|
|
1010
1137
|
this.curClassName = undefined;
|
|
@@ -1030,6 +1157,9 @@ export class drawutilssvg {
|
|
|
1030
1157
|
while (this.bufferGNode.lastChild) {
|
|
1031
1158
|
this.bufferGNode.removeChild(this.bufferGNode.lastChild);
|
|
1032
1159
|
}
|
|
1160
|
+
while (this.bufferedNodeDefs.lastChild) {
|
|
1161
|
+
this.bufferedNodeDefs.removeChild(this.bufferedNodeDefs.lastChild);
|
|
1162
|
+
}
|
|
1033
1163
|
}
|
|
1034
1164
|
/**
|
|
1035
1165
|
* Create a new and empty `SVGElement` <svg> in the svg-namespace.
|