@visactor/vrender-core 0.21.0-alpha.4 → 0.21.0-alpha.5

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 (206) hide show
  1. package/cjs/animate/Ticker/default-ticker.d.ts +4 -2
  2. package/cjs/animate/Ticker/default-ticker.js +8 -5
  3. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  4. package/cjs/animate/custom-animate.d.ts +2 -0
  5. package/cjs/animate/custom-animate.js +11 -2
  6. package/cjs/animate/custom-animate.js.map +1 -1
  7. package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +55 -4
  8. package/cjs/core/contributions/textMeasure/AtextMeasure.js +92 -13
  9. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  10. package/cjs/core/contributions/textMeasure/layout.d.ts +0 -1
  11. package/cjs/core/contributions/textMeasure/layout.js +20 -30
  12. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  13. package/cjs/core/stage.d.ts +2 -0
  14. package/cjs/core/stage.js +9 -5
  15. package/cjs/core/stage.js.map +1 -1
  16. package/cjs/graphic/builtin-symbol/arrow.js +2 -2
  17. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  18. package/cjs/graphic/builtin-symbol/arrow2-down.js +2 -2
  19. package/cjs/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  20. package/cjs/graphic/builtin-symbol/arrow2-left.js +2 -2
  21. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  22. package/cjs/graphic/builtin-symbol/arrow2-right.js +2 -2
  23. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  24. package/cjs/graphic/builtin-symbol/arrow2-up.js +2 -2
  25. package/cjs/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  26. package/cjs/graphic/builtin-symbol/base.d.ts +1 -0
  27. package/cjs/graphic/builtin-symbol/base.js +3 -0
  28. package/cjs/graphic/builtin-symbol/base.js.map +1 -1
  29. package/cjs/graphic/builtin-symbol/circle.js +3 -3
  30. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  31. package/cjs/graphic/builtin-symbol/close.js +3 -3
  32. package/cjs/graphic/builtin-symbol/close.js.map +1 -1
  33. package/cjs/graphic/builtin-symbol/cross.js +2 -2
  34. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  35. package/cjs/graphic/builtin-symbol/diamond.js +3 -3
  36. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  37. package/cjs/graphic/builtin-symbol/line-h.js +3 -3
  38. package/cjs/graphic/builtin-symbol/line-h.js.map +1 -1
  39. package/cjs/graphic/builtin-symbol/line-v.js +3 -3
  40. package/cjs/graphic/builtin-symbol/line-v.js.map +1 -1
  41. package/cjs/graphic/builtin-symbol/square.js +2 -2
  42. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  43. package/cjs/graphic/builtin-symbol/star.js +2 -2
  44. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  45. package/cjs/graphic/builtin-symbol/stroke.js +2 -2
  46. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  47. package/cjs/graphic/builtin-symbol/thin-triangle.js +2 -2
  48. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  49. package/cjs/graphic/builtin-symbol/triangle-down.js +2 -2
  50. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  51. package/cjs/graphic/builtin-symbol/triangle-left.js +2 -2
  52. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  53. package/cjs/graphic/builtin-symbol/triangle-right.js +2 -2
  54. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  55. package/cjs/graphic/builtin-symbol/triangle-up.js +2 -2
  56. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  57. package/cjs/graphic/builtin-symbol/utils.d.ts +1 -0
  58. package/cjs/graphic/builtin-symbol/utils.js +6 -3
  59. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  60. package/cjs/graphic/builtin-symbol/wedge.js +2 -2
  61. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  62. package/cjs/graphic/builtin-symbol/wye.js +2 -2
  63. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  64. package/cjs/graphic/config.js +3 -1
  65. package/cjs/graphic/config.js.map +1 -1
  66. package/cjs/graphic/richtext/paragraph.js +3 -1
  67. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  68. package/cjs/graphic/text.d.ts +10 -11
  69. package/cjs/graphic/text.js +88 -168
  70. package/cjs/graphic/text.js.map +1 -1
  71. package/cjs/graphic/wrap-text.js +12 -4
  72. package/cjs/graphic/wrap-text.js.map +1 -1
  73. package/cjs/interface/animate.d.ts +3 -1
  74. package/cjs/interface/animate.js.map +1 -1
  75. package/cjs/interface/context.d.ts +1 -0
  76. package/cjs/interface/context.js.map +1 -1
  77. package/cjs/interface/graphic/text.d.ts +3 -3
  78. package/cjs/interface/graphic/text.js.map +1 -1
  79. package/cjs/interface/graphic.d.ts +1 -0
  80. package/cjs/interface/graphic.js.map +1 -1
  81. package/cjs/interface/stage.d.ts +1 -0
  82. package/cjs/interface/stage.js.map +1 -1
  83. package/cjs/interface/text.d.ts +7 -1
  84. package/cjs/interface/text.js.map +1 -1
  85. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +2 -2
  86. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  87. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +2 -2
  88. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  89. package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +1 -1
  90. package/cjs/render/contributions/render/contributions/image-contribution-render.js +2 -3
  91. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  92. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +2 -2
  93. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  94. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +2 -2
  95. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  96. package/cjs/render/contributions/render/image-render.js +4 -6
  97. package/cjs/render/contributions/render/image-render.js.map +1 -1
  98. package/cjs/render/contributions/render/text-render.d.ts +1 -1
  99. package/cjs/render/contributions/render/text-render.js +24 -46
  100. package/cjs/render/contributions/render/text-render.js.map +1 -1
  101. package/cjs/resource-loader/loader.js +1 -1
  102. package/cjs/resource-loader/loader.js.map +1 -1
  103. package/dist/index.es.js +472 -510
  104. package/es/animate/Ticker/default-ticker.d.ts +4 -2
  105. package/es/animate/Ticker/default-ticker.js +9 -6
  106. package/es/animate/Ticker/default-ticker.js.map +1 -1
  107. package/es/animate/custom-animate.d.ts +2 -0
  108. package/es/animate/custom-animate.js +11 -2
  109. package/es/animate/custom-animate.js.map +1 -1
  110. package/es/core/contributions/textMeasure/AtextMeasure.d.ts +55 -4
  111. package/es/core/contributions/textMeasure/AtextMeasure.js +92 -13
  112. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  113. package/es/core/contributions/textMeasure/layout.d.ts +0 -1
  114. package/es/core/contributions/textMeasure/layout.js +20 -30
  115. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  116. package/es/core/stage.d.ts +2 -0
  117. package/es/core/stage.js +9 -5
  118. package/es/core/stage.js.map +1 -1
  119. package/es/graphic/builtin-symbol/arrow.js +2 -2
  120. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  121. package/es/graphic/builtin-symbol/arrow2-down.js +2 -2
  122. package/es/graphic/builtin-symbol/arrow2-down.js.map +1 -1
  123. package/es/graphic/builtin-symbol/arrow2-left.js +2 -2
  124. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  125. package/es/graphic/builtin-symbol/arrow2-right.js +2 -2
  126. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  127. package/es/graphic/builtin-symbol/arrow2-up.js +2 -2
  128. package/es/graphic/builtin-symbol/arrow2-up.js.map +1 -1
  129. package/es/graphic/builtin-symbol/base.d.ts +1 -0
  130. package/es/graphic/builtin-symbol/base.js +3 -0
  131. package/es/graphic/builtin-symbol/base.js.map +1 -1
  132. package/es/graphic/builtin-symbol/circle.js +3 -3
  133. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  134. package/es/graphic/builtin-symbol/close.js +3 -3
  135. package/es/graphic/builtin-symbol/close.js.map +1 -1
  136. package/es/graphic/builtin-symbol/cross.js +2 -2
  137. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  138. package/es/graphic/builtin-symbol/diamond.js +3 -3
  139. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  140. package/es/graphic/builtin-symbol/line-h.js +3 -3
  141. package/es/graphic/builtin-symbol/line-h.js.map +1 -1
  142. package/es/graphic/builtin-symbol/line-v.js +3 -3
  143. package/es/graphic/builtin-symbol/line-v.js.map +1 -1
  144. package/es/graphic/builtin-symbol/square.js +2 -2
  145. package/es/graphic/builtin-symbol/square.js.map +1 -1
  146. package/es/graphic/builtin-symbol/star.js +2 -2
  147. package/es/graphic/builtin-symbol/star.js.map +1 -1
  148. package/es/graphic/builtin-symbol/stroke.js +2 -2
  149. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  150. package/es/graphic/builtin-symbol/thin-triangle.js +2 -2
  151. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  152. package/es/graphic/builtin-symbol/triangle-down.js +2 -2
  153. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  154. package/es/graphic/builtin-symbol/triangle-left.js +2 -2
  155. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  156. package/es/graphic/builtin-symbol/triangle-right.js +2 -2
  157. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  158. package/es/graphic/builtin-symbol/triangle-up.js +2 -2
  159. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  160. package/es/graphic/builtin-symbol/utils.d.ts +1 -0
  161. package/es/graphic/builtin-symbol/utils.js +7 -4
  162. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  163. package/es/graphic/builtin-symbol/wedge.js +2 -2
  164. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  165. package/es/graphic/builtin-symbol/wye.js +2 -2
  166. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  167. package/es/graphic/config.js +3 -1
  168. package/es/graphic/config.js.map +1 -1
  169. package/es/graphic/richtext/paragraph.js +4 -2
  170. package/es/graphic/richtext/paragraph.js.map +1 -1
  171. package/es/graphic/text.d.ts +10 -11
  172. package/es/graphic/text.js +87 -163
  173. package/es/graphic/text.js.map +1 -1
  174. package/es/graphic/wrap-text.js +12 -4
  175. package/es/graphic/wrap-text.js.map +1 -1
  176. package/es/interface/animate.d.ts +3 -1
  177. package/es/interface/animate.js.map +1 -1
  178. package/es/interface/context.d.ts +1 -0
  179. package/es/interface/context.js.map +1 -1
  180. package/es/interface/graphic/text.d.ts +3 -3
  181. package/es/interface/graphic/text.js.map +1 -1
  182. package/es/interface/graphic.d.ts +1 -0
  183. package/es/interface/graphic.js.map +1 -1
  184. package/es/interface/stage.d.ts +1 -0
  185. package/es/interface/stage.js.map +1 -1
  186. package/es/interface/text.d.ts +7 -1
  187. package/es/interface/text.js.map +1 -1
  188. package/es/render/contributions/render/contributions/arc-contribution-render.js +2 -2
  189. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  190. package/es/render/contributions/render/contributions/circle-contribution-render.js +2 -2
  191. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  192. package/es/render/contributions/render/contributions/image-contribution-render.d.ts +1 -1
  193. package/es/render/contributions/render/contributions/image-contribution-render.js +2 -3
  194. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  195. package/es/render/contributions/render/contributions/rect-contribution-render.js +2 -2
  196. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  197. package/es/render/contributions/render/contributions/symbol-contribution-render.js +2 -2
  198. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  199. package/es/render/contributions/render/image-render.js +4 -6
  200. package/es/render/contributions/render/image-render.js.map +1 -1
  201. package/es/render/contributions/render/text-render.d.ts +1 -1
  202. package/es/render/contributions/render/text-render.js +23 -45
  203. package/es/render/contributions/render/text-render.js.map +1 -1
  204. package/es/resource-loader/loader.js +1 -1
  205. package/es/resource-loader/loader.js.map +1 -1
  206. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/cross.ts"],"names":[],"mappings":"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","file":"cross.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/cross.js\nexport function cross(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(-3 * r + x, -r + y, z);\n ctx.lineTo(-r + x, -r + y, z);\n ctx.lineTo(-r + x, -3 * r + y, z);\n ctx.lineTo(r + x, -3 * r + y, z);\n ctx.lineTo(r + x, -r + y, z);\n ctx.lineTo(3 * r + x, -r + y, z);\n ctx.lineTo(3 * r + x, r + y, z);\n ctx.lineTo(r + x, r + y, z);\n ctx.lineTo(r + x, 3 * r + y, z);\n ctx.lineTo(-r + x, 3 * r + y, z);\n ctx.lineTo(-r + x, r + y, z);\n ctx.lineTo(-3 * r + x, r + y, z);\n ctx.closePath();\n return true;\n}\n\nexport function crossOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number, z?: number) {\n ctx.moveTo(-3 * r + x - offset, -r + y - offset, z);\n ctx.lineTo(-r + x - offset, -r + y - offset, z);\n ctx.lineTo(-r + x - offset, -3 * r + y - offset, z);\n ctx.lineTo(r + x + offset, -3 * r + y - offset, z);\n ctx.lineTo(r + x + offset, -r + y - offset, z);\n ctx.lineTo(3 * r + x + offset, -r + y - offset, z);\n ctx.lineTo(3 * r + x + offset, r + y + offset, z);\n ctx.lineTo(r + x + offset, r + y + offset, z);\n ctx.lineTo(r + x + offset, 3 * r + y + offset, z);\n ctx.lineTo(-r + x - offset, 3 * r + y + offset, z);\n ctx.lineTo(-r + x - offset, r + y + offset, z);\n ctx.lineTo(-3 * r + x - offset, r + y + offset, z);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的边长\nexport class CrossSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'cross';\n /* eslint-disable max-len */\n pathStr: string =\n 'M-0.5,-0.2L-0.5,0.2L-0.2,0.2L-0.2,0.5L0.2,0.5L0.2,0.2L0.5,0.2L0.5,-0.2L0.2,-0.2L0.2,-0.5L-0.2,-0.5L-0.2,-0.2Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = size / 6;\n return cross(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = size / 6;\n return crossOffset(ctx, r, x, y, offset, z);\n }\n}\n\nexport default new CrossSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/cross.ts"],"names":[],"mappings":"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","file":"cross.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/cross.js\nexport function cross(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(-3 * r + x, -r + y, z);\n ctx.lineTo(-r + x, -r + y, z);\n ctx.lineTo(-r + x, -3 * r + y, z);\n ctx.lineTo(r + x, -3 * r + y, z);\n ctx.lineTo(r + x, -r + y, z);\n ctx.lineTo(3 * r + x, -r + y, z);\n ctx.lineTo(3 * r + x, r + y, z);\n ctx.lineTo(r + x, r + y, z);\n ctx.lineTo(r + x, 3 * r + y, z);\n ctx.lineTo(-r + x, 3 * r + y, z);\n ctx.lineTo(-r + x, r + y, z);\n ctx.lineTo(-3 * r + x, r + y, z);\n ctx.closePath();\n return true;\n}\n\nexport function crossOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number, z?: number) {\n ctx.moveTo(-3 * r + x - offset, -r + y - offset, z);\n ctx.lineTo(-r + x - offset, -r + y - offset, z);\n ctx.lineTo(-r + x - offset, -3 * r + y - offset, z);\n ctx.lineTo(r + x + offset, -3 * r + y - offset, z);\n ctx.lineTo(r + x + offset, -r + y - offset, z);\n ctx.lineTo(3 * r + x + offset, -r + y - offset, z);\n ctx.lineTo(3 * r + x + offset, r + y + offset, z);\n ctx.lineTo(r + x + offset, r + y + offset, z);\n ctx.lineTo(r + x + offset, 3 * r + y + offset, z);\n ctx.lineTo(-r + x - offset, 3 * r + y + offset, z);\n ctx.lineTo(-r + x - offset, r + y + offset, z);\n ctx.lineTo(-3 * r + x - offset, r + y + offset, z);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的边长\nexport class CrossSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'cross';\n /* eslint-disable max-len */\n pathStr: string =\n 'M-0.5,-0.2L-0.5,0.2L-0.2,0.2L-0.2,0.5L0.2,0.5L0.2,0.2L0.5,0.2L0.5,-0.2L0.2,-0.2L0.2,-0.5L-0.2,-0.5L-0.2,-0.2Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = this.parseSize(size) / 6;\n return cross(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = this.parseSize(size) / 6;\n return crossOffset(ctx, r, x, y, offset, z);\n }\n}\n\nexport default new CrossSymbol();\n"]}
@@ -10,13 +10,13 @@ export class DiamondSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "diamond", this.pathStr = "M-0.5,0L0,-0.5L0.5,0L0,0.5Z";
11
11
  }
12
12
  draw(ctx, size, x, y, z) {
13
- return diamond(ctx, size / 2, x, y, z);
13
+ return diamond(ctx, this.parseSize(size) / 2, x, y, z);
14
14
  }
15
15
  drawFitDir(ctx, size, x, y, z) {
16
- return diamond(ctx, size / 2, x, y, z);
16
+ return diamond(ctx, this.parseSize(size) / 2, x, y, z);
17
17
  }
18
18
  drawOffset(ctx, size, x, y, offset, z) {
19
- return diamond(ctx, size / 2 + offset, x, y, z);
19
+ return diamond(ctx, this.parseSize(size) / 2 + offset, x, y, z);
20
20
  }
21
21
  }
22
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/diamond.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,OAAO,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAClF,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,OAAO,aAAc,SAAQ,UAAU;IAA7C;;QACE,SAAI,GAAe,SAAS,CAAC;QAC7B,YAAO,GAAW,6BAA6B,CAAC;IAiBlD,CAAC;IAfC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAGD,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QACxE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAED,eAAe,IAAI,aAAa,EAAE,CAAC","file":"diamond.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/diamond.js\nexport function diamond(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x, y - r, z);\n ctx.lineTo(r + x, y, z);\n ctx.lineTo(x, y + r, z);\n ctx.lineTo(x - r, y, z);\n ctx.closePath();\n return true;\n}\n\n// const sqrtdiv2 = sqrt(2);\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class DiamondSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'diamond';\n pathStr: string = 'M-0.5,0L0,-0.5L0.5,0L0,0.5Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = size / 2;\n return diamond(ctx, r, x, y, z);\n }\n\n // 适应方向的draw\n drawFitDir(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = size / 2;\n return diamond(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = size / 2 + offset;\n return diamond(ctx, r, x, y, z);\n }\n}\n\nexport default new DiamondSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/diamond.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,OAAO,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAClF,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,OAAO,aAAc,SAAQ,UAAU;IAA7C;;QACE,SAAI,GAAe,SAAS,CAAC;QAC7B,YAAO,GAAW,6BAA6B,CAAC;IAiBlD,CAAC;IAfC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAGD,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QACxE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;CACF;AAED,eAAe,IAAI,aAAa,EAAE,CAAC","file":"diamond.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/diamond.js\nexport function diamond(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x, y - r, z);\n ctx.lineTo(r + x, y, z);\n ctx.lineTo(x, y + r, z);\n ctx.lineTo(x - r, y, z);\n ctx.closePath();\n return true;\n}\n\n// const sqrtdiv2 = sqrt(2);\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class DiamondSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'diamond';\n pathStr: string = 'M-0.5,0L0,-0.5L0.5,0L0,0.5Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = this.parseSize(size) / 2;\n return diamond(ctx, r, x, y, z);\n }\n\n // 适应方向的draw\n drawFitDir(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = this.parseSize(size) / 2;\n return diamond(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = this.parseSize(size) / 2 + offset;\n return diamond(ctx, r, x, y, z);\n }\n}\n\nexport default new DiamondSymbol();\n"]}
@@ -9,13 +9,13 @@ export class LineHSymbol extends BaseSymbol {
9
9
  super(...arguments), this.type = "lineH", this.pathStr = "M-0.5,0L0.5,0";
10
10
  }
11
11
  draw(ctx, size, x, y, z) {
12
- return lineH(ctx, size / 2, x, y, z);
12
+ return lineH(ctx, this.parseSize(size) / 2, x, y, z);
13
13
  }
14
14
  drawOffset(ctx, size, x, y, offset, z) {
15
- return lineH(ctx, size / 2 + offset, x, y, z);
15
+ return lineH(ctx, this.parseSize(size) / 2 + offset, x, y, z);
16
16
  }
17
17
  drawToSvgPath(size, x, y, z) {
18
- const r = size / 2;
18
+ const r = this.parseSize(size) / 2;
19
19
  return `M ${x - r}, ${y} L ${x + r},${y}`;
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/line-h.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAChF,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,eAAe,CAAC;IAgBpC,CAAC;IAdC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"line-h.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass, IPath2D } from '../../interface';\nimport { BaseSymbol } from './base';\n\nexport function lineH(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x - r, y);\n ctx.lineTo(x + r, y);\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class LineHSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'lineH';\n pathStr: string = 'M-0.5,0L0.5,0';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = size / 2;\n return lineH(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = size / 2 + offset;\n return lineH(ctx, r, x, y, z);\n }\n\n drawToSvgPath(size: number, x: number, y: number, z?: number): string {\n const r = size / 2;\n return `M ${x - r}, ${y} L ${x + r},${y}`;\n }\n}\n\nexport default new LineHSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/line-h.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAChF,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,eAAe,CAAC;IAgBpC,CAAC;IAdC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"line-h.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass, IPath2D } from '../../interface';\nimport { BaseSymbol } from './base';\n\nexport function lineH(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x - r, y);\n ctx.lineTo(x + r, y);\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class LineHSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'lineH';\n pathStr: string = 'M-0.5,0L0.5,0';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = this.parseSize(size) / 2;\n return lineH(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = this.parseSize(size) / 2 + offset;\n return lineH(ctx, r, x, y, z);\n }\n\n drawToSvgPath(size: number, x: number, y: number, z?: number): string {\n const r = this.parseSize(size) / 2;\n return `M ${x - r}, ${y} L ${x + r},${y}`;\n }\n}\n\nexport default new LineHSymbol();\n"]}
@@ -9,13 +9,13 @@ export class LineVSymbol extends BaseSymbol {
9
9
  super(...arguments), this.type = "lineV", this.pathStr = "M0,-0.5L0,0.5";
10
10
  }
11
11
  draw(ctx, size, x, y, z) {
12
- return lineV(ctx, size / 2, x, y, z);
12
+ return lineV(ctx, this.parseSize(size) / 2, x, y, z);
13
13
  }
14
14
  drawOffset(ctx, size, x, y, offset, z) {
15
- return lineV(ctx, size / 2 + offset, x, y, z);
15
+ return lineV(ctx, this.parseSize(size) / 2 + offset, x, y, z);
16
16
  }
17
17
  drawToSvgPath(size, x, y, z) {
18
- const r = size / 2;
18
+ const r = this.parseSize(size) / 2;
19
19
  return `M ${x}, ${y - r} L ${x},${y + r}`;
20
20
  }
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/line-v.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAChF,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,eAAe,CAAC;IAgBpC,CAAC;IAdC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"line-v.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass, IPath2D } from '../../interface';\nimport { BaseSymbol } from './base';\n\nexport function lineV(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x, y - r);\n ctx.lineTo(x, y + r);\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class LineVSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'lineV';\n pathStr: string = 'M0,-0.5L0,0.5';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = size / 2;\n return lineV(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = size / 2 + offset;\n return lineV(ctx, r, x, y, z);\n }\n\n drawToSvgPath(size: number, x: number, y: number, z?: number): string {\n const r = size / 2;\n return `M ${x}, ${y - r} L ${x},${y + r}`;\n }\n}\n\nexport default new LineVSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/line-v.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;IAChF,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,eAAe,CAAC;IAgBpC,CAAC;IAdC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAClE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc,EAAE,CAAU;QACxF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,CAAU;QAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"line-v.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass, IPath2D } from '../../interface';\nimport { BaseSymbol } from './base';\n\nexport function lineV(ctx: IContext2d, r: number, x: number, y: number, z?: number) {\n ctx.moveTo(x, y - r);\n ctx.lineTo(x, y + r);\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class LineVSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'lineV';\n pathStr: string = 'M0,-0.5L0,0.5';\n\n draw(ctx: IContext2d, size: number, x: number, y: number, z?: number) {\n const r = this.parseSize(size) / 2;\n return lineV(ctx, r, x, y, z);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number) {\n const r = this.parseSize(size) / 2 + offset;\n return lineV(ctx, r, x, y, z);\n }\n\n drawToSvgPath(size: number, x: number, y: number, z?: number): string {\n const r = this.parseSize(size) / 2;\n return `M ${x}, ${y - r} L ${x},${y + r}`;\n }\n}\n\nexport default new LineVSymbol();\n"]}
@@ -10,10 +10,10 @@ export class SquareSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "square", this.pathStr = "M-0.5,-0.5h1v1h-1Z";
11
11
  }
12
12
  draw(ctx, size, x, y) {
13
- return square(ctx, size / 2, x, y);
13
+ return square(ctx, this.parseSize(size) / 2, x, y);
14
14
  }
15
15
  drawOffset(ctx, size, x, y, offset) {
16
- return square(ctx, size / 2 + offset, x, y);
16
+ return square(ctx, this.parseSize(size) / 2 + offset, x, y);
17
17
  }
18
18
  }
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/square.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,MAAM,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACrE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QACE,SAAI,GAAe,QAAQ,CAAC;QAC5B,YAAO,GAAW,oBAAoB,CAAC;IAWzC,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC","file":"square.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/square.js\nexport function square(ctx: IContext2d, r: number, x: number, y: number) {\n const wh = r * 2;\n ctx.rect(x - r, y - r, wh, wh);\n return false;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class SquareSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'square';\n pathStr: string = 'M-0.5,-0.5h1v1h-1Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2;\n return square(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2 + offset;\n return square(ctx, r, x, y);\n }\n}\n\nexport default new SquareSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/square.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,MAAM,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IACrE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QACE,SAAI,GAAe,QAAQ,CAAC;QAC5B,YAAO,GAAW,oBAAoB,CAAC;IAWzC,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC","file":"square.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/square.js\nexport function square(ctx: IContext2d, r: number, x: number, y: number) {\n const wh = r * 2;\n ctx.rect(x - r, y - r, wh, wh);\n return false;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class SquareSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'square';\n pathStr: string = 'M-0.5,-0.5h1v1h-1Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2;\n return square(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2 + offset;\n return square(ctx, r, x, y);\n }\n}\n\nexport default new SquareSymbol();\n"]}
@@ -19,10 +19,10 @@ export class StarSymbol extends BaseSymbol {
19
19
  super(...arguments), this.type = "star", this.pathStr = "M0 -1L0.22451398828979266 -0.3090169943749474L0.9510565162951535 -0.30901699437494745L0.3632712640026804 0.1180339887498948L0.5877852522924732 0.8090169943749473L8.326672684688674e-17 0.3819660112501051L-0.587785252292473 0.8090169943749476L-0.3632712640026804 0.11803398874989487L-0.9510565162951536 -0.30901699437494723L-0.22451398828979274 -0.30901699437494734Z";
20
20
  }
21
21
  draw(ctx, size, transX, transY) {
22
- return star(ctx, size / 2, transX, transY);
22
+ return star(ctx, this.parseSize(size) / 2, transX, transY);
23
23
  }
24
24
  drawOffset(ctx, size, transX, transY, offset) {
25
- return star(ctx, size / 2 + offset, transX, transY);
25
+ return star(ctx, this.parseSize(size) / 2 + offset, transX, transY);
26
26
  }
27
27
  }
28
28
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/star.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACpC,MAAM,UAAU,IAAI,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAE7E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;KAC5D;IACD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QACE,SAAI,GAAe,MAAM,CAAC;QAE1B,YAAO,GAEL,8WAA8W,CAAC;IAWnX,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AAED,eAAe,IAAI,UAAU,EAAE,CAAC","file":"star.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/star.js\n// const ka = 0.8908130915292852281;\nconst kr = Math.sin(Math.PI / 10) / Math.sin((7 * Math.PI) / 10);\nconst kx = Math.sin(tau / 10) * kr;\nconst ky = -Math.cos(tau / 10) * kr;\nexport function star(ctx: IContext2d, r: number, transX: number, transY: number) {\n // const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n ctx.moveTo(transX, -r + transY);\n ctx.lineTo(x + transX, y + transY);\n for (let i = 1; i < 5; ++i) {\n const a = (tau * i) / 5;\n const c = Math.cos(a);\n const s = Math.sin(a);\n ctx.lineTo(s * r + transX, -c * r + transY);\n ctx.lineTo(c * x - s * y + transX, s * x + c * y + transY);\n }\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class StarSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'star';\n /* eslint-disable max-len */\n pathStr: string =\n /* eslint-disable max-len */\n 'M0 -1L0.22451398828979266 -0.3090169943749474L0.9510565162951535 -0.30901699437494745L0.3632712640026804 0.1180339887498948L0.5877852522924732 0.8090169943749473L8.326672684688674e-17 0.3819660112501051L-0.587785252292473 0.8090169943749476L-0.3632712640026804 0.11803398874989487L-0.9510565162951536 -0.30901699437494723L-0.22451398828979274 -0.30901699437494734Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = size / 2;\n return star(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = size / 2 + offset;\n return star(ctx, r, transX, transY);\n }\n}\n\nexport default new StarSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/star.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACjE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACpC,MAAM,UAAU,IAAI,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAE7E,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;QAC1B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;KAC5D;IACD,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,UAAW,SAAQ,UAAU;IAA1C;;QACE,SAAI,GAAe,MAAM,CAAC;QAE1B,YAAO,GAEL,8WAA8W,CAAC;IAWnX,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AAED,eAAe,IAAI,UAAU,EAAE,CAAC","file":"star.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { tau } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/star.js\n// const ka = 0.8908130915292852281;\nconst kr = Math.sin(Math.PI / 10) / Math.sin((7 * Math.PI) / 10);\nconst kx = Math.sin(tau / 10) * kr;\nconst ky = -Math.cos(tau / 10) * kr;\nexport function star(ctx: IContext2d, r: number, transX: number, transY: number) {\n // const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n ctx.moveTo(transX, -r + transY);\n ctx.lineTo(x + transX, y + transY);\n for (let i = 1; i < 5; ++i) {\n const a = (tau * i) / 5;\n const c = Math.cos(a);\n const s = Math.sin(a);\n ctx.lineTo(s * r + transX, -c * r + transY);\n ctx.lineTo(c * x - s * y + transX, s * x + c * y + transY);\n }\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class StarSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'star';\n /* eslint-disable max-len */\n pathStr: string =\n /* eslint-disable max-len */\n 'M0 -1L0.22451398828979266 -0.3090169943749474L0.9510565162951535 -0.30901699437494745L0.3632712640026804 0.1180339887498948L0.5877852522924732 0.8090169943749473L8.326672684688674e-17 0.3819660112501051L-0.587785252292473 0.8090169943749476L-0.3632712640026804 0.11803398874989487L-0.9510565162951536 -0.30901699437494723L-0.22451398828979274 -0.30901699437494734Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = this.parseSize(size) / 2;\n return star(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = this.parseSize(size) / 2 + offset;\n return star(ctx, r, transX, transY);\n }\n}\n\nexport default new StarSymbol();\n"]}
@@ -9,10 +9,10 @@ export class StrokeSymbol extends BaseSymbol {
9
9
  super(...arguments), this.type = "stroke", this.pathStr = "";
10
10
  }
11
11
  draw(ctx, size, transX, transY) {
12
- return stroke(ctx, size / 2, transX, transY);
12
+ return stroke(ctx, this.parseSize(size) / 2, transX, transY);
13
13
  }
14
14
  drawOffset(ctx, size, transX, transY, offset) {
15
- return stroke(ctx, size / 2 + offset, transX, transY);
15
+ return stroke(ctx, this.parseSize(size) / 2 + offset, transX, transY);
16
16
  }
17
17
  }
18
18
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/stroke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiCpC,MAAM,UAAU,MAAM,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAC/E,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QACE,SAAI,GAAe,QAAQ,CAAC;QAC5B,YAAO,GAAO,EAAE,CAAC;IAWnB,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC","file":"stroke.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * 部分源码参考 https://github.com/vega/vega/blob/main/packages/vega-scenegraph/src/path/symbols.js\n * Copyright (c) 2015-2023, University of Washington Interactive Data Lab\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n 3. Neither the name of the copyright holder nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nexport function stroke(ctx: IContext2d, r: number, transX: number, transY: number) {\n ctx.moveTo(-r + transX, transY);\n ctx.lineTo(transX, r + transY);\n return false;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class StrokeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'stroke';\n pathStr: '' = '';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = size / 2;\n return stroke(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = size / 2 + offset;\n return stroke(ctx, r, transX, transY);\n }\n}\n\nexport default new StrokeSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/stroke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiCpC,MAAM,UAAU,MAAM,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAC/E,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,OAAO,YAAa,SAAQ,UAAU;IAA5C;;QACE,SAAI,GAAe,QAAQ,CAAC;QAC5B,YAAO,GAAO,EAAE,CAAC;IAWnB,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC","file":"stroke.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * 部分源码参考 https://github.com/vega/vega/blob/main/packages/vega-scenegraph/src/path/symbols.js\n * Copyright (c) 2015-2023, University of Washington Interactive Data Lab\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n 3. Neither the name of the copyright holder nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nexport function stroke(ctx: IContext2d, r: number, transX: number, transY: number) {\n ctx.moveTo(-r + transX, transY);\n ctx.lineTo(transX, r + transY);\n return false;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class StrokeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'stroke';\n pathStr: '' = '';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = this.parseSize(size) / 2;\n return stroke(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = this.parseSize(size) / 2 + offset;\n return stroke(ctx, r, transX, transY);\n }\n}\n\nexport default new StrokeSymbol();\n"]}
@@ -15,10 +15,10 @@ export class ThinTriangleSymbol extends BaseSymbol {
15
15
  super(...arguments), this.type = "thinTriangle", this.pathStr = "M0,-0.5773502691896257L-0.5,0.28867513459481287L0.5,0.28867513459481287Z";
16
16
  }
17
17
  draw(ctx, size, x, y) {
18
- return thinTriangle(ctx, size / 2 / sqrt3, x, y);
18
+ return thinTriangle(ctx, this.parseSize(size) / 2 / sqrt3, x, y);
19
19
  }
20
20
  drawOffset(ctx, size, x, y, offset) {
21
- return thinTriangle(ctx, size / 2 / sqrt3 + offset, x, y);
21
+ return thinTriangle(ctx, this.parseSize(size) / 2 / sqrt3 + offset, x, y);
22
22
  }
23
23
  }
24
24
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/thin-triangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,UAAU,YAAY,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,0EAA0E,CAAC;IAW/F,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;QACpC,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"thin-triangle.js","sourcesContent":["import { sqrt } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nconst sqrt3 = sqrt(3);\n\nexport function thinTriangle(ctx: IContext2d, r: number, x: number, y: number) {\n const h = r * sqrt3;\n ctx.moveTo(x, y + (-h / 3) * 2);\n ctx.lineTo(r + x, y + h);\n ctx.lineTo(x - r, y + h);\n ctx.closePath();\n return true;\n}\n\nexport class ThinTriangleSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'thinTriangle';\n pathStr: string = 'M0,-0.5773502691896257L-0.5,0.28867513459481287L0.5,0.28867513459481287Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2 / sqrt3;\n return thinTriangle(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2 / sqrt3 + offset;\n return thinTriangle(ctx, r, x, y);\n }\n}\n\nexport default new ThinTriangleSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/thin-triangle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,UAAU,YAAY,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,0EAA0E,CAAC;IAW/F,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3C,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC;QACpD,OAAO,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"thin-triangle.js","sourcesContent":["import { sqrt } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nconst sqrt3 = sqrt(3);\n\nexport function thinTriangle(ctx: IContext2d, r: number, x: number, y: number) {\n const h = r * sqrt3;\n ctx.moveTo(x, y + (-h / 3) * 2);\n ctx.lineTo(r + x, y + h);\n ctx.lineTo(x - r, y + h);\n ctx.closePath();\n return true;\n}\n\nexport class ThinTriangleSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'thinTriangle';\n pathStr: string = 'M0,-0.5773502691896257L-0.5,0.28867513459481287L0.5,0.28867513459481287Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2 / sqrt3;\n return thinTriangle(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2 / sqrt3 + offset;\n return thinTriangle(ctx, r, x, y);\n }\n}\n\nexport default new ThinTriangleSymbol();\n"]}
@@ -10,10 +10,10 @@ export class TriangleDownSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "triangleDown", this.pathStr = "M-0.5,-0.5 L0.5,-0.5 L0,0.5 Z";
11
11
  }
12
12
  draw(ctx, size, x, y) {
13
- return trianglDownOffset(ctx, size / 2, x, y);
13
+ return trianglDownOffset(ctx, this.parseSize(size) / 2, x, y);
14
14
  }
15
15
  drawOffset(ctx, size, x, y, offset) {
16
- return trianglDownOffset(ctx, size / 2, x, y, offset);
16
+ return trianglDownOffset(ctx, this.parseSize(size) / 2, x, y, offset);
17
17
  }
18
18
  }
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-down.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IACpG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,+BAA+B,CAAC;IAWpD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"triangle-down.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\nexport function trianglDownOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x - r - offset * 2, y - r - offset);\n ctx.lineTo(x + r + offset * 2, y - r - offset);\n ctx.lineTo(x, y + r + offset * 2);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleDownSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleDown';\n pathStr: string = 'M-0.5,-0.5 L0.5,-0.5 L0,0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2;\n return trianglDownOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2;\n return trianglDownOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleDownSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-down.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAoBpC,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IACpG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,+BAA+B,CAAC;IAWpD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"triangle-down.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\nexport function trianglDownOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x - r - offset * 2, y - r - offset);\n ctx.lineTo(x + r + offset * 2, y - r - offset);\n ctx.lineTo(x, y + r + offset * 2);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleDownSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleDown';\n pathStr: string = 'M-0.5,-0.5 L0.5,-0.5 L0,0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2;\n return trianglDownOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2;\n return trianglDownOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleDownSymbol();\n"]}
@@ -10,10 +10,10 @@ export class TriangleLeftSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "triangleLeft", this.pathStr = "M-0.5,0 L0.5,0.5 L0.5,-0.5 Z";
11
11
  }
12
12
  draw(ctx, size, x, y) {
13
- return trianglLeftOffset(ctx, size / 2, x, y, 0);
13
+ return trianglLeftOffset(ctx, this.parseSize(size) / 2, x, y, 0);
14
14
  }
15
15
  drawOffset(ctx, size, x, y, offset) {
16
- return trianglLeftOffset(ctx, size / 2, x, y, offset);
16
+ return trianglLeftOffset(ctx, this.parseSize(size) / 2, x, y, offset);
17
17
  }
18
18
  }
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-left.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;IAChG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,8BAA8B,CAAC;IAWnD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"triangle-left.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglLeftOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number) {\n ctx.moveTo(-r + x - 2 * offset, y);\n ctx.lineTo(r + x + offset, r + y + 2 * offset);\n ctx.lineTo(r + x + offset, y - r - 2 * offset);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleLeftSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleLeft';\n pathStr: string = 'M-0.5,0 L0.5,0.5 L0.5,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2;\n return trianglLeftOffset(ctx, r, x, y, 0);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2;\n return trianglLeftOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleLeftSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-left.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,iBAAiB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;IAChG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,kBAAmB,SAAQ,UAAU;IAAlD;;QACE,SAAI,GAAe,cAAc,CAAC;QAClC,YAAO,GAAW,8BAA8B,CAAC;IAWnD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF;AAED,eAAe,IAAI,kBAAkB,EAAE,CAAC","file":"triangle-left.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglLeftOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number) {\n ctx.moveTo(-r + x - 2 * offset, y);\n ctx.lineTo(r + x + offset, r + y + 2 * offset);\n ctx.lineTo(r + x + offset, y - r - 2 * offset);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleLeftSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleLeft';\n pathStr: string = 'M-0.5,0 L0.5,0.5 L0.5,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2;\n return trianglLeftOffset(ctx, r, x, y, 0);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2;\n return trianglLeftOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleLeftSymbol();\n"]}
@@ -10,10 +10,10 @@ export class TriangleRightSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "triangleRight", this.pathStr = "M-0.5,0.5 L0.5,0 L-0.5,-0.5 Z";
11
11
  }
12
12
  draw(ctx, size, x, y) {
13
- return trianglRightOffset(ctx, size / 2, x, y);
13
+ return trianglRightOffset(ctx, this.parseSize(size) / 2, x, y);
14
14
  }
15
15
  drawOffset(ctx, size, x, y, offset) {
16
- return trianglRightOffset(ctx, size / 2, x, y, offset);
16
+ return trianglRightOffset(ctx, this.parseSize(size) / 2, x, y, offset);
17
17
  }
18
18
  }
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-right.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,kBAAkB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IACrG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAAnD;;QACE,SAAI,GAAe,eAAe,CAAC;QACnC,YAAO,GAAW,+BAA+B,CAAC;IAWpD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;CACF;AAED,eAAe,IAAI,mBAAmB,EAAE,CAAC","file":"triangle-right.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglRightOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x - r - offset, r + y + 2 * offset);\n ctx.lineTo(r + x + 2 * offset, y);\n ctx.lineTo(x - r - offset, y - r - 2 * offset);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleRightSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleRight';\n pathStr: string = 'M-0.5,0.5 L0.5,0 L-0.5,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2;\n return trianglRightOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2;\n return trianglRightOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleRightSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-right.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,kBAAkB,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IACrG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAAnD;;QACE,SAAI,GAAe,eAAe,CAAC;QACnC,YAAO,GAAW,+BAA+B,CAAC;IAWpD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;CACF;AAED,eAAe,IAAI,mBAAmB,EAAE,CAAC","file":"triangle-right.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglRightOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x - r - offset, r + y + 2 * offset);\n ctx.lineTo(r + x + 2 * offset, y);\n ctx.lineTo(x - r - offset, y - r - 2 * offset);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleRightSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleRight';\n pathStr: string = 'M-0.5,0.5 L0.5,0 L-0.5,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2;\n return trianglRightOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2;\n return trianglRightOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleRightSymbol();\n"]}
@@ -10,10 +10,10 @@ export class TriangleUpSymbol extends BaseSymbol {
10
10
  super(...arguments), this.type = "triangleUp", this.pathStr = "M0.5,0.5 L-0.5,0.5 L0,-0.5 Z";
11
11
  }
12
12
  draw(ctx, size, x, y) {
13
- return trianglUpOffset(ctx, size / 2, x, y);
13
+ return trianglUpOffset(ctx, this.parseSize(size) / 2, x, y);
14
14
  }
15
15
  drawOffset(ctx, size, x, y, offset) {
16
- return trianglUpOffset(ctx, size / 2, x, y, offset);
16
+ return trianglUpOffset(ctx, this.parseSize(size) / 2, x, y, offset);
17
17
  }
18
18
  }
19
19
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-up.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,eAAe,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IAClG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAAhD;;QACE,SAAI,GAAe,YAAY,CAAC;QAChC,YAAO,GAAW,8BAA8B,CAAC;IAWnD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,eAAe,IAAI,gBAAgB,EAAE,CAAC","file":"triangle-up.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglUpOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x + r + offset * 2, r + y + offset);\n ctx.lineTo(x - r - offset * 2, r + y + offset);\n ctx.lineTo(x, y - r - offset * 2);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleUpSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleUp';\n pathStr: string = 'M0.5,0.5 L-0.5,0.5 L0,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = size / 2;\n return trianglUpOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = size / 2;\n return trianglUpOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleUpSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/triangle-up.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAqBpC,MAAM,UAAU,eAAe,CAAC,GAAe,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,SAAiB,CAAC;IAClG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAAhD;;QACE,SAAI,GAAe,YAAY,CAAC;QAChC,YAAO,GAAW,8BAA8B,CAAC;IAWnD,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,MAAc;QAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,eAAe,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,eAAe,IAAI,gBAAgB,EAAE,CAAC","file":"triangle-up.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/triangle.js\n\nexport function trianglUpOffset(ctx: IContext2d, r: number, x: number, y: number, offset: number = 0) {\n ctx.moveTo(x + r + offset * 2, r + y + offset);\n ctx.lineTo(x - r - offset * 2, r + y + offset);\n ctx.lineTo(x, y - r - offset * 2);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class TriangleUpSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'triangleUp';\n pathStr: string = 'M0.5,0.5 L-0.5,0.5 L0,-0.5 Z';\n\n draw(ctx: IContext2d, size: number, x: number, y: number) {\n const r = this.parseSize(size) / 2;\n return trianglUpOffset(ctx, r, x, y);\n }\n\n drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number) {\n const r = this.parseSize(size) / 2;\n return trianglUpOffset(ctx, r, x, y, offset);\n }\n}\n\nexport default new TriangleUpSymbol();\n"]}
@@ -15,5 +15,6 @@ export declare class CustomSymbolClass implements ISymbolClass {
15
15
  }[], isSvg?: boolean);
16
16
  drawOffset(ctx: IContext2d, size: number, x: number, y: number, offset: number, z?: number, cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void): boolean;
17
17
  draw(ctx: IContext2d, size: number, x: number, y: number, z?: number, cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void): boolean;
18
+ protected parseSize(size: number | [number, number]): number;
18
19
  bounds(size: number, bounds: IBounds): void;
19
20
  }
@@ -1,4 +1,4 @@
1
- import { isArray, AABBBounds } from "@visactor/vutils";
1
+ import { isArray, AABBBounds, isNumber } from "@visactor/vutils";
2
2
 
3
3
  import { renderCommandList } from "../../common/render-command-list";
4
4
 
@@ -10,17 +10,20 @@ export class CustomSymbolClass {
10
10
  this.isSvg = isSvg;
11
11
  }
12
12
  drawOffset(ctx, size, x, y, offset, z, cb) {
13
- return this.isSvg ? !!this.svgCache && (this.svgCache.forEach((item => {
13
+ return size = this.parseSize(size), this.isSvg ? !!this.svgCache && (this.svgCache.forEach((item => {
14
14
  ctx.beginPath(), renderCommandList(item.path.commandList, ctx, x, y, size, size),
15
15
  cb && cb(item.path, item.attribute);
16
16
  })), !1) : (renderCommandList(this.path.commandList, ctx, x, y, size + offset, size + offset),
17
17
  !1);
18
18
  }
19
19
  draw(ctx, size, x, y, z, cb) {
20
- return this.drawOffset(ctx, size, x, y, 0, z, cb);
20
+ return size = this.parseSize(size), this.drawOffset(ctx, size, x, y, 0, z, cb);
21
+ }
22
+ parseSize(size) {
23
+ return isNumber(size) ? size : Math.min(size[0], size[1]);
21
24
  }
22
25
  bounds(size, bounds) {
23
- if (this.isSvg) {
26
+ if (size = this.parseSize(size), this.isSvg) {
24
27
  if (!this.svgCache) return;
25
28
  return bounds.clear(), void this.svgCache.forEach((({path: path}) => {
26
29
  tempBounds.x1 = path.bounds.x1 * size, tempBounds.y1 = path.bounds.y1 * size, tempBounds.x2 = path.bounds.x2 * size,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import { isArray, type IBounds, AABBBounds } from '@visactor/vutils';\nimport { renderCommandList } from '../../common/render-command-list';\nimport type { IContext2d, ICustomPath2D, IGraphicAttribute, ISymbolClass } from '../../interface';\n\nconst tempBounds = new AABBBounds();\nexport class CustomSymbolClass implements ISymbolClass {\n type: string;\n path: ICustomPath2D;\n pathStr: string = '';\n isSvg: boolean;\n svgCache?: { path: ICustomPath2D; attribute: Partial<IGraphicAttribute> }[];\n\n constructor(\n type: string,\n path: ICustomPath2D | { path: ICustomPath2D; attribute: Partial<IGraphicAttribute> }[],\n isSvg: boolean = false\n ) {\n this.type = type;\n if (isArray(path)) {\n this.svgCache = path;\n } else {\n this.path = path;\n }\n this.isSvg = isSvg;\n }\n\n drawOffset(\n ctx: IContext2d,\n size: number,\n x: number,\n y: number,\n offset: number,\n z?: number,\n cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void\n ) {\n if (this.isSvg) {\n if (!this.svgCache) {\n return false;\n }\n this.svgCache.forEach(item => {\n ctx.beginPath();\n renderCommandList(item.path.commandList, ctx, x, y, size, size);\n cb && cb(item.path, item.attribute);\n });\n return false;\n }\n renderCommandList(this.path.commandList, ctx, x, y, size + offset, size + offset);\n return false;\n }\n\n draw(\n ctx: IContext2d,\n size: number,\n x: number,\n y: number,\n z?: number,\n cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void\n ) {\n return this.drawOffset(ctx, size, x, y, 0, z, cb);\n }\n\n bounds(size: number, bounds: IBounds) {\n if (this.isSvg) {\n if (!this.svgCache) {\n return;\n }\n bounds.clear();\n this.svgCache.forEach(({ path }) => {\n tempBounds.x1 = path.bounds.x1 * size;\n tempBounds.y1 = path.bounds.y1 * size;\n tempBounds.x2 = path.bounds.x2 * size;\n tempBounds.y2 = path.bounds.y2 * size;\n bounds.union(tempBounds);\n });\n return;\n }\n if (!this.path.bounds) {\n return;\n }\n bounds.x1 = this.path.bounds.x1 * size;\n bounds.y1 = this.path.bounds.y1 * size;\n bounds.x2 = this.path.bounds.x2 * size;\n bounds.y2 = this.path.bounds.y2 * size;\n }\n}\n\n// export function CustomSymbol(): ISymbolClass {\n\n// }\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import { isArray, type IBounds, AABBBounds, isNumber } from '@visactor/vutils';\nimport { renderCommandList } from '../../common/render-command-list';\nimport type { IContext2d, ICustomPath2D, IGraphicAttribute, ISymbolClass } from '../../interface';\n\nconst tempBounds = new AABBBounds();\nexport class CustomSymbolClass implements ISymbolClass {\n type: string;\n path: ICustomPath2D;\n pathStr: string = '';\n isSvg: boolean;\n svgCache?: { path: ICustomPath2D; attribute: Partial<IGraphicAttribute> }[];\n\n constructor(\n type: string,\n path: ICustomPath2D | { path: ICustomPath2D; attribute: Partial<IGraphicAttribute> }[],\n isSvg: boolean = false\n ) {\n this.type = type;\n if (isArray(path)) {\n this.svgCache = path;\n } else {\n this.path = path;\n }\n this.isSvg = isSvg;\n }\n\n drawOffset(\n ctx: IContext2d,\n size: number,\n x: number,\n y: number,\n offset: number,\n z?: number,\n cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void\n ) {\n size = this.parseSize(size);\n if (this.isSvg) {\n if (!this.svgCache) {\n return false;\n }\n this.svgCache.forEach(item => {\n ctx.beginPath();\n renderCommandList(item.path.commandList, ctx, x, y, size, size);\n cb && cb(item.path, item.attribute);\n });\n return false;\n }\n renderCommandList(this.path.commandList, ctx, x, y, size + offset, size + offset);\n return false;\n }\n\n draw(\n ctx: IContext2d,\n size: number,\n x: number,\n y: number,\n z?: number,\n cb?: (path: ICustomPath2D, attribute?: Record<string, any>) => void\n ) {\n size = this.parseSize(size);\n return this.drawOffset(ctx, size, x, y, 0, z, cb);\n }\n\n protected parseSize(size: number | [number, number]): number {\n return isNumber(size) ? size : Math.min(size[0], size[1]);\n }\n\n bounds(size: number, bounds: IBounds) {\n size = this.parseSize(size);\n if (this.isSvg) {\n if (!this.svgCache) {\n return;\n }\n bounds.clear();\n this.svgCache.forEach(({ path }) => {\n tempBounds.x1 = path.bounds.x1 * size;\n tempBounds.y1 = path.bounds.y1 * size;\n tempBounds.x2 = path.bounds.x2 * size;\n tempBounds.y2 = path.bounds.y2 * size;\n bounds.union(tempBounds);\n });\n return;\n }\n if (!this.path.bounds) {\n return;\n }\n bounds.x1 = this.path.bounds.x1 * size;\n bounds.y1 = this.path.bounds.y1 * size;\n bounds.x2 = this.path.bounds.x2 * size;\n bounds.y2 = this.path.bounds.y2 * size;\n }\n}\n\n// export function CustomSymbol(): ISymbolClass {\n\n// }\n"]}
@@ -11,10 +11,10 @@ export class WedgeSymbol extends BaseSymbol {
11
11
  super(...arguments), this.type = "wedge", this.pathStr = "M0,-0.5773502691896257L-0.125,0.28867513459481287L0.125,0.28867513459481287Z";
12
12
  }
13
13
  draw(ctx, size, transX, transY) {
14
- return wedge(ctx, size / 2, transX, transY);
14
+ return wedge(ctx, this.parseSize(size) / 2, transX, transY);
15
15
  }
16
16
  drawOffset(ctx, size, transX, transY, offset) {
17
- return wedge(ctx, size / 2 + offset, transX, transY);
17
+ return wedge(ctx, this.parseSize(size) / 2 + offset, transX, transY);
18
18
  }
19
19
  }
20
20
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/wedge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiCpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,8EAA8E,CAAC;IAWnG,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5B,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"wedge.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * 部分源码参考 https://github.com/vega/vega/blob/main/packages/vega-scenegraph/src/path/symbols.js\n * Copyright (c) 2015-2023, University of Washington Interactive Data Lab\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n 3. Neither the name of the copyright holder nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nexport function wedge(ctx: IContext2d, r: number, transX: number, transY: number) {\n const h = r * 2;\n ctx.moveTo(transX, -r + transY);\n ctx.lineTo(h / 3 / 2 + transX, r + transY);\n ctx.lineTo(-h / 3 / 2 + transX, r + transY);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class WedgeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'wedge';\n pathStr: string = 'M0,-0.5773502691896257L-0.125,0.28867513459481287L0.125,0.28867513459481287Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = size / 2;\n return wedge(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = size / 2 + offset;\n return wedge(ctx, r, transX, transY);\n }\n}\n\nexport default new WedgeSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/wedge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAiCpC,MAAM,UAAU,KAAK,CAAC,GAAe,EAAE,CAAS,EAAE,MAAc,EAAE,MAAc;IAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAC5C,GAAG,CAAC,SAAS,EAAE,CAAC;IAChB,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QACE,SAAI,GAAe,OAAO,CAAC;QAC3B,YAAO,GAAW,8EAA8E,CAAC;IAWnG,CAAC;IATC,IAAI,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAe,EAAE,IAAY,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc;QACtF,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC5C,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;CACF;AAED,eAAe,IAAI,WAAW,EAAE,CAAC","file":"wedge.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * 部分源码参考 https://github.com/vega/vega/blob/main/packages/vega-scenegraph/src/path/symbols.js\n * Copyright (c) 2015-2023, University of Washington Interactive Data Lab\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n\n 1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n\n 2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n\n 3. Neither the name of the copyright holder nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nexport function wedge(ctx: IContext2d, r: number, transX: number, transY: number) {\n const h = r * 2;\n ctx.moveTo(transX, -r + transY);\n ctx.lineTo(h / 3 / 2 + transX, r + transY);\n ctx.lineTo(-h / 3 / 2 + transX, r + transY);\n ctx.closePath();\n return true;\n}\n\n// 以中心为锚点,size为circle外接正方形的面积\nexport class WedgeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'wedge';\n pathStr: string = 'M0,-0.5773502691896257L-0.125,0.28867513459481287L0.125,0.28867513459481287Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = this.parseSize(size) / 2;\n return wedge(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = this.parseSize(size) / 2 + offset;\n return wedge(ctx, r, transX, transY);\n }\n}\n\nexport default new WedgeSymbol();\n"]}
@@ -19,10 +19,10 @@ export class WyeSymbol extends BaseSymbol {
19
19
  super(...arguments), this.type = "wye", this.pathStr = "M0.25 0.14433756729740646L0.25 0.6443375672974064L-0.25 0.6443375672974064L-0.25 0.14433756729740643L-0.6830127018922193 -0.10566243270259357L-0.4330127018922193 -0.5386751345948129L0 -0.28867513459481287L0.4330127018922193 -0.5386751345948129L0.6830127018922193 -0.10566243270259357Z";
20
20
  }
21
21
  draw(ctx, size, transX, transY) {
22
- return wye(ctx, size / 2, transX, transY);
22
+ return wye(ctx, this.parseSize(size) / 2, transX, transY);
23
23
  }
24
24
  drawOffset(ctx, size, transX, transY, offset) {
25
- return wye(ctx, size / 2 + offset, transX, transY);
25
+ return wye(ctx, this.parseSize(size) / 2 + offset, transX, transY);
26
26
  }
27
27
  }
28
28
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphic/builtin-symbol/wye.ts"],"names":[],"mappings":"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","file":"wye.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { sqrt } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n * \n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/wye.js\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\nexport function wye(ctx: IContext2d, r: number, transX: number, transY: number) {\n const x0 = r / 2;\n const y0 = r * k;\n const x1 = x0;\n const y1 = r * k + r;\n const x2 = -x1;\n const y2 = y1;\n ctx.moveTo(x0 + transX, y0 + transY);\n ctx.lineTo(x1 + transX, y1 + transY);\n ctx.lineTo(x2 + transX, y2 + transY);\n ctx.lineTo(c * x0 - s * y0 + transX, s * x0 + c * y0 + transY);\n ctx.lineTo(c * x1 - s * y1 + transX, s * x1 + c * y1 + transY);\n ctx.lineTo(c * x2 - s * y2 + transX, s * x2 + c * y2 + transY);\n ctx.lineTo(c * x0 + s * y0 + transX, c * y0 - s * x0 + transY);\n ctx.lineTo(c * x1 + s * y1 + transX, c * y1 - s * x1 + transY);\n ctx.lineTo(c * x2 + s * y2 + transX, c * y2 - s * x2 + transY);\n ctx.closePath();\n return false;\n}\n\n// 以中心为锚点,size为wye外接正方形的面积\nexport class WyeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'wye';\n /* eslint-disable max-len */\n pathStr: string =\n /* eslint-disable max-len */\n 'M0.25 0.14433756729740646L0.25 0.6443375672974064L-0.25 0.6443375672974064L-0.25 0.14433756729740643L-0.6830127018922193 -0.10566243270259357L-0.4330127018922193 -0.5386751345948129L0 -0.28867513459481287L0.4330127018922193 -0.5386751345948129L0.6830127018922193 -0.10566243270259357Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = size / 2;\n // const r = sqrt(size / a);\n return wye(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = size / 2 + offset;\n // const r = sqrt(size / a);\n return wye(ctx, r, transX, transY);\n }\n}\n\nexport default new WyeSymbol();\n"]}
1
+ {"version":3,"sources":["../src/graphic/builtin-symbol/wye.ts"],"names":[],"mappings":"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","file":"wye.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { sqrt } from '@visactor/vutils';\nimport type { IContext2d, SymbolType, ISymbolClass } from '../../interface';\nimport { BaseSymbol } from './base';\n\n/**\n *\n *Copyright 2010-2021 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 借鉴自d3\n// https://github.com/d3/d3-shape/blob/main/src/symbol/wye.js\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\nexport function wye(ctx: IContext2d, r: number, transX: number, transY: number) {\n const x0 = r / 2;\n const y0 = r * k;\n const x1 = x0;\n const y1 = r * k + r;\n const x2 = -x1;\n const y2 = y1;\n ctx.moveTo(x0 + transX, y0 + transY);\n ctx.lineTo(x1 + transX, y1 + transY);\n ctx.lineTo(x2 + transX, y2 + transY);\n ctx.lineTo(c * x0 - s * y0 + transX, s * x0 + c * y0 + transY);\n ctx.lineTo(c * x1 - s * y1 + transX, s * x1 + c * y1 + transY);\n ctx.lineTo(c * x2 - s * y2 + transX, s * x2 + c * y2 + transY);\n ctx.lineTo(c * x0 + s * y0 + transX, c * y0 - s * x0 + transY);\n ctx.lineTo(c * x1 + s * y1 + transX, c * y1 - s * x1 + transY);\n ctx.lineTo(c * x2 + s * y2 + transX, c * y2 - s * x2 + transY);\n ctx.closePath();\n return false;\n}\n\n// 以中心为锚点,size为wye外接正方形的面积\nexport class WyeSymbol extends BaseSymbol implements ISymbolClass {\n type: SymbolType = 'wye';\n /* eslint-disable max-len */\n pathStr: string =\n /* eslint-disable max-len */\n 'M0.25 0.14433756729740646L0.25 0.6443375672974064L-0.25 0.6443375672974064L-0.25 0.14433756729740643L-0.6830127018922193 -0.10566243270259357L-0.4330127018922193 -0.5386751345948129L0 -0.28867513459481287L0.4330127018922193 -0.5386751345948129L0.6830127018922193 -0.10566243270259357Z';\n\n draw(ctx: IContext2d, size: number, transX: number, transY: number) {\n const r = this.parseSize(size) / 2;\n // const r = sqrt(size / a);\n return wye(ctx, r, transX, transY);\n }\n\n drawOffset(ctx: IContext2d, size: number, transX: number, transY: number, offset: number) {\n const r = this.parseSize(size) / 2 + offset;\n // const r = sqrt(size / a);\n return wye(ctx, r, transX, transY);\n }\n}\n\nexport default new WyeSymbol();\n"]}
@@ -60,6 +60,7 @@ export const DefaultStrokeStyle = Object.assign({
60
60
  export const DefaultTextStyle = {
61
61
  text: "",
62
62
  maxLineWidth: 1 / 0,
63
+ maxWidth: 1 / 0,
63
64
  textAlign: "left",
64
65
  textBaseline: "alphabetic",
65
66
  fontSize: 16,
@@ -142,7 +143,8 @@ export const DefaultAttribute = Object.assign(Object.assign(Object.assign({
142
143
  globalZIndex: 1,
143
144
  globalCompositeOperation: "",
144
145
  overflow: "hidden",
145
- shadowPickMode: "graphic"
146
+ shadowPickMode: "graphic",
147
+ keepStrokeScale: !1
146
148
  }, DefaultDebugAttribute), DefaultStyle), DefaultTransform);
147
149
 
148
150
  export function addAttributeToPrototype(obj, c, keys) {