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.
Files changed (237) hide show
  1. package/README.md +1 -0
  2. package/changelog.md +65 -0
  3. package/dist/index.esm.js +760 -667
  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 +765 -571
  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 +33 -1
  16. package/src/cjs/Bounds.js +38 -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.d.ts +3 -1
  42. package/src/cjs/PlotBoilerplate.js +9 -2
  43. package/src/cjs/PlotBoilerplate.js.map +1 -1
  44. package/src/cjs/Polygon.d.ts +23 -14
  45. package/src/cjs/Polygon.js +22 -35
  46. package/src/cjs/Polygon.js.map +1 -1
  47. package/src/cjs/Triangle.d.ts +15 -13
  48. package/src/cjs/Triangle.js +23 -64
  49. package/src/cjs/Triangle.js.map +1 -1
  50. package/src/cjs/VEllipse.d.ts +14 -9
  51. package/src/cjs/VEllipse.js +10 -18
  52. package/src/cjs/VEllipse.js.map +1 -1
  53. package/src/cjs/VEllipseSector.d.ts +15 -1
  54. package/src/cjs/VEllipseSector.js +11 -1
  55. package/src/cjs/VEllipseSector.js.map +1 -1
  56. package/src/cjs/Vector.d.ts +3 -15
  57. package/src/cjs/Vector.js +9 -49
  58. package/src/cjs/Vector.js.map +1 -1
  59. package/src/cjs/VertTuple.d.ts +15 -1
  60. package/src/cjs/VertTuple.js +14 -19
  61. package/src/cjs/VertTuple.js.map +1 -1
  62. package/src/cjs/Vertex.d.ts +23 -13
  63. package/src/cjs/Vertex.js +24 -22
  64. package/src/cjs/Vertex.js.map +1 -1
  65. package/src/cjs/VertexListeners.d.ts +12 -8
  66. package/src/cjs/VertexListeners.js +18 -25
  67. package/src/cjs/VertexListeners.js.map +1 -1
  68. package/src/cjs/draw.d.ts +45 -3
  69. package/src/cjs/draw.js +149 -6
  70. package/src/cjs/draw.js.map +1 -1
  71. package/src/cjs/drawgl.d.ts +41 -3
  72. package/src/cjs/drawgl.js +45 -3
  73. package/src/cjs/drawgl.js.map +1 -1
  74. package/src/cjs/drawutilssvg.d.ts +69 -4
  75. package/src/cjs/drawutilssvg.js +147 -16
  76. package/src/cjs/drawutilssvg.js.map +1 -1
  77. package/src/cjs/index.d.ts +0 -1
  78. package/src/cjs/index.js +0 -1
  79. package/src/cjs/index.js.map +1 -1
  80. package/src/cjs/interfaces/DrawLib.d.ts +64 -27
  81. package/src/cjs/interfaces/DrawLib.js +3 -0
  82. package/src/cjs/interfaces/DrawLib.js.map +1 -1
  83. package/src/cjs/interfaces/core.d.ts +2 -12
  84. package/src/cjs/interfaces/core.js +1 -0
  85. package/src/cjs/interfaces/core.js.map +1 -1
  86. package/src/cjs/module.d.ts +1 -3
  87. package/src/cjs/module.js +2 -5
  88. package/src/cjs/module.js.map +1 -1
  89. package/src/cjs/utils/creategui.js +16 -2
  90. package/src/cjs/utils/datastructures/Color.d.ts +3 -1
  91. package/src/cjs/utils/datastructures/Color.js +17 -6
  92. package/src/cjs/utils/datastructures/Color.js.map +1 -1
  93. package/src/cjs/utils/datastructures/Girih.d.ts +5 -0
  94. package/src/cjs/utils/datastructures/Girih.js +18 -14
  95. package/src/cjs/utils/datastructures/Girih.js.map +1 -1
  96. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js +42 -25
  97. package/src/cjs/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  98. package/src/cjs/utils/datastructures/GirihTile.js +2 -13
  99. package/src/cjs/utils/datastructures/GirihTile.js.map +1 -1
  100. package/src/cjs/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  101. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js +50 -32
  102. package/src/cjs/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  103. package/src/cjs/utils/io/DndFileHandler.d.ts +63 -0
  104. package/src/cjs/utils/io/DndFileHandler.js +112 -0
  105. package/src/cjs/utils/io/DndFileHandler.js.map +1 -0
  106. package/src/cjs/utils/io/FileDrop.d.ts +98 -0
  107. package/src/cjs/utils/io/FileDrop.js +142 -0
  108. package/src/cjs/utils/io/FileDrop.js.map +1 -0
  109. package/src/esm/BezierPath.d.ts +32 -14
  110. package/src/esm/BezierPath.js +65 -24
  111. package/src/esm/BezierPath.js.map +1 -1
  112. package/src/esm/Bounds.d.ts +33 -1
  113. package/src/esm/Bounds.js +38 -1
  114. package/src/esm/Bounds.js.map +1 -1
  115. package/src/esm/Circle.d.ts +15 -13
  116. package/src/esm/Circle.js +16 -34
  117. package/src/esm/Circle.js.map +1 -1
  118. package/src/esm/CircleSector.d.ts +17 -16
  119. package/src/esm/CircleSector.js +12 -24
  120. package/src/esm/CircleSector.js.map +1 -1
  121. package/src/esm/CubicBezierCurve.d.ts +16 -15
  122. package/src/esm/CubicBezierCurve.js +57 -94
  123. package/src/esm/CubicBezierCurve.js.map +1 -1
  124. package/src/esm/KeyHandler.d.ts +10 -3
  125. package/src/esm/KeyHandler.js +28 -23
  126. package/src/esm/KeyHandler.js.map +1 -1
  127. package/src/esm/Line.d.ts +2 -15
  128. package/src/esm/Line.js +6 -31
  129. package/src/esm/Line.js.map +1 -1
  130. package/src/esm/MouseHandler.js +43 -53
  131. package/src/esm/MouseHandler.js.map +1 -1
  132. package/src/esm/PBImage.d.ts +15 -13
  133. package/src/esm/PBImage.js +11 -15
  134. package/src/esm/PBImage.js.map +1 -1
  135. package/src/esm/PBText.d.ts +13 -12
  136. package/src/esm/PBText.js +8 -12
  137. package/src/esm/PBText.js.map +1 -1
  138. package/src/esm/PlotBoilerplate.d.ts +3 -1
  139. package/src/esm/PlotBoilerplate.js +9 -2
  140. package/src/esm/PlotBoilerplate.js.map +1 -1
  141. package/src/esm/Polygon.d.ts +23 -14
  142. package/src/esm/Polygon.js +22 -35
  143. package/src/esm/Polygon.js.map +1 -1
  144. package/src/esm/Triangle.d.ts +15 -13
  145. package/src/esm/Triangle.js +23 -64
  146. package/src/esm/Triangle.js.map +1 -1
  147. package/src/esm/VEllipse.d.ts +14 -9
  148. package/src/esm/VEllipse.js +10 -18
  149. package/src/esm/VEllipse.js.map +1 -1
  150. package/src/esm/VEllipseSector.d.ts +15 -1
  151. package/src/esm/VEllipseSector.js +11 -1
  152. package/src/esm/VEllipseSector.js.map +1 -1
  153. package/src/esm/Vector.d.ts +3 -15
  154. package/src/esm/Vector.js +9 -49
  155. package/src/esm/Vector.js.map +1 -1
  156. package/src/esm/VertTuple.d.ts +15 -1
  157. package/src/esm/VertTuple.js +14 -19
  158. package/src/esm/VertTuple.js.map +1 -1
  159. package/src/esm/Vertex.d.ts +23 -13
  160. package/src/esm/Vertex.js +24 -22
  161. package/src/esm/Vertex.js.map +1 -1
  162. package/src/esm/VertexListeners.d.ts +12 -8
  163. package/src/esm/VertexListeners.js +18 -25
  164. package/src/esm/VertexListeners.js.map +1 -1
  165. package/src/esm/draw.d.ts +45 -3
  166. package/src/esm/draw.js +147 -6
  167. package/src/esm/draw.js.map +1 -1
  168. package/src/esm/drawgl.d.ts +41 -3
  169. package/src/esm/drawgl.js +44 -3
  170. package/src/esm/drawgl.js.map +1 -1
  171. package/src/esm/drawutilssvg.d.ts +69 -4
  172. package/src/esm/drawutilssvg.js +146 -16
  173. package/src/esm/drawutilssvg.js.map +1 -1
  174. package/src/esm/index.d.ts +0 -1
  175. package/src/esm/index.js +0 -1
  176. package/src/esm/index.js.map +1 -1
  177. package/src/esm/interfaces/DrawLib.d.ts +64 -27
  178. package/src/esm/interfaces/DrawLib.js +3 -0
  179. package/src/esm/interfaces/DrawLib.js.map +1 -1
  180. package/src/esm/interfaces/core.d.ts +2 -12
  181. package/src/esm/interfaces/core.js +1 -0
  182. package/src/esm/interfaces/core.js.map +1 -1
  183. package/src/esm/module.d.ts +1 -3
  184. package/src/esm/module.js +5 -4
  185. package/src/esm/module.js.map +1 -1
  186. package/src/esm/utils/datastructures/Color.d.ts +3 -1
  187. package/src/esm/utils/datastructures/Color.js +17 -6
  188. package/src/esm/utils/datastructures/Color.js.map +1 -1
  189. package/src/esm/utils/datastructures/Girih.d.ts +5 -0
  190. package/src/esm/utils/datastructures/Girih.js +18 -14
  191. package/src/esm/utils/datastructures/Girih.js.map +1 -1
  192. package/src/esm/utils/datastructures/GirihPenroseRhombus.js +42 -25
  193. package/src/esm/utils/datastructures/GirihPenroseRhombus.js.map +1 -1
  194. package/src/esm/utils/datastructures/GirihTile.js +2 -13
  195. package/src/esm/utils/datastructures/GirihTile.js.map +1 -1
  196. package/src/esm/utils/helpers/BezierPathInteractionHelper.d.ts +17 -1
  197. package/src/esm/utils/helpers/BezierPathInteractionHelper.js +49 -32
  198. package/src/esm/utils/helpers/BezierPathInteractionHelper.js.map +1 -1
  199. package/src/esm/utils/io/DndFileHandler.d.ts +63 -0
  200. package/src/esm/utils/io/DndFileHandler.js +106 -0
  201. package/src/esm/utils/io/DndFileHandler.js.map +1 -0
  202. package/src/esm/utils/io/FileDrop.d.ts +98 -0
  203. package/src/esm/utils/io/FileDrop.js +136 -0
  204. package/src/esm/utils/io/FileDrop.js.map +1 -0
  205. package/src/ts/BezierPath.ts +78 -22
  206. package/src/ts/Bounds.ts +40 -1
  207. package/src/ts/Circle.ts +187 -200
  208. package/src/ts/CircleSector.ts +141 -141
  209. package/src/ts/CubicBezierCurve.ts +738 -810
  210. package/src/ts/KeyHandler.ts +221 -212
  211. package/src/ts/Line.ts +48 -80
  212. package/src/ts/MouseHandler.ts +356 -368
  213. package/src/ts/PBImage.ts +67 -69
  214. package/src/ts/PBText.ts +16 -14
  215. package/src/ts/PlotBoilerplate.ts +9 -2
  216. package/src/ts/Polygon.ts +34 -34
  217. package/src/ts/Triangle.ts +444 -489
  218. package/src/ts/VEllipse.ts +18 -17
  219. package/src/ts/VEllipseSector.ts +20 -1
  220. package/src/ts/Vector.ts +124 -160
  221. package/src/ts/VertTuple.ts +333 -338
  222. package/src/ts/Vertex.ts +35 -21
  223. package/src/ts/VertexListeners.ts +248 -266
  224. package/src/ts/draw.ts +201 -6
  225. package/src/ts/drawgl.ts +47 -3
  226. package/src/ts/drawutilssvg.ts +187 -16
  227. package/src/ts/index.ts +0 -1
  228. package/src/ts/interfaces/DrawLib.ts +72 -27
  229. package/src/ts/interfaces/core.ts +3 -13
  230. package/src/ts/module.ts +2 -4
  231. package/src/ts/utils/datastructures/Color.ts +17 -6
  232. package/src/ts/utils/datastructures/Girih.ts +204 -209
  233. package/src/ts/utils/datastructures/GirihPenroseRhombus.ts +170 -152
  234. package/src/ts/utils/datastructures/GirihTile.ts +394 -419
  235. package/src/ts/utils/helpers/BezierPathInteractionHelper.ts +56 -34
  236. package/src/ts/utils/io/FileDrop.ts +178 -0
  237. package/src/ts/SVGBuilder.ts +0 -109
@@ -1 +1 @@
1
- {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vertex.js","sourceRoot":"","sources":["../ts/Vertex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkCI;;;AAEJ,2CAAuD;AACvD,+CAA8C;AAC9C,qDAAoD;AAGpD;;;;;;;;;;;;;GAaG;AACH;IA8DE;;;;;;;QAOI;IACJ,gBAAY,CAAiC,EAAE,CAAsB;QAnErE;;YAEI;QACK,cAAS,GAAW,QAAQ,CAAC;QAiEpC,IAAI,CAAC,GAAG,GAAG,2BAAY,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,WAAW,EAAE;YAC3B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACZ;aAAM,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YACvD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACZ;aAAM;YACL,IAAM,KAAK,GAAG,CAAa,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC5D,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;aAClB;iBAAM;gBACL,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAChC,IAAI,OAAO,CAAC,IAAI,WAAW;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;oBACxC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBAClB,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAChC,IAAI,OAAO,CAAC,IAAI,WAAW;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;oBACxC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;aACnB;SACF;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,uBAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;QASI;IACJ,oBAAG,GAAH,UAAI,CAAoB,EAAE,CAAsB;QAC9C,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YAChD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACZ;aAAM;YACL,IAAM,KAAK,GAAG,CAAa,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC5D,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;aAClB;iBAAM;gBACL,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAChC,IAAI,OAAO,CAAC,IAAI,WAAW;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;oBACxC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;gBAClB,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;qBAChC,IAAI,OAAO,CAAC,IAAI,WAAW;oBAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;;oBACxC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;aACnB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,qBAAI,GAAJ,UAAK,CAAS;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,qBAAI,GAAJ,UAAK,CAAS;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,qBAAI,GAAJ;QACE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,qBAAI,GAAJ;QACE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,oBAAG,GAAH,UAAI,CAAoB,EAAE,CAAU;QAClC,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YAChD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;SACb;aAAM;YACL,IAAM,KAAK,GAAG,CAAa,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;aACnB;iBAAM;gBACL,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;;oBACjC,MAAM,gBAAc,OAAO,CAAC,6BAA0B,CAAC;gBAC5D,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;;oBACjC,MAAM,gBAAc,OAAO,CAAC,6BAA0B,CAAC;aAC7D;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;QASI;IACJ,sBAAK,GAAL,UAAM,OAAe,EAAE,OAAe;QACpC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,qBAAI,GAAJ,UAAK,OAAe;QAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;QAQI;IACJ,qBAAI,GAAJ,UAAK,OAAe;QAClB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;QAYI;IACJ,oBAAG,GAAH,UAAI,CAAoB,EAAE,CAAU;QAClC,IAAI,OAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,QAAQ,EAAE;YAChD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;SACb;aAAM;YACL,IAAM,KAAK,GAAG,CAAa,CAAC;YAC5B,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC5D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;aACnB;iBAAM;gBACL,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;;oBACjC,MAAM,gBAAc,OAAO,CAAC,6BAA0B,CAAC;gBAC5D,IAAI,OAAO,CAAC,IAAI,QAAQ;oBAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;;oBACjC,MAAM,gBAAc,OAAO,CAAC,6BAA0B,CAAC;aAC7D;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;QAUI;IACJ,uBAAM,GAAN,UAAO,MAAgB;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACvD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACvD,IAAI,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;QAOI;IACJ,sBAAK,GAAL;QACE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;QAQI;IACJ,yBAAQ,GAAR,UAAS,IAAc;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;QAQI;IACJ,sBAAK,GAAL,UAAM,MAAiB;QACrB,IAAM,CAAC,GACL,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrE,wBAAwB;QACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;QAUI;IACJ,2BAAU,GAAV,UAAW,IAAc;QACvB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;QAUI;IACJ,sBAAK,GAAL,UAAM,MAAc,EAAE,MAAiB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,qBAAI,GAAJ,UAAK,MAAgB,EAAE,CAAS;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,+DAA+D;QAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,wBAAO,GAAP,UAAQ,MAAgB,EAAE,CAAS;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;QAClD,+DAA+D;QAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;QAUI;IACJ,wBAAO,GAAP,UAAQ,OAAiB,EAAE,MAAiB;QAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC5C,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;QAUI;IACJ,uBAAM,GAAN,UAAO,KAAa,EAAE,MAA4B;QAChD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC5C,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc;QACpD,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;QAWI;IACJ,+BAAc,GAAd,UAAe,MAAc;QAC3B,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;QACjB,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,sBAAK,GAAL;QACE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,oBAAG,GAAH;QACE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;QAOI;IACJ,yBAAQ,GAAR;QACE,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,wBAAO,GAAP;QACE,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;QAKI;IACG,mBAAY,GAAnB,UAAoB,QAA0C;QAC5D,OAAO,IAAI,MAAM,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAClE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IA7hBuB,WAAI,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAiBhD;;;;;QAKI;IACY,cAAO,GAAG,MAAM,CAAC;IAwgB1B,YAAK,GAAG;QACb;;;;;;;;;;;;;;;;;;;;;;;;YAwBI;QACJ,0DAA0D;QAC1D,cAAc,EAAE,UAAC,EAAU,EAAE,EAAU,EAAE,OAAe,EAAE,MAAc,EAAE,MAAc;YACtF,yFAAyF;YACzF,IAAI,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;YAE/E,IAAI,QAAQ,GAAkB,EAAE,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChH,QAAQ,CAAC,IAAI,CACX,IAAI,MAAM,CACR,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAC9D,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAC/D,CACF,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACxD,QAAQ,CAAC,IAAI,CACX,IAAI,MAAM,CACR,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAC9D,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAC/D,CACF,CAAC;YAEF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED;;;;;WAKG;QACH,WAAW,EAAX,UAAY,QAAyB,EAAE,SAAkB;YACvD,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,CAAC,GAAG,CAAC,UAAU,IAAI;gBACzB,OAAO,OAAO,SAAS,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE;oBAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrF,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;KACF,CAAC;IACJ,aAAC;CAAA,AAlmBD,IAkmBC;AAlmBY,wBAAM"}
@@ -136,14 +136,14 @@ export declare class VertexListeners {
136
136
  * @param {Event} e - The (extended) drag event.
137
137
  */
138
138
  /**
139
- * Remove a drag listener.
140
- *
141
- * @method removeDragEndListener
142
- * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
143
- * @return {VertexListeners} this (for chaining)
144
- * @instance
145
- * @memberof VertexListeners
146
- **/
139
+ * Remove a drag listener.
140
+ *
141
+ * @method removeDragEndListener
142
+ * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
143
+ * @return {VertexListeners} this (for chaining)
144
+ * @instance
145
+ * @memberof VertexListeners
146
+ **/
147
147
  removeDragEndListener(listener: (e: VertEvent) => void): VertexListeners;
148
148
  /**
149
149
  * Fire a click event with the given event instance to all
@@ -189,6 +189,10 @@ export declare class VertexListeners {
189
189
  * @memberof VertexListeners
190
190
  **/
191
191
  fireDragEndEvent(e: VertEvent | XMouseEvent): void;
192
+ /**
193
+ * Removes all listeners from this listeners object.
194
+ */
195
+ removeAllListeners(): void;
192
196
  /**
193
197
  * @private
194
198
  **/
@@ -35,7 +35,6 @@ var VertexListeners = /** @class */ (function () {
35
35
  this.dragEnd = [];
36
36
  this.vertex = vertex;
37
37
  }
38
- ;
39
38
  /**
40
39
  * Add a click listener.
41
40
  *
@@ -49,7 +48,6 @@ var VertexListeners = /** @class */ (function () {
49
48
  VertexListeners._addListener(this.click, listener);
50
49
  return this;
51
50
  };
52
- ;
53
51
  /**
54
52
  * The click listener is a function with a single drag event param.
55
53
  * @callback VertexListeners~clickListener
@@ -68,7 +66,6 @@ var VertexListeners = /** @class */ (function () {
68
66
  this.click = VertexListeners._removeListener(this.click, listener);
69
67
  return this;
70
68
  };
71
- ;
72
69
  /**
73
70
  * The click listener is a function with a single drag event param.
74
71
  * @callback VertexListeners~clickListener
@@ -87,7 +84,6 @@ var VertexListeners = /** @class */ (function () {
87
84
  VertexListeners._addListener(this.drag, listener);
88
85
  return this;
89
86
  };
90
- ;
91
87
  /**
92
88
  * The drag listener is a function with a single drag event param.
93
89
  * @callback VertexListeners~dragListener
@@ -106,7 +102,6 @@ var VertexListeners = /** @class */ (function () {
106
102
  this.drag = VertexListeners._removeListener(this.drag, listener);
107
103
  return this;
108
104
  };
109
- ;
110
105
  /**
111
106
  * Add a dragStart listener.
112
107
  *
@@ -120,7 +115,6 @@ var VertexListeners = /** @class */ (function () {
120
115
  VertexListeners._addListener(this.dragStart, listener);
121
116
  return this;
122
117
  };
123
- ;
124
118
  /**
125
119
  * The drag-start listener is a function with a single drag event param.
126
120
  * @callback VertexListeners~dragStartListener
@@ -139,7 +133,6 @@ var VertexListeners = /** @class */ (function () {
139
133
  this.dragStart = VertexListeners._removeListener(this.dragStart, listener);
140
134
  return this;
141
135
  };
142
- ;
143
136
  /**
144
137
  * Add a dragEnd listener.
145
138
  *
@@ -154,27 +147,25 @@ var VertexListeners = /** @class */ (function () {
154
147
  VertexListeners._addListener(this.dragEnd, listener);
155
148
  return this;
156
149
  };
157
- ;
158
150
  /**
159
151
  * The drag-end listener is a function with a single drag event param.
160
152
  * @callback VertexListeners~dragEndListener
161
153
  * @param {Event} e - The (extended) drag event.
162
154
  */
163
155
  /**
164
- * Remove a drag listener.
165
- *
166
- * @method removeDragEndListener
167
- * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
168
- * @return {VertexListeners} this (for chaining)
169
- * @instance
170
- * @memberof VertexListeners
171
- **/
156
+ * Remove a drag listener.
157
+ *
158
+ * @method removeDragEndListener
159
+ * @param {VertexListeners~clickListener} listener - The drag listener to remove (a callback).
160
+ * @return {VertexListeners} this (for chaining)
161
+ * @instance
162
+ * @memberof VertexListeners
163
+ **/
172
164
  VertexListeners.prototype.removeDragEndListener = function (listener) {
173
165
  // this.drag.push( listener );
174
166
  this.dragEnd = VertexListeners._removeListener(this.dragEnd, listener);
175
167
  return this;
176
168
  };
177
- ;
178
169
  /**
179
170
  * Fire a click event with the given event instance to all
180
171
  * installed click listeners.
@@ -188,7 +179,6 @@ var VertexListeners = /** @class */ (function () {
188
179
  VertexListeners.prototype.fireClickEvent = function (e) {
189
180
  VertexListeners._fireEvent(this, this.click, e);
190
181
  };
191
- ;
192
182
  /**
193
183
  * Fire a drag event with the given event instance to all
194
184
  * installed drag listeners.
@@ -202,7 +192,6 @@ var VertexListeners = /** @class */ (function () {
202
192
  VertexListeners.prototype.fireDragEvent = function (e) {
203
193
  VertexListeners._fireEvent(this, this.drag, e);
204
194
  };
205
- ;
206
195
  /**
207
196
  * Fire a dragStart event with the given event instance to all
208
197
  * installed drag-start listeners.
@@ -216,7 +205,6 @@ var VertexListeners = /** @class */ (function () {
216
205
  VertexListeners.prototype.fireDragStartEvent = function (e) {
217
206
  VertexListeners._fireEvent(this, this.dragStart, e);
218
207
  };
219
- ;
220
208
  /**
221
209
  * Fire a dragEnd event with the given event instance to all
222
210
  * installed drag-end listeners.
@@ -230,13 +218,21 @@ var VertexListeners = /** @class */ (function () {
230
218
  VertexListeners.prototype.fireDragEndEvent = function (e) {
231
219
  VertexListeners._fireEvent(this, this.dragEnd, e);
232
220
  };
233
- ;
221
+ /**
222
+ * Removes all listeners from this listeners object.
223
+ */
224
+ VertexListeners.prototype.removeAllListeners = function () {
225
+ this.click = [];
226
+ this.drag = [];
227
+ this.dragStart = [];
228
+ this.dragEnd = [];
229
+ };
234
230
  /**
235
231
  * @private
236
232
  **/
237
233
  VertexListeners._fireEvent = function (_self, listeners, e) {
238
234
  var ve = e;
239
- if (typeof ve.params == 'undefined')
235
+ if (typeof ve.params == "undefined")
240
236
  ve.params = { vertex: _self.vertex };
241
237
  else
242
238
  ve.params.vertex = _self.vertex;
@@ -244,7 +240,6 @@ var VertexListeners = /** @class */ (function () {
244
240
  listeners[i](ve);
245
241
  }
246
242
  };
247
- ;
248
243
  /**
249
244
  * @private
250
245
  */
@@ -256,7 +251,6 @@ var VertexListeners = /** @class */ (function () {
256
251
  listeners.push(newListener);
257
252
  return true;
258
253
  };
259
- ;
260
254
  /**
261
255
  * @private
262
256
  */
@@ -267,7 +261,6 @@ var VertexListeners = /** @class */ (function () {
267
261
  }
268
262
  return listeners;
269
263
  };
270
- ;
271
264
  return VertexListeners;
272
265
  }());
273
266
  exports.VertexListeners = VertexListeners;
@@ -1 +1 @@
1
- {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VertexListeners.js","sourceRoot":"","sources":["../ts/VertexListeners.ts"],"names":[],"mappings":"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"}
package/src/cjs/draw.d.ts CHANGED
@@ -39,11 +39,17 @@
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
+ * @modified 2022-06-01 Tweaked the `polyline` function; lineWidth now scales with scale.x.
46
+ * @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
47
+ * @version 1.12.2
43
48
  **/
44
49
  import { Polygon } from "./Polygon";
45
50
  import { Vertex } from "./Vertex";
46
51
  import { DrawLib, SVGPathParams, XYCoords, UID, DrawLibConfiguration, FontStyle, FontWeight } from "./interfaces";
52
+ import { Bounds } from "./Bounds";
47
53
  /**
48
54
  * @classdesc A wrapper class for basic drawing operations.
49
55
  *
@@ -167,11 +173,30 @@ export declare class drawutils implements DrawLib<void> {
167
173
  * @param {Image} image - The image object to draw.
168
174
  * @param {Vertex} position - The position to draw the the upper left corner at.
169
175
  * @param {Vertex} size - The x/y-size to draw the image with.
176
+ * @param {number=0.0} alpha - (optional, default=0.0) The transparency (1.0=opaque, 0.0=transparent).
170
177
  * @return {void}
171
178
  * @instance
172
179
  * @memberof drawutils
173
180
  **/
174
- image(image: HTMLImageElement, position: Vertex, size: Vertex): void;
181
+ image(image: HTMLImageElement, position: Vertex, size: Vertex, alpha?: number): void;
182
+ /**
183
+ * Draw an image at the given position with the given size.<br>
184
+ * <br>
185
+ * 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.
186
+ *
187
+ * @method texturedPoly
188
+ * @param {Image} textureImage - The image object to draw.
189
+ * @param {Bounds} textureSize - The texture size to use; these are the original bounds to map the polygon vertices to.
190
+ * @param {Polygon} polygon - The polygon to use as clip path.
191
+ * @param {Vertex} polygonPosition - The polygon's position (relative), measured at the bounding box's center.
192
+ * @param {number} rotation - The rotation to use for the polygon (and for the texture).
193
+ * @param {XYCoords={x:0,y:0}} rotationCenter - (optional) The rotational center; default is center of bounding box.
194
+ * @return {void}
195
+ * @instance
196
+ * @memberof drawutils
197
+ **/
198
+ texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number): void;
199
+ _texturedPoly(textureImage: HTMLImageElement, textureSize: Bounds, polygon: Polygon, polygonPosition: Vertex, rotation: number, rotationCenter?: XYCoords): void;
175
200
  /**
176
201
  * Draw a rectangle.
177
202
  *
@@ -426,11 +451,27 @@ export declare class drawutils implements DrawLib<void> {
426
451
  * @param {XYCoords} center - The center of the crosshair.
427
452
  * @param {number} radius - The radius of the crosshair.
428
453
  * @param {string} color - The CSS color to draw the crosshair with.
454
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
455
+ * @return {void}
456
+ * @instance
457
+ * @memberof drawutils
458
+ */
459
+ crosshair(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
460
+ /**
461
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
462
+ * <br>
463
+ * Note that the x's radius will not be affected by scaling.
464
+ *
465
+ * @method crosshair
466
+ * @param {XYCoords} center - The center of the crosshair.
467
+ * @param {number} radius - The radius of the crosshair.
468
+ * @param {string} color - The CSS color to draw the crosshair with.
469
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
429
470
  * @return {void}
430
471
  * @instance
431
472
  * @memberof drawutils
432
473
  */
433
- crosshair(center: XYCoords, radius: number, color: string): void;
474
+ cross(center: XYCoords, radius: number, color: string, lineWidth?: number): void;
434
475
  /**
435
476
  * Draw a polygon.
436
477
  *
@@ -526,4 +567,5 @@ export declare class drawutils implements DrawLib<void> {
526
567
  * @param {string} color - The color to clear with.
527
568
  **/
528
569
  clear(color: string): void;
570
+ private static helpers;
529
571
  }
package/src/cjs/draw.js CHANGED
@@ -40,7 +40,12 @@
40
40
  * @modified 2021-05-31 Added the `setConfiguration` function from `DrawLib`.
41
41
  * @modified 2021-11-12 Adding more parameters tot the `text()` function: fontSize, textAlign, fontFamily, lineHeight.
42
42
  * @modified 2021-11-19 Added the `color` param to the `label(...)` function.
43
- * @version 1.10.0
43
+ * @modified 2022-02-03 Added the `lineWidth` param to the `crosshair` function.
44
+ * @modified 2022-02-03 Added the `cross(...)` function.
45
+ * @modified 2022-03-27 Added the `texturedPoly` function.
46
+ * @modified 2022-06-01 Tweaked the `polyline` function; lineWidth now scales with scale.x.
47
+ * @modified 2022-07-26 Adding `alpha` to the `image(...)` function.
48
+ * @version 1.12.2
44
49
  **/
45
50
  Object.defineProperty(exports, "__esModule", { value: true });
46
51
  exports.drawutils = void 0;
@@ -182,16 +187,19 @@ var drawutils = /** @class */ (function () {
182
187
  * @param {Image} image - The image object to draw.
183
188
  * @param {Vertex} position - The position to draw the the upper left corner at.
184
189
  * @param {Vertex} size - The x/y-size to draw the image with.
190
+ * @param {number=0.0} alpha - (optional, default=0.0) The transparency (1.0=opaque, 0.0=transparent).
185
191
  * @return {void}
186
192
  * @instance
187
193
  * @memberof drawutils
188
194
  **/
189
- drawutils.prototype.image = function (image, position, size) {
195
+ drawutils.prototype.image = function (image, position, size, alpha) {
196
+ if (alpha === void 0) { alpha = 1.0; }
190
197
  if (!image.complete || !image.naturalWidth) {
191
198
  // Avoid drawing un-unloaded or broken images
192
199
  return;
193
200
  }
194
201
  this.ctx.save();
202
+ this.ctx.globalAlpha = alpha;
195
203
  // Note that there is a Safari bug with the 3 or 5 params variant.
196
204
  // Only the 9-param varaint works.
197
205
  this.ctx.drawImage(image, 0, 0, image.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
@@ -199,6 +207,97 @@ var drawutils = /** @class */ (function () {
199
207
  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);
200
208
  this.ctx.restore();
201
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
+ * @param {XYCoords={x:0,y:0}} rotationCenter - (optional) The rotational center; default is center of bounding box.
222
+ * @return {void}
223
+ * @instance
224
+ * @memberof drawutils
225
+ **/
226
+ drawutils.prototype.texturedPoly = function (textureImage, textureSize, polygon, polygonPosition, rotation) {
227
+ var basePolygonBounds = polygon.getBounds();
228
+ var targetCenterDifference = polygonPosition.clone().difference(basePolygonBounds.getCenter());
229
+ // var rotationalOffset = rotationCenter ? polygonPosition.difference(rotationCenter) : { x: 0, y: 0 };
230
+ // var rotationalOffset = { x: 0, y: 0 };
231
+ var tileCenter = basePolygonBounds.getCenter().sub(targetCenterDifference);
232
+ // Get the position offset of the polygon
233
+ var targetTextureSize = new Vertex_1.Vertex(textureSize.width, textureSize.height);
234
+ // var targetTextureOffset = new Vertex(-textureSize.width / 2, -textureSize.height / 2).sub(targetCenterDifference);
235
+ var targetTextureOffset = new Vertex_1.Vertex(textureSize.min.x, textureSize.min.y).sub(polygonPosition);
236
+ this.ctx.save();
237
+ // this.ctx.translate(this.offset.x + rotationCenter.x * this.scale.x, this.offset.y + rotationCenter.y * this.scale.y);
238
+ this.ctx.translate(this.offset.x + polygonPosition.x * this.scale.x, this.offset.y + polygonPosition.y * this.scale.y);
239
+ drawutils.helpers.clipPoly(this.ctx, {
240
+ x: -polygonPosition.x * this.scale.x,
241
+ y: -polygonPosition.y * this.scale.y
242
+ }, this.scale, polygon.vertices);
243
+ this.ctx.scale(this.scale.x, this.scale.y);
244
+ this.ctx.rotate(rotation);
245
+ this.ctx.drawImage(textureImage, 0, 0, textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
246
+ textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
247
+ targetTextureOffset.x, // * this.scale.x,
248
+ targetTextureOffset.y, // * this.scale.y,
249
+ targetTextureSize.x, // * this.scale.x,
250
+ targetTextureSize.y // * this.scale.y
251
+ );
252
+ this.ctx.restore();
253
+ };
254
+ drawutils.prototype._texturedPoly = function (textureImage, textureSize, polygon, polygonPosition, rotation, rotationCenter) {
255
+ if (rotationCenter === void 0) { rotationCenter = { x: 0, y: 0 }; }
256
+ var basePolygonBounds = polygon.getBounds();
257
+ var targetCenterDifference = polygonPosition.clone().difference(basePolygonBounds.getCenter());
258
+ var rotationalOffset = rotationCenter ? polygonPosition.difference(rotationCenter) : { x: 0, y: 0 };
259
+ // var rotationalOffset = { x: 0, y: 0 };
260
+ var tileCenter = basePolygonBounds.getCenter().sub(targetCenterDifference);
261
+ // Get the position offset of the polygon
262
+ var targetTextureSize = new Vertex_1.Vertex(textureSize.width, textureSize.height);
263
+ var targetTextureOffset = new Vertex_1.Vertex(-textureSize.width / 2, -textureSize.height / 2).sub(targetCenterDifference);
264
+ this.ctx.save();
265
+ // this.ctx.translate(
266
+ // this.offset.x + (tileCenter.x - rotationalOffset.x * 0 + targetTextureOffset.x * 0.0) * this.scale.x,
267
+ // this.offset.y + (tileCenter.y - rotationalOffset.y * 0 + targetTextureOffset.y * 0.0) * this.scale.y
268
+ // );
269
+ 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);
270
+ this.ctx.rotate(rotation);
271
+ drawutils.helpers.clipPoly(this.ctx, {
272
+ x: (-targetCenterDifference.x * 1 - tileCenter.x - rotationalOffset.x) * this.scale.x,
273
+ y: (-targetCenterDifference.y * 1 - tileCenter.y - rotationalOffset.y) * this.scale.y
274
+ }, this.scale, polygon.vertices);
275
+ this.ctx.drawImage(textureImage, 0, 0, textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
276
+ textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
277
+ (-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);
278
+ // const scaledTextureSize = new Bounds(
279
+ // new Vertex(
280
+ // -polygonPosition.x + targetTextureOffset.x - rotationalOffset.x,
281
+ // -polygonPosition.y + targetTextureOffset.y - rotationalOffset.y
282
+ // ).scaleXY(this.scale, rotationCenter),
283
+ // new Vertex(
284
+ // -polygonPosition.x + targetTextureOffset.x - rotationalOffset.x + targetTextureSize.x,
285
+ // -polygonPosition.y + targetTextureOffset.y - rotationalOffset.y + targetTextureSize.y
286
+ // ).scaleXY(this.scale, rotationCenter)
287
+ // );
288
+ // this.ctx.drawImage(
289
+ // textureImage,
290
+ // 0,
291
+ // 0,
292
+ // textureImage.naturalWidth - 1, // There is this horrible Safari bug (fixed in newer versions)
293
+ // textureImage.naturalHeight - 1, // To avoid errors substract 1 here.
294
+ // scaledTextureSize.min.x,
295
+ // scaledTextureSize.min.y,
296
+ // scaledTextureSize.width,
297
+ // scaledTextureSize.height
298
+ // );
299
+ this.ctx.restore();
300
+ };
202
301
  /**
203
302
  * Draw a rectangle.
204
303
  *
@@ -639,11 +738,12 @@ var drawutils = /** @class */ (function () {
639
738
  * @param {XYCoords} center - The center of the crosshair.
640
739
  * @param {number} radius - The radius of the crosshair.
641
740
  * @param {string} color - The CSS color to draw the crosshair with.
741
+ * @param {number=0.5} lineWidth - (optional, default=0.5) The line width to use.
642
742
  * @return {void}
643
743
  * @instance
644
744
  * @memberof drawutils
645
745
  */
646
- drawutils.prototype.crosshair = function (center, radius, color) {
746
+ drawutils.prototype.crosshair = function (center, radius, color, lineWidth) {
647
747
  this.ctx.save();
648
748
  this.ctx.beginPath();
649
749
  this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y);
@@ -651,7 +751,34 @@ var drawutils = /** @class */ (function () {
651
751
  this.ctx.moveTo(this.offset.x + center.x * this.scale.x, this.offset.y + center.y * this.scale.y - radius);
652
752
  this.ctx.lineTo(this.offset.x + center.x * this.scale.x, this.offset.y + center.y * this.scale.y + radius);
653
753
  this.ctx.strokeStyle = color;
654
- this.ctx.lineWidth = 0.5;
754
+ this.ctx.lineWidth = lineWidth || 0.5;
755
+ this.ctx.stroke();
756
+ this.ctx.closePath();
757
+ this.ctx.restore();
758
+ };
759
+ /**
760
+ * Draw a cross with diagonal axes with given radius, color and lineWidth at the given position.<br>
761
+ * <br>
762
+ * Note that the x's radius will not be affected by scaling.
763
+ *
764
+ * @method crosshair
765
+ * @param {XYCoords} center - The center of the crosshair.
766
+ * @param {number} radius - The radius of the crosshair.
767
+ * @param {string} color - The CSS color to draw the crosshair with.
768
+ * @param {number=1} lineWidth - (optional, default=1.0) The line width to use.
769
+ * @return {void}
770
+ * @instance
771
+ * @memberof drawutils
772
+ */
773
+ drawutils.prototype.cross = function (center, radius, color, lineWidth) {
774
+ this.ctx.save();
775
+ this.ctx.beginPath();
776
+ this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y - radius);
777
+ this.ctx.lineTo(this.offset.x + center.x * this.scale.x + radius, this.offset.y + center.y * this.scale.y + radius);
778
+ this.ctx.moveTo(this.offset.x + center.x * this.scale.x - radius, this.offset.y + center.y * this.scale.y + radius);
779
+ this.ctx.lineTo(this.offset.x + center.x * this.scale.x + radius, this.offset.y + center.y * this.scale.y - radius);
780
+ this.ctx.strokeStyle = color;
781
+ this.ctx.lineWidth = lineWidth || 1.0;
655
782
  this.ctx.stroke();
656
783
  this.ctx.closePath();
657
784
  this.ctx.restore();
@@ -683,11 +810,12 @@ var drawutils = /** @class */ (function () {
683
810
  * @memberof drawutils
684
811
  */
685
812
  drawutils.prototype.polyline = function (vertices, isOpen, color, lineWidth) {
686
- if (vertices.length <= 1)
813
+ if (vertices.length <= 1) {
687
814
  return;
815
+ }
688
816
  this.ctx.save();
689
817
  this.ctx.beginPath();
690
- this.ctx.lineWidth = lineWidth || 1.0;
818
+ this.ctx.lineWidth = lineWidth * this.scale.x || 1.0;
691
819
  this.ctx.moveTo(this.offset.x + vertices[0].x * this.scale.x, this.offset.y + vertices[0].y * this.scale.y);
692
820
  for (var i = 0; i < vertices.length; i++) {
693
821
  this.ctx.lineTo(this.offset.x + vertices[i].x * this.scale.x, this.offset.y + vertices[i].y * this.scale.y);
@@ -828,6 +956,21 @@ var drawutils = /** @class */ (function () {
828
956
  this.ctx.fillStyle = color;
829
957
  this.ctx.fillRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);
830
958
  };
959
+ drawutils.helpers = {
960
+ // A helper function to define the clipping path.
961
+ // This could be a candidate for the draw library.
962
+ clipPoly: function (ctx, offset, scale, vertices) {
963
+ ctx.beginPath();
964
+ // Set clip mask
965
+ ctx.moveTo(offset.x + vertices[0].x * scale.x, offset.y + vertices[0].y * scale.y);
966
+ for (var i = 1; i < vertices.length; i++) {
967
+ var vert = vertices[i];
968
+ ctx.lineTo(offset.x + vert.x * scale.x, offset.y + vert.y * scale.y);
969
+ }
970
+ ctx.closePath();
971
+ ctx.clip();
972
+ }
973
+ };
831
974
  return drawutils;
832
975
  }());
833
976
  exports.drawutils = drawutils;