@visactor/vrender 0.9.0-fillstroke.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (900) hide show
  1. package/cjs/allocator/allocator-modules.js.map +1 -1
  2. package/cjs/allocator/canvas-allocate.js.map +1 -1
  3. package/cjs/allocator/constants.d.ts +11 -0
  4. package/cjs/allocator/constants.js +12 -0
  5. package/cjs/allocator/constants.js.map +1 -0
  6. package/cjs/allocator/graphic-allocate.js.map +1 -1
  7. package/cjs/allocator/index.d.ts +3 -0
  8. package/cjs/allocator/index.js +21 -0
  9. package/cjs/allocator/index.js.map +1 -0
  10. package/cjs/allocator/interface.js.map +1 -1
  11. package/cjs/allocator/matrix-allocate.js.map +1 -1
  12. package/cjs/allocator/point-allocate.js.map +1 -1
  13. package/cjs/animate/Ticker/default-ticker.js.map +1 -1
  14. package/cjs/animate/Ticker/index.js.map +1 -1
  15. package/cjs/animate/Ticker/interface.js.map +1 -1
  16. package/cjs/animate/animate.js.map +1 -1
  17. package/cjs/animate/config.js.map +1 -1
  18. package/cjs/animate/custom-animate.d.ts +2 -2
  19. package/cjs/animate/custom-animate.js +11 -11
  20. package/cjs/animate/custom-animate.js.map +1 -1
  21. package/cjs/animate/easing.js.map +1 -1
  22. package/cjs/animate/index.js.map +1 -1
  23. package/cjs/animate/morphing.js +5 -4
  24. package/cjs/animate/morphing.js.map +1 -1
  25. package/cjs/animate/timeline.js.map +1 -1
  26. package/cjs/canvas/constants.d.ts +2 -0
  27. package/cjs/canvas/constants.js +7 -0
  28. package/cjs/canvas/constants.js.map +1 -0
  29. package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
  30. package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
  31. package/cjs/canvas/contributions/browser/context.d.ts +4 -2
  32. package/cjs/canvas/contributions/browser/context.js +4 -4
  33. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  34. package/cjs/canvas/contributions/browser/index.js.map +1 -1
  35. package/cjs/canvas/contributions/browser/modules.js.map +1 -1
  36. package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
  37. package/cjs/canvas/contributions/feishu/context.js.map +1 -1
  38. package/cjs/canvas/contributions/feishu/index.js.map +1 -1
  39. package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
  40. package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
  41. package/cjs/canvas/contributions/lynx/context.js.map +1 -1
  42. package/cjs/canvas/contributions/lynx/index.js.map +1 -1
  43. package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
  44. package/cjs/canvas/contributions/modules.js.map +1 -1
  45. package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
  46. package/cjs/canvas/contributions/taro/context.js +4 -4
  47. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  48. package/cjs/canvas/contributions/taro/index.js.map +1 -1
  49. package/cjs/canvas/contributions/taro/modules.js.map +1 -1
  50. package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
  51. package/cjs/canvas/contributions/tt/context.js.map +1 -1
  52. package/cjs/canvas/contributions/tt/index.js.map +1 -1
  53. package/cjs/canvas/contributions/tt/modules.js.map +1 -1
  54. package/cjs/canvas/creator.d.ts +3 -0
  55. package/cjs/canvas/creator.js +18 -0
  56. package/cjs/canvas/creator.js.map +1 -0
  57. package/cjs/canvas/empty-context.js.map +1 -1
  58. package/cjs/canvas/index.js.map +1 -1
  59. package/cjs/canvas/interface.js.map +1 -1
  60. package/cjs/canvas/util.js.map +1 -1
  61. package/cjs/color-string/colorName.js +1 -1
  62. package/cjs/color-string/colorName.js.map +1 -1
  63. package/cjs/color-string/index.js +1 -1
  64. package/cjs/color-string/index.js.map +1 -1
  65. package/cjs/color-string/interpolate.js +1 -1
  66. package/cjs/color-string/interpolate.js.map +1 -1
  67. package/cjs/common/bezier.js.map +1 -1
  68. package/cjs/common/bounds-context.js.map +1 -1
  69. package/cjs/common/canvas-utils.d.ts +1 -1
  70. package/cjs/common/canvas-utils.js +7 -11
  71. package/cjs/common/canvas-utils.js.map +1 -1
  72. package/cjs/common/contribution-provider.js.map +1 -1
  73. package/cjs/common/curve/basis.js.map +1 -1
  74. package/cjs/common/curve/common.js.map +1 -1
  75. package/cjs/common/curve/index.js.map +1 -1
  76. package/cjs/common/curve/interface.js.map +1 -1
  77. package/cjs/common/curve/linear-closed.js.map +1 -1
  78. package/cjs/common/curve/linear.js.map +1 -1
  79. package/cjs/common/curve/monotone.js.map +1 -1
  80. package/cjs/common/curve/step.js.map +1 -1
  81. package/cjs/common/enums.js.map +1 -1
  82. package/cjs/common/generator.js.map +1 -1
  83. package/cjs/common/index.js.map +1 -1
  84. package/cjs/common/interface.d.ts +1 -0
  85. package/cjs/common/interface.js +1 -0
  86. package/cjs/common/interface.js.map +1 -0
  87. package/cjs/common/matrix.js.map +1 -1
  88. package/cjs/common/morphing-utils.js +2 -1
  89. package/cjs/common/morphing-utils.js.map +1 -1
  90. package/cjs/common/path-svg.js.map +1 -1
  91. package/cjs/common/path.js.map +1 -1
  92. package/cjs/common/polygon.js +0 -1
  93. package/cjs/common/polygon.js.map +1 -1
  94. package/cjs/common/render-area.js.map +1 -1
  95. package/cjs/common/render-command-list.js.map +1 -1
  96. package/cjs/common/render-curve.js.map +1 -1
  97. package/cjs/common/seg-context.js.map +1 -1
  98. package/cjs/common/shape/arc.js.map +1 -1
  99. package/cjs/common/shape/rect.d.ts +1 -1
  100. package/cjs/common/shape/rect.js.map +1 -1
  101. package/cjs/common/sort.js.map +1 -1
  102. package/cjs/common/split-path.js.map +1 -1
  103. package/cjs/common/store.js.map +1 -1
  104. package/cjs/common/text.js.map +1 -1
  105. package/cjs/common/utils.d.ts +1 -2
  106. package/cjs/common/utils.js +6 -15
  107. package/cjs/common/utils.js.map +1 -1
  108. package/cjs/container.d.ts +2 -0
  109. package/cjs/container.js +9 -0
  110. package/cjs/container.js.map +1 -0
  111. package/cjs/core/application.js +1 -1
  112. package/cjs/core/application.js.map +1 -1
  113. package/cjs/core/camera.js +1 -1
  114. package/cjs/core/camera.js.map +1 -1
  115. package/cjs/core/constants.d.ts +7 -0
  116. package/cjs/core/constants.js +25 -0
  117. package/cjs/core/constants.js.map +1 -0
  118. package/cjs/core/contributions/constants.d.ts +1 -0
  119. package/cjs/core/contributions/constants.js +6 -0
  120. package/cjs/core/contributions/constants.js.map +1 -0
  121. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  122. package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
  123. package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
  124. package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
  125. package/cjs/core/contributions/env/modules.js.map +1 -1
  126. package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
  127. package/cjs/core/contributions/index.js.map +1 -1
  128. package/cjs/core/contributions/interface.js.map +1 -1
  129. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  130. package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
  131. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  132. package/cjs/core/contributions/modules.js.map +1 -1
  133. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  134. package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  135. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  136. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  137. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  138. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  139. package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
  140. package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
  141. package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
  142. package/cjs/core/contributions/window/modules.js.map +1 -1
  143. package/cjs/core/contributions/window/native-contribution.js.map +1 -1
  144. package/cjs/core/contributions/window/node-contribution.js.map +1 -1
  145. package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
  146. package/cjs/core/core-modules.js +1 -1
  147. package/cjs/core/core-modules.js.map +1 -1
  148. package/cjs/core/global.d.ts +2 -2
  149. package/cjs/core/global.js +2 -1
  150. package/cjs/core/global.js.map +1 -1
  151. package/cjs/core/graphic-utils.js +1 -1
  152. package/cjs/core/graphic-utils.js.map +1 -1
  153. package/cjs/core/index.js +1 -1
  154. package/cjs/core/index.js.map +1 -1
  155. package/cjs/core/layer-service.js +1 -1
  156. package/cjs/core/layer-service.js.map +1 -1
  157. package/cjs/core/layer.js +1 -1
  158. package/cjs/core/layer.js.map +1 -1
  159. package/cjs/core/light.js +1 -1
  160. package/cjs/core/light.js.map +1 -1
  161. package/cjs/core/stage.js +1 -1
  162. package/cjs/core/stage.js.map +1 -1
  163. package/cjs/core/window.js +1 -1
  164. package/cjs/core/window.js.map +1 -1
  165. package/cjs/create.js.map +1 -1
  166. package/cjs/event/constant.js +1 -1
  167. package/cjs/event/constant.js.map +1 -1
  168. package/cjs/event/event-manager.js +1 -1
  169. package/cjs/event/event-manager.js.map +1 -1
  170. package/cjs/event/event-system.js +1 -1
  171. package/cjs/event/event-system.js.map +1 -1
  172. package/cjs/event/event-target.js +1 -1
  173. package/cjs/event/event-target.js.map +1 -1
  174. package/cjs/event/extension/drag.js.map +1 -1
  175. package/cjs/event/extension/gesture.js.map +1 -1
  176. package/cjs/event/extension/index.js.map +1 -1
  177. package/cjs/event/federated-event/base-event.js.map +1 -1
  178. package/cjs/event/federated-event/custom-event.js.map +1 -1
  179. package/cjs/event/federated-event/index.js.map +1 -1
  180. package/cjs/event/federated-event/mouse-event.js.map +1 -1
  181. package/cjs/event/federated-event/pointer-event.js.map +1 -1
  182. package/cjs/event/federated-event/wheel-event.js.map +1 -1
  183. package/cjs/event/index.js +1 -1
  184. package/cjs/event/index.js.map +1 -1
  185. package/cjs/event/interface.js +1 -1
  186. package/cjs/event/interface.js.map +1 -1
  187. package/cjs/event/type.js +1 -2
  188. package/cjs/event/type.js.map +1 -1
  189. package/cjs/event/util.js +1 -1
  190. package/cjs/event/util.js.map +1 -1
  191. package/cjs/export.js.map +1 -1
  192. package/cjs/graphic/arc.js +1 -1
  193. package/cjs/graphic/arc.js.map +1 -1
  194. package/cjs/graphic/arc3d.js +1 -1
  195. package/cjs/graphic/arc3d.js.map +1 -1
  196. package/cjs/graphic/area.js +1 -1
  197. package/cjs/graphic/area.js.map +1 -1
  198. package/cjs/graphic/bounds.js +1 -1
  199. package/cjs/graphic/bounds.js.map +1 -1
  200. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  201. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  202. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  203. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  204. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  205. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  206. package/cjs/graphic/builtin-symbol/index.js.map +1 -1
  207. package/cjs/graphic/builtin-symbol/interface.js.map +1 -1
  208. package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
  209. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  210. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  211. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  212. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  213. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  214. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  215. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  216. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  217. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  218. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  219. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  220. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  221. package/cjs/graphic/circle.js +1 -1
  222. package/cjs/graphic/circle.js.map +1 -1
  223. package/cjs/graphic/config.js +5 -3
  224. package/cjs/graphic/config.js.map +1 -1
  225. package/cjs/graphic/constant.d.ts +17 -0
  226. package/cjs/graphic/constant.js +22 -0
  227. package/cjs/graphic/constant.js.map +1 -0
  228. package/cjs/graphic/glyph.js.map +1 -1
  229. package/cjs/graphic/graphic-creator.js.map +1 -1
  230. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  231. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  232. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  233. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  234. package/cjs/graphic/graphic-service/default-theme.js.map +1 -1
  235. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  236. package/cjs/graphic/graphic-service/graphic-service.js +30 -25
  237. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  238. package/cjs/graphic/graphic-service/index.d.ts +1 -0
  239. package/cjs/graphic/graphic-service/index.js +21 -0
  240. package/cjs/graphic/graphic-service/index.js.map +1 -0
  241. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  242. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  243. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  244. package/cjs/graphic/graphic-service/theme-service.js.map +1 -1
  245. package/cjs/graphic/graphic.js +1 -1
  246. package/cjs/graphic/graphic.js.map +1 -1
  247. package/cjs/graphic/group.js.map +1 -1
  248. package/cjs/graphic/image.js.map +1 -1
  249. package/cjs/graphic/index.js.map +1 -1
  250. package/cjs/graphic/line.js.map +1 -1
  251. package/cjs/graphic/node-tree.js.map +1 -1
  252. package/cjs/graphic/path.js.map +1 -1
  253. package/cjs/graphic/polygon.js.map +1 -1
  254. package/cjs/graphic/pyramid3d.js.map +1 -1
  255. package/cjs/graphic/rect.js.map +1 -1
  256. package/cjs/graphic/rect3d.js.map +1 -1
  257. package/cjs/graphic/richtext/frame.js.map +1 -1
  258. package/cjs/graphic/richtext/icon.js.map +1 -1
  259. package/cjs/graphic/richtext/line.js.map +1 -1
  260. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  261. package/cjs/graphic/richtext/utils.js +8 -6
  262. package/cjs/graphic/richtext/utils.js.map +1 -1
  263. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  264. package/cjs/graphic/richtext.js.map +1 -1
  265. package/cjs/graphic/shadow-root.js.map +1 -1
  266. package/cjs/graphic/symbol.js.map +1 -1
  267. package/cjs/graphic/text.js.map +1 -1
  268. package/cjs/graphic/theme.js.map +1 -1
  269. package/cjs/graphic/tools.js.map +1 -1
  270. package/cjs/graphic/wrap-text.js.map +1 -1
  271. package/cjs/index.js +1 -1
  272. package/cjs/index.js.map +1 -1
  273. package/cjs/interface/animate.js.map +1 -1
  274. package/cjs/interface/camera.js.map +1 -1
  275. package/cjs/interface/canvas.js.map +1 -1
  276. package/cjs/interface/color.js.map +1 -1
  277. package/cjs/interface/common.js.map +1 -1
  278. package/cjs/interface/context.d.ts +3 -3
  279. package/cjs/interface/context.js.map +1 -1
  280. package/cjs/interface/contribution.js.map +1 -1
  281. package/cjs/interface/creator.js.map +1 -1
  282. package/cjs/interface/global.js.map +1 -1
  283. package/cjs/interface/graphic/arc.js.map +1 -1
  284. package/cjs/interface/graphic/arc3d.js.map +1 -1
  285. package/cjs/interface/graphic/area.d.ts +1 -1
  286. package/cjs/interface/graphic/area.js.map +1 -1
  287. package/cjs/interface/graphic/bounds.js.map +1 -1
  288. package/cjs/interface/graphic/circle.js.map +1 -1
  289. package/cjs/interface/graphic/creator.js.map +1 -1
  290. package/cjs/interface/graphic/dynamic-path.js.map +1 -1
  291. package/cjs/interface/graphic/ellipse.js.map +1 -1
  292. package/cjs/interface/graphic/face3d.js.map +1 -1
  293. package/cjs/interface/graphic/glyph.js.map +1 -1
  294. package/cjs/interface/graphic/group.js.map +1 -1
  295. package/cjs/interface/graphic/image.js.map +1 -1
  296. package/cjs/interface/graphic/index.js.map +1 -1
  297. package/cjs/interface/graphic/isogon.js.map +1 -1
  298. package/cjs/interface/graphic/line.d.ts +1 -1
  299. package/cjs/interface/graphic/line.js.map +1 -1
  300. package/cjs/interface/graphic/path.js.map +1 -1
  301. package/cjs/interface/graphic/polygon.js.map +1 -1
  302. package/cjs/interface/graphic/polyline.js.map +1 -1
  303. package/cjs/interface/graphic/pyramid3d.js.map +1 -1
  304. package/cjs/interface/graphic/rect.js.map +1 -1
  305. package/cjs/interface/graphic/rect3d.js.map +1 -1
  306. package/cjs/interface/graphic/richText.d.ts +4 -2
  307. package/cjs/interface/graphic/richText.js.map +1 -1
  308. package/cjs/interface/graphic/shadow-root.js.map +1 -1
  309. package/cjs/interface/graphic/svg.js.map +1 -1
  310. package/cjs/interface/graphic/symbol.js.map +1 -1
  311. package/cjs/interface/graphic/text.js.map +1 -1
  312. package/cjs/interface/graphic/theme.js.map +1 -1
  313. package/cjs/interface/graphic/util.js.map +1 -1
  314. package/cjs/interface/graphic-creator.d.ts +39 -0
  315. package/cjs/interface/graphic-creator.js +6 -0
  316. package/cjs/interface/graphic-creator.js.map +1 -0
  317. package/cjs/interface/graphic-utils.js.map +1 -1
  318. package/cjs/interface/graphic.d.ts +4 -4
  319. package/cjs/interface/graphic.js.map +1 -1
  320. package/cjs/interface/index.js.map +1 -1
  321. package/cjs/interface/layer.js.map +1 -1
  322. package/cjs/interface/light.js.map +1 -1
  323. package/cjs/interface/matrix.js.map +1 -1
  324. package/cjs/interface/node-tree.js.map +1 -1
  325. package/cjs/interface/path.js.map +1 -1
  326. package/cjs/interface/stage.js.map +1 -1
  327. package/cjs/interface/util.js.map +1 -1
  328. package/cjs/kits/env.js.map +1 -1
  329. package/cjs/kits/index.js.map +1 -1
  330. package/cjs/modules.js.map +1 -1
  331. package/cjs/picker/canvas-picker-service.js.map +1 -1
  332. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  333. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  334. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  335. package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  336. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  337. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  338. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  339. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  340. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
  341. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  342. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  343. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  344. package/cjs/picker/contributions/canvas-picker/rect-picker.js +1 -1
  345. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  346. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  347. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  348. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  349. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  350. package/cjs/picker/contributions/constants.js.map +1 -1
  351. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
  352. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
  353. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
  354. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  355. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
  356. package/cjs/picker/contributions/math-picker/module.js.map +1 -1
  357. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
  358. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  359. package/cjs/picker/contributions/math-picker/rect-picker.js +1 -1
  360. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  361. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  362. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
  363. package/cjs/picker/contributions/modules.js.map +1 -1
  364. package/cjs/picker/contributions/old/circle-picker.js.map +1 -1
  365. package/cjs/picker/contributions/old/rect-picker.js.map +1 -1
  366. package/cjs/picker/global-picker-service.js.map +1 -1
  367. package/cjs/picker/index.js.map +1 -1
  368. package/cjs/picker/math-picker-service.js.map +1 -1
  369. package/cjs/picker/pick-interceptor.js.map +1 -1
  370. package/cjs/picker/pick-modules.js.map +1 -1
  371. package/cjs/picker/picker-service.js.map +1 -1
  372. package/cjs/picker/type.js.map +1 -1
  373. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  374. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  375. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  376. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  377. package/cjs/plugins/interface.js.map +1 -1
  378. package/cjs/plugins/plugin-modules.js.map +1 -1
  379. package/cjs/plugins/plugin-service.js.map +1 -1
  380. package/cjs/render/contributions/interface.js.map +1 -1
  381. package/cjs/render/contributions/modules.js.map +1 -1
  382. package/cjs/render/contributions/render/arc-render.d.ts +1 -1
  383. package/cjs/render/contributions/render/arc-render.js +3 -3
  384. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  385. package/cjs/render/contributions/render/arc3d-render.js +6 -6
  386. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  387. package/cjs/render/contributions/render/area-render.js +4 -4
  388. package/cjs/render/contributions/render/area-render.js.map +1 -1
  389. package/cjs/render/contributions/render/base-render.js.map +1 -1
  390. package/cjs/render/contributions/render/circle-render.js +1 -1
  391. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  392. package/cjs/render/contributions/render/clear-screen.js.map +1 -1
  393. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  394. package/cjs/render/contributions/render/contributions/area-contribution-render.js +2 -6
  395. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  396. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  397. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  398. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  399. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  400. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  401. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  402. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  403. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  404. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  405. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  406. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  407. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  408. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  409. package/cjs/render/contributions/render/group-render.js +1 -1
  410. package/cjs/render/contributions/render/group-render.js.map +1 -1
  411. package/cjs/render/contributions/render/image-render.js.map +1 -1
  412. package/cjs/render/contributions/render/incremental-area-render.js +1 -1
  413. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  414. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  415. package/cjs/render/contributions/render/incremental-line-render.js +1 -1
  416. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  417. package/cjs/render/contributions/render/index.js.map +1 -1
  418. package/cjs/render/contributions/render/line-render.js +4 -4
  419. package/cjs/render/contributions/render/line-render.js.map +1 -1
  420. package/cjs/render/contributions/render/module.js.map +1 -1
  421. package/cjs/render/contributions/render/path-render.js +1 -1
  422. package/cjs/render/contributions/render/path-render.js.map +1 -1
  423. package/cjs/render/contributions/render/polygon-render.js +1 -1
  424. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  425. package/cjs/render/contributions/render/pyramid3d-render.js +3 -3
  426. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  427. package/cjs/render/contributions/render/rect-render.js +1 -1
  428. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  429. package/cjs/render/contributions/render/rect3d-render.js +3 -3
  430. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  431. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  432. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  433. package/cjs/render/contributions/render/symbol-render.js +1 -1
  434. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  435. package/cjs/render/contributions/render/symbol.js.map +1 -1
  436. package/cjs/render/contributions/render/text-render.js +5 -5
  437. package/cjs/render/contributions/render/text-render.js.map +1 -1
  438. package/cjs/render/contributions/render/utils.d.ts +3 -3
  439. package/cjs/render/contributions/render/utils.js +3 -3
  440. package/cjs/render/contributions/render/utils.js.map +1 -1
  441. package/cjs/render/index.js.map +1 -1
  442. package/cjs/render/render-modules.js.map +1 -1
  443. package/cjs/render/render-service.js.map +1 -1
  444. package/cjs/resource-loader/loader.d.ts +1 -1
  445. package/cjs/resource-loader/loader.js.map +1 -1
  446. package/cjs/tapable/Hook.js.map +1 -1
  447. package/cjs/tapable/SyncHook.js.map +1 -1
  448. package/cjs/tapable/index.js.map +1 -1
  449. package/dist/vrender.js.js +1 -1
  450. package/dist/vrender.js.min.js +1 -1
  451. package/es/allocator/allocator-modules.js.map +1 -1
  452. package/es/allocator/canvas-allocate.js.map +1 -1
  453. package/es/allocator/constants.d.ts +11 -0
  454. package/es/allocator/constants.js +22 -0
  455. package/es/allocator/constants.js.map +1 -0
  456. package/es/allocator/graphic-allocate.js.map +1 -1
  457. package/es/allocator/index.d.ts +3 -0
  458. package/es/allocator/index.js +5 -0
  459. package/es/allocator/index.js.map +1 -0
  460. package/es/allocator/interface.js.map +1 -1
  461. package/es/allocator/matrix-allocate.js.map +1 -1
  462. package/es/allocator/point-allocate.js.map +1 -1
  463. package/es/animate/Ticker/default-ticker.js.map +1 -1
  464. package/es/animate/Ticker/index.js.map +1 -1
  465. package/es/animate/Ticker/interface.js.map +1 -1
  466. package/es/animate/animate.js.map +1 -1
  467. package/es/animate/config.js.map +1 -1
  468. package/es/animate/custom-animate.d.ts +2 -2
  469. package/es/animate/custom-animate.js +11 -11
  470. package/es/animate/custom-animate.js.map +1 -1
  471. package/es/animate/easing.js.map +1 -1
  472. package/es/animate/index.js.map +1 -1
  473. package/es/animate/morphing.js +5 -4
  474. package/es/animate/morphing.js.map +1 -1
  475. package/es/animate/timeline.js.map +1 -1
  476. package/es/canvas/constants.d.ts +2 -0
  477. package/es/canvas/constants.js +4 -0
  478. package/es/canvas/constants.js.map +1 -0
  479. package/es/canvas/contributions/browser/canvas.js.map +1 -1
  480. package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
  481. package/es/canvas/contributions/browser/context.d.ts +4 -2
  482. package/es/canvas/contributions/browser/context.js +6 -5
  483. package/es/canvas/contributions/browser/context.js.map +1 -1
  484. package/es/canvas/contributions/browser/index.js.map +1 -1
  485. package/es/canvas/contributions/browser/modules.js.map +1 -1
  486. package/es/canvas/contributions/feishu/canvas.js.map +1 -1
  487. package/es/canvas/contributions/feishu/context.js.map +1 -1
  488. package/es/canvas/contributions/feishu/index.js.map +1 -1
  489. package/es/canvas/contributions/feishu/modules.js.map +1 -1
  490. package/es/canvas/contributions/lynx/canvas.js.map +1 -1
  491. package/es/canvas/contributions/lynx/context.js.map +1 -1
  492. package/es/canvas/contributions/lynx/index.js.map +1 -1
  493. package/es/canvas/contributions/lynx/modules.js.map +1 -1
  494. package/es/canvas/contributions/modules.js.map +1 -1
  495. package/es/canvas/contributions/taro/canvas.js.map +1 -1
  496. package/es/canvas/contributions/taro/context.js +6 -5
  497. package/es/canvas/contributions/taro/context.js.map +1 -1
  498. package/es/canvas/contributions/taro/index.js.map +1 -1
  499. package/es/canvas/contributions/taro/modules.js.map +1 -1
  500. package/es/canvas/contributions/tt/canvas.js.map +1 -1
  501. package/es/canvas/contributions/tt/context.js.map +1 -1
  502. package/es/canvas/contributions/tt/index.js.map +1 -1
  503. package/es/canvas/contributions/tt/modules.js.map +1 -1
  504. package/es/canvas/creator.d.ts +3 -0
  505. package/es/canvas/creator.js +14 -0
  506. package/es/canvas/creator.js.map +1 -0
  507. package/es/canvas/empty-context.js.map +1 -1
  508. package/es/canvas/index.js.map +1 -1
  509. package/es/canvas/interface.js.map +1 -1
  510. package/es/canvas/util.js.map +1 -1
  511. package/es/color-string/colorName.js +1 -1
  512. package/es/color-string/colorName.js.map +1 -1
  513. package/es/color-string/index.js +1 -1
  514. package/es/color-string/index.js.map +1 -1
  515. package/es/color-string/interpolate.js +1 -1
  516. package/es/color-string/interpolate.js.map +1 -1
  517. package/es/common/bezier.js.map +1 -1
  518. package/es/common/bounds-context.js.map +1 -1
  519. package/es/common/canvas-utils.d.ts +1 -1
  520. package/es/common/canvas-utils.js +3 -6
  521. package/es/common/canvas-utils.js.map +1 -1
  522. package/es/common/contribution-provider.js.map +1 -1
  523. package/es/common/curve/basis.js.map +1 -1
  524. package/es/common/curve/common.js.map +1 -1
  525. package/es/common/curve/index.js.map +1 -1
  526. package/es/common/curve/interface.js.map +1 -1
  527. package/es/common/curve/linear-closed.js.map +1 -1
  528. package/es/common/curve/linear.js.map +1 -1
  529. package/es/common/curve/monotone.js.map +1 -1
  530. package/es/common/curve/step.js.map +1 -1
  531. package/es/common/enums.js.map +1 -1
  532. package/es/common/generator.js.map +1 -1
  533. package/es/common/index.js.map +1 -1
  534. package/es/common/interface.d.ts +1 -0
  535. package/es/common/interface.js +1 -0
  536. package/es/common/interface.js.map +1 -0
  537. package/es/common/matrix.js.map +1 -1
  538. package/es/common/morphing-utils.js +2 -1
  539. package/es/common/morphing-utils.js.map +1 -1
  540. package/es/common/path-svg.js.map +1 -1
  541. package/es/common/path.js.map +1 -1
  542. package/es/common/polygon.js +1 -2
  543. package/es/common/polygon.js.map +1 -1
  544. package/es/common/render-area.js.map +1 -1
  545. package/es/common/render-command-list.js.map +1 -1
  546. package/es/common/render-curve.js.map +1 -1
  547. package/es/common/seg-context.js.map +1 -1
  548. package/es/common/shape/arc.js.map +1 -1
  549. package/es/common/shape/rect.d.ts +1 -1
  550. package/es/common/shape/rect.js.map +1 -1
  551. package/es/common/sort.js.map +1 -1
  552. package/es/common/split-path.js.map +1 -1
  553. package/es/common/store.js.map +1 -1
  554. package/es/common/text.js.map +1 -1
  555. package/es/common/utils.d.ts +1 -2
  556. package/es/common/utils.js +5 -14
  557. package/es/common/utils.js.map +1 -1
  558. package/es/container.d.ts +2 -0
  559. package/es/container.js +3 -0
  560. package/es/container.js.map +1 -0
  561. package/es/core/application.js +1 -1
  562. package/es/core/application.js.map +1 -1
  563. package/es/core/camera.js +1 -1
  564. package/es/core/camera.js.map +1 -1
  565. package/es/core/constants.d.ts +7 -0
  566. package/es/core/constants.js +14 -0
  567. package/es/core/constants.js.map +1 -0
  568. package/es/core/contributions/constants.d.ts +1 -0
  569. package/es/core/contributions/constants.js +2 -0
  570. package/es/core/contributions/constants.js.map +1 -0
  571. package/es/core/contributions/env/base-contribution.js.map +1 -1
  572. package/es/core/contributions/env/browser-contribution.js.map +1 -1
  573. package/es/core/contributions/env/feishu-contribution.js.map +1 -1
  574. package/es/core/contributions/env/lynx-contribution.js.map +1 -1
  575. package/es/core/contributions/env/modules.js.map +1 -1
  576. package/es/core/contributions/env/taro-contribution.js.map +1 -1
  577. package/es/core/contributions/index.js.map +1 -1
  578. package/es/core/contributions/interface.js.map +1 -1
  579. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  580. package/es/core/contributions/layerHandler/modules.js.map +1 -1
  581. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  582. package/es/core/contributions/modules.js.map +1 -1
  583. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  584. package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  585. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  586. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  587. package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  588. package/es/core/contributions/window/base-contribution.js.map +1 -1
  589. package/es/core/contributions/window/browser-contribution.js.map +1 -1
  590. package/es/core/contributions/window/feishu-contribution.js.map +1 -1
  591. package/es/core/contributions/window/lynx-contribution.js.map +1 -1
  592. package/es/core/contributions/window/modules.js.map +1 -1
  593. package/es/core/contributions/window/native-contribution.js.map +1 -1
  594. package/es/core/contributions/window/node-contribution.js.map +1 -1
  595. package/es/core/contributions/window/taro-contribution.js.map +1 -1
  596. package/es/core/core-modules.js +1 -1
  597. package/es/core/core-modules.js.map +1 -1
  598. package/es/core/global.d.ts +2 -2
  599. package/es/core/global.js +2 -1
  600. package/es/core/global.js.map +1 -1
  601. package/es/core/graphic-utils.js +1 -1
  602. package/es/core/graphic-utils.js.map +1 -1
  603. package/es/core/index.js +1 -1
  604. package/es/core/index.js.map +1 -1
  605. package/es/core/layer-service.js +1 -1
  606. package/es/core/layer-service.js.map +1 -1
  607. package/es/core/layer.js +1 -1
  608. package/es/core/layer.js.map +1 -1
  609. package/es/core/light.js +1 -1
  610. package/es/core/light.js.map +1 -1
  611. package/es/core/stage.js +1 -1
  612. package/es/core/stage.js.map +1 -1
  613. package/es/core/window.js +1 -1
  614. package/es/core/window.js.map +1 -1
  615. package/es/create.js.map +1 -1
  616. package/es/event/constant.js +1 -1
  617. package/es/event/constant.js.map +1 -1
  618. package/es/event/event-manager.js +1 -1
  619. package/es/event/event-manager.js.map +1 -1
  620. package/es/event/event-system.js +1 -1
  621. package/es/event/event-system.js.map +1 -1
  622. package/es/event/event-target.js +1 -1
  623. package/es/event/event-target.js.map +1 -1
  624. package/es/event/extension/drag.js.map +1 -1
  625. package/es/event/extension/gesture.js.map +1 -1
  626. package/es/event/extension/index.js.map +1 -1
  627. package/es/event/federated-event/base-event.js.map +1 -1
  628. package/es/event/federated-event/custom-event.js.map +1 -1
  629. package/es/event/federated-event/index.js.map +1 -1
  630. package/es/event/federated-event/mouse-event.js.map +1 -1
  631. package/es/event/federated-event/pointer-event.js.map +1 -1
  632. package/es/event/federated-event/wheel-event.js.map +1 -1
  633. package/es/event/index.js +1 -1
  634. package/es/event/index.js.map +1 -1
  635. package/es/event/interface.js +1 -1
  636. package/es/event/interface.js.map +1 -1
  637. package/es/event/type.js +1 -2
  638. package/es/event/type.js.map +1 -1
  639. package/es/event/util.js +1 -1
  640. package/es/event/util.js.map +1 -1
  641. package/es/export.js.map +1 -1
  642. package/es/graphic/arc.js +1 -1
  643. package/es/graphic/arc.js.map +1 -1
  644. package/es/graphic/arc3d.js +1 -1
  645. package/es/graphic/arc3d.js.map +1 -1
  646. package/es/graphic/area.js +1 -1
  647. package/es/graphic/area.js.map +1 -1
  648. package/es/graphic/bounds.js +1 -1
  649. package/es/graphic/bounds.js.map +1 -1
  650. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  651. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  652. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  653. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  654. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  655. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  656. package/es/graphic/builtin-symbol/index.js.map +1 -1
  657. package/es/graphic/builtin-symbol/interface.js.map +1 -1
  658. package/es/graphic/builtin-symbol/rect.js.map +1 -1
  659. package/es/graphic/builtin-symbol/square.js.map +1 -1
  660. package/es/graphic/builtin-symbol/star.js.map +1 -1
  661. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  662. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  663. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  664. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  665. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  666. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  667. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  668. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  669. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  670. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  671. package/es/graphic/circle.js +1 -1
  672. package/es/graphic/circle.js.map +1 -1
  673. package/es/graphic/config.js +5 -3
  674. package/es/graphic/config.js.map +1 -1
  675. package/es/graphic/constant.d.ts +17 -0
  676. package/es/graphic/constant.js +38 -0
  677. package/es/graphic/constant.js.map +1 -0
  678. package/es/graphic/glyph.js.map +1 -1
  679. package/es/graphic/graphic-creator.js.map +1 -1
  680. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  681. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  682. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  683. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  684. package/es/graphic/graphic-service/default-theme.js.map +1 -1
  685. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  686. package/es/graphic/graphic-service/graphic-service.js +30 -26
  687. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  688. package/es/graphic/graphic-service/index.d.ts +1 -0
  689. package/es/graphic/graphic-service/index.js +2 -0
  690. package/es/graphic/graphic-service/index.js.map +1 -0
  691. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  692. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  693. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  694. package/es/graphic/graphic-service/theme-service.js.map +1 -1
  695. package/es/graphic/graphic.js +1 -1
  696. package/es/graphic/graphic.js.map +1 -1
  697. package/es/graphic/group.js.map +1 -1
  698. package/es/graphic/image.js.map +1 -1
  699. package/es/graphic/index.js.map +1 -1
  700. package/es/graphic/line.js.map +1 -1
  701. package/es/graphic/node-tree.js.map +1 -1
  702. package/es/graphic/path.js.map +1 -1
  703. package/es/graphic/polygon.js.map +1 -1
  704. package/es/graphic/pyramid3d.js.map +1 -1
  705. package/es/graphic/rect.js.map +1 -1
  706. package/es/graphic/rect3d.js.map +1 -1
  707. package/es/graphic/richtext/frame.js.map +1 -1
  708. package/es/graphic/richtext/icon.js.map +1 -1
  709. package/es/graphic/richtext/line.js.map +1 -1
  710. package/es/graphic/richtext/paragraph.js.map +1 -1
  711. package/es/graphic/richtext/utils.js +8 -6
  712. package/es/graphic/richtext/utils.js.map +1 -1
  713. package/es/graphic/richtext/wrapper.js.map +1 -1
  714. package/es/graphic/richtext.js.map +1 -1
  715. package/es/graphic/shadow-root.js.map +1 -1
  716. package/es/graphic/symbol.js.map +1 -1
  717. package/es/graphic/text.js.map +1 -1
  718. package/es/graphic/theme.js.map +1 -1
  719. package/es/graphic/tools.js.map +1 -1
  720. package/es/graphic/wrap-text.js.map +1 -1
  721. package/es/index.js +1 -1
  722. package/es/index.js.map +1 -1
  723. package/es/interface/animate.js.map +1 -1
  724. package/es/interface/camera.js.map +1 -1
  725. package/es/interface/canvas.js.map +1 -1
  726. package/es/interface/color.js.map +1 -1
  727. package/es/interface/common.js.map +1 -1
  728. package/es/interface/context.d.ts +3 -3
  729. package/es/interface/context.js.map +1 -1
  730. package/es/interface/contribution.js.map +1 -1
  731. package/es/interface/creator.js.map +1 -1
  732. package/es/interface/global.js.map +1 -1
  733. package/es/interface/graphic/arc.js.map +1 -1
  734. package/es/interface/graphic/arc3d.js.map +1 -1
  735. package/es/interface/graphic/area.d.ts +1 -1
  736. package/es/interface/graphic/area.js.map +1 -1
  737. package/es/interface/graphic/bounds.js.map +1 -1
  738. package/es/interface/graphic/circle.js.map +1 -1
  739. package/es/interface/graphic/creator.js.map +1 -1
  740. package/es/interface/graphic/dynamic-path.js.map +1 -1
  741. package/es/interface/graphic/ellipse.js.map +1 -1
  742. package/es/interface/graphic/face3d.js.map +1 -1
  743. package/es/interface/graphic/glyph.js.map +1 -1
  744. package/es/interface/graphic/group.js.map +1 -1
  745. package/es/interface/graphic/image.js.map +1 -1
  746. package/es/interface/graphic/index.js.map +1 -1
  747. package/es/interface/graphic/isogon.js.map +1 -1
  748. package/es/interface/graphic/line.d.ts +1 -1
  749. package/es/interface/graphic/line.js.map +1 -1
  750. package/es/interface/graphic/path.js.map +1 -1
  751. package/es/interface/graphic/polygon.js.map +1 -1
  752. package/es/interface/graphic/polyline.js.map +1 -1
  753. package/es/interface/graphic/pyramid3d.js.map +1 -1
  754. package/es/interface/graphic/rect.js.map +1 -1
  755. package/es/interface/graphic/rect3d.js.map +1 -1
  756. package/es/interface/graphic/richText.d.ts +4 -2
  757. package/es/interface/graphic/richText.js.map +1 -1
  758. package/es/interface/graphic/shadow-root.js.map +1 -1
  759. package/es/interface/graphic/svg.js.map +1 -1
  760. package/es/interface/graphic/symbol.js.map +1 -1
  761. package/es/interface/graphic/text.js.map +1 -1
  762. package/es/interface/graphic/theme.js.map +1 -1
  763. package/es/interface/graphic/util.js.map +1 -1
  764. package/es/interface/graphic-creator.d.ts +39 -0
  765. package/es/interface/graphic-creator.js +2 -0
  766. package/es/interface/graphic-creator.js.map +1 -0
  767. package/es/interface/graphic-utils.js.map +1 -1
  768. package/es/interface/graphic.d.ts +4 -4
  769. package/es/interface/graphic.js.map +1 -1
  770. package/es/interface/index.js.map +1 -1
  771. package/es/interface/layer.js.map +1 -1
  772. package/es/interface/light.js.map +1 -1
  773. package/es/interface/matrix.js.map +1 -1
  774. package/es/interface/node-tree.js.map +1 -1
  775. package/es/interface/path.js.map +1 -1
  776. package/es/interface/stage.js.map +1 -1
  777. package/es/interface/util.js.map +1 -1
  778. package/es/kits/env.js.map +1 -1
  779. package/es/kits/index.js.map +1 -1
  780. package/es/modules.js.map +1 -1
  781. package/es/picker/canvas-picker-service.js.map +1 -1
  782. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  783. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  784. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  785. package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  786. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  787. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  788. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  789. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  790. package/es/picker/contributions/canvas-picker/module.js.map +1 -1
  791. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  792. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  793. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  794. package/es/picker/contributions/canvas-picker/rect-picker.js +1 -1
  795. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  796. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  797. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  798. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  799. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  800. package/es/picker/contributions/constants.js.map +1 -1
  801. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
  802. package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
  803. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
  804. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  805. package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
  806. package/es/picker/contributions/math-picker/module.js.map +1 -1
  807. package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
  808. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  809. package/es/picker/contributions/math-picker/rect-picker.js +1 -1
  810. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  811. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  812. package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
  813. package/es/picker/contributions/modules.js.map +1 -1
  814. package/es/picker/contributions/old/circle-picker.js.map +1 -1
  815. package/es/picker/contributions/old/rect-picker.js.map +1 -1
  816. package/es/picker/global-picker-service.js.map +1 -1
  817. package/es/picker/index.js.map +1 -1
  818. package/es/picker/math-picker-service.js.map +1 -1
  819. package/es/picker/pick-interceptor.js.map +1 -1
  820. package/es/picker/pick-modules.js.map +1 -1
  821. package/es/picker/picker-service.js.map +1 -1
  822. package/es/picker/type.js.map +1 -1
  823. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  824. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  825. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  826. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  827. package/es/plugins/interface.js.map +1 -1
  828. package/es/plugins/plugin-modules.js.map +1 -1
  829. package/es/plugins/plugin-service.js.map +1 -1
  830. package/es/render/contributions/interface.js.map +1 -1
  831. package/es/render/contributions/modules.js.map +1 -1
  832. package/es/render/contributions/render/arc-render.d.ts +1 -1
  833. package/es/render/contributions/render/arc-render.js +3 -3
  834. package/es/render/contributions/render/arc-render.js.map +1 -1
  835. package/es/render/contributions/render/arc3d-render.js +6 -6
  836. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  837. package/es/render/contributions/render/area-render.js +4 -4
  838. package/es/render/contributions/render/area-render.js.map +1 -1
  839. package/es/render/contributions/render/base-render.js.map +1 -1
  840. package/es/render/contributions/render/circle-render.js +1 -1
  841. package/es/render/contributions/render/circle-render.js.map +1 -1
  842. package/es/render/contributions/render/clear-screen.js.map +1 -1
  843. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  844. package/es/render/contributions/render/contributions/area-contribution-render.js +1 -3
  845. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  846. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  847. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  848. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  849. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  850. package/es/render/contributions/render/contributions/index.js.map +1 -1
  851. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  852. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  853. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  854. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  855. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  856. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  857. package/es/render/contributions/render/glyph-render.js.map +1 -1
  858. package/es/render/contributions/render/graphic-render.js.map +1 -1
  859. package/es/render/contributions/render/group-render.js +1 -1
  860. package/es/render/contributions/render/group-render.js.map +1 -1
  861. package/es/render/contributions/render/image-render.js.map +1 -1
  862. package/es/render/contributions/render/incremental-area-render.js +1 -1
  863. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  864. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  865. package/es/render/contributions/render/incremental-line-render.js +1 -1
  866. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  867. package/es/render/contributions/render/index.js.map +1 -1
  868. package/es/render/contributions/render/line-render.js +4 -4
  869. package/es/render/contributions/render/line-render.js.map +1 -1
  870. package/es/render/contributions/render/module.js.map +1 -1
  871. package/es/render/contributions/render/path-render.js +1 -1
  872. package/es/render/contributions/render/path-render.js.map +1 -1
  873. package/es/render/contributions/render/polygon-render.js +1 -1
  874. package/es/render/contributions/render/polygon-render.js.map +1 -1
  875. package/es/render/contributions/render/pyramid3d-render.js +3 -3
  876. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  877. package/es/render/contributions/render/rect-render.js +1 -1
  878. package/es/render/contributions/render/rect-render.js.map +1 -1
  879. package/es/render/contributions/render/rect3d-render.js +3 -3
  880. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  881. package/es/render/contributions/render/render-slector.js.map +1 -1
  882. package/es/render/contributions/render/richtext-render.js.map +1 -1
  883. package/es/render/contributions/render/symbol-render.js +1 -1
  884. package/es/render/contributions/render/symbol-render.js.map +1 -1
  885. package/es/render/contributions/render/symbol.js.map +1 -1
  886. package/es/render/contributions/render/text-render.js +5 -5
  887. package/es/render/contributions/render/text-render.js.map +1 -1
  888. package/es/render/contributions/render/utils.d.ts +3 -3
  889. package/es/render/contributions/render/utils.js +3 -4
  890. package/es/render/contributions/render/utils.js.map +1 -1
  891. package/es/render/index.js.map +1 -1
  892. package/es/render/render-modules.js.map +1 -1
  893. package/es/render/render-service.js.map +1 -1
  894. package/es/resource-loader/loader.d.ts +1 -1
  895. package/es/resource-loader/loader.js.map +1 -1
  896. package/es/tapable/Hook.js.map +1 -1
  897. package/es/tapable/SyncHook.js.map +1 -1
  898. package/es/tapable/index.js.map +1 -1
  899. package/es/tsconfig.tsbuildinfo +1 -0
  900. package/package.json +21 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/circle.ts"],"names":[],"mappings":"","file":"circle.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ICircleAttribute = {\n radius: number;\n startAngle: number;\n endAngle: number;\n};\n\nexport type ICircleGraphicAttribute = Partial<IGraphicAttribute> & Partial<ICircleAttribute>;\n\nexport type ICircle = IGraphic<ICircleGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/circle.ts"],"names":[],"mappings":"","file":"circle.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ICircleAttribute = {\n radius: number;\n startAngle: number;\n endAngle: number;\n};\n\nexport type ICircleGraphicAttribute = Partial<IGraphicAttribute> & Partial<ICircleAttribute>;\n\nexport type ICircle = IGraphic<ICircleGraphicAttribute>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/creator.ts"],"names":[],"mappings":"","file":"creator.js","sourcesContent":["import { IGraphicAttribute } from '../graphic';\nimport { IArcAttribute, IArcGraphicAttribute } from './arc';\nimport { IAreaAttribute, IAreaGraphicAttribute } from './area';\nimport { ICircleAttribute, ICircleGraphicAttribute } from './circle';\nimport { IEllipseAttribute } from './ellipse';\nimport { IGroupAttribute, IGroupGraphicAttribute } from './group';\nimport { IImageAttribute, IImageGraphicAttribute } from './image';\nimport { IIsogonAttribute } from './isogon';\nimport { ILineAttribute, ILineGraphicAttribute } from './line';\nimport { IPathAttribute, IPathGraphicAttribute } from './path';\nimport { IPolygonAttribute } from './polygon';\nimport { IRectAttribute, IRectGraphicAttribute } from './rect';\nimport { IRichTextAttribute, IRichTextGraphicAttribute } from './richText';\nimport { ISvgAttribute } from './svg';\nimport { ISymbolAttribute, ISymbolGraphicAttribute } from './symbol';\nimport { ITextAttribute, ITextGraphicAttribute, IWrapTextGraphicAttribute } from './text';\n\nexport type IMarkAttribute =\n | IGraphicAttribute\n | IArcAttribute\n | IAreaAttribute\n | ICircleAttribute\n | IEllipseAttribute\n | IGroupAttribute\n | IImageAttribute\n | IIsogonAttribute\n | ILineAttribute\n | IPathAttribute\n | IPolygonAttribute\n | IRectAttribute\n | IRichTextAttribute\n | ISvgAttribute\n | ISymbolAttribute\n | ITextAttribute;\n\nexport type IThemeAttribute =\n | IArcGraphicAttribute\n | IAreaGraphicAttribute\n | ICircleGraphicAttribute\n // | IEllipseGraphicAttribute\n // | IGroupGraphicAttribute\n | IImageGraphicAttribute\n // | IIsogonGraphicAttribute\n | ILineGraphicAttribute\n | IPathGraphicAttribute\n // | IPolygonGraphicAttribute\n | IRectGraphicAttribute\n // | IRichTextGraphicAttribute\n // | ISvgGraphicAttribute\n | ISymbolGraphicAttribute\n | ITextGraphicAttribute\n | IRichTextGraphicAttribute\n | IWrapTextGraphicAttribute;\n\n/**\n * facet object map\n */\nexport interface GraphicAttributeMap {\n readonly arc: IArcGraphicAttribute;\n readonly area: IAreaGraphicAttribute;\n readonly circle: ICircleGraphicAttribute;\n readonly image: IImageGraphicAttribute;\n readonly line: ILineGraphicAttribute;\n readonly path: IPathGraphicAttribute;\n readonly group: IGroupGraphicAttribute;\n readonly rect: IRectGraphicAttribute;\n readonly symbol: ISymbolGraphicAttribute;\n readonly text: ITextGraphicAttribute;\n readonly richtext: IRichTextGraphicAttribute;\n readonly wrapText: IWrapTextGraphicAttribute;\n}\n\n// export declare function createArc(params: Partial<IArcAttribute & IGraphicAttribute>): IArc;\n// export declare function createArea(params: Partial<IAreaAttribute & IGraphicAttribute>): IArea;\n// export declare function createCircle(params: Partial<ICircleAttribute & IGraphicAttribute>): ICircle;\n// // export declare function createDynamicPath(params: Params<Partial<IDynamicPathShape>, Partial<IGraphicAttribute>>): IDynamicPath;\n// export declare function createEllipse(params: Partial<IEllipseAttribute & IGraphicAttribute>): IEllipse;\n// export declare function createGlyph(): IGlyph;\n// export declare function createGroup(params: Partial<IGroupAttribute & IGraphicAttribute>): IGroup;\n// export declare function createImage(params: Partial<IImageAttribute & IGraphicAttribute>): IImage;\n// export declare function createIsogon(params: Partial<IIsogonAttribute & IGraphicAttribute>): IIsogon;\n// export declare function createIine(params: Partial<ILineAttribute & IGraphicAttribute>): ILine;\n// export declare function createPath(params: Partial<IPathAttribute & IGraphicAttribute>): IPath;\n// export declare function createPolygon(params: Partial<IPolygonAttribute & IGraphicAttribute>): IPolygon;\n// // export declare function createPolyline(params: Partial<IArcAttribute & IGraphicAttribute>): IPolyline;\n// export declare function createRect(params: Partial<IRectAttribute & IGraphicAttribute>): IRect;\n// export declare function createRichText(params: Partial<IRichTextAttribute & IGraphicAttribute>): IRichText;\n// export declare function createSvg(params: Partial<ISvgAttribute & IGraphicAttribute>): ISvg;\n// export declare function createSymbol(params: Partial<ISymbolAttribute & IGraphicAttribute>): ISymbol;\n// export declare function createText(params: Partial<ITextAttribute & IGraphicAttribute>): IText;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/creator.ts"],"names":[],"mappings":"","file":"creator.js","sourcesContent":["import { IGraphicAttribute } from '../graphic';\nimport { IArc, IArcAttribute, IArcGraphicAttribute } from './arc';\nimport { IArea, IAreaAttribute, IAreaGraphicAttribute } from './area';\nimport { ICircle, ICircleAttribute, ICircleGraphicAttribute } from './circle';\nimport { IEllipse, IEllipseAttribute } from './ellipse';\nimport { IGroup, IGroupAttribute, IGroupGraphicAttribute } from './group';\nimport { IImage, IImageAttribute, IImageGraphicAttribute } from './image';\nimport { IIsogon, IIsogonAttribute } from './isogon';\nimport { ILine, ILineAttribute, ILineGraphicAttribute } from './line';\nimport { IPath, IPathAttribute, IPathGraphicAttribute } from './path';\nimport { IPolygon, IPolygonAttribute } from './polygon';\nimport { IRect, IRectAttribute, IRectGraphicAttribute } from './rect';\nimport { IRichText, IRichTextAttribute, IRichTextGraphicAttribute } from './richText';\nimport { ISvg, ISvgAttribute } from './svg';\nimport { ISymbol, ISymbolAttribute, ISymbolGraphicAttribute } from './symbol';\nimport { IText, ITextAttribute, ITextGraphicAttribute, IWrapTextGraphicAttribute } from './text';\n\nexport type IMarkAttribute =\n | IGraphicAttribute\n | IArcAttribute\n | IAreaAttribute\n | ICircleAttribute\n | IEllipseAttribute\n | IGroupAttribute\n | IImageAttribute\n | IIsogonAttribute\n | ILineAttribute\n | IPathAttribute\n | IPolygonAttribute\n | IRectAttribute\n | IRichTextAttribute\n | ISvgAttribute\n | ISymbolAttribute\n | ITextAttribute;\n\nexport type IThemeAttribute =\n | IArcGraphicAttribute\n | IAreaGraphicAttribute\n | ICircleGraphicAttribute\n // | IEllipseGraphicAttribute\n // | IGroupGraphicAttribute\n | IImageGraphicAttribute\n // | IIsogonGraphicAttribute\n | ILineGraphicAttribute\n | IPathGraphicAttribute\n // | IPolygonGraphicAttribute\n | IRectGraphicAttribute\n // | IRichTextGraphicAttribute\n // | ISvgGraphicAttribute\n | ISymbolGraphicAttribute\n | ITextGraphicAttribute\n | IRichTextGraphicAttribute\n | IWrapTextGraphicAttribute;\n\n/**\n * facet object map\n */\nexport interface GraphicAttributeMap {\n readonly arc: IArcGraphicAttribute;\n readonly area: IAreaGraphicAttribute;\n readonly circle: ICircleGraphicAttribute;\n readonly image: IImageGraphicAttribute;\n readonly line: ILineGraphicAttribute;\n readonly path: IPathGraphicAttribute;\n readonly group: IGroupGraphicAttribute;\n readonly rect: IRectGraphicAttribute;\n readonly symbol: ISymbolGraphicAttribute;\n readonly text: ITextGraphicAttribute;\n readonly richtext: IRichTextGraphicAttribute;\n readonly wrapText: IWrapTextGraphicAttribute;\n}\n\n// export declare function createArc(params: Partial<IArcAttribute & IGraphicAttribute>): IArc;\n// export declare function createArea(params: Partial<IAreaAttribute & IGraphicAttribute>): IArea;\n// export declare function createCircle(params: Partial<ICircleAttribute & IGraphicAttribute>): ICircle;\n// // export declare function createDynamicPath(params: Params<Partial<IDynamicPathShape>, Partial<IGraphicAttribute>>): IDynamicPath;\n// export declare function createEllipse(params: Partial<IEllipseAttribute & IGraphicAttribute>): IEllipse;\n// export declare function createGlyph(): IGlyph;\n// export declare function createGroup(params: Partial<IGroupAttribute & IGraphicAttribute>): IGroup;\n// export declare function createImage(params: Partial<IImageAttribute & IGraphicAttribute>): IImage;\n// export declare function createIsogon(params: Partial<IIsogonAttribute & IGraphicAttribute>): IIsogon;\n// export declare function createIine(params: Partial<ILineAttribute & IGraphicAttribute>): ILine;\n// export declare function createPath(params: Partial<IPathAttribute & IGraphicAttribute>): IPath;\n// export declare function createPolygon(params: Partial<IPolygonAttribute & IGraphicAttribute>): IPolygon;\n// // export declare function createPolyline(params: Partial<IArcAttribute & IGraphicAttribute>): IPolyline;\n// export declare function createRect(params: Partial<IRectAttribute & IGraphicAttribute>): IRect;\n// export declare function createRichText(params: Partial<IRichTextAttribute & IGraphicAttribute>): IRichText;\n// export declare function createSvg(params: Partial<ISvgAttribute & IGraphicAttribute>): ISvg;\n// export declare function createSymbol(params: Partial<ISymbolAttribute & IGraphicAttribute>): ISymbol;\n// export declare function createText(params: Partial<ITextAttribute & IGraphicAttribute>): IText;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/dynamic-path.ts"],"names":[],"mappings":"","file":"dynamic-path.js","sourcesContent":["// import { IGraphic, IStyle } from '../Graphic';\n// import { IPath2D } from '../Path';\n\n// // TODO: Path svg <Path path='' />\n\n// export interface IDynamicPathShape {\n// path: IPath2D;\n// }\n\n// type ShapeType = 'area' | 'circle' | 'ellipse' | 'line' | 'rect' | 'path';\n\n// export interface IDynamicPath extends IGraphic, Partial<IDynamicPathShape> {\n// type: ShapeType;\n// style?: Partial<IStyle>; // 用户传入什么就是什么\n// }\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/dynamic-path.ts"],"names":[],"mappings":"","file":"dynamic-path.js","sourcesContent":["// import { IGraphic, IStyle } from '../Graphic';\n// import { IPath2D } from '../Path';\n\n// // TODO: Path svg <Path path='' />\n\n// export interface IDynamicPathShape {\n// path: IPath2D;\n// }\n\n// type ShapeType = 'area' | 'circle' | 'ellipse' | 'line' | 'rect' | 'path';\n\n// export interface IDynamicPath extends IGraphic, Partial<IDynamicPathShape> {\n// type: ShapeType;\n// style?: Partial<IStyle>; // 用户传入什么就是什么\n// }\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/ellipse.ts"],"names":[],"mappings":"","file":"ellipse.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IEllipseAttribute = {\n radiusX: number;\n radiusY: number;\n};\n\nexport interface IEllipseGraphicAttribute extends Partial<IGraphicAttribute>, Partial<IEllipseAttribute> {}\n\nexport type IEllipse = IGraphic<IEllipseGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/ellipse.ts"],"names":[],"mappings":"","file":"ellipse.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IEllipseAttribute = {\n radiusX: number;\n radiusY: number;\n};\n\nexport interface IEllipseGraphicAttribute extends Partial<IGraphicAttribute>, Partial<IEllipseAttribute> {}\n\nexport type IEllipse = IGraphic<IEllipseGraphicAttribute>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/face3d.ts"],"names":[],"mappings":"","file":"face3d.js","sourcesContent":["import type { vec2, vec3 } from '../matrix';\n\nexport type IFace3d = {\n polygons: IPolygonItem[];\n edges: vec2[];\n vertices: vec3[];\n};\n\nexport type IPolygonItem = {\n polygon: number[];\n normal: vec3;\n ave_z?: number;\n};\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/face3d.ts"],"names":[],"mappings":"","file":"face3d.js","sourcesContent":["import type { vec2, vec3 } from '../matrix';\n\nexport type IFace3d = {\n polygons: IPolygonItem[];\n edges: vec2[];\n vertices: vec3[];\n};\n\nexport type IPolygonItem = {\n polygon: number[];\n normal: vec3;\n ave_z?: number;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/glyph.ts"],"names":[],"mappings":"","file":"glyph.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICustomPath2D } from '../path';\n\n// glyph是一种图元,这种图元组合了各种其他图元\n// 1. 相对于group来说glyph不包含childrenPickable\n// 2. glyph不支持布局\n// 3. glyph不支持clip\n\nexport type IGlyphAttribute = {\n path: string | ICustomPath2D;\n width: number;\n height: number;\n borderRadius: number | number[];\n clip: boolean;\n};\n\nexport type IGlyphGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGlyphAttribute>;\n\nexport interface IGlyph<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>>\n extends IGraphic<IGlyphGraphicAttribute> {\n glyphStates?: Record<\n string,\n {\n attributes: IGlyphGraphicAttribute;\n subAttributes: T[];\n }\n >;\n glyphStateProxy?: (\n stateName: string,\n targetStates?: string[]\n ) => {\n attributes: IGlyphGraphicAttribute;\n subAttributes: T[];\n };\n\n setSubGraphic: (subGraphic: IGraphic[]) => void;\n\n getSubGraphic: () => IGraphic[];\n\n onInit: (cb: (g: this) => void) => void;\n\n onUpdate: (cb: (g: this) => void) => void;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/glyph.ts"],"names":[],"mappings":"","file":"glyph.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICustomPath2D } from '../path';\n\n// glyph是一种图元,这种图元组合了各种其他图元\n// 1. 相对于group来说glyph不包含childrenPickable\n// 2. glyph不支持布局\n// 3. glyph不支持clip\n\nexport type IGlyphAttribute = {\n path: string | ICustomPath2D;\n width: number;\n height: number;\n borderRadius: number | number[];\n clip: boolean;\n};\n\nexport type IGlyphGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGlyphAttribute>;\n\nexport interface IGlyph<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>>\n extends IGraphic<IGlyphGraphicAttribute> {\n glyphStates?: Record<\n string,\n {\n attributes: IGlyphGraphicAttribute;\n subAttributes: T[];\n }\n >;\n glyphStateProxy?: (\n stateName: string,\n targetStates?: string[]\n ) => {\n attributes: IGlyphGraphicAttribute;\n subAttributes: T[];\n };\n\n setSubGraphic: (subGraphic: IGraphic[]) => void;\n\n getSubGraphic: () => IGraphic[];\n\n onInit: (cb: (g: this) => void) => void;\n\n onUpdate: (cb: (g: this) => void) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/group.ts"],"names":[],"mappings":"","file":"group.js","sourcesContent":["import type { ITheme, IThemeSpec } from './theme';\nimport type { GraphicAttributeMap, INode } from '../../interface';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IGroupAttribute = {\n path: IGraphic[];\n width: number;\n height: number;\n borderRadius: number | number[];\n clip: boolean;\n visibleAll: boolean;\n};\n\nexport type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroupAttribute>;\n\nexport interface IGroup extends IGraphic<IGroupGraphicAttribute> {\n childrenPickable?: boolean; // 子元素是否可以被pick\n\n theme?: ITheme;\n\n createTheme: () => void;\n hideAll: () => void;\n showAll: () => void;\n\n setTheme: (t: IThemeSpec) => void;\n\n incrementalAppendChild: (node: INode, highPerformance?: boolean) => INode | null;\n incrementalClearChild: () => void;\n\n createOrUpdateChild: <T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ) => INode;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/group.ts"],"names":[],"mappings":"","file":"group.js","sourcesContent":["import type { ITheme, IThemeSpec } from './theme';\nimport type { GraphicAttributeMap, INode } from '../../interface';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IGroupAttribute = {\n path: IGraphic[];\n width: number;\n height: number;\n borderRadius: number | number[];\n clip: boolean;\n visibleAll: boolean;\n};\n\nexport type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroupAttribute>;\n\nexport interface IGroup extends IGraphic<IGroupGraphicAttribute> {\n childrenPickable?: boolean; // 子元素是否可以被pick\n\n theme?: ITheme;\n\n createTheme: () => void;\n hideAll: () => void;\n showAll: () => void;\n\n setTheme: (t: IThemeSpec) => void;\n\n incrementalAppendChild: (node: INode, highPerformance?: boolean) => INode | null;\n incrementalClearChild: () => void;\n\n createOrUpdateChild: <T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ) => INode;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/image.ts"],"names":[],"mappings":"","file":"image.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRepeatType = 'no-repeat' | 'repeat' | 'stretch';\n\nexport type IImageAttribute = {\n width: number;\n height: number;\n repeatX: IRepeatType;\n repeatY: IRepeatType;\n image: string | HTMLImageElement | HTMLCanvasElement;\n};\n\nexport type IImageGraphicAttribute = Partial<IGraphicAttribute> & Partial<IImageAttribute>;\n\nexport interface IImage extends IGraphic<IImageGraphicAttribute> {\n successCallback?: () => void;\n failCallback?: () => void;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/image.ts"],"names":[],"mappings":"","file":"image.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRepeatType = 'no-repeat' | 'repeat' | 'stretch';\n\nexport type IImageAttribute = {\n width: number;\n height: number;\n repeatX: IRepeatType;\n repeatY: IRepeatType;\n image: string | HTMLImageElement | HTMLCanvasElement;\n};\n\nexport type IImageGraphicAttribute = Partial<IGraphicAttribute> & Partial<IImageAttribute>;\n\nexport interface IImage extends IGraphic<IImageGraphicAttribute> {\n successCallback?: () => void;\n failCallback?: () => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB","file":"index.js","sourcesContent":["export * from './creator';\nexport * from './theme';\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB","file":"index.js","sourcesContent":["export * from './creator';\nexport * from './theme';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/isogon.ts"],"names":[],"mappings":"","file":"isogon.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\n// 正多边形\nexport type IIsogonAttribute = {\n radius: number;\n edgeNumber: number; // 边数\n};\n\nexport type IIsogonGraphicAttribute = Partial<IGraphicAttribute> & Partial<IIsogonAttribute>;\n\nexport type IIsogon = IGraphic<IIsogonGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/isogon.ts"],"names":[],"mappings":"","file":"isogon.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\n// 正多边形\nexport type IIsogonAttribute = {\n radius: number;\n edgeNumber: number; // 边数\n};\n\nexport type IIsogonGraphicAttribute = Partial<IGraphicAttribute> & Partial<IIsogonAttribute>;\n\nexport type IIsogon = IGraphic<IIsogonGraphicAttribute>;\n"]}
@@ -14,7 +14,7 @@ export type ILineGraphicAttribute = Partial<IGraphicAttribute> & Partial<ILineAt
14
14
  export interface ILine extends IGraphic<ILineGraphicAttribute> {
15
15
  cache?: ISegPath2D | ISegPath2D[];
16
16
  }
17
- type ISegmentStyle = Pick<IGraphicAttribute, 'stroke' | 'strokeOpacity' | 'lineDash' | 'lineDashOffset' | 'lineCap' | 'lineJoin' | 'lineWidth' | 'miterLimit'>;
17
+ type ISegmentStyle = Pick<IGraphicAttribute, 'strokeColor' | 'strokeOpacity' | 'lineDash' | 'lineDashOffset' | 'lineCap' | 'lineJoin' | 'lineWidth' | 'miterLimit'>;
18
18
  export interface ISegment extends Partial<ISegmentStyle> {
19
19
  points: IPointLike[];
20
20
  simplify?: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/line.ts"],"names":[],"mappings":"","file":"line.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICurveType } from '../common';\nimport type { ISegPath2D } from '../../common';\n\n// 依据x纬度做clipRange\n// 依据y纬度做clipRange\n// 依据线段自动匹配纬度做clipRange\n// 依据线长纬度做clipRange\nexport type IClipRangeByDimensionType = 'x' | 'y' | 'auto' | 'default';\n\nexport type ILineAttribute = {\n segments: ISegment[]; // 分段设置point和样式\n points: IPointLike[]; // segments points 二选一\n curveType: ICurveType;\n clipRange: number;\n clipRangeByDimension: IClipRangeByDimensionType;\n};\n\nexport type ILineGraphicAttribute = Partial<IGraphicAttribute> & Partial<ILineAttribute>;\n\nexport interface ILine extends IGraphic<ILineGraphicAttribute> {\n cache?: ISegPath2D | ISegPath2D[];\n}\n\ntype ISegmentStyle = Pick<\n IGraphicAttribute,\n 'stroke' | 'strokeOpacity' | 'lineDash' | 'lineDashOffset' | 'lineCap' | 'lineJoin' | 'lineWidth' | 'miterLimit'\n>;\n\nexport interface ISegment extends Partial<ISegmentStyle> {\n points: IPointLike[];\n simplify?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/line.ts"],"names":[],"mappings":"","file":"line.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICurveType } from '../common';\nimport type { ISegPath2D } from '../../common';\n\n// 依据x纬度做clipRange\n// 依据y纬度做clipRange\n// 依据线段自动匹配纬度做clipRange\n// 依据线长纬度做clipRange\nexport type IClipRangeByDimensionType = 'x' | 'y' | 'auto' | 'default';\n\nexport type ILineAttribute = {\n segments: ISegment[]; // 分段设置point和样式\n points: IPointLike[]; // segments points 二选一\n curveType: ICurveType;\n clipRange: number;\n clipRangeByDimension: IClipRangeByDimensionType;\n};\n\nexport type ILineGraphicAttribute = Partial<IGraphicAttribute> & Partial<ILineAttribute>;\n\nexport interface ILine extends IGraphic<ILineGraphicAttribute> {\n cache?: ISegPath2D | ISegPath2D[];\n}\n\ntype ISegmentStyle = Pick<\n IGraphicAttribute,\n 'strokeColor' | 'strokeOpacity' | 'lineDash' | 'lineDashOffset' | 'lineCap' | 'lineJoin' | 'lineWidth' | 'miterLimit'\n>;\n\nexport interface ISegment extends Partial<ISegmentStyle> {\n points: IPointLike[];\n simplify?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/path.ts"],"names":[],"mappings":"","file":"path.js","sourcesContent":["import type { CustomPath2D } from '../../common';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICustomPath2D } from '../path';\n// TODO: Path svg <Path path='' />\n\nexport type IPathAttribute = {\n path: ICustomPath2D | string;\n customPath: (context: ICustomPath2D, pathMark: IPath) => void;\n};\n\nexport type IPathGraphicAttribute = Partial<IGraphicAttribute> & Partial<IPathAttribute>;\n\nexport type ShapeType = 'area' | 'circle' | 'ellipse' | 'line' | 'rect';\n\nexport interface IPath extends IGraphic<IPathGraphicAttribute> {\n originType?: ShapeType;\n cache?: ICustomPath2D;\n pathShape: ICustomPath2D;\n\n getParsedPathShape: () => CustomPath2D;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/path.ts"],"names":[],"mappings":"","file":"path.js","sourcesContent":["import type { CustomPath2D } from '../../common';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { ICustomPath2D } from '../path';\n// TODO: Path svg <Path path='' />\n\nexport type IPathAttribute = {\n path: ICustomPath2D | string;\n customPath: (context: ICustomPath2D, pathMark: IPath) => void;\n};\n\nexport type IPathGraphicAttribute = Partial<IGraphicAttribute> & Partial<IPathAttribute>;\n\nexport type ShapeType = 'area' | 'circle' | 'ellipse' | 'line' | 'rect';\n\nexport interface IPath extends IGraphic<IPathGraphicAttribute> {\n originType?: ShapeType;\n cache?: ICustomPath2D;\n pathShape: ICustomPath2D;\n\n getParsedPathShape: () => CustomPath2D;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/polygon.ts"],"names":[],"mappings":"","file":"polygon.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IPolygonAttribute = {\n // ? 不需要x2/y2\n points: IPointLike[];\n borderRadius?: number | number[];\n};\n\nexport type IPolygonGraphicAttribute = Partial<IGraphicAttribute> & Partial<IPolygonAttribute>;\n\nexport type IPolygon = IGraphic<IPolygonGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/polygon.ts"],"names":[],"mappings":"","file":"polygon.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IPolygonAttribute = {\n // ? 不需要x2/y2\n points: IPointLike[];\n borderRadius?: number | number[];\n};\n\nexport type IPolygonGraphicAttribute = Partial<IGraphicAttribute> & Partial<IPolygonAttribute>;\n\nexport type IPolygon = IGraphic<IPolygonGraphicAttribute>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/polyline.ts"],"names":[],"mappings":"","file":"polyline.js","sourcesContent":["import type { ILine } from './line';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IPolyline extends ILine {}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/polyline.ts"],"names":[],"mappings":"","file":"polyline.js","sourcesContent":["import type { ILine } from './line';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IPolyline extends ILine {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/pyramid3d.ts"],"names":[],"mappings":"","file":"pyramid3d.js","sourcesContent":["import type { IGraphic } from '../graphic';\nimport type { IPolygonGraphicAttribute } from './polygon';\n\nexport type IPyramid3dGraphicAttribute = Partial<IPolygonGraphicAttribute> & {\n depthRatio?: number; // 比例\n // 上下左右前后\n face?: [boolean, boolean, boolean, boolean, boolean, boolean];\n};\n\nexport type IPyramid3d = IGraphic<IPyramid3dGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/pyramid3d.ts"],"names":[],"mappings":"","file":"pyramid3d.js","sourcesContent":["import type { IGraphic } from '../graphic';\nimport type { IPolygonGraphicAttribute } from './polygon';\n\nexport type IPyramid3dGraphicAttribute = Partial<IPolygonGraphicAttribute> & {\n depthRatio?: number; // 比例\n // 上下左右前后\n face?: [boolean, boolean, boolean, boolean, boolean, boolean];\n};\n\nexport type IPyramid3d = IGraphic<IPyramid3dGraphicAttribute>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/rect.ts"],"names":[],"mappings":"","file":"rect.js","sourcesContent":["import type { ICustomPath2D } from '../../interface';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRectAttribute = {\n width: number;\n height: number;\n borderRadius: number | number[];\n};\n\nexport type IRectGraphicAttribute = Partial<IGraphicAttribute> & Partial<IRectAttribute>;\n\nexport interface IRect extends IGraphic<IRectGraphicAttribute> {\n cache?: ICustomPath2D;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/rect.ts"],"names":[],"mappings":"","file":"rect.js","sourcesContent":["import type { ICustomPath2D } from '../../interface';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRectAttribute = {\n width: number;\n height: number;\n borderRadius: number | number[];\n};\n\nexport type IRectGraphicAttribute = Partial<IGraphicAttribute> & Partial<IRectAttribute>;\n\nexport interface IRect extends IGraphic<IRectGraphicAttribute> {\n cache?: ICustomPath2D;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/rect3d.ts"],"names":[],"mappings":"","file":"rect3d.js","sourcesContent":["import type { ICustomPath2D, IRectGraphicAttribute } from '../../interface';\nimport type { IGraphic } from '../graphic';\n\nexport type IRect3dGraphicAttribute = Partial<IRectGraphicAttribute> & {\n length?: number; // 长度\n};\n\nexport interface IRect3d extends IGraphic {\n attribute: IRect3dGraphicAttribute;\n\n cache?: ICustomPath2D;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/rect3d.ts"],"names":[],"mappings":"","file":"rect3d.js","sourcesContent":["import type { ICustomPath2D, IRectGraphicAttribute } from '../../interface';\nimport type { IGraphic } from '../graphic';\n\nexport type IRect3dGraphicAttribute = Partial<IRectGraphicAttribute> & {\n length?: number; // 长度\n};\n\nexport interface IRect3d extends IGraphic {\n attribute: IRect3dGraphicAttribute;\n\n cache?: ICustomPath2D;\n}\n"]}
@@ -35,8 +35,10 @@ export type IRichTextParagraphCharacter = IRichTextBasicCharacter & {
35
35
  text: string;
36
36
  fontSize?: number;
37
37
  fontFamily?: string;
38
- fill?: IColor | boolean;
39
- stroke?: IColor | boolean;
38
+ fill?: boolean;
39
+ stroke?: boolean;
40
+ fillColor?: IColor;
41
+ strokeColor?: IColor;
40
42
  fontWeight?: string;
41
43
  fontStyle?: RichTextFontStyle;
42
44
  textDecoration?: RichTextTextDecoration;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/richText.ts"],"names":[],"mappings":"","file":"richText.js","sourcesContent":["import type Frame from '../../graphic/richtext/frame';\nimport type { IColor } from '../color';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { IImage, IImageGraphicAttribute } from './image';\n\nexport type IRichTextAttribute = {\n width: number;\n height: number;\n ellipsis: boolean | string;\n wordBreak: RichTextWordBreak;\n verticalDirection: RichTextVerticalDirection;\n maxHeight: number;\n maxWidth: number;\n textAlign: RichTextGlobalAlignType;\n textBaseline: RichTextGlobalBaselineType;\n layoutDirection: RichTextLayoutDirectionType;\n textConfig: IRichTextCharacter[];\n singleLine: boolean;\n};\n\nexport type IRichTextGraphicAttribute = Partial<IGraphicAttribute> & Partial<IRichTextAttribute>;\n\nexport type RichTextWordBreak = 'break-word' | 'break-all';\nexport type RichTextVerticalDirection = 'top' | 'middle' | 'bottom';\nexport type RichTextGlobalAlignType = 'left' | 'right' | 'center';\nexport type RichTextGlobalBaselineType = 'top' | 'middle' | 'bottom';\nexport type RichTextLayoutDirectionType = 'horizontal' | 'vertical';\nexport type RichTextFontStyle = 'normal' | 'italic' | 'oblique';\nexport type RichTextTextDecoration = 'none' | 'underline' | 'line-through';\n// export type RichTextTextAlign = 'left' | 'right' | 'center';\nexport type RichTextScript = 'normal' | 'sub' | 'super';\n\nexport type IRichTextBasicCharacter = {\n lineHeight?: number;\n textAlign?: CanvasTextAlign; // left, right, center\n textBaseline?: CanvasTextBaseline;\n direction?: RichTextLayoutDirectionType;\n};\n\nexport type IRichTextParagraphCharacter = IRichTextBasicCharacter & {\n text: string;\n fontSize?: number;\n fontFamily?: string;\n fill?: IColor | boolean;\n stroke?: IColor | boolean;\n fontWeight?: string;\n // lineHeight?: number;\n fontStyle?: RichTextFontStyle; // normal, italic, oblique\n textDecoration?: RichTextTextDecoration; // none, underline, line-through\n // textAlign?: RichTextTextAlign; // left, right, center\n script?: RichTextScript; // normal, sub, super\n underline?: boolean;\n lineThrough?: boolean;\n // direction?: RichTextLayoutDirectionType;\n};\n\nexport type IRichTextImageCharacter = IRichTextBasicCharacter & {\n // 图片基础属性\n image: string | HTMLImageElement | HTMLCanvasElement;\n width: number;\n height: number;\n\n // hover相关属性\n // backgroundShow?: boolean; // 是否显示background\n backgroundShowMode?: 'always' | 'hover';\n backgroundFill?: boolean;\n backgroundFillColor?: IColor; // 背景矩形填充颜色\n backgroundFillOpacity?: number; // 背景矩形填充透明度\n backgroundStroke?: boolean;\n backgroundStrokeColor?: IColor; // 背景矩形边框颜色\n backgroundStrokeOpacity?: number; // 背景矩形边框透明度\n backgroundRadius?: number; // 背景矩形圆角\n // background size 同时控制了该icon的响应范围\n backgroundWidth?: number;\n backgroundHeight?: number;\n\n // 唯一标识符\n id?: string;\n\n // lineHeight?: number;\n // textAlign?: RichTextTextAlign; // left, right, center\n // direction?: RichTextLayoutDirectionType;\n margin?: number | number[];\n\n funcType?: string;\n hoverImage?: string | HTMLImageElement | HTMLCanvasElement;\n};\n\nexport type IRichTextCharacter = IRichTextParagraphCharacter | IRichTextImageCharacter;\n\nexport type IRichTextIconGraphicAttribute = IImageGraphicAttribute & {\n id?: string;\n backgroundShowMode?: 'always' | 'hover' | 'never';\n backgroundFill?: boolean;\n backgroundFillColor?: IColor; // 背景矩形填充颜色\n backgroundFillOpacity?: number; // 背景矩形填充透明度\n backgroundStroke?: boolean;\n backgroundStrokeColor?: IColor; // 背景矩形边框颜色\n backgroundStrokeOpacity?: number; // 背景矩形边框透明度\n backgroundRadius?: number; // 背景矩形圆角\n backgroundWidth?: number;\n backgroundHeight?: number;\n\n // lineHeight?: number;\n textAlign?: CanvasTextAlign; // left, right, center\n textBaseline?: CanvasTextBaseline;\n direction?: RichTextLayoutDirectionType;\n\n margin?: number | number[];\n\n // backgroundShow?: boolean;\n};\n\nexport interface IRichText extends IGraphic<IRichTextGraphicAttribute> {\n getFrameCache: () => Frame;\n}\n\nexport interface IRichTextIcon extends IImage {\n attribute: IRichTextIconGraphicAttribute;\n richtextId?: string;\n globalX?: number;\n globalY?: number;\n\n _x: number;\n _y: number;\n _hovered: boolean;\n _marginArray: [number, number, number, number];\n\n setHoverState: (hovered: boolean) => void;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/richText.ts"],"names":[],"mappings":"","file":"richText.js","sourcesContent":["import type Frame from '../../graphic/richtext/frame';\nimport type { IColor } from '../color';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { IImage, IImageGraphicAttribute } from './image';\n\nexport type IRichTextAttribute = {\n width: number;\n height: number;\n ellipsis: boolean | string;\n wordBreak: RichTextWordBreak;\n verticalDirection: RichTextVerticalDirection;\n maxHeight: number;\n maxWidth: number;\n textAlign: RichTextGlobalAlignType;\n textBaseline: RichTextGlobalBaselineType;\n layoutDirection: RichTextLayoutDirectionType;\n textConfig: IRichTextCharacter[];\n singleLine: boolean;\n};\n\nexport type IRichTextGraphicAttribute = Partial<IGraphicAttribute> & Partial<IRichTextAttribute>;\n\nexport type RichTextWordBreak = 'break-word' | 'break-all';\nexport type RichTextVerticalDirection = 'top' | 'middle' | 'bottom';\nexport type RichTextGlobalAlignType = 'left' | 'right' | 'center';\nexport type RichTextGlobalBaselineType = 'top' | 'middle' | 'bottom';\nexport type RichTextLayoutDirectionType = 'horizontal' | 'vertical';\nexport type RichTextFontStyle = 'normal' | 'italic' | 'oblique';\nexport type RichTextTextDecoration = 'none' | 'underline' | 'line-through';\n// export type RichTextTextAlign = 'left' | 'right' | 'center';\nexport type RichTextScript = 'normal' | 'sub' | 'super';\n\nexport type IRichTextBasicCharacter = {\n lineHeight?: number;\n textAlign?: CanvasTextAlign; // left, right, center\n textBaseline?: CanvasTextBaseline;\n direction?: RichTextLayoutDirectionType;\n};\n\nexport type IRichTextParagraphCharacter = IRichTextBasicCharacter & {\n text: string;\n fontSize?: number;\n fontFamily?: string;\n fill?: boolean;\n stroke?: boolean;\n fillColor?: IColor;\n strokeColor?: IColor;\n fontWeight?: string;\n // lineHeight?: number;\n fontStyle?: RichTextFontStyle; // normal, italic, oblique\n textDecoration?: RichTextTextDecoration; // none, underline, line-through\n // textAlign?: RichTextTextAlign; // left, right, center\n script?: RichTextScript; // normal, sub, super\n underline?: boolean;\n lineThrough?: boolean;\n // direction?: RichTextLayoutDirectionType;\n};\n\nexport type IRichTextImageCharacter = IRichTextBasicCharacter & {\n // 图片基础属性\n image: string | HTMLImageElement | HTMLCanvasElement;\n width: number;\n height: number;\n\n // hover相关属性\n // backgroundShow?: boolean; // 是否显示background\n backgroundShowMode?: 'always' | 'hover';\n backgroundFill?: boolean;\n backgroundFillColor?: IColor; // 背景矩形填充颜色\n backgroundFillOpacity?: number; // 背景矩形填充透明度\n backgroundStroke?: boolean;\n backgroundStrokeColor?: IColor; // 背景矩形边框颜色\n backgroundStrokeOpacity?: number; // 背景矩形边框透明度\n backgroundRadius?: number; // 背景矩形圆角\n // background size 同时控制了该icon的响应范围\n backgroundWidth?: number;\n backgroundHeight?: number;\n\n // 唯一标识符\n id?: string;\n\n // lineHeight?: number;\n // textAlign?: RichTextTextAlign; // left, right, center\n // direction?: RichTextLayoutDirectionType;\n margin?: number | number[];\n\n funcType?: string;\n hoverImage?: string | HTMLImageElement | HTMLCanvasElement;\n};\n\nexport type IRichTextCharacter = IRichTextParagraphCharacter | IRichTextImageCharacter;\n\nexport type IRichTextIconGraphicAttribute = IImageGraphicAttribute & {\n id?: string;\n backgroundShowMode?: 'always' | 'hover' | 'never';\n backgroundFill?: boolean;\n backgroundFillColor?: IColor; // 背景矩形填充颜色\n backgroundFillOpacity?: number; // 背景矩形填充透明度\n backgroundStroke?: boolean;\n backgroundStrokeColor?: IColor; // 背景矩形边框颜色\n backgroundStrokeOpacity?: number; // 背景矩形边框透明度\n backgroundRadius?: number; // 背景矩形圆角\n backgroundWidth?: number;\n backgroundHeight?: number;\n\n // lineHeight?: number;\n textAlign?: CanvasTextAlign; // left, right, center\n textBaseline?: CanvasTextBaseline;\n direction?: RichTextLayoutDirectionType;\n\n margin?: number | number[];\n\n // backgroundShow?: boolean;\n};\n\nexport interface IRichText extends IGraphic<IRichTextGraphicAttribute> {\n getFrameCache: () => Frame;\n}\n\nexport interface IRichTextIcon extends IImage {\n attribute: IRichTextIconGraphicAttribute;\n richtextId?: string;\n globalX?: number;\n globalY?: number;\n\n _x: number;\n _y: number;\n _hovered: boolean;\n _marginArray: [number, number, number, number];\n\n setHoverState: (hovered: boolean) => void;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/shadow-root.ts"],"names":[],"mappings":"","file":"shadow-root.js","sourcesContent":["import type { IGraphic } from '../graphic';\nimport type { IGroup } from './group';\n\nexport interface IShadowRoot extends IGroup {\n shadowHost: IGraphic;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/shadow-root.ts"],"names":[],"mappings":"","file":"shadow-root.js","sourcesContent":["import type { IGraphic } from '../graphic';\nimport type { IGroup } from './group';\n\nexport interface IShadowRoot extends IGroup {\n shadowHost: IGraphic;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/svg.ts"],"names":[],"mappings":"","file":"svg.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport interface ISvgAttribute {\n path: string;\n}\n\nexport interface ISvgGraphicAttribute extends Partial<IGraphicAttribute>, ISvgAttribute {}\n\nexport type ISvg = IGraphic<ISvgGraphicAttribute>;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/svg.ts"],"names":[],"mappings":"","file":"svg.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport interface ISvgAttribute {\n path: string;\n}\n\nexport interface ISvgGraphicAttribute extends Partial<IGraphicAttribute>, ISvgAttribute {}\n\nexport type ISvg = IGraphic<ISvgGraphicAttribute>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/symbol.ts"],"names":[],"mappings":"","file":"symbol.js","sourcesContent":["import type { ISymbolClass } from '../../graphic';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ISymbolAttribute = {\n symbolType: SymbolType;\n size: number | [number, number];\n};\n\nexport type ISymbolGraphicAttribute = Partial<IGraphicAttribute> & Partial<ISymbolAttribute>;\n\nexport interface ISymbol extends IGraphic<ISymbolGraphicAttribute> {\n getParsedPath: () => ISymbolClass;\n}\n\nexport type SymbolType =\n | 'circle'\n | 'cross'\n | 'diamond'\n | 'square'\n | 'arrow'\n | 'arrow2Left'\n | 'arrow2Right'\n | 'wedge'\n | 'thinTriangle'\n | 'triangle'\n | 'triangleUp'\n | 'triangleDown'\n | 'triangleRight'\n | 'triangleLeft'\n | 'stroke'\n | 'star'\n | 'wye'\n | 'rect'\n | string;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/symbol.ts"],"names":[],"mappings":"","file":"symbol.js","sourcesContent":["import type { ISymbolClass } from '../../graphic';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ISymbolAttribute = {\n symbolType: SymbolType;\n size: number | [number, number];\n};\n\nexport type ISymbolGraphicAttribute = Partial<IGraphicAttribute> & Partial<ISymbolAttribute>;\n\nexport interface ISymbol extends IGraphic<ISymbolGraphicAttribute> {\n getParsedPath: () => ISymbolClass;\n}\n\nexport type SymbolType =\n | 'circle'\n | 'cross'\n | 'diamond'\n | 'square'\n | 'arrow'\n | 'arrow2Left'\n | 'arrow2Right'\n | 'wedge'\n | 'thinTriangle'\n | 'triangle'\n | 'triangleUp'\n | 'triangleDown'\n | 'triangleRight'\n | 'triangleLeft'\n | 'stroke'\n | 'star'\n | 'wye'\n | 'rect'\n | string;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/text.ts"],"names":[],"mappings":"","file":"text.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { LayoutType } from '../../core/contributions/textMeasure/layout';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ITextAttribute = {\n text: string | number | string[] | number[];\n maxLineWidth: number;\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n fontSize: number;\n fontFamily: string;\n fontWeight: string | number;\n ellipsis: boolean | string;\n fontVariant: string;\n fontStyle: string;\n lineHeight: number;\n underline: number;\n lineThrough: number;\n // textDecoration: number;\n // textDecorationWidth: number;\n // padding?: number | number[];\n};\nexport type ITextCache = {\n // 单行文本的时候缓存用\n clipedText?: string;\n clipedWidth?: number;\n // 多行文本的布局缓存\n layoutData?: LayoutType;\n};\n\nexport type ITextGraphicAttribute = Partial<IGraphicAttribute> & Partial<ITextAttribute>;\n\nexport type IWrapTextGraphicAttribute = ITextGraphicAttribute & {\n heightLimit?: number;\n lineClamp?: number;\n};\n\nexport interface IText extends IGraphic<ITextGraphicAttribute> {\n // 判断是否被ellipisised\n clipedText?: string;\n clipedWidth?: number;\n cliped?: boolean;\n multilineLayout?: LayoutType;\n font?: string;\n cache?: ITextCache;\n\n updateMultilineAABBBounds: (text: (number | string)[]) => IAABBBounds;\n updateSingallineAABBBounds: (text: number | string) => IAABBBounds;\n}\n\nexport type TextAlignType = 'left' | 'right' | 'center' | 'start' | 'end';\nexport type TextBaselineType = 'top' | 'middle' | 'bottom' | 'alphabetic';\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/text.ts"],"names":[],"mappings":"","file":"text.js","sourcesContent":["import type { IAABBBounds } from '@visactor/vutils';\nimport type { LayoutType } from '../../core/contributions/textMeasure/layout';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type ITextAttribute = {\n text: string | number | string[] | number[];\n maxLineWidth: number;\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n fontSize: number;\n fontFamily: string;\n fontWeight: string | number;\n ellipsis: boolean | string;\n fontVariant: string;\n fontStyle: string;\n lineHeight: number;\n underline: number;\n lineThrough: number;\n // textDecoration: number;\n // textDecorationWidth: number;\n // padding?: number | number[];\n};\nexport type ITextCache = {\n // 单行文本的时候缓存用\n clipedText?: string;\n clipedWidth?: number;\n // 多行文本的布局缓存\n layoutData?: LayoutType;\n};\n\nexport type ITextGraphicAttribute = Partial<IGraphicAttribute> & Partial<ITextAttribute>;\n\nexport type IWrapTextGraphicAttribute = ITextGraphicAttribute & {\n heightLimit?: number;\n lineClamp?: number;\n};\n\nexport interface IText extends IGraphic<ITextGraphicAttribute> {\n // 判断是否被ellipisised\n clipedText?: string;\n clipedWidth?: number;\n cliped?: boolean;\n multilineLayout?: LayoutType;\n font?: string;\n cache?: ITextCache;\n\n updateMultilineAABBBounds: (text: (number | string)[]) => IAABBBounds;\n updateSingallineAABBBounds: (text: number | string) => IAABBBounds;\n}\n\nexport type TextAlignType = 'left' | 'right' | 'center' | 'start' | 'end';\nexport type TextBaselineType = 'top' | 'middle' | 'bottom' | 'alphabetic';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IGraphicAttribute } from '../graphic';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IGlyphGraphicAttribute } from './glyph';\nimport type { IGroup, IGroupGraphicAttribute } from './group';\nimport type { IImageGraphicAttribute } from './image';\nimport type { ILineGraphicAttribute } from './line';\nimport type { IPathGraphicAttribute } from './path';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\nimport type { IRect3dGraphicAttribute } from './rect3d';\nimport type { IRichTextGraphicAttribute, IRichTextIconGraphicAttribute } from './richText';\nimport type { ISymbolGraphicAttribute } from './symbol';\nimport type { ITextGraphicAttribute } from './text';\n\nexport interface IThemeSpec {\n text?: Partial<ITextGraphicAttribute>;\n rect?: Partial<IRectGraphicAttribute>;\n rect3d?: Partial<IRect3dGraphicAttribute>;\n arc?: Partial<IArcGraphicAttribute>;\n area?: Partial<IAreaGraphicAttribute>;\n circle?: Partial<ICircleGraphicAttribute>;\n line?: Partial<ILineGraphicAttribute>;\n path?: Partial<IPathGraphicAttribute>;\n symbol?: Partial<ISymbolGraphicAttribute>;\n group?: Partial<IGroupGraphicAttribute>;\n polygon?: Partial<IPolygonGraphicAttribute>;\n image?: Partial<IImageGraphicAttribute>;\n common?: Partial<IGraphicAttribute>;\n}\n\nexport interface IFullThemeSpec {\n arc: Required<IArcGraphicAttribute>;\n area: Required<IAreaGraphicAttribute>;\n circle: Required<ICircleGraphicAttribute>;\n line: Required<ILineGraphicAttribute>;\n path: Required<IPathGraphicAttribute>;\n symbol: Required<ISymbolGraphicAttribute>;\n text: Required<ITextGraphicAttribute>;\n rect: Required<IRectGraphicAttribute>;\n rect3d: Required<IRect3dGraphicAttribute>;\n glyph: Required<IGlyphGraphicAttribute>;\n group: Required<IGroupGraphicAttribute>;\n polygon: Required<IPolygonGraphicAttribute>;\n richtext: Required<IRichTextGraphicAttribute>;\n richtextIcon: Required<IRichTextIconGraphicAttribute>;\n image: Required<IImageGraphicAttribute>;\n}\n\nexport interface ITheme {\n getTheme: (g: IGroup) => IFullThemeSpec;\n combinedTheme?: IFullThemeSpec;\n userTheme?: IThemeSpec;\n nextTheme?: IThemeSpec;\n applyTheme: (group: IGroup, pt: IThemeSpec) => IThemeSpec;\n setTheme: (t: IThemeSpec, g: IGroup) => void;\n dirty: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IGraphicAttribute } from '../graphic';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IGlyphGraphicAttribute } from './glyph';\nimport type { IGroup, IGroupGraphicAttribute } from './group';\nimport type { IImageGraphicAttribute } from './image';\nimport type { ILineGraphicAttribute } from './line';\nimport type { IPathGraphicAttribute } from './path';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\nimport type { IRect3dGraphicAttribute } from './rect3d';\nimport type { IRichTextGraphicAttribute, IRichTextIconGraphicAttribute } from './richText';\nimport type { ISymbolGraphicAttribute } from './symbol';\nimport type { ITextGraphicAttribute } from './text';\n\nexport interface IThemeSpec {\n text?: Partial<ITextGraphicAttribute>;\n rect?: Partial<IRectGraphicAttribute>;\n rect3d?: Partial<IRect3dGraphicAttribute>;\n arc?: Partial<IArcGraphicAttribute>;\n area?: Partial<IAreaGraphicAttribute>;\n circle?: Partial<ICircleGraphicAttribute>;\n line?: Partial<ILineGraphicAttribute>;\n path?: Partial<IPathGraphicAttribute>;\n symbol?: Partial<ISymbolGraphicAttribute>;\n group?: Partial<IGroupGraphicAttribute>;\n polygon?: Partial<IPolygonGraphicAttribute>;\n image?: Partial<IImageGraphicAttribute>;\n common?: Partial<IGraphicAttribute>;\n}\n\nexport interface IFullThemeSpec {\n arc: Required<IArcGraphicAttribute>;\n area: Required<IAreaGraphicAttribute>;\n circle: Required<ICircleGraphicAttribute>;\n line: Required<ILineGraphicAttribute>;\n path: Required<IPathGraphicAttribute>;\n symbol: Required<ISymbolGraphicAttribute>;\n text: Required<ITextGraphicAttribute>;\n rect: Required<IRectGraphicAttribute>;\n rect3d: Required<IRect3dGraphicAttribute>;\n glyph: Required<IGlyphGraphicAttribute>;\n group: Required<IGroupGraphicAttribute>;\n polygon: Required<IPolygonGraphicAttribute>;\n richtext: Required<IRichTextGraphicAttribute>;\n richtextIcon: Required<IRichTextIconGraphicAttribute>;\n image: Required<IImageGraphicAttribute>;\n}\n\nexport interface ITheme {\n getTheme: (g: IGroup) => IFullThemeSpec;\n combinedTheme?: IFullThemeSpec;\n userTheme?: IThemeSpec;\n nextTheme?: IThemeSpec;\n applyTheme: (group: IGroup, pt: IThemeSpec) => IThemeSpec;\n setTheme: (t: IThemeSpec, g: IGroup) => void;\n dirty: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic/util.ts"],"names":[],"mappings":"","file":"util.js","sourcesContent":["import type { ICustomPath2D } from '../path';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IEllipseGraphicAttribute } from './ellipse';\nimport type { IIsogonGraphicAttribute } from './isogon';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\n\nexport declare function arcToPath(shape: IArcGraphicAttribute): ICustomPath2D;\nexport declare function areaToPath(shape: IAreaGraphicAttribute): ICustomPath2D;\nexport declare function circleToPath(shape: ICircleGraphicAttribute): ICustomPath2D;\nexport declare function ellipseToPath(shape: IEllipseGraphicAttribute): ICustomPath2D;\nexport declare function isogonToPath(shape: IIsogonGraphicAttribute): ICustomPath2D;\nexport declare function plygonToPath(shape: IPolygonGraphicAttribute): ICustomPath2D;\nexport declare function rectToPath(shape: IRectGraphicAttribute): ICustomPath2D;\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic/util.ts"],"names":[],"mappings":"","file":"util.js","sourcesContent":["import type { ICustomPath2D } from '../path';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IEllipseGraphicAttribute } from './ellipse';\nimport type { IIsogonGraphicAttribute } from './isogon';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\n\nexport declare function arcToPath(shape: IArcGraphicAttribute): ICustomPath2D;\nexport declare function areaToPath(shape: IAreaGraphicAttribute): ICustomPath2D;\nexport declare function circleToPath(shape: ICircleGraphicAttribute): ICustomPath2D;\nexport declare function ellipseToPath(shape: IEllipseGraphicAttribute): ICustomPath2D;\nexport declare function isogonToPath(shape: IIsogonGraphicAttribute): ICustomPath2D;\nexport declare function plygonToPath(shape: IPolygonGraphicAttribute): ICustomPath2D;\nexport declare function rectToPath(shape: IRectGraphicAttribute): ICustomPath2D;\n"]}
@@ -0,0 +1,39 @@
1
+ import { IGraphic } from './graphic';
2
+ import { IArc, IArcGraphicAttribute } from './graphic/arc';
3
+ import { IArc3d, IArc3dGraphicAttribute } from './graphic/arc3d';
4
+ import { IArea, IAreaGraphicAttribute } from './graphic/area';
5
+ import { ICircle, ICircleGraphicAttribute } from './graphic/circle';
6
+ import { IGlyph, IGlyphGraphicAttribute } from './graphic/glyph';
7
+ import { IGroup, IGroupGraphicAttribute } from './graphic/group';
8
+ import { IImage, IImageGraphicAttribute } from './graphic/image';
9
+ import { ILine, ILineGraphicAttribute } from './graphic/line';
10
+ import { IPath, IPathGraphicAttribute } from './graphic/path';
11
+ import { IPolygon, IPolygonGraphicAttribute } from './graphic/polygon';
12
+ import { IPyramid3d, IPyramid3dGraphicAttribute } from './graphic/pyramid3d';
13
+ import { IRect, IRectGraphicAttribute } from './graphic/rect';
14
+ import { IRect3d, IRect3dGraphicAttribute } from './graphic/rect3d';
15
+ import { IRichText, IRichTextGraphicAttribute } from './graphic/richText';
16
+ import { IShadowRoot } from './graphic/shadow-root';
17
+ import { ISymbol, ISymbolGraphicAttribute } from './graphic/symbol';
18
+ import { IText, ITextGraphicAttribute, IWrapTextGraphicAttribute } from './graphic/text';
19
+ export interface IGraphicCreator {
20
+ arc: (attributes: IArcGraphicAttribute) => IArc;
21
+ area: (attributes: IAreaGraphicAttribute) => IArea;
22
+ circle: (attributes: ICircleGraphicAttribute) => ICircle;
23
+ group: (attributes: IGroupGraphicAttribute) => IGroup;
24
+ image: (attributes: IImageGraphicAttribute) => IImage;
25
+ line: (attributes: ILineGraphicAttribute) => ILine;
26
+ path: (attributes: IPathGraphicAttribute) => IPath;
27
+ rect: (attributes: IRectGraphicAttribute) => IRect;
28
+ rect3d: (attributes: IRect3dGraphicAttribute) => IRect3d;
29
+ symbol: (attributes: ISymbolGraphicAttribute) => ISymbol;
30
+ text: (attributes: ITextGraphicAttribute) => IText;
31
+ richtext: (attributes: IRichTextGraphicAttribute) => IRichText;
32
+ polygon: (attributes: IPolygonGraphicAttribute) => IPolygon;
33
+ shadowRoot: (graphic?: IGraphic) => IShadowRoot;
34
+ wrapText: (attributes: IWrapTextGraphicAttribute) => IText;
35
+ glyph: (attributes: IGlyphGraphicAttribute) => IGlyph;
36
+ arc3d: (attributes: IArc3dGraphicAttribute) => IArc3d;
37
+ pyramid3d: (attributes: IPyramid3dGraphicAttribute) => IPyramid3d;
38
+ }
39
+ export declare const GraphicCreator: unique symbol;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.GraphicCreator = void 0, exports.GraphicCreator = Symbol.for("GraphicCreator");
6
+ //# sourceMappingURL=graphic-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/interface/graphic-creator.ts"],"names":[],"mappings":";;;AAwCa,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC","file":"graphic-creator.js","sourcesContent":["import { IGraphic } from './graphic';\nimport { IArc, IArcGraphicAttribute } from './graphic/arc';\nimport { IArc3d, IArc3dGraphicAttribute } from './graphic/arc3d';\nimport { IArea, IAreaGraphicAttribute } from './graphic/area';\nimport { ICircle, ICircleGraphicAttribute } from './graphic/circle';\nimport { IGlyph, IGlyphGraphicAttribute } from './graphic/glyph';\nimport { IGroup, IGroupGraphicAttribute } from './graphic/group';\nimport { IImage, IImageGraphicAttribute } from './graphic/image';\nimport { ILine, ILineGraphicAttribute } from './graphic/line';\nimport { IPath, IPathGraphicAttribute } from './graphic/path';\nimport { IPolygon, IPolygonGraphicAttribute } from './graphic/polygon';\nimport { IPyramid3d, IPyramid3dGraphicAttribute } from './graphic/pyramid3d';\nimport { IRect, IRectGraphicAttribute } from './graphic/rect';\nimport { IRect3d, IRect3dGraphicAttribute } from './graphic/rect3d';\nimport { IRichText, IRichTextGraphicAttribute } from './graphic/richText';\nimport { IShadowRoot } from './graphic/shadow-root';\nimport { ISymbol, ISymbolGraphicAttribute } from './graphic/symbol';\nimport { IText, ITextGraphicAttribute, IWrapTextGraphicAttribute } from './graphic/text';\n\nexport interface IGraphicCreator {\n arc: (attributes: IArcGraphicAttribute) => IArc;\n area: (attributes: IAreaGraphicAttribute) => IArea;\n circle: (attributes: ICircleGraphicAttribute) => ICircle;\n group: (attributes: IGroupGraphicAttribute) => IGroup;\n image: (attributes: IImageGraphicAttribute) => IImage;\n line: (attributes: ILineGraphicAttribute) => ILine;\n path: (attributes: IPathGraphicAttribute) => IPath;\n rect: (attributes: IRectGraphicAttribute) => IRect;\n rect3d: (attributes: IRect3dGraphicAttribute) => IRect3d;\n symbol: (attributes: ISymbolGraphicAttribute) => ISymbol;\n text: (attributes: ITextGraphicAttribute) => IText;\n richtext: (attributes: IRichTextGraphicAttribute) => IRichText;\n polygon: (attributes: IPolygonGraphicAttribute) => IPolygon;\n shadowRoot: (graphic?: IGraphic) => IShadowRoot;\n wrapText: (attributes: IWrapTextGraphicAttribute) => IText;\n glyph: (attributes: IGlyphGraphicAttribute) => IGlyph;\n arc3d: (attributes: IArc3dGraphicAttribute) => IArc3d;\n pyramid3d: (attributes: IPyramid3dGraphicAttribute) => IPyramid3d;\n}\n\nexport const GraphicCreator = Symbol.for('GraphicCreator');\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic-utils.ts"],"names":[],"mappings":"","file":"graphic-utils.js","sourcesContent":["// import { IPoint } from \"@visactor/vutils\";\n// import { IContext2d } from \"./context\";\n// import { IGraphicAttribute } from \"./graphic\";\n\n// interface TextType {\n// text: string;\n// fontFamily: string;\n// fontSize: number;\n// }\n\n// export declare function measureText(\n// params: TextType,\n// ctx?: IContext2d\n// ): { width: number; height: number };\n\n// export * from \"./graphic/bounds\";\n\n// // export type TransformType = Pick<IGraphicAttribute, 'x' | 'y' | 'scaleX' | 'scaleY' | 'angle'> & {\n// // anchor?: IGraphicAttribute['anchor'];\n// // };\n\n// // export interface Transform {\n// // init: (origin: TransformType) => Transform;\n// // translate: (x: number, y: number) => Transform;\n// // translateTo: (x: number, y: number) => Transform;\n// // scale: (sx: number, sy: number, center: IPoint) => Transform;\n// // scaleTo: (sx: number, sy: number, center: IPoint) => Transform;\n// // rotate: (rx: number, ry: number, center: IPoint) => Transform;\n// // rotateTo: (rx: number, ry: number, center: IPoint) => Transform;\n// // // 语法糖\n// // interactive: (dx: number, dy: number, dsx: number, dsy: number, drx: number, dry: number) => Transform;\n// // // 扩展padding像素,用于外描边,内描边\n// // extend: (origin: TransformType, padding: number) => Transform;\n// // // 将所有的transform生成为一次的transform\n// // simplify: (target?: TransformType) => TransformType;\n// // }\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic-utils.ts"],"names":[],"mappings":"","file":"graphic-utils.js","sourcesContent":["// import { IPoint } from \"@visactor/vutils\";\n// import { IContext2d } from \"./context\";\n// import { IGraphicAttribute } from \"./graphic\";\n\n// interface TextType {\n// text: string;\n// fontFamily: string;\n// fontSize: number;\n// }\n\n// export declare function measureText(\n// params: TextType,\n// ctx?: IContext2d\n// ): { width: number; height: number };\n\n// export * from \"./graphic/bounds\";\n\n// // export type TransformType = Pick<IGraphicAttribute, 'x' | 'y' | 'scaleX' | 'scaleY' | 'angle'> & {\n// // anchor?: IGraphicAttribute['anchor'];\n// // };\n\n// // export interface Transform {\n// // init: (origin: TransformType) => Transform;\n// // translate: (x: number, y: number) => Transform;\n// // translateTo: (x: number, y: number) => Transform;\n// // scale: (sx: number, sy: number, center: IPoint) => Transform;\n// // scaleTo: (sx: number, sy: number, center: IPoint) => Transform;\n// // rotate: (rx: number, ry: number, center: IPoint) => Transform;\n// // rotateTo: (rx: number, ry: number, center: IPoint) => Transform;\n// // // 语法糖\n// // interactive: (dx: number, dy: number, dsx: number, dsy: number, drx: number, dry: number) => Transform;\n// // // 扩展padding像素,用于外描边,内描边\n// // extend: (origin: TransformType, padding: number) => Transform;\n// // // 将所有的transform生成为一次的transform\n// // simplify: (target?: TransformType) => TransformType;\n// // }\n"]}
@@ -36,22 +36,22 @@ export type ITransform = {
36
36
  anchor3d: [number | string, number | string, number] | [number | string, number | string];
37
37
  postMatrix: IMatrix;
38
38
  };
39
- export type IFillType = boolean | string | IColor;
40
39
  export type IFillStyle = {
40
+ fillColor: string | IColor;
41
41
  fillOpacity: number;
42
42
  shadowBlur: number;
43
43
  shadowColor: string;
44
44
  shadowOffsetX: number;
45
45
  shadowOffsetY: number;
46
- fill: IFillType;
46
+ fill: boolean | null;
47
47
  };
48
48
  export type IBorderStyle = Omit<IStrokeStyle, 'outerBorder' | 'innerBorder'> & {
49
49
  distance: number | string;
50
50
  };
51
- export type IStrokeType = boolean | string | IColor | null;
52
51
  export type IStrokeStyle = {
53
52
  outerBorder: Partial<IBorderStyle>;
54
53
  innerBorder: Partial<IBorderStyle>;
54
+ strokeColor: string | IColor;
55
55
  strokeOpacity: number;
56
56
  lineDash: number[];
57
57
  lineDashOffset: number;
@@ -60,7 +60,7 @@ export type IStrokeStyle = {
60
60
  lineJoin: CanvasLineJoin;
61
61
  miterLimit: number;
62
62
  strokeBoundsBuffer: number;
63
- stroke: IStrokeType[] | IStrokeType;
63
+ stroke: boolean[] | number | boolean | null;
64
64
  };
65
65
  type TextureType = 'circle' | 'diamond' | 'rect' | 'vertical-line' | 'horizontal-line' | 'bias-lr' | 'bias-rl' | 'grid';
66
66
  export type IGraphicStyle = IFillStyle & IStrokeStyle & {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/graphic.ts"],"names":[],"mappings":"","file":"graphic.js","sourcesContent":["import type { IAABBBounds, IOBBBounds, IMatrix, IPointLike, IPoint } from '@visactor/vutils';\nimport type { IAnimate, IStep, EasingType, IAnimateTarget } from './animate';\nimport type { IColor } from './color';\nimport type { IGroup } from './graphic/group';\nimport type { IShadowRoot } from './graphic/shadow-root';\nimport type { ILayer } from './layer';\nimport type { INode } from './node-tree';\nimport type { ICustomPath2D } from './path';\nimport type { IStage } from './stage';\nimport type { IGlyphGraphicAttribute } from './graphic/glyph';\nimport type { IContainPointMode } from '../common/enums';\nimport type { IFace3d } from './graphic/face3d';\n\ntype IStrokeSeg = {\n start: number; // 百分比\n // end和length二选一\n end: number; // 百分比\n length: number; // 像素长度\n};\n\n// TODO 最后加一个any\nexport type GraphicType =\n | 'area'\n | 'circle'\n | 'ellipse'\n | 'line'\n | 'rect'\n | 'rect3d'\n | 'path'\n | 'richtext'\n | 'text'\n | 'arc'\n | 'arc3d'\n | 'image'\n | 'symbol'\n | 'group'\n | 'shadowroot'\n | 'polygon'\n | 'pyramid3d'\n | 'glyph';\n\n// Cursor style\n// See: https://developer.mozilla.org/en-US/docs/Web/CSS/cursor\nexport type Cursor =\n | 'auto'\n | 'default'\n | 'none'\n | 'context-menu'\n | 'help'\n | 'pointer'\n | 'progress'\n | 'wait'\n | 'cell'\n | 'crosshair'\n | 'text'\n | 'vertical-text'\n | 'alias'\n | 'copy'\n | 'move'\n | 'no-drop'\n | 'not-allowed'\n | 'grab'\n | 'grabbing'\n | 'all-scroll'\n | 'col-resize'\n | 'row-resize'\n | 'n-resize'\n | 'e-resize'\n | 's-resize'\n | 'w-resize'\n | 'ne-resize'\n | 'nw-resize'\n | 'se-resize'\n | 'sw-resize'\n | 'ew-resize'\n | 'ns-resize'\n | 'nesw-resize'\n | 'nwse-resize'\n | 'zoom-in'\n | 'zoom-out';\n\nexport type ITransform = {\n x: number;\n y: number;\n z: number;\n dx: number;\n dy: number;\n dz: number;\n scrollX: number;\n scrollY: number;\n scaleX: number;\n scaleY: number;\n scaleZ: number;\n angle: number;\n alpha: number;\n beta: number;\n anchor: [number | string, number | string]; // 基于AABB的锚点位置,用于简单的定位某些path\n anchor3d: [number | string, number | string, number] | [number | string, number | string]; // 3d的锚点位置\n postMatrix: IMatrix;\n};\n\nexport type IFillType = boolean | string | IColor;\nexport type IFillStyle = {\n fillOpacity: number;\n shadowBlur: number;\n shadowColor: string;\n shadowOffsetX: number;\n shadowOffsetY: number;\n fill: IFillType;\n};\n\nexport type IBorderStyle = Omit<IStrokeStyle, 'outerBorder' | 'innerBorder'> & {\n distance: number | string;\n};\n\nexport type IStrokeType = boolean | string | IColor | null;\nexport type IStrokeStyle = {\n outerBorder: Partial<IBorderStyle>;\n innerBorder: Partial<IBorderStyle>;\n strokeOpacity: number;\n lineDash: number[];\n lineDashOffset: number;\n lineWidth: number;\n lineCap: CanvasLineCap;\n lineJoin: CanvasLineJoin;\n miterLimit: number;\n // 描边的boundsBuffer,用于控制bounds的buffer\n strokeBoundsBuffer: number;\n /**\n * stroke - true 全描边\n * stroke - false 不描边\n * stroke 为数值类型,适用于rect\\arc等图形,用于配置部分描边的场景,其中\n *\n * 0b00000 - 不描边\n * 0b000001 - top\n * 0b000010 - right\n * 0b000100 - bottom\n * 0b001000 - left\n * 相应的:\n * 0b000011 - top + right\n * 0b000111 - top + right + bottom\n * 0b001111 - 全描边\n *\n * stroke - boolean[],适用于rect\\arc等图形,用于配置部分描边的场景\n */\n stroke: IStrokeType[] | IStrokeType;\n};\n\ntype TextureType = 'circle' | 'diamond' | 'rect' | 'vertical-line' | 'horizontal-line' | 'bias-lr' | 'bias-rl' | 'grid';\n\nexport type IGraphicStyle = IFillStyle &\n IStrokeStyle & {\n opacity: number;\n backgroundMode: number; // 填充模式(与具体图元有关)\n background: string | HTMLImageElement | HTMLCanvasElement | null; // 背景,可以与fill同时存在\n texture: TextureType | string; // 纹理\n textureColor: string; // 纹理颜色\n textureSize: number; // 纹理大小\n texturePadding: number; // 纹理间隙\n blur: number;\n cursor: Cursor | null; // 鼠标样式\n };\n\nexport type IGraphicAttribute = IGraphicStyle &\n ITransform & {\n /**\n * stroke百分比\n */\n strokeSeg: IStrokeSeg | null;\n // 包围盒的padding\n boundsPadding: number | number[];\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode: 'accurate' | 'imprecise' | 'custom';\n boundsMode: 'accurate' | 'imprecise';\n customPickShape: () => boolean | null;\n /**\n * 是否支持事件拾取,默认为 true。\n * @default true\n */\n pickable: boolean;\n /**\n * 对于 group 节点,是否支持其子元素的事件拾取,默认为 true。\n * 如果 group `pickable` 关闭,`childrenPickable` 开启,那么 group 的子节点仍参与事件拾取\n * @default true\n */\n childrenPickable: boolean;\n /**\n * 元素是否可见。\n * @default true\n */\n visible: boolean;\n zIndex: number;\n layout: any;\n /**\n * 是否在3d中控制方向\n * false: 不控制方向\n * true: 始终控制方向朝摄像机\n */\n keepDirIn3d?: boolean;\n };\n\nexport interface IGraphicJson<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>> {\n attribute: Partial<T>;\n _uid: number;\n type: string;\n name: string;\n children: IGraphicJson<T>[];\n}\n\n/** the context of setAttribute */\nexport type ISetAttributeContext = {\n /** type of setAttribute */\n type?: number;\n animationState?: {\n step?: IStep;\n isFirstFrameOfStep?: boolean;\n /** ratio of animation */\n ratio?: number;\n /** is animation end? */\n end?: boolean;\n };\n};\n\nexport type IGraphicAnimateParams = {\n id?: number | string;\n onStart?: () => void;\n onFrame?: (step: IStep, ratio: number) => void;\n onEnd?: () => void;\n onRemove?: () => void;\n interpolate?: (key: string, ratio: number, from: any, to: any, nextAttributes: any) => boolean;\n};\n\nexport interface IGraphic<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>>\n extends INode,\n IAnimateTarget {\n type?: GraphicType;\n numberType?: number;\n stage?: IStage;\n layer?: ILayer;\n shadowRoot?: IShadowRoot;\n glyphHost?: IGraphic<IGlyphGraphicAttribute>;\n backgroundImg?: boolean;\n\n valid: boolean;\n parent: IGroup | null;\n isContainer?: boolean;\n // 是否是3d模式(是否应用3d视角)\n in3dMode?: boolean;\n\n // 上次更新的stamp\n stamp?: number;\n animationBackUps?: {\n from: Record<string, any>;\n to: Record<string, any>;\n };\n\n attribute: Partial<T>;\n\n /** 用于实现morph动画场景,转换成bezier曲线渲染 */\n pathProxy?: ICustomPath2D | ((attrs: T) => ICustomPath2D);\n incremental?: number;\n incrementalAt?: number;\n\n /** 记录state对应的图形属性 */\n states?: Record<string, Partial<T>>;\n normalAttrs?: Partial<T>;\n stateProxy?: (stateName: string, targetStates?: string[]) => Partial<T>;\n findFace?: () => IFace3d;\n toggleState: (stateName: string, hasAnimation?: boolean) => void;\n removeState: (stateName: string, hasAnimation?: boolean) => void;\n clearStates: (hasAnimation?: boolean) => void;\n useStates: (states: string[], hasAnimation?: boolean) => void;\n addState: (stateName: string, keepCurrentStates?: boolean, hasAnimation?: boolean) => void;\n hasState: (stateName?: string) => boolean;\n getState: (stateName: string) => Partial<T>;\n onBeforeAttributeUpdate?: (\n val: any,\n attributes: Partial<T>,\n key: null | string | string[],\n context?: ISetAttributeContext\n ) => T | undefined;\n applyStateAttrs: (attrs: Partial<T>, stateNames: string[], hasAnimation?: boolean, isClear?: boolean) => void;\n updateNormalAttrs: (stateAttrs: Partial<T>) => void;\n\n // get\n readonly AABBBounds: IAABBBounds; // 用于获取当前节点的AABB包围盒\n readonly OBBBounds: IOBBBounds; // 获取OBB包围盒,旋转防重叠需要用\n readonly globalAABBBounds: IAABBBounds; // 全局AABB包围盒\n readonly transMatrix: IMatrix; // 变换矩阵,动态计算\n readonly globalTransMatrix: IMatrix; // 变换矩阵,动态计算\n\n getOffsetXY: (attr?: ITransform) => IPoint;\n\n // function\n containsPoint: (x: number, y: number, mode?: IContainPointMode) => boolean;\n\n setMode: (mode: '3d' | '2d') => void;\n isValid: () => boolean;\n\n // TODO: transform API\n // 基于当前transform的变换,普通用户尽量别用,拿捏不住的~\n translate: (x: number, y: number) => this;\n translateTo: (x: number, y: number) => this;\n scale: (scaleX: number, scaleY: number, scaleCenter?: IPointLike) => this;\n scaleTo: (scaleX: number, scaleY: number) => this;\n rotate: (angle: number) => this;\n rotateTo: (angle: number) => this;\n skewTo: (b: number, c: number) => this;\n addUpdateBoundTag: () => void;\n addUpdateShapeAndBoundsTag: () => void;\n\n update: (d?: { bounds: boolean; trans: boolean }) => void;\n\n // animate\n animate: (params?: IGraphicAnimateParams) => IAnimate;\n\n // 语法糖,可有可无,有的为了首屏性能考虑做成get方法,有的由外界直接托管,内部不赋值\n name?: string;\n\n // 供render处理shape缓存tag\n shouldUpdateShape: () => boolean;\n clearUpdateShapeTag: () => void;\n\n // // 供render缓存shape\n // cacheShape?: ICustomPath2D;\n // // 线段使用的path2D\n // cacheLine?: ISegPath2D | ISegPath2D[];\n // // 面积图使用的path2D\n // cacheArea?: IAreaCacheItem | IAreaCacheItem[];\n\n setAttributes: (params: Partial<T>, forceUpdateTag?: boolean, context?: ISetAttributeContext) => void;\n\n initAttributes: (params: Partial<T>) => void;\n\n setAttribute: (key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext) => void;\n\n setStage: (stage?: IStage, layer?: ILayer) => void;\n onSetStage: (cb: (g: IGraphic, stage: IStage) => void) => void;\n\n shouldUpdateAABBBounds: () => boolean;\n shouldSelfChangeUpdateAABBBounds: () => boolean;\n shouldUpdateGlobalMatrix: () => boolean;\n\n addUpdatePositionTag: () => void;\n addUpdateGlobalPositionTag: () => void;\n\n attachShadow: () => IShadowRoot;\n detachShadow: () => void;\n\n toJson: () => IGraphicJson;\n\n /** 创建pathProxy */\n createPathProxy: (path?: string) => void;\n /** 将图形转换成CustomPath2D */\n toCustomPath?: () => ICustomPath2D;\n\n resources?: Map<\n string | HTMLImageElement | HTMLCanvasElement,\n { state: 'init' | 'loading' | 'success' | 'fail'; data?: HTMLImageElement | HTMLCanvasElement }\n >;\n imageLoadSuccess: (url: string, data: HTMLImageElement) => void;\n imageLoadFail: (url: string) => void;\n\n clone: () => IGraphic;\n}\n\nexport interface IRoot extends IGraphic {\n pick: (x: number, y: number) => IGraphic;\n}\n\n/**\n * 动画配置\n */\nexport type IAnimateConfig = {\n duration?: number;\n easing?: EasingType;\n};\n"]}
1
+ {"version":3,"sources":["../../src/interface/graphic.ts"],"names":[],"mappings":"","file":"graphic.js","sourcesContent":["import type { IAABBBounds, IOBBBounds, IMatrix, IPointLike, IPoint } from '@visactor/vutils';\nimport type { IAnimate, IStep, EasingType, IAnimateTarget } from './animate';\nimport type { IColor } from './color';\nimport type { IGroup } from './graphic/group';\nimport type { IShadowRoot } from './graphic/shadow-root';\nimport type { ILayer } from './layer';\nimport type { INode } from './node-tree';\nimport type { ICustomPath2D } from './path';\nimport type { IStage } from './stage';\nimport type { IGlyphGraphicAttribute } from './graphic/glyph';\nimport type { IContainPointMode } from '../common/enums';\nimport type { IFace3d } from './graphic/face3d';\n\ntype IStrokeSeg = {\n start: number; // 百分比\n // end和length二选一\n end: number; // 百分比\n length: number; // 像素长度\n};\n\n// TODO 最后加一个any\nexport type GraphicType =\n | 'area'\n | 'circle'\n | 'ellipse'\n | 'line'\n | 'rect'\n | 'rect3d'\n | 'path'\n | 'richtext'\n | 'text'\n | 'arc'\n | 'arc3d'\n | 'image'\n | 'symbol'\n | 'group'\n | 'shadowroot'\n | 'polygon'\n | 'pyramid3d'\n | 'glyph';\n\n// Cursor style\n// See: https://developer.mozilla.org/en-US/docs/Web/CSS/cursor\nexport type Cursor =\n | 'auto'\n | 'default'\n | 'none'\n | 'context-menu'\n | 'help'\n | 'pointer'\n | 'progress'\n | 'wait'\n | 'cell'\n | 'crosshair'\n | 'text'\n | 'vertical-text'\n | 'alias'\n | 'copy'\n | 'move'\n | 'no-drop'\n | 'not-allowed'\n | 'grab'\n | 'grabbing'\n | 'all-scroll'\n | 'col-resize'\n | 'row-resize'\n | 'n-resize'\n | 'e-resize'\n | 's-resize'\n | 'w-resize'\n | 'ne-resize'\n | 'nw-resize'\n | 'se-resize'\n | 'sw-resize'\n | 'ew-resize'\n | 'ns-resize'\n | 'nesw-resize'\n | 'nwse-resize'\n | 'zoom-in'\n | 'zoom-out';\n\nexport type ITransform = {\n x: number;\n y: number;\n z: number;\n dx: number;\n dy: number;\n dz: number;\n scrollX: number;\n scrollY: number;\n scaleX: number;\n scaleY: number;\n scaleZ: number;\n angle: number;\n alpha: number;\n beta: number;\n anchor: [number | string, number | string]; // 基于AABB的锚点位置,用于简单的定位某些path\n anchor3d: [number | string, number | string, number] | [number | string, number | string]; // 3d的锚点位置\n postMatrix: IMatrix;\n};\n\nexport type IFillStyle = {\n fillColor: string | IColor;\n fillOpacity: number;\n shadowBlur: number;\n shadowColor: string;\n shadowOffsetX: number;\n shadowOffsetY: number;\n fill: boolean | null;\n};\n\nexport type IBorderStyle = Omit<IStrokeStyle, 'outerBorder' | 'innerBorder'> & {\n distance: number | string;\n};\n\nexport type IStrokeStyle = {\n outerBorder: Partial<IBorderStyle>;\n innerBorder: Partial<IBorderStyle>;\n strokeColor: string | IColor;\n strokeOpacity: number;\n lineDash: number[];\n lineDashOffset: number;\n lineWidth: number;\n lineCap: CanvasLineCap;\n lineJoin: CanvasLineJoin;\n miterLimit: number;\n // 描边的boundsBuffer,用于控制bounds的buffer\n strokeBoundsBuffer: number;\n /**\n * stroke - true 全描边\n * stroke - false 不描边\n * stroke 为数值类型,适用于rect\\arc等图形,用于配置部分描边的场景,其中\n *\n * 0b00000 - 不描边\n * 0b000001 - top\n * 0b000010 - right\n * 0b000100 - bottom\n * 0b001000 - left\n * 相应的:\n * 0b000011 - top + right\n * 0b000111 - top + right + bottom\n * 0b001111 - 全描边\n *\n * stroke - boolean[],适用于rect\\arc等图形,用于配置部分描边的场景\n */\n stroke: boolean[] | number | boolean | null;\n};\n\ntype TextureType = 'circle' | 'diamond' | 'rect' | 'vertical-line' | 'horizontal-line' | 'bias-lr' | 'bias-rl' | 'grid';\n\nexport type IGraphicStyle = IFillStyle &\n IStrokeStyle & {\n opacity: number;\n backgroundMode: number; // 填充模式(与具体图元有关)\n background: string | HTMLImageElement | HTMLCanvasElement | null; // 背景,可以与fill同时存在\n texture: TextureType | string; // 纹理\n textureColor: string; // 纹理颜色\n textureSize: number; // 纹理大小\n texturePadding: number; // 纹理间隙\n blur: number;\n cursor: Cursor | null; // 鼠标样式\n };\n\nexport type IGraphicAttribute = IGraphicStyle &\n ITransform & {\n /**\n * stroke百分比\n */\n strokeSeg: IStrokeSeg | null;\n // 包围盒的padding\n boundsPadding: number | number[];\n /**\n * 选择模式,精确模式,粗糙模式(包围盒模式),自定义模式\n */\n pickMode: 'accurate' | 'imprecise' | 'custom';\n boundsMode: 'accurate' | 'imprecise';\n customPickShape: () => boolean | null;\n /**\n * 是否支持事件拾取,默认为 true。\n * @default true\n */\n pickable: boolean;\n /**\n * 对于 group 节点,是否支持其子元素的事件拾取,默认为 true。\n * 如果 group `pickable` 关闭,`childrenPickable` 开启,那么 group 的子节点仍参与事件拾取\n * @default true\n */\n childrenPickable: boolean;\n /**\n * 元素是否可见。\n * @default true\n */\n visible: boolean;\n zIndex: number;\n layout: any;\n /**\n * 是否在3d中控制方向\n * false: 不控制方向\n * true: 始终控制方向朝摄像机\n */\n keepDirIn3d?: boolean;\n };\n\nexport interface IGraphicJson<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>> {\n attribute: Partial<T>;\n _uid: number;\n type: string;\n name: string;\n children: IGraphicJson<T>[];\n}\n\n/** the context of setAttribute */\nexport type ISetAttributeContext = {\n /** type of setAttribute */\n type?: number;\n animationState?: {\n step?: IStep;\n isFirstFrameOfStep?: boolean;\n /** ratio of animation */\n ratio?: number;\n /** is animation end? */\n end?: boolean;\n };\n};\n\nexport type IGraphicAnimateParams = {\n id?: number | string;\n onStart?: () => void;\n onFrame?: (step: IStep, ratio: number) => void;\n onEnd?: () => void;\n onRemove?: () => void;\n interpolate?: (key: string, ratio: number, from: any, to: any, nextAttributes: any) => boolean;\n};\n\nexport interface IGraphic<T extends Partial<IGraphicAttribute> = Partial<IGraphicAttribute>>\n extends INode,\n IAnimateTarget {\n type?: GraphicType;\n numberType?: number;\n stage?: IStage;\n layer?: ILayer;\n shadowRoot?: IShadowRoot;\n glyphHost?: IGraphic<IGlyphGraphicAttribute>;\n backgroundImg?: boolean;\n\n valid: boolean;\n parent: IGroup | null;\n isContainer?: boolean;\n // 是否是3d模式(是否应用3d视角)\n in3dMode?: boolean;\n\n // 上次更新的stamp\n stamp?: number;\n animationBackUps?: {\n from: Record<string, any>;\n to: Record<string, any>;\n };\n\n attribute: Partial<T>;\n\n /** 用于实现morph动画场景,转换成bezier曲线渲染 */\n pathProxy?: ICustomPath2D | ((attrs: T) => ICustomPath2D);\n incremental?: number;\n incrementalAt?: number;\n\n /** 记录state对应的图形属性 */\n states?: Record<string, Partial<T>>;\n normalAttrs?: Partial<T>;\n stateProxy?: (stateName: string, targetStates?: string[]) => Partial<T>;\n findFace?: () => IFace3d;\n toggleState: (stateName: string, hasAnimation?: boolean) => void;\n removeState: (stateName: string, hasAnimation?: boolean) => void;\n clearStates: (hasAnimation?: boolean) => void;\n useStates: (states: string[], hasAnimation?: boolean) => void;\n addState: (stateName: string, keepCurrentStates?: boolean, hasAnimation?: boolean) => void;\n hasState: (stateName?: string) => boolean;\n getState: (stateName: string) => Partial<T>;\n onBeforeAttributeUpdate?: (\n val: any,\n attributes: Partial<T>,\n key: null | string | string[],\n context?: ISetAttributeContext\n ) => T | undefined;\n applyStateAttrs: (attrs: Partial<T>, stateNames: string[], hasAnimation?: boolean, isClear?: boolean) => void;\n updateNormalAttrs: (stateAttrs: Partial<T>) => void;\n\n // get\n readonly AABBBounds: IAABBBounds; // 用于获取当前节点的AABB包围盒\n readonly OBBBounds: IOBBBounds; // 获取OBB包围盒,旋转防重叠需要用\n readonly globalAABBBounds: IAABBBounds; // 全局AABB包围盒\n readonly transMatrix: IMatrix; // 变换矩阵,动态计算\n readonly globalTransMatrix: IMatrix; // 变换矩阵,动态计算\n\n getOffsetXY: (attr?: ITransform) => IPoint;\n\n // function\n containsPoint: (x: number, y: number, mode?: IContainPointMode) => boolean;\n\n setMode: (mode: '3d' | '2d') => void;\n isValid: () => boolean;\n\n // TODO: transform API\n // 基于当前transform的变换,普通用户尽量别用,拿捏不住的~\n translate: (x: number, y: number) => this;\n translateTo: (x: number, y: number) => this;\n scale: (scaleX: number, scaleY: number, scaleCenter?: IPointLike) => this;\n scaleTo: (scaleX: number, scaleY: number) => this;\n rotate: (angle: number) => this;\n rotateTo: (angle: number) => this;\n skewTo: (b: number, c: number) => this;\n addUpdateBoundTag: () => void;\n addUpdateShapeAndBoundsTag: () => void;\n\n update: (d?: { bounds: boolean; trans: boolean }) => void;\n\n // animate\n animate: (params?: IGraphicAnimateParams) => IAnimate;\n\n // 语法糖,可有可无,有的为了首屏性能考虑做成get方法,有的由外界直接托管,内部不赋值\n name?: string;\n\n // 供render处理shape缓存tag\n shouldUpdateShape: () => boolean;\n clearUpdateShapeTag: () => void;\n\n // // 供render缓存shape\n // cacheShape?: ICustomPath2D;\n // // 线段使用的path2D\n // cacheLine?: ISegPath2D | ISegPath2D[];\n // // 面积图使用的path2D\n // cacheArea?: IAreaCacheItem | IAreaCacheItem[];\n\n setAttributes: (params: Partial<T>, forceUpdateTag?: boolean, context?: ISetAttributeContext) => void;\n\n initAttributes: (params: Partial<T>) => void;\n\n setAttribute: (key: string, value: any, forceUpdateTag?: boolean, context?: ISetAttributeContext) => void;\n\n setStage: (stage?: IStage, layer?: ILayer) => void;\n onSetStage: (cb: (g: IGraphic, stage: IStage) => void) => void;\n\n shouldUpdateAABBBounds: () => boolean;\n shouldSelfChangeUpdateAABBBounds: () => boolean;\n shouldUpdateGlobalMatrix: () => boolean;\n\n addUpdatePositionTag: () => void;\n addUpdateGlobalPositionTag: () => void;\n\n attachShadow: () => IShadowRoot;\n detachShadow: () => void;\n\n toJson: () => IGraphicJson;\n\n /** 创建pathProxy */\n createPathProxy: (path?: string) => void;\n /** 将图形转换成CustomPath2D */\n toCustomPath?: () => ICustomPath2D;\n\n resources?: Map<\n string | HTMLImageElement | HTMLCanvasElement,\n { state: 'init' | 'loading' | 'success' | 'fail'; data?: HTMLImageElement | HTMLCanvasElement }\n >;\n imageLoadSuccess: (url: string, data: HTMLImageElement) => void;\n imageLoadFail: (url: string) => void;\n\n clone: () => IGraphic;\n}\n\nexport interface IRoot extends IGraphic {\n pick: (x: number, y: number) => IGraphic;\n}\n\n/**\n * 动画配置\n */\nexport type IAnimateConfig = {\n duration?: number;\n easing?: EasingType;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA+CA,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,wDAAsC;AACtC,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB","file":"index.js","sourcesContent":["// export type MaybePromise<T> = T | PromiseLike<T>;\n\n// // 所有的接口都应当继承这个,避免内存没有释放\n// export interface Disposable {\n// dispose: (params?: any) => void;\n// }\n\n// export { INode } from './node-tree';\n// export { IGraphic, IGraphicAttribute, IFillStyle, IStrokeStyle, IStyle, ITransform } from './graphic';\n// export { IArc, IArcAttribute, IArcGraphicAttribute, IArcCache } from './graphic/arc';\n// export { IArea, IAreaAttribute, IAreaGraphicAttribute, IAreaCacheItem, IAreaSegment } from './graphic/area';\n// export { ICircle, ICircleAttribute, ICircleGraphicAttribute } from './graphic/circle';\n// export { IGroup, IGroupAttribute } from './graphic/group';\n// export { IImage, IImageAttribute, IImageGraphicAttribute, IRepeatType } from './graphic/image';\n// export { ILine, ILineAttribute, ILineGraphicAttribute, ISegment } from './graphic/line';\n// export { IPath, IPathAttribute, IPathGraphicAttribute } from './graphic/path';\n// export { IRect, IRectAttribute, IRectGraphicAttribute } from './graphic/rect';\n// export {\n// IRichText,\n// IRichTextAttribute,\n// RichTextCharacter,\n// RichTextFontStyle,\n// RichTextGlobalAlignType,\n// RichTextGlobalBaselineType,\n// RichTextScript,\n// RichTextTextAlign,\n// RichTextTextDecoration,\n// RichTextVerticalDirection,\n// RichTextWordBreak,\n// IRichTextGraphicAttribute\n// } from './graphic/richText';\n// export { ISymbol, ISymbolAttribute, ISymbolGraphicAttribute, SymbolType } from './graphic/symbol';\n// export { IText, ITextAttribute, ITextGraphicAttribute, ITextCache } from './graphic/text';\n// export { ILayer, ILayerDrawParams } from './layer';\n// export { IStage, IStageParams, IExportType } from './stage';\n\n// // export * from './graphic';\n// export { ICanvas, ICanvasLike } from './canvas';\n// export { IContext2d, IContextLike, ICommonStyleParams, IStrokeStyleParams, ITextStyleParams } from './context';\n\n// export { IPath2D, ICustomPath2D, CommandType, ICurvePath, ICurve } from './path';\n\n// export { IColor, IColorStop, IConicalGradient, ILinearGradient, IRadialGradient } from './color';\n\n// export { ICurveType } from './common';\n// // export { IAreaCacheItem } from './graphic';\n\nexport * from './global';\nexport * from './common';\nexport * from './node-tree';\nexport * from './graphic';\nexport * from './graphic/index';\nexport * from './graphic/arc';\nexport * from './graphic/arc3d';\nexport * from './graphic/area';\nexport * from './graphic/circle';\nexport * from './graphic/group';\nexport * from './graphic/image';\nexport * from './graphic/line';\nexport * from './graphic/path';\nexport * from './graphic/rect';\nexport * from './graphic/rect3d';\nexport * from './graphic/glyph';\nexport * from './graphic/richText';\nexport * from './graphic/symbol';\nexport * from './graphic/text';\nexport * from './graphic/polygon';\nexport * from './graphic/pyramid3d';\nexport * from './graphic/shadow-root';\nexport * from './graphic/face3d';\nexport * from './layer';\nexport * from './stage';\nexport * from './canvas';\nexport * from './context';\nexport * from './path';\nexport * from './color';\nexport * from './common';\nexport * from './animate';\nexport * from './camera';\nexport * from './matrix';\nexport * from './light';\n"]}
1
+ {"version":3,"sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA+CA,2CAAyB;AACzB,2CAAyB;AACzB,8CAA4B;AAC5B,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,kDAAgC;AAChC,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,iDAA+B;AAC/B,mDAAiC;AACjC,kDAAgC;AAChC,qDAAmC;AACnC,mDAAiC;AACjC,iDAA+B;AAC/B,oDAAkC;AAClC,sDAAoC;AACpC,wDAAsC;AACtC,mDAAiC;AACjC,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,2CAAyB;AACzB,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB","file":"index.js","sourcesContent":["// export type MaybePromise<T> = T | PromiseLike<T>;\n\n// // 所有的接口都应当继承这个,避免内存没有释放\n// export interface Disposable {\n// dispose: (params?: any) => void;\n// }\n\n// export { INode } from './node-tree';\n// export { IGraphic, IGraphicAttribute, IFillStyle, IStrokeStyle, IStyle, ITransform } from './graphic';\n// export { IArc, IArcAttribute, IArcGraphicAttribute, IArcCache } from './graphic/arc';\n// export { IArea, IAreaAttribute, IAreaGraphicAttribute, IAreaCacheItem, IAreaSegment } from './graphic/area';\n// export { ICircle, ICircleAttribute, ICircleGraphicAttribute } from './graphic/circle';\n// export { IGroup, IGroupAttribute } from './graphic/group';\n// export { IImage, IImageAttribute, IImageGraphicAttribute, IRepeatType } from './graphic/image';\n// export { ILine, ILineAttribute, ILineGraphicAttribute, ISegment } from './graphic/line';\n// export { IPath, IPathAttribute, IPathGraphicAttribute } from './graphic/path';\n// export { IRect, IRectAttribute, IRectGraphicAttribute } from './graphic/rect';\n// export {\n// IRichText,\n// IRichTextAttribute,\n// RichTextCharacter,\n// RichTextFontStyle,\n// RichTextGlobalAlignType,\n// RichTextGlobalBaselineType,\n// RichTextScript,\n// RichTextTextAlign,\n// RichTextTextDecoration,\n// RichTextVerticalDirection,\n// RichTextWordBreak,\n// IRichTextGraphicAttribute\n// } from './graphic/richText';\n// export { ISymbol, ISymbolAttribute, ISymbolGraphicAttribute, SymbolType } from './graphic/symbol';\n// export { IText, ITextAttribute, ITextGraphicAttribute, ITextCache } from './graphic/text';\n// export { ILayer, ILayerDrawParams } from './layer';\n// export { IStage, IStageParams, IExportType } from './stage';\n\n// // export * from './graphic';\n// export { ICanvas, ICanvasLike } from './canvas';\n// export { IContext2d, IContextLike, ICommonStyleParams, IStrokeStyleParams, ITextStyleParams } from './context';\n\n// export { IPath2D, ICustomPath2D, CommandType, ICurvePath, ICurve } from './path';\n\n// export { IColor, IColorStop, IConicalGradient, ILinearGradient, IRadialGradient } from './color';\n\n// export { ICurveType } from './common';\n// // export { IAreaCacheItem } from './graphic';\n\nexport * from './global';\nexport * from './common';\nexport * from './node-tree';\nexport * from './graphic';\nexport * from './graphic/index';\nexport * from './graphic/arc';\nexport * from './graphic/arc3d';\nexport * from './graphic/area';\nexport * from './graphic/circle';\nexport * from './graphic/group';\nexport * from './graphic/image';\nexport * from './graphic/line';\nexport * from './graphic/path';\nexport * from './graphic/rect';\nexport * from './graphic/rect3d';\nexport * from './graphic/glyph';\nexport * from './graphic/richText';\nexport * from './graphic/symbol';\nexport * from './graphic/text';\nexport * from './graphic/polygon';\nexport * from './graphic/pyramid3d';\nexport * from './graphic/shadow-root';\nexport * from './graphic/face3d';\nexport * from './layer';\nexport * from './stage';\nexport * from './canvas';\nexport * from './context';\nexport * from './path';\nexport * from './color';\nexport * from './common';\nexport * from './animate';\nexport * from './camera';\nexport * from './matrix';\nexport * from './light';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/layer.ts"],"names":[],"mappings":"","file":"layer.js","sourcesContent":["import { IAABBBounds, IBounds } from '@visactor/vutils';\nimport { IGraphic } from './graphic';\nimport { IGroup } from './graphic/group';\nimport { IDrawContext, IDrawContribution, IRenderService } from '../render/render-service';\nimport { IColor } from './color';\nimport { ILayerHandlerContribution, ILayerHandlerDrawParams, IWindow } from '../core';\n\nexport interface ILayerDrawParams {\n renderService: IRenderService;\n background?: string | IColor;\n updateBounds: boolean;\n}\n\nexport interface IDrawToParams {\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n clear?: boolean;\n renderService: IRenderService;\n background?: string | IColor;\n updateBounds: boolean;\n}\n\n// 不建议用户操作layer,尽量都通过stage实现\nexport interface ILayer extends IGroup {\n parent: any;\n // rootNode: IStage;\n main: boolean;\n width: number;\n height: number;\n viewWidth: number;\n viewHeight: number;\n\n offscreen: boolean;\n subLayers: Map<number, { layer: ILayer; group?: IGroup; zIndex: number; drawContribution?: IDrawContribution }>;\n\n // mode: 'dynamic' | 'static';\n readonly dirtyBound: IAABBBounds;\n background: string;\n dpr: number;\n opacity: number;\n canvasId?: string;\n imageData?: ImageData;\n blendMode?: string;\n // TODO: getElementById\n pickable: boolean;\n pick: (x: number, y: number) => { graphic?: IGraphic; group?: IGroup } | false;\n render: (params: ILayerDrawParams, userParams?: Partial<IDrawContext>) => void;\n afterDraw: (cb: (l: this) => void) => void;\n\n resize: (w: number, h: number) => void;\n resizeView: (w: number, h: number) => void;\n setDpr: (dpr: number) => void;\n getNativeHandler: () => ILayerHandlerContribution;\n combineSubLayer: (removeIncrementalKey?: boolean) => void;\n\n // 动画相关\n startAnimate: (t: number) => void;\n setToFrame: (t: number) => void;\n prepare: (dirtyBounds: IBounds, params: ILayerHandlerDrawParams) => void;\n drawTo: (target: IWindow, params: IDrawToParams) => void;\n combineTo: (target: IWindow, params: IDrawToParams) => void;\n // 考虑操作回放\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/layer.ts"],"names":[],"mappings":"","file":"layer.js","sourcesContent":["import { IAABBBounds, IBounds } from '@visactor/vutils';\nimport { IGraphic } from './graphic';\nimport { IGroup } from './graphic/group';\nimport { IDrawContext, IDrawContribution, IRenderService } from '../render/render-service';\nimport { IColor } from './color';\nimport { ILayerHandlerContribution, ILayerHandlerDrawParams, IWindow } from '../core';\n\nexport interface ILayerDrawParams {\n renderService: IRenderService;\n background?: string | IColor;\n updateBounds: boolean;\n}\n\nexport interface IDrawToParams {\n x?: number;\n y?: number;\n width?: number;\n height?: number;\n clear?: boolean;\n renderService: IRenderService;\n background?: string | IColor;\n updateBounds: boolean;\n}\n\n// 不建议用户操作layer,尽量都通过stage实现\nexport interface ILayer extends IGroup {\n parent: any;\n // rootNode: IStage;\n main: boolean;\n width: number;\n height: number;\n viewWidth: number;\n viewHeight: number;\n\n offscreen: boolean;\n subLayers: Map<number, { layer: ILayer; group?: IGroup; zIndex: number; drawContribution?: IDrawContribution }>;\n\n // mode: 'dynamic' | 'static';\n readonly dirtyBound: IAABBBounds;\n background: string;\n dpr: number;\n opacity: number;\n canvasId?: string;\n imageData?: ImageData;\n blendMode?: string;\n // TODO: getElementById\n pickable: boolean;\n pick: (x: number, y: number) => { graphic?: IGraphic; group?: IGroup } | false;\n render: (params: ILayerDrawParams, userParams?: Partial<IDrawContext>) => void;\n afterDraw: (cb: (l: this) => void) => void;\n\n resize: (w: number, h: number) => void;\n resizeView: (w: number, h: number) => void;\n setDpr: (dpr: number) => void;\n getNativeHandler: () => ILayerHandlerContribution;\n combineSubLayer: (removeIncrementalKey?: boolean) => void;\n\n // 动画相关\n startAnimate: (t: number) => void;\n setToFrame: (t: number) => void;\n prepare: (dirtyBounds: IBounds, params: ILayerHandlerDrawParams) => void;\n drawTo: (target: IWindow, params: IDrawToParams) => void;\n combineTo: (target: IWindow, params: IDrawToParams) => void;\n // 考虑操作回放\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/light.ts"],"names":[],"mappings":"","file":"light.js","sourcesContent":["import { vec3 } from './matrix';\n\nexport interface IDirectionLight {\n dir: vec3;\n color: string;\n computeColor: (normal: vec3, color: string | vec3) => string;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/light.ts"],"names":[],"mappings":"","file":"light.js","sourcesContent":["import { vec3 } from './matrix';\n\nexport interface IDirectionLight {\n dir: vec3;\n color: string;\n computeColor: (normal: vec3, color: string | vec3) => string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/matrix.ts"],"names":[],"mappings":"","file":"matrix.js","sourcesContent":["export type vec2 = [number, number] | Float32Array;\nexport type vec3 = [number, number, number] | Float32Array;\nexport type vec4 = [number, number, number, number] | Float32Array;\nexport type mat4 =\n | [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n ]\n | Float32Array;\n\n// import { IPoint } from '@visactor/vutils';\n\n// // 不建议用户直接操作matrix\n// export interface IMatrix {\n// /**\n// * scale x\n// */\n// a: number;\n// /**\n// * skew y\n// */\n// b: number;\n// /**\n// * skewx\n// */\n// c: number;\n// /**\n// * scale y\n// */\n// d: number;\n// /**\n// * translate x\n// */\n// e: number;\n// /**\n// * translate y\n// */\n// f: number;\n// // new (a?: number, b?: number, c?: number, d?: number, e?: number, f?: number): IMatrix;\n// setValue: (a: number, b: number, c: number, d: number, e: number, f: number) => IMatrix;\n// /**\n// * 获取当前矩阵的逆矩阵\n// */\n// getInverse: () => IMatrix;\n// rotate: (rad: number) => IMatrix;\n// scale: (sx: number, sy: number) => IMatrix;\n// setScale: (sx: number, sy: number) => IMatrix;\n// transform: (a: number, b: number, c: number, d: number, e: number, f: number) => IMatrix;\n// translate: (x: number, y: number) => IMatrix;\n// /**\n// * 矩阵相乘\n// * @param matrix\n// */\n// multiply: (a2: number, b2: number, c2: number, d2: number, e2: number, f2: number) => IMatrix;\n// /**\n// * 插值计算\n// * @param m2\n// * @param t\n// */\n// interpolate: (m2: IMatrix, t: number) => IMatrix;\n\n// // 将point转到当前矩阵的坐标空间中\n// transformPoint: (source: IPoint, target: IPoint) => void;\n\n// reset: () => IMatrix;\n\n// // 是否只有translate\n// onlyTranslate: () => boolean;\n\n// clone: () => IMatrix;\n// }\n"]}
1
+ {"version":3,"sources":["../../src/interface/matrix.ts"],"names":[],"mappings":"","file":"matrix.js","sourcesContent":["export type vec2 = [number, number] | Float32Array;\nexport type vec3 = [number, number, number] | Float32Array;\nexport type vec4 = [number, number, number, number] | Float32Array;\nexport type mat4 =\n | [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n ]\n | Float32Array;\n\n// import { IPoint } from '@visactor/vutils';\n\n// // 不建议用户直接操作matrix\n// export interface IMatrix {\n// /**\n// * scale x\n// */\n// a: number;\n// /**\n// * skew y\n// */\n// b: number;\n// /**\n// * skewx\n// */\n// c: number;\n// /**\n// * scale y\n// */\n// d: number;\n// /**\n// * translate x\n// */\n// e: number;\n// /**\n// * translate y\n// */\n// f: number;\n// // new (a?: number, b?: number, c?: number, d?: number, e?: number, f?: number): IMatrix;\n// setValue: (a: number, b: number, c: number, d: number, e: number, f: number) => IMatrix;\n// /**\n// * 获取当前矩阵的逆矩阵\n// */\n// getInverse: () => IMatrix;\n// rotate: (rad: number) => IMatrix;\n// scale: (sx: number, sy: number) => IMatrix;\n// setScale: (sx: number, sy: number) => IMatrix;\n// transform: (a: number, b: number, c: number, d: number, e: number, f: number) => IMatrix;\n// translate: (x: number, y: number) => IMatrix;\n// /**\n// * 矩阵相乘\n// * @param matrix\n// */\n// multiply: (a2: number, b2: number, c2: number, d2: number, e2: number, f2: number) => IMatrix;\n// /**\n// * 插值计算\n// * @param m2\n// * @param t\n// */\n// interpolate: (m2: IMatrix, t: number) => IMatrix;\n\n// // 将point转到当前矩阵的坐标空间中\n// transformPoint: (source: IPoint, target: IPoint) => void;\n\n// reset: () => IMatrix;\n\n// // 是否只有translate\n// onlyTranslate: () => boolean;\n\n// clone: () => IMatrix;\n// }\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/node-tree.ts"],"names":[],"mappings":"","file":"node-tree.js","sourcesContent":["import { Releaseable, IEventElement } from '../interface';\nexport interface INode extends Releaseable, IEventElement {\n _prev?: INode;\n _next?: INode;\n /**\n * 内部图形的唯一标识\n */\n _uid: number;\n\n /**\n * 用户配置的图形唯一标识\n */\n id?: number | string;\n /** 图形名称标识 */\n name?: string;\n /**\n * 图形类型\n */\n type?: string;\n parent: INode | null;\n // dirty: boolean; // 脏位,标记当前节点和子节点是否有修改\n count: number;\n childrenCount: number;\n firstChild: INode | null;\n lastChild: INode | null;\n /**\n * 获取子节点数组\n */\n getChildren: () => INode[];\n /**\n * 获取某个idx的节点\n */\n getChildAt: (idx: number) => INode | null;\n at: (idx: number) => INode | null;\n\n insertBefore: (newNode: INode, referenceNode: INode) => INode | null;\n insertAfter: (newNode: INode, referenceNode: INode) => INode | null;\n\n /**\n * 向某个位置插入\n */\n insertInto: (ele: INode, idx: number) => INode | null;\n\n insertIntoKeepIdx: (ele: INode, idx: number) => INode | null;\n /**\n * 遍历子节点\n * @param cb 返回true则停止遍历\n */\n forEachChildren: (cb: (n: INode, i: number) => void | boolean, reverse?: boolean) => void;\n forEachChildrenAsync: (\n cb: (n: INode, i: number) => Promise<void | boolean> | void | boolean,\n reverse?: boolean\n ) => Promise<void>;\n /**\n * 添加子节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n appendChild: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 添加子节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n add: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 从当前节点的父节点删除当前节点\n */\n delete: () => void;\n /**\n * 删除节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n removeChild: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 移除所有节点\n */\n removeAllChild: () => void;\n /**\n * 判断该节点是否是node的子节点\n * @param node\n */\n isChildOf: (node: INode) => boolean;\n /**\n * 判断该节点是否是node的父节点\n * @param node\n */\n isParentOf: (node: INode) => boolean;\n /**\n * 判断节点是否是node的后代节点\n * @param node\n */\n isDescendantsOf: (node: INode) => boolean;\n /**\n * 判断节点是否是node的祖先节点\n * @param node\n */\n isAncestorsOf: (node: INode) => boolean;\n\n // 事件相关的别名\n /**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n * */\n dispatchEvent: (event: Event) => boolean;\n\n /**\n * 返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。\n * @param node 判断是否包含的节点\n */\n containNode: (node: INode) => boolean;\n\n /**\n * 设置该节点的所有后代节点某个属性\n * @param propsName 属性名\n * @param propsValue 属性值\n */\n setAllDescendantsProps: (propsName: string, propsValue: any) => any;\n\n // 查找相关的接口\n /**\n * 根据自定义逻辑查找元素,返回单一图形元素\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素\n */\n find: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode | null;\n /**\n * 根据自定义逻辑查找元素,返回匹配的元素集合\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素集合\n */\n findAll: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode[];\n /**\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n getElementById: (id: string | number) => INode | null;\n /**\n * @alias getElementById\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n findChildById: (id: string | number) => INode | null;\n /**\n * 通过内部生成的节点 id:_uid 查找对应的图形元素\n * @param id 子节点的key\n */\n findChildByUid: (uid: number) => INode | null;\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByName: (name: string) => INode[];\n /**\n * @alias getElementsByName\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n findChildrenByName: (name: string) => INode[];\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByType: (type: string) => INode[];\n // 其他不常用\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/node-tree.ts"],"names":[],"mappings":"","file":"node-tree.js","sourcesContent":["import { Releaseable, IEventElement } from '../interface';\nexport interface INode extends Releaseable, IEventElement {\n _prev?: INode;\n _next?: INode;\n /**\n * 内部图形的唯一标识\n */\n _uid: number;\n\n /**\n * 用户配置的图形唯一标识\n */\n id?: number | string;\n /** 图形名称标识 */\n name?: string;\n /**\n * 图形类型\n */\n type?: string;\n parent: INode | null;\n // dirty: boolean; // 脏位,标记当前节点和子节点是否有修改\n count: number;\n childrenCount: number;\n firstChild: INode | null;\n lastChild: INode | null;\n /**\n * 获取子节点数组\n */\n getChildren: () => INode[];\n /**\n * 获取某个idx的节点\n */\n getChildAt: (idx: number) => INode | null;\n at: (idx: number) => INode | null;\n\n insertBefore: (newNode: INode, referenceNode: INode) => INode | null;\n insertAfter: (newNode: INode, referenceNode: INode) => INode | null;\n\n /**\n * 向某个位置插入\n */\n insertInto: (ele: INode, idx: number) => INode | null;\n\n insertIntoKeepIdx: (ele: INode, idx: number) => INode | null;\n /**\n * 遍历子节点\n * @param cb 返回true则停止遍历\n */\n forEachChildren: (cb: (n: INode, i: number) => void | boolean, reverse?: boolean) => void;\n forEachChildrenAsync: (\n cb: (n: INode, i: number) => Promise<void | boolean> | void | boolean,\n reverse?: boolean\n ) => Promise<void>;\n /**\n * 添加子节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n appendChild: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 添加子节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n add: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 从当前节点的父节点删除当前节点\n */\n delete: () => void;\n /**\n * 删除节点\n * @param node\n * @param highPerformance 是否高性能模式(不检查是否合法)\n */\n removeChild: (node: INode, highPerformance?: boolean) => INode | null;\n /**\n * 移除所有节点\n */\n removeAllChild: () => void;\n /**\n * 判断该节点是否是node的子节点\n * @param node\n */\n isChildOf: (node: INode) => boolean;\n /**\n * 判断该节点是否是node的父节点\n * @param node\n */\n isParentOf: (node: INode) => boolean;\n /**\n * 判断节点是否是node的后代节点\n * @param node\n */\n isDescendantsOf: (node: INode) => boolean;\n /**\n * 判断节点是否是node的祖先节点\n * @param node\n */\n isAncestorsOf: (node: INode) => boolean;\n\n // 事件相关的别名\n /**\n * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.\n * */\n dispatchEvent: (event: Event) => boolean;\n\n /**\n * 返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。\n * @param node 判断是否包含的节点\n */\n containNode: (node: INode) => boolean;\n\n /**\n * 设置该节点的所有后代节点某个属性\n * @param propsName 属性名\n * @param propsValue 属性值\n */\n setAllDescendantsProps: (propsName: string, propsValue: any) => any;\n\n // 查找相关的接口\n /**\n * 根据自定义逻辑查找元素,返回单一图形元素\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素\n */\n find: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode | null;\n /**\n * 根据自定义逻辑查找元素,返回匹配的元素集合\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素集合\n */\n findAll: (callback: (node: INode, index: number) => boolean, deep: boolean) => INode[];\n /**\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n getElementById: (id: string | number) => INode | null;\n /**\n * @alias getElementById\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n findChildById: (id: string | number) => INode | null;\n /**\n * 通过内部生成的节点 id:_uid 查找对应的图形元素\n * @param id 子节点的key\n */\n findChildByUid: (uid: number) => INode | null;\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByName: (name: string) => INode[];\n /**\n * @alias getElementsByName\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n findChildrenByName: (name: string) => INode[];\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByType: (type: string) => INode[];\n // 其他不常用\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/path.ts"],"names":[],"mappings":";;;AAIa,QAAA,aAAa,GAAG;IAC3B,KAAK;IACL,OAAO;IACP,eAAe;IACf,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,kBAAkB;IAClB,MAAM;CACP,CAAC;AA0BF,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,2EAAoB,CAAA;IACpB,mFAAwB,CAAA;IACxB,2DAAY,CAAA;IACZ,6DAAa,CAAA;IACb,mEAAgB,CAAA;IAChB,6DAAa,CAAA;AACf,CAAC,EAPW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAOzB","file":"path.js","sourcesContent":["import { IAABBBounds, IPoint, IPointLike } from '@visactor/vutils';\nimport { Direction } from '../common';\nimport { Releaseable } from './common';\n\nexport const strCommandMap = [\n 'arc',\n 'arcTo',\n 'bezierCurveTo',\n 'closePath',\n 'ellipse',\n 'lineTo',\n 'moveTo',\n 'quadraticCurveTo',\n 'rect'\n];\n\nexport type CommandType = [\n number,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?\n];\n\nexport type CommandStrType = [\n string,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?\n];\n\nexport enum ICurveTypeEnum {\n CubicBezierCurve = 0,\n QuadraticBezierCurve = 1,\n ArcCurve = 2,\n LineCurve = 3,\n EllipseCurve = 4,\n MoveCurve = 5\n}\n\nexport interface ICurve<T> {\n type: number;\n defined: boolean;\n readonly p0: T;\n readonly p1?: T;\n readonly p2?: T;\n readonly p3?: T;\n getPointAt: (t: number) => IPointLike;\n getAngleAt: (t: number) => number;\n getLength: (direction?: Direction) => number;\n}\n\nexport interface ICubicBezierCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.CubicBezierCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n readonly p2: IPoint;\n readonly p3: IPoint;\n}\n\nexport interface IQuadraticBezierCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.QuadraticBezierCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n readonly p2: IPoint;\n}\n\nexport interface IArcCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.ArcCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n radius: number;\n}\n\nexport interface ILineCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.LineCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n}\n\nexport interface IEllipseCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.EllipseCurve;\n // p0: IPoint;\n radiusX: number;\n radiusY: number;\n rotation: number;\n startAngle: number;\n endAngle: number;\n anticlockwise?: boolean;\n}\n\nexport interface IMoveCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.MoveCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n}\n\nexport interface ICurvePath<T> {\n curves: ICurve<T>[];\n bounds?: IAABBBounds;\n getPointAt: (t: number) => IPointLike;\n getCurveLengths: () => number[];\n getLength: (direction?: Direction) => number;\n getBounds?: () => IAABBBounds;\n}\n\nexport interface IPath2D {\n moveTo: (x: number, y: number, z?: number) => void;\n lineTo: (x: number, y: number, z?: number) => void;\n quadraticCurveTo: (aCPx: number, aCPy: number, aX: number, aY: number, z?: number) => void;\n bezierCurveTo: (\n aCP1x: number,\n aCP1y: number,\n aCP2x: number,\n aCP2y: number,\n aX: number,\n aY: number,\n z?: number\n ) => void;\n arcTo: (aX1: number, aY1: number, aX2: number, aY2: number, aRadius: number, z?: number) => void;\n ellipse: (\n aX: number,\n aY: number,\n xRadius: number,\n yRadius: number,\n aRotation: number,\n aStartAngle: number,\n aEndAngle: number,\n aClockwise: boolean\n ) => void;\n rect: (x: number, y: number, w: number, h: number, z?: number) => void;\n arc: (\n x: number,\n y: number,\n radius: number,\n startAngle: number,\n endAngle: number,\n counterclockwise?: boolean,\n z?: number\n ) => void;\n closePath: () => void;\n}\n\n// 用户可以直接操作path2D\nexport interface ICustomPath2D extends ICurvePath<IPoint>, IPath2D, Releaseable {\n commandList: CommandType[];\n\n toString: () => string;\n transform: (x: number, y: number, sx: number, sy: number) => void;\n fromString: (pathStr: string, x?: number, y?: number, sX?: number, sY?: number) => ICustomPath2D;\n fromCustomPath2D: (path: ICustomPath2D, x?: number, y?: number, sX?: number, sY?: number) => ICustomPath2D;\n addCurve: (curve: ICurve<IPoint>) => void;\n clear: () => void;\n}\n"]}
1
+ {"version":3,"sources":["../../src/interface/path.ts"],"names":[],"mappings":";;;AAIa,QAAA,aAAa,GAAG;IAC3B,KAAK;IACL,OAAO;IACP,eAAe;IACf,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,kBAAkB;IAClB,MAAM;CACP,CAAC;AA0BF,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,2EAAoB,CAAA;IACpB,mFAAwB,CAAA;IACxB,2DAAY,CAAA;IACZ,6DAAa,CAAA;IACb,mEAAgB,CAAA;IAChB,6DAAa,CAAA;AACf,CAAC,EAPW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAOzB","file":"path.js","sourcesContent":["import { IAABBBounds, IPoint, IPointLike } from '@visactor/vutils';\nimport { Direction } from '../common';\nimport { Releaseable } from './common';\n\nexport const strCommandMap = [\n 'arc',\n 'arcTo',\n 'bezierCurveTo',\n 'closePath',\n 'ellipse',\n 'lineTo',\n 'moveTo',\n 'quadraticCurveTo',\n 'rect'\n];\n\nexport type CommandType = [\n number,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?\n];\n\nexport type CommandStrType = [\n string,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?,\n (number | boolean)?\n];\n\nexport enum ICurveTypeEnum {\n CubicBezierCurve = 0,\n QuadraticBezierCurve = 1,\n ArcCurve = 2,\n LineCurve = 3,\n EllipseCurve = 4,\n MoveCurve = 5\n}\n\nexport interface ICurve<T> {\n type: number;\n defined: boolean;\n readonly p0: T;\n readonly p1?: T;\n readonly p2?: T;\n readonly p3?: T;\n getPointAt: (t: number) => IPointLike;\n getAngleAt: (t: number) => number;\n getLength: (direction?: Direction) => number;\n}\n\nexport interface ICubicBezierCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.CubicBezierCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n readonly p2: IPoint;\n readonly p3: IPoint;\n}\n\nexport interface IQuadraticBezierCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.QuadraticBezierCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n readonly p2: IPoint;\n}\n\nexport interface IArcCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.ArcCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n radius: number;\n}\n\nexport interface ILineCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.LineCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n}\n\nexport interface IEllipseCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.EllipseCurve;\n // p0: IPoint;\n radiusX: number;\n radiusY: number;\n rotation: number;\n startAngle: number;\n endAngle: number;\n anticlockwise?: boolean;\n}\n\nexport interface IMoveCurve extends ICurve<IPoint> {\n type: ICurveTypeEnum.MoveCurve;\n // p0: IPoint;\n readonly p1: IPoint;\n}\n\nexport interface ICurvePath<T> {\n curves: ICurve<T>[];\n bounds?: IAABBBounds;\n getPointAt: (t: number) => IPointLike;\n getCurveLengths: () => number[];\n getLength: (direction?: Direction) => number;\n getBounds?: () => IAABBBounds;\n}\n\nexport interface IPath2D {\n moveTo: (x: number, y: number, z?: number) => void;\n lineTo: (x: number, y: number, z?: number) => void;\n quadraticCurveTo: (aCPx: number, aCPy: number, aX: number, aY: number, z?: number) => void;\n bezierCurveTo: (\n aCP1x: number,\n aCP1y: number,\n aCP2x: number,\n aCP2y: number,\n aX: number,\n aY: number,\n z?: number\n ) => void;\n arcTo: (aX1: number, aY1: number, aX2: number, aY2: number, aRadius: number, z?: number) => void;\n ellipse: (\n aX: number,\n aY: number,\n xRadius: number,\n yRadius: number,\n aRotation: number,\n aStartAngle: number,\n aEndAngle: number,\n aClockwise: boolean\n ) => void;\n rect: (x: number, y: number, w: number, h: number, z?: number) => void;\n arc: (\n x: number,\n y: number,\n radius: number,\n startAngle: number,\n endAngle: number,\n counterclockwise?: boolean,\n z?: number\n ) => void;\n closePath: () => void;\n}\n\n// 用户可以直接操作path2D\nexport interface ICustomPath2D extends ICurvePath<IPoint>, IPath2D, Releaseable {\n commandList: CommandType[];\n\n toString: () => string;\n transform: (x: number, y: number, sx: number, sy: number) => void;\n fromString: (pathStr: string, x?: number, y?: number, sX?: number, sY?: number) => ICustomPath2D;\n fromCustomPath2D: (path: ICustomPath2D, x?: number, y?: number, sX?: number, sY?: number) => ICustomPath2D;\n addCurve: (curve: ICurve<IPoint>) => void;\n clear: () => void;\n}\n"]}