plotboilerplate 1.14.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 (232) hide show
  1. package/README.md +2 -0
  2. package/changelog.md +57 -0
  3. package/dist/index.esm.js +856 -694
  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 +858 -598
  10. package/dist/plotboilerplate.min.js +1 -1
  11. package/package.json +1 -1
  12. package/src/cjs/BezierPath.d.ts +32 -14
  13. package/src/cjs/BezierPath.js +65 -24
  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 +15 -13
  19. package/src/cjs/Circle.js +16 -34
  20. package/src/cjs/Circle.js.map +1 -1
  21. package/src/cjs/CircleSector.d.ts +17 -16
  22. package/src/cjs/CircleSector.js +12 -24
  23. package/src/cjs/CircleSector.js.map +1 -1
  24. package/src/cjs/CubicBezierCurve.d.ts +16 -15
  25. package/src/cjs/CubicBezierCurve.js +57 -94
  26. package/src/cjs/CubicBezierCurve.js.map +1 -1
  27. package/src/cjs/KeyHandler.d.ts +10 -3
  28. package/src/cjs/KeyHandler.js +28 -23
  29. package/src/cjs/KeyHandler.js.map +1 -1
  30. package/src/cjs/Line.d.ts +2 -15
  31. package/src/cjs/Line.js +6 -31
  32. package/src/cjs/Line.js.map +1 -1
  33. package/src/cjs/MouseHandler.js +43 -53
  34. package/src/cjs/MouseHandler.js.map +1 -1
  35. package/src/cjs/PBImage.d.ts +15 -13
  36. package/src/cjs/PBImage.js +11 -15
  37. package/src/cjs/PBImage.js.map +1 -1
  38. package/src/cjs/PBText.d.ts +13 -12
  39. package/src/cjs/PBText.js +8 -12
  40. package/src/cjs/PBText.js.map +1 -1
  41. package/src/cjs/PlotBoilerplate.js +3 -2
  42. package/src/cjs/PlotBoilerplate.js.map +1 -1
  43. package/src/cjs/Polygon.d.ts +44 -14
  44. package/src/cjs/Polygon.js +116 -66
  45. package/src/cjs/Polygon.js.map +1 -1
  46. package/src/cjs/Triangle.d.ts +15 -13
  47. package/src/cjs/Triangle.js +23 -64
  48. package/src/cjs/Triangle.js.map +1 -1
  49. package/src/cjs/VEllipse.d.ts +14 -9
  50. package/src/cjs/VEllipse.js +10 -18
  51. package/src/cjs/VEllipse.js.map +1 -1
  52. package/src/cjs/VEllipseSector.d.ts +15 -1
  53. package/src/cjs/VEllipseSector.js +11 -1
  54. package/src/cjs/VEllipseSector.js.map +1 -1
  55. package/src/cjs/Vector.d.ts +3 -15
  56. package/src/cjs/Vector.js +9 -49
  57. package/src/cjs/Vector.js.map +1 -1
  58. package/src/cjs/VertTuple.d.ts +15 -1
  59. package/src/cjs/VertTuple.js +14 -19
  60. package/src/cjs/VertTuple.js.map +1 -1
  61. package/src/cjs/Vertex.d.ts +47 -13
  62. package/src/cjs/Vertex.js +62 -22
  63. package/src/cjs/Vertex.js.map +1 -1
  64. package/src/cjs/VertexListeners.d.ts +12 -8
  65. package/src/cjs/VertexListeners.js +18 -25
  66. package/src/cjs/VertexListeners.js.map +1 -1
  67. package/src/cjs/draw.d.ts +41 -2
  68. package/src/cjs/draw.js +140 -3
  69. package/src/cjs/draw.js.map +1 -1
  70. package/src/cjs/drawgl.d.ts +38 -2
  71. package/src/cjs/drawgl.js +41 -2
  72. package/src/cjs/drawgl.js.map +1 -1
  73. package/src/cjs/drawutilssvg.d.ts +66 -3
  74. package/src/cjs/drawutilssvg.js +140 -15
  75. package/src/cjs/drawutilssvg.js.map +1 -1
  76. package/src/cjs/index.d.ts +0 -1
  77. package/src/cjs/index.js +0 -1
  78. package/src/cjs/index.js.map +1 -1
  79. package/src/cjs/interfaces/DrawLib.d.ts +61 -26
  80. package/src/cjs/interfaces/DrawLib.js +2 -0
  81. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  82. package/src/cjs/interfaces/core.d.ts +0 -12
  83. package/src/cjs/module.d.ts +1 -3
  84. package/src/cjs/module.js +2 -5
  85. package/src/cjs/module.js.map +1 -1
  86. package/src/cjs/utils/creategui.js +16 -2
  87. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  88. package/src/cjs/utils/datastructures/Girih.js +18 -14
  89. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  90. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  91. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  92. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  93. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  94. package/src/cjs/utils/findInVertexArray.d.ts +19 -0
  95. package/src/cjs/utils/findInVertexArray.js +29 -0
  96. package/src/cjs/utils/findInVertexArray.js.map +1 -0
  97. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  98. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
  99. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  100. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  101. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  102. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  103. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  104. package/src/cjs/utils/io/FileDrop.js +142 -0
  105. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  106. package/src/esm/BezierPath.d.ts +32 -14
  107. package/src/esm/BezierPath.js +65 -24
  108. package/src/esm/BezierPath.js.map +1 -1
  109. package/src/esm/Bounds.d.ts +22 -1
  110. package/src/esm/Bounds.js +24 -1
  111. package/src/esm/Bounds.js.map +1 -1
  112. package/src/esm/Circle.d.ts +15 -13
  113. package/src/esm/Circle.js +16 -34
  114. package/src/esm/Circle.js.map +1 -1
  115. package/src/esm/CircleSector.d.ts +17 -16
  116. package/src/esm/CircleSector.js +12 -24
  117. package/src/esm/CircleSector.js.map +1 -1
  118. package/src/esm/CubicBezierCurve.d.ts +16 -15
  119. package/src/esm/CubicBezierCurve.js +57 -94
  120. package/src/esm/CubicBezierCurve.js.map +1 -1
  121. package/src/esm/KeyHandler.d.ts +10 -3
  122. package/src/esm/KeyHandler.js +28 -23
  123. package/src/esm/KeyHandler.js.map +1 -1
  124. package/src/esm/Line.d.ts +2 -15
  125. package/src/esm/Line.js +6 -31
  126. package/src/esm/Line.js.map +1 -1
  127. package/src/esm/MouseHandler.js +43 -53
  128. package/src/esm/MouseHandler.js.map +1 -1
  129. package/src/esm/PBImage.d.ts +15 -13
  130. package/src/esm/PBImage.js +11 -15
  131. package/src/esm/PBImage.js.map +1 -1
  132. package/src/esm/PBText.d.ts +13 -12
  133. package/src/esm/PBText.js +8 -12
  134. package/src/esm/PBText.js.map +1 -1
  135. package/src/esm/PlotBoilerplate.js +3 -2
  136. package/src/esm/PlotBoilerplate.js.map +1 -1
  137. package/src/esm/Polygon.d.ts +44 -14
  138. package/src/esm/Polygon.js +116 -66
  139. package/src/esm/Polygon.js.map +1 -1
  140. package/src/esm/Triangle.d.ts +15 -13
  141. package/src/esm/Triangle.js +23 -64
  142. package/src/esm/Triangle.js.map +1 -1
  143. package/src/esm/VEllipse.d.ts +14 -9
  144. package/src/esm/VEllipse.js +10 -18
  145. package/src/esm/VEllipse.js.map +1 -1
  146. package/src/esm/VEllipseSector.d.ts +15 -1
  147. package/src/esm/VEllipseSector.js +11 -1
  148. package/src/esm/VEllipseSector.js.map +1 -1
  149. package/src/esm/Vector.d.ts +3 -15
  150. package/src/esm/Vector.js +9 -49
  151. package/src/esm/Vector.js.map +1 -1
  152. package/src/esm/VertTuple.d.ts +15 -1
  153. package/src/esm/VertTuple.js +14 -19
  154. package/src/esm/VertTuple.js.map +1 -1
  155. package/src/esm/Vertex.d.ts +47 -13
  156. package/src/esm/Vertex.js +62 -22
  157. package/src/esm/Vertex.js.map +1 -1
  158. package/src/esm/VertexListeners.d.ts +12 -8
  159. package/src/esm/VertexListeners.js +18 -25
  160. package/src/esm/VertexListeners.js.map +1 -1
  161. package/src/esm/draw.d.ts +41 -2
  162. package/src/esm/draw.js +139 -3
  163. package/src/esm/draw.js.map +1 -1
  164. package/src/esm/drawgl.d.ts +38 -2
  165. package/src/esm/drawgl.js +41 -2
  166. package/src/esm/drawgl.js.map +1 -1
  167. package/src/esm/drawutilssvg.d.ts +66 -3
  168. package/src/esm/drawutilssvg.js +140 -15
  169. package/src/esm/drawutilssvg.js.map +1 -1
  170. package/src/esm/index.d.ts +0 -1
  171. package/src/esm/index.js +0 -1
  172. package/src/esm/index.js.map +1 -1
  173. package/src/esm/interfaces/DrawLib.d.ts +61 -26
  174. package/src/esm/interfaces/DrawLib.js +2 -0
  175. package/src/esm/interfaces/DrawLib.js.map +1 -1
  176. package/src/esm/interfaces/core.d.ts +0 -12
  177. package/src/esm/module.d.ts +1 -3
  178. package/src/esm/module.js +5 -4
  179. package/src/esm/module.js.map +1 -1
  180. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  181. package/src/esm/utils/datastructures/Girih.js +18 -14
  182. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  183. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  184. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  185. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  186. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  187. package/src/esm/utils/findInVertexArray.d.ts +19 -0
  188. package/src/esm/utils/findInVertexArray.js +25 -0
  189. package/src/esm/utils/findInVertexArray.js.map +1 -0
  190. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  191. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
  192. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  193. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  194. package/src/esm/utils/io/DndFileHandler.js +106 -0
  195. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  196. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  197. package/src/esm/utils/io/FileDrop.js +136 -0
  198. package/src/esm/utils/io/FileDrop.js.map +1 -0
  199. package/src/ts/BezierPath.ts +78 -22
  200. package/src/ts/Bounds.ts +25 -1
  201. package/src/ts/Circle.ts +187 -200
  202. package/src/ts/CircleSector.ts +141 -141
  203. package/src/ts/CubicBezierCurve.ts +738 -810
  204. package/src/ts/KeyHandler.ts +221 -212
  205. package/src/ts/Line.ts +48 -80
  206. package/src/ts/MouseHandler.ts +356 -368
  207. package/src/ts/PBImage.ts +67 -69
  208. package/src/ts/PBText.ts +16 -14
  209. package/src/ts/PlotBoilerplate.ts +4 -2
  210. package/src/ts/Polygon.ts +493 -451
  211. package/src/ts/Triangle.ts +444 -489
  212. package/src/ts/VEllipse.ts +18 -17
  213. package/src/ts/VEllipseSector.ts +20 -1
  214. package/src/ts/Vector.ts +124 -160
  215. package/src/ts/VertTuple.ts +333 -338
  216. package/src/ts/Vertex.ts +75 -21
  217. package/src/ts/VertexListeners.ts +248 -266
  218. package/src/ts/draw.ts +192 -3
  219. package/src/ts/drawgl.ts +44 -2
  220. package/src/ts/drawutilssvg.ts +181 -15
  221. package/src/ts/index.ts +0 -1
  222. package/src/ts/interfaces/DrawLib.ts +69 -26
  223. package/src/ts/interfaces/core.ts +0 -11
  224. package/src/ts/module.ts +2 -4
  225. package/src/ts/utils/datastructures/Girih.ts +204 -209
  226. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  227. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  228. package/src/ts/utils/findInVertexArray.ts +28 -0
  229. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
  230. package/src/ts/utils/io/FileDrop.ts +178 -0
  231. package/src/ts/SVGBuilder.ts +0 -109
  232. package/src/ts/utils/algorithms/sh-tmp.ts~ +0 -59
package/src/esm/draw.d.ts CHANGED
@@ -39,11 +39,15 @@
39
39
  * @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
40
40
  * @modified 2021-11-12 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
41
41
  * @modified 2021-11-19 Added the `color` param to the `label(...)` function.
42
- * @version 1.10.0
42
+ * @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
43
+ * @modified 2022-02-03 Added the `cross(...)` function.
44
+ * @modified 2022-03-27 Added the `texturedPoly` function.
45
+ * @version 1.12.0
43
46
  **/
44
47
  import { Polygon } from "./Polygon";
45
48
  import { Vertex } from "./Vertex";
46
49
  import { DrawLib, SVGPathParams, XYCoords, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
50
+ import { Bounds } from "./Bounds";
47
51
  /**
48
52
  * @classdesc A wrapper class for basic drawing operations.
49
53
  *
@@ -172,6 +176,24 @@ export declare class drawutils implements DrawLib<void> {
172
176
  * @memberof drawutils
173
177
  **/
174
178
  image(image: HTMLImageElement, position: Vertex, size: Vertex): void;
179
+ /**
180
+ * Draw an image at the given position with the given size.<br>
181
+ * <br>
182
+ * 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.
183
+ *
184
+ * @method texturedPoly
185
+ * @param {Image} textureImage - The image object to draw.
186
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
187
+ * @param {Polygon} polygon - The polygon to use as clip path.
188
+ * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
189
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
190
+ * @param {XYCoords={x:0,y:0}} rotationCenter - (optional) The rotational center; default is center of bounding box.
191
+ * @return {void}
192
+ * @instance
193
+ * @memberof drawutils
194
+ **/
195
+ texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): void;
196
+ _texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number, rotationCenter?: XYCoords): void;
175
197
  /**
176
198
  * Draw a rectangle.
177
199
  *
@@ -426,11 +448,27 @@ export declare class drawutils implements DrawLib<void> {
426
448
  * @param {XYCoords} center - The center of the crosshair.
427
449
  * @param {number} radius - The radius of the crosshair.
428
450
  * @param {string} color - The CSS color to draw the crosshair with.
451
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
452
+ * @return {void}
453
+ * @instance
454
+ * @memberof drawutils
455
+ */
456
+ crosshair(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
457
+ /**
458
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
459
+ * <br>
460
+ * Note that the x's radius will not be affected by scaling.
461
+ *
462
+ * @method crosshair
463
+ * @param {XYCoords} center - The center of the crosshair.
464
+ * @param {number} radius - The radius of the crosshair.
465
+ * @param {string} color - The CSS color to draw the crosshair with.
466
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
429
467
  * @return {void}
430
468
  * @instance
431
469
  * @memberof drawutils
432
470
  */
433
- crosshair(center: XYCoords, radius: number, color: string): void;
471
+ cross(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
434
472
  /**
435
473
  * Draw a polygon.
436
474
  *
@@ -526,4 +564,5 @@ export declare class drawutils implements DrawLib<void> {
526
564
  * @param {string} color - The color to clear with.
527
565
  **/
528
566
  clear(color: string): void;
567
+ private static helpers;
529
568
  }
package/src/esm/draw.js CHANGED
@@ -39,7 +39,10 @@
39
39
  * @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
40
40
  * @modified 2021-11-12 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
41
41
  * @modified 2021-11-19 Added the `color` param to the `label(...)` function.
42
- * @version 1.10.0
42
+ * @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
43
+ * @modified 2022-02-03 Added the `cross(...)` function.
44
+ * @modified 2022-03-27 Added the `texturedPoly` function.
45
+ * @version 1.12.0
43
46
  **/
44
47
  import { CubicBezierCurve } from "./CubicBezierCurve";
45
48
  import { Vertex } from "./Vertex";
@@ -196,6 +199,96 @@ export class drawutils {
196
199
  this.offset.x + position.x * this.scale.x, this.offset.y + position.y * this.scale.y, size.x * this.scale.x, size.y * this.scale.y);
197
200
  this.ctx.restore();
198
201
  }
202
+ /**
203
+ * Draw an image at the given position with the given size.<br>
204
+ * <br>
205
+ * 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.
206
+ *
207
+ * @method texturedPoly
208
+ * @param {Image} textureImage - The image object to draw.
209
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
210
+ * @param {Polygon} polygon - The polygon to use as clip path.
211
+ * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
212
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
213
+ * @param {XYCoords={x:0,y:0}} rotationCenter - (optional) The rotational center; default is center of bounding box.
214
+ * @return {void}
215
+ * @instance
216
+ * @memberof drawutils
217
+ **/
218
+ texturedPoly(textureImage, textureSize, polygon, polygonPosition, rotation) {
219
+ var basePolygonBounds = polygon.getBounds();
220
+ var targetCenterDifference = polygonPosition.clone().difference(basePolygonBounds.getCenter());
221
+ // var rotationalOffset = rotationCenter ? polygonPosition.difference(rotationCenter) : { x: 0, y: 0 };
222
+ // var rotationalOffset = { x: 0, y: 0 };
223
+ var tileCenter = basePolygonBounds.getCenter().sub(targetCenterDifference);
224
+ // Get the position offset of the polygon
225
+ var targetTextureSize = new Vertex(textureSize.width, textureSize.height);
226
+ // var targetTextureOffset = new Vertex(-textureSize.width / 2, -textureSize.height / 2).sub(targetCenterDifference);
227
+ var targetTextureOffset = new Vertex(textureSize.min.x, textureSize.min.y).sub(polygonPosition);
228
+ this.ctx.save();
229
+ // this.ctx.translate(this.offset.x + rotationCenter.x * this.scale.x, this.offset.y + rotationCenter.y * this.scale.y);
230
+ this.ctx.translate(this.offset.x + polygonPosition.x * this.scale.x, this.offset.y + polygonPosition.y * this.scale.y);
231
+ drawutils.helpers.clipPoly(this.ctx, {
232
+ x: -polygonPosition.x * this.scale.x,
233
+ y: -polygonPosition.y * this.scale.y
234
+ }, this.scale, polygon.vertices);
235
+ this.ctx.scale(this.scale.x, this.scale.y);
236
+ this.ctx.rotate(rotation);
237
+ this.ctx.drawImage(textureImage, 0, 0, textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
238
+ textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
239
+ targetTextureOffset.x, // * this.scale.x,
240
+ targetTextureOffset.y, // * this.scale.y,
241
+ targetTextureSize.x, // * this.scale.x,
242
+ targetTextureSize.y // * this.scale.y
243
+ );
244
+ this.ctx.restore();
245
+ }
246
+ _texturedPoly(textureImage, textureSize, polygon, polygonPosition, rotation, rotationCenter = { x: 0, y: 0 }) {
247
+ var basePolygonBounds = polygon.getBounds();
248
+ var targetCenterDifference = polygonPosition.clone().difference(basePolygonBounds.getCenter());
249
+ var rotationalOffset = rotationCenter ? polygonPosition.difference(rotationCenter) : { x: 0, y: 0 };
250
+ // var rotationalOffset = { x: 0, y: 0 };
251
+ var tileCenter = basePolygonBounds.getCenter().sub(targetCenterDifference);
252
+ // Get the position offset of the polygon
253
+ var targetTextureSize = new Vertex(textureSize.width, textureSize.height);
254
+ var targetTextureOffset = new Vertex(-textureSize.width / 2, -textureSize.height / 2).sub(targetCenterDifference);
255
+ this.ctx.save();
256
+ // this.ctx.translate(
257
+ // this.offset.x + (tileCenter.x - rotationalOffset.x * 0 + targetTextureOffset.x * 0.0) * this.scale.x,
258
+ // this.offset.y + (tileCenter.y - rotationalOffset.y * 0 + targetTextureOffset.y * 0.0) * this.scale.y
259
+ // );
260
+ this.ctx.translate(this.offset.x + (tileCenter.x - rotationalOffset.x * 0 + targetTextureOffset.x * 0.0) * this.scale.x, this.offset.y + (tileCenter.y - rotationalOffset.y * 0 + targetTextureOffset.y * 0.0) * this.scale.y);
261
+ this.ctx.rotate(rotation);
262
+ drawutils.helpers.clipPoly(this.ctx, {
263
+ x: (-targetCenterDifference.x * 1 - tileCenter.x - rotationalOffset.x) * this.scale.x,
264
+ y: (-targetCenterDifference.y * 1 - tileCenter.y - rotationalOffset.y) * this.scale.y
265
+ }, this.scale, polygon.vertices);
266
+ this.ctx.drawImage(textureImage, 0, 0, textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
267
+ textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
268
+ (-polygonPosition.x + targetTextureOffset.x * 1 - rotationalOffset.x * 1) * this.scale.x, (-polygonPosition.y + targetTextureOffset.y * 1 - rotationalOffset.y * 1) * this.scale.y, targetTextureSize.x * this.scale.x, targetTextureSize.y * this.scale.y);
269
+ // const scaledTextureSize = new Bounds(
270
+ // new Vertex(
271
+ // -polygonPosition.x + targetTextureOffset.x - rotationalOffset.x,
272
+ // -polygonPosition.y + targetTextureOffset.y - rotationalOffset.y
273
+ // ).scaleXY(this.scale, rotationCenter),
274
+ // new Vertex(
275
+ // -polygonPosition.x + targetTextureOffset.x - rotationalOffset.x + targetTextureSize.x,
276
+ // -polygonPosition.y + targetTextureOffset.y - rotationalOffset.y + targetTextureSize.y
277
+ // ).scaleXY(this.scale, rotationCenter)
278
+ // );
279
+ // this.ctx.drawImage(
280
+ // textureImage,
281
+ // 0,
282
+ // 0,
283
+ // textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
284
+ // textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
285
+ // scaledTextureSize.min.x,
286
+ // scaledTextureSize.min.y,
287
+ // scaledTextureSize.width,
288
+ // scaledTextureSize.height
289
+ // );
290
+ this.ctx.restore();
291
+ }
199
292
  /**
200
293
  * Draw a rectangle.
201
294
  *
@@ -636,11 +729,12 @@ export class drawutils {
636
729
  * @param {XYCoords} center - The center of the crosshair.
637
730
  * @param {number} radius - The radius of the crosshair.
638
731
  * @param {string} color - The CSS color to draw the crosshair with.
732
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
639
733
  * @return {void}
640
734
  * @instance
641
735
  * @memberof drawutils
642
736
  */
643
- crosshair(center, radius, color) {
737
+ crosshair(center, radius, color, lineWidth) {
644
738
  this.ctx.save();
645
739
  this.ctx.beginPath();
646
740
  this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y);
@@ -648,7 +742,34 @@ export class drawutils {
648
742
  this.ctx.moveTo(this.offset.x + center.x * this.scale.x, this.offset.y + center.y * this.scale.y - radius);
649
743
  this.ctx.lineTo(this.offset.x + center.x * this.scale.x, this.offset.y + center.y * this.scale.y + radius);
650
744
  this.ctx.strokeStyle = color;
651
- this.ctx.lineWidth = 0.5;
745
+ this.ctx.lineWidth = lineWidth || 0.5;
746
+ this.ctx.stroke();
747
+ this.ctx.closePath();
748
+ this.ctx.restore();
749
+ }
750
+ /**
751
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
752
+ * <br>
753
+ * Note that the x's radius will not be affected by scaling.
754
+ *
755
+ * @method crosshair
756
+ * @param {XYCoords} center - The center of the crosshair.
757
+ * @param {number} radius - The radius of the crosshair.
758
+ * @param {string} color - The CSS color to draw the crosshair with.
759
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
760
+ * @return {void}
761
+ * @instance
762
+ * @memberof drawutils
763
+ */
764
+ cross(center, radius, color, lineWidth) {
765
+ this.ctx.save();
766
+ this.ctx.beginPath();
767
+ this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y - radius);
768
+ this.ctx.lineTo(this.offset.x + center.x * this.scale.x + radius, this.offset.y + center.y * this.scale.y + radius);
769
+ this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y + radius);
770
+ this.ctx.lineTo(this.offset.x + center.x * this.scale.x + radius, this.offset.y + center.y * this.scale.y - radius);
771
+ this.ctx.strokeStyle = color;
772
+ this.ctx.lineWidth = lineWidth || 1.0;
652
773
  this.ctx.stroke();
653
774
  this.ctx.closePath();
654
775
  this.ctx.restore();
@@ -826,4 +947,19 @@ export class drawutils {
826
947
  this.ctx.fillRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);
827
948
  }
828
949
  }
950
+ drawutils.helpers = {
951
+ // A helper function to define the clipping path.
952
+ // This could be a candidate for the draw library.
953
+ clipPoly: (ctx, offset, scale, vertices) => {
954
+ ctx.beginPath();
955
+ // Set clip mask
956
+ ctx.moveTo(offset.x + vertices[0].x * scale.x, offset.y + vertices[0].y * scale.y);
957
+ for (var i = 1; i < vertices.length; i++) {
958
+ const vert = vertices[i];
959
+ ctx.lineTo(offset.x + vert.x * scale.x, offset.y + vert.y * scale.y);
960
+ }
961
+ ctx.closePath();
962
+ ctx.clip();
963
+ }
964
+ };
829
965
  //# sourceMappingURL=draw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw.js","sourceRoot":"","sources":["../ts/draw.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draw.js","sourceRoot":"","sources":["../ts/draw.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,15 @@
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
- * @version 0.0.5
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
+ * @version 0.0.7
10
13
  **/
11
14
  import { Polygon } from "./Polygon";
12
15
  import { Vertex } from "./Vertex";
13
16
  import { DrawLib, XYCoords, SVGPathParams, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
17
+ import { Bounds } from "./Bounds";
14
18
  /**
15
19
  * @classdesc A wrapper class for basic drawing operations. This is the WebGL
16
20
  * implementation whih sould work with shaders.
@@ -132,6 +136,22 @@ export declare class drawutilsgl implements DrawLib<void> {
132
136
  * @memberof drawutils
133
137
  **/
134
138
  image(image: HTMLImageElement, position: Vertex, size: Vertex): void;
139
+ /**
140
+ * Draw an image at the given position with the given size.<br>
141
+ * <br>
142
+ * 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.
143
+ *
144
+ * @method texturedPoly
145
+ * @param {Image} textureImage - The image object to draw.
146
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
147
+ * @param {Polygon} polygon - The polygon to use as clip path.
148
+ * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
149
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
150
+ * @return {void}
151
+ * @instance
152
+ * @memberof drawutilsgl
153
+ **/
154
+ texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): void;
135
155
  _fillOrDraw(color: string): void;
136
156
  /**
137
157
  * Draw the given (cubic) bézier curve.
@@ -368,11 +388,27 @@ export declare class drawutilsgl implements DrawLib<void> {
368
388
  * @param {XYCoords} center - The center of the crosshair.
369
389
  * @param {number} radius - The radius of the crosshair.
370
390
  * @param {string} color - The CSS color to draw the crosshair with.
391
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
392
+ * @return {void}
393
+ * @instance
394
+ * @memberof drawutils
395
+ */
396
+ crosshair(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
397
+ /**
398
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
399
+ * <br>
400
+ * Note that the x's radius will not be affected by scaling.
401
+ *
402
+ * @method crosshair
403
+ * @param {XYCoords} center - The center of the crosshair.
404
+ * @param {number} radius - The radius of the crosshair.
405
+ * @param {string} color - The CSS color to draw the crosshair with.
406
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
371
407
  * @return {void}
372
408
  * @instance
373
409
  * @memberof drawutils
374
410
  */
375
- crosshair(center: XYCoords, radius: number, color: string): void;
411
+ cross(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
376
412
  /**
377
413
  * Draw a polygon.
378
414
  *
package/src/esm/drawgl.js CHANGED
@@ -6,7 +6,10 @@
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
- * @version 0.0.5
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
+ * @version 0.0.7
10
13
  **/
11
14
  import { Vertex } from "./Vertex";
12
15
  /**
@@ -204,6 +207,24 @@ export class drawutilsgl {
204
207
  image(image, position, size) {
205
208
  // NOT YET IMPLEMENTED
206
209
  }
210
+ /**
211
+ * Draw an image at the given position with the given size.<br>
212
+ * <br>
213
+ * 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.
214
+ *
215
+ * @method texturedPoly
216
+ * @param {Image} textureImage - The image object to draw.
217
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
218
+ * @param {Polygon} polygon - The polygon to use as clip path.
219
+ * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
220
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
221
+ * @return {void}
222
+ * @instance
223
+ * @memberof drawutilsgl
224
+ **/
225
+ texturedPoly(textureImage, textureSize, polygon, polygonPosition, rotation) {
226
+ // NOT YET IMPLEMENTED
227
+ }
207
228
  // +---------------------------------------------------------------------------------
208
229
  // | This is the final helper function for drawing and filling stuff. It is not
209
230
  // | intended to be used from the outside.
@@ -485,11 +506,29 @@ export class drawutilsgl {
485
506
  * @param {XYCoords} center - The center of the crosshair.
486
507
  * @param {number} radius - The radius of the crosshair.
487
508
  * @param {string} color - The CSS color to draw the crosshair with.
509
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
510
+ * @return {void}
511
+ * @instance
512
+ * @memberof drawutils
513
+ */
514
+ crosshair(center, radius, color, lineWidth) {
515
+ // NOT YET IMPLEMENTED
516
+ }
517
+ /**
518
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
519
+ * <br>
520
+ * Note that the x's radius will not be affected by scaling.
521
+ *
522
+ * @method crosshair
523
+ * @param {XYCoords} center - The center of the crosshair.
524
+ * @param {number} radius - The radius of the crosshair.
525
+ * @param {string} color - The CSS color to draw the crosshair with.
526
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
488
527
  * @return {void}
489
528
  * @instance
490
529
  * @memberof drawutils
491
530
  */
492
- crosshair(center, radius, color) {
531
+ cross(center, radius, color, lineWidth) {
493
532
  // NOT YET IMPLEMENTED
494
533
  }
495
534
  /**
@@ -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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"}