@visactor/vrender 0.9.0-alpha.1 → 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 (814) 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.js.map +1 -1
  19. package/cjs/animate/easing.js.map +1 -1
  20. package/cjs/animate/index.js.map +1 -1
  21. package/cjs/animate/morphing.js.map +1 -1
  22. package/cjs/animate/timeline.js.map +1 -1
  23. package/cjs/canvas/constants.d.ts +2 -0
  24. package/cjs/canvas/constants.js +7 -0
  25. package/cjs/canvas/constants.js.map +1 -0
  26. package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
  27. package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
  28. package/cjs/canvas/contributions/browser/context.js.map +1 -1
  29. package/cjs/canvas/contributions/browser/index.js.map +1 -1
  30. package/cjs/canvas/contributions/browser/modules.js.map +1 -1
  31. package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
  32. package/cjs/canvas/contributions/feishu/context.js.map +1 -1
  33. package/cjs/canvas/contributions/feishu/index.js.map +1 -1
  34. package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
  35. package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
  36. package/cjs/canvas/contributions/lynx/context.js.map +1 -1
  37. package/cjs/canvas/contributions/lynx/index.js.map +1 -1
  38. package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
  39. package/cjs/canvas/contributions/modules.js.map +1 -1
  40. package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
  41. package/cjs/canvas/contributions/taro/context.js.map +1 -1
  42. package/cjs/canvas/contributions/taro/index.js.map +1 -1
  43. package/cjs/canvas/contributions/taro/modules.js.map +1 -1
  44. package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
  45. package/cjs/canvas/contributions/tt/context.js.map +1 -1
  46. package/cjs/canvas/contributions/tt/index.js.map +1 -1
  47. package/cjs/canvas/contributions/tt/modules.js.map +1 -1
  48. package/cjs/canvas/creator.d.ts +3 -0
  49. package/cjs/canvas/creator.js +18 -0
  50. package/cjs/canvas/creator.js.map +1 -0
  51. package/cjs/canvas/empty-context.js.map +1 -1
  52. package/cjs/canvas/index.js.map +1 -1
  53. package/cjs/canvas/interface.js.map +1 -1
  54. package/cjs/canvas/util.js.map +1 -1
  55. package/cjs/color-string/colorName.js +1 -1
  56. package/cjs/color-string/colorName.js.map +1 -1
  57. package/cjs/color-string/index.js +1 -1
  58. package/cjs/color-string/index.js.map +1 -1
  59. package/cjs/color-string/interpolate.js +1 -1
  60. package/cjs/color-string/interpolate.js.map +1 -1
  61. package/cjs/common/bezier.js.map +1 -1
  62. package/cjs/common/bounds-context.js.map +1 -1
  63. package/cjs/common/canvas-utils.js.map +1 -1
  64. package/cjs/common/contribution-provider.js.map +1 -1
  65. package/cjs/common/curve/basis.js.map +1 -1
  66. package/cjs/common/curve/common.js.map +1 -1
  67. package/cjs/common/curve/index.js.map +1 -1
  68. package/cjs/common/curve/interface.js.map +1 -1
  69. package/cjs/common/curve/linear-closed.js.map +1 -1
  70. package/cjs/common/curve/linear.js.map +1 -1
  71. package/cjs/common/curve/monotone.js.map +1 -1
  72. package/cjs/common/curve/step.js.map +1 -1
  73. package/cjs/common/enums.js.map +1 -1
  74. package/cjs/common/generator.js.map +1 -1
  75. package/cjs/common/index.js.map +1 -1
  76. package/cjs/common/interface.d.ts +1 -0
  77. package/cjs/common/interface.js +1 -0
  78. package/cjs/common/interface.js.map +1 -0
  79. package/cjs/common/matrix.js.map +1 -1
  80. package/cjs/common/morphing-utils.js +2 -1
  81. package/cjs/common/morphing-utils.js.map +1 -1
  82. package/cjs/common/path-svg.js.map +1 -1
  83. package/cjs/common/path.js.map +1 -1
  84. package/cjs/common/polygon.js +0 -1
  85. package/cjs/common/polygon.js.map +1 -1
  86. package/cjs/common/render-area.js.map +1 -1
  87. package/cjs/common/render-command-list.js.map +1 -1
  88. package/cjs/common/render-curve.js.map +1 -1
  89. package/cjs/common/seg-context.js.map +1 -1
  90. package/cjs/common/shape/arc.js.map +1 -1
  91. package/cjs/common/shape/rect.js.map +1 -1
  92. package/cjs/common/sort.js.map +1 -1
  93. package/cjs/common/split-path.js.map +1 -1
  94. package/cjs/common/store.js.map +1 -1
  95. package/cjs/common/text.js.map +1 -1
  96. package/cjs/common/utils.js.map +1 -1
  97. package/cjs/container.d.ts +2 -0
  98. package/cjs/container.js +9 -0
  99. package/cjs/container.js.map +1 -0
  100. package/cjs/core/application.js +1 -1
  101. package/cjs/core/application.js.map +1 -1
  102. package/cjs/core/camera.js +1 -1
  103. package/cjs/core/camera.js.map +1 -1
  104. package/cjs/core/constants.d.ts +7 -0
  105. package/cjs/core/constants.js +25 -0
  106. package/cjs/core/constants.js.map +1 -0
  107. package/cjs/core/contributions/constants.d.ts +1 -0
  108. package/cjs/core/contributions/constants.js +6 -0
  109. package/cjs/core/contributions/constants.js.map +1 -0
  110. package/cjs/core/contributions/env/base-contribution.js.map +1 -1
  111. package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
  112. package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
  113. package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
  114. package/cjs/core/contributions/env/modules.js.map +1 -1
  115. package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
  116. package/cjs/core/contributions/index.js.map +1 -1
  117. package/cjs/core/contributions/interface.js.map +1 -1
  118. package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  119. package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
  120. package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  121. package/cjs/core/contributions/modules.js.map +1 -1
  122. package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  123. package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  124. package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
  125. package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
  126. package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  127. package/cjs/core/contributions/window/base-contribution.js.map +1 -1
  128. package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
  129. package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
  130. package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
  131. package/cjs/core/contributions/window/modules.js.map +1 -1
  132. package/cjs/core/contributions/window/native-contribution.js.map +1 -1
  133. package/cjs/core/contributions/window/node-contribution.js.map +1 -1
  134. package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
  135. package/cjs/core/core-modules.js +1 -1
  136. package/cjs/core/core-modules.js.map +1 -1
  137. package/cjs/core/global.js +2 -1
  138. package/cjs/core/global.js.map +1 -1
  139. package/cjs/core/graphic-utils.js +1 -1
  140. package/cjs/core/graphic-utils.js.map +1 -1
  141. package/cjs/core/index.js +1 -1
  142. package/cjs/core/index.js.map +1 -1
  143. package/cjs/core/layer-service.js +1 -1
  144. package/cjs/core/layer-service.js.map +1 -1
  145. package/cjs/core/layer.js +1 -1
  146. package/cjs/core/layer.js.map +1 -1
  147. package/cjs/core/light.js +1 -1
  148. package/cjs/core/light.js.map +1 -1
  149. package/cjs/core/stage.js +1 -1
  150. package/cjs/core/stage.js.map +1 -1
  151. package/cjs/core/window.js +1 -1
  152. package/cjs/core/window.js.map +1 -1
  153. package/cjs/create.js.map +1 -1
  154. package/cjs/event/constant.js +1 -1
  155. package/cjs/event/constant.js.map +1 -1
  156. package/cjs/event/event-manager.js +1 -1
  157. package/cjs/event/event-manager.js.map +1 -1
  158. package/cjs/event/event-system.js +1 -1
  159. package/cjs/event/event-system.js.map +1 -1
  160. package/cjs/event/event-target.js +1 -1
  161. package/cjs/event/event-target.js.map +1 -1
  162. package/cjs/event/extension/drag.js.map +1 -1
  163. package/cjs/event/extension/gesture.js.map +1 -1
  164. package/cjs/event/extension/index.js.map +1 -1
  165. package/cjs/event/federated-event/base-event.js.map +1 -1
  166. package/cjs/event/federated-event/custom-event.js.map +1 -1
  167. package/cjs/event/federated-event/index.js.map +1 -1
  168. package/cjs/event/federated-event/mouse-event.js.map +1 -1
  169. package/cjs/event/federated-event/pointer-event.js.map +1 -1
  170. package/cjs/event/federated-event/wheel-event.js.map +1 -1
  171. package/cjs/event/index.js +1 -1
  172. package/cjs/event/index.js.map +1 -1
  173. package/cjs/event/interface.js +1 -1
  174. package/cjs/event/interface.js.map +1 -1
  175. package/cjs/event/type.js +1 -2
  176. package/cjs/event/type.js.map +1 -1
  177. package/cjs/event/util.js +1 -1
  178. package/cjs/event/util.js.map +1 -1
  179. package/cjs/export.js.map +1 -1
  180. package/cjs/graphic/arc.js +1 -1
  181. package/cjs/graphic/arc.js.map +1 -1
  182. package/cjs/graphic/arc3d.js +1 -1
  183. package/cjs/graphic/arc3d.js.map +1 -1
  184. package/cjs/graphic/area.js +1 -1
  185. package/cjs/graphic/area.js.map +1 -1
  186. package/cjs/graphic/bounds.js +1 -1
  187. package/cjs/graphic/bounds.js.map +1 -1
  188. package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
  189. package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  190. package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  191. package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
  192. package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
  193. package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
  194. package/cjs/graphic/builtin-symbol/index.js.map +1 -1
  195. package/cjs/graphic/builtin-symbol/interface.js.map +1 -1
  196. package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
  197. package/cjs/graphic/builtin-symbol/square.js.map +1 -1
  198. package/cjs/graphic/builtin-symbol/star.js.map +1 -1
  199. package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
  200. package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  201. package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
  202. package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
  203. package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
  204. package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
  205. package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
  206. package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
  207. package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
  208. package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
  209. package/cjs/graphic/circle.js +1 -1
  210. package/cjs/graphic/circle.js.map +1 -1
  211. package/cjs/graphic/config.js +1 -1
  212. package/cjs/graphic/config.js.map +1 -1
  213. package/cjs/graphic/constant.d.ts +17 -0
  214. package/cjs/graphic/constant.js +22 -0
  215. package/cjs/graphic/constant.js.map +1 -0
  216. package/cjs/graphic/glyph.js.map +1 -1
  217. package/cjs/graphic/graphic-creator.js.map +1 -1
  218. package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
  219. package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
  220. package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
  221. package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
  222. package/cjs/graphic/graphic-service/default-theme.js.map +1 -1
  223. package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
  224. package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
  225. package/cjs/graphic/graphic-service/index.d.ts +1 -0
  226. package/cjs/graphic/graphic-service/index.js +21 -0
  227. package/cjs/graphic/graphic-service/index.js.map +1 -0
  228. package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
  229. package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
  230. package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
  231. package/cjs/graphic/graphic-service/theme-service.js.map +1 -1
  232. package/cjs/graphic/graphic.js.map +1 -1
  233. package/cjs/graphic/group.js.map +1 -1
  234. package/cjs/graphic/image.js.map +1 -1
  235. package/cjs/graphic/index.js.map +1 -1
  236. package/cjs/graphic/line.js.map +1 -1
  237. package/cjs/graphic/node-tree.js.map +1 -1
  238. package/cjs/graphic/path.js.map +1 -1
  239. package/cjs/graphic/polygon.js.map +1 -1
  240. package/cjs/graphic/pyramid3d.js.map +1 -1
  241. package/cjs/graphic/rect.js.map +1 -1
  242. package/cjs/graphic/rect3d.js.map +1 -1
  243. package/cjs/graphic/richtext/frame.js.map +1 -1
  244. package/cjs/graphic/richtext/icon.js.map +1 -1
  245. package/cjs/graphic/richtext/line.js.map +1 -1
  246. package/cjs/graphic/richtext/paragraph.js.map +1 -1
  247. package/cjs/graphic/richtext/utils.js.map +1 -1
  248. package/cjs/graphic/richtext/wrapper.js.map +1 -1
  249. package/cjs/graphic/richtext.js.map +1 -1
  250. package/cjs/graphic/shadow-root.js.map +1 -1
  251. package/cjs/graphic/symbol.js.map +1 -1
  252. package/cjs/graphic/text.js.map +1 -1
  253. package/cjs/graphic/theme.js.map +1 -1
  254. package/cjs/graphic/tools.js.map +1 -1
  255. package/cjs/graphic/wrap-text.js.map +1 -1
  256. package/cjs/index.js +1 -1
  257. package/cjs/index.js.map +1 -1
  258. package/cjs/interface/animate.js.map +1 -1
  259. package/cjs/interface/camera.js.map +1 -1
  260. package/cjs/interface/canvas.js.map +1 -1
  261. package/cjs/interface/color.js.map +1 -1
  262. package/cjs/interface/common.js.map +1 -1
  263. package/cjs/interface/context.js.map +1 -1
  264. package/cjs/interface/contribution.js.map +1 -1
  265. package/cjs/interface/creator.js.map +1 -1
  266. package/cjs/interface/global.js.map +1 -1
  267. package/cjs/interface/graphic/arc.js.map +1 -1
  268. package/cjs/interface/graphic/arc3d.js.map +1 -1
  269. package/cjs/interface/graphic/area.js.map +1 -1
  270. package/cjs/interface/graphic/bounds.js.map +1 -1
  271. package/cjs/interface/graphic/circle.js.map +1 -1
  272. package/cjs/interface/graphic/creator.js.map +1 -1
  273. package/cjs/interface/graphic/dynamic-path.js.map +1 -1
  274. package/cjs/interface/graphic/ellipse.js.map +1 -1
  275. package/cjs/interface/graphic/face3d.js.map +1 -1
  276. package/cjs/interface/graphic/glyph.js.map +1 -1
  277. package/cjs/interface/graphic/group.js.map +1 -1
  278. package/cjs/interface/graphic/image.js.map +1 -1
  279. package/cjs/interface/graphic/index.js.map +1 -1
  280. package/cjs/interface/graphic/isogon.js.map +1 -1
  281. package/cjs/interface/graphic/line.js.map +1 -1
  282. package/cjs/interface/graphic/path.js.map +1 -1
  283. package/cjs/interface/graphic/polygon.js.map +1 -1
  284. package/cjs/interface/graphic/polyline.js.map +1 -1
  285. package/cjs/interface/graphic/pyramid3d.js.map +1 -1
  286. package/cjs/interface/graphic/rect.js.map +1 -1
  287. package/cjs/interface/graphic/rect3d.js.map +1 -1
  288. package/cjs/interface/graphic/richText.js.map +1 -1
  289. package/cjs/interface/graphic/shadow-root.js.map +1 -1
  290. package/cjs/interface/graphic/svg.js.map +1 -1
  291. package/cjs/interface/graphic/symbol.js.map +1 -1
  292. package/cjs/interface/graphic/text.js.map +1 -1
  293. package/cjs/interface/graphic/theme.js.map +1 -1
  294. package/cjs/interface/graphic/util.js.map +1 -1
  295. package/cjs/interface/graphic-creator.d.ts +39 -0
  296. package/cjs/interface/graphic-creator.js +6 -0
  297. package/cjs/interface/graphic-creator.js.map +1 -0
  298. package/cjs/interface/graphic-utils.js.map +1 -1
  299. package/cjs/interface/graphic.js.map +1 -1
  300. package/cjs/interface/index.js.map +1 -1
  301. package/cjs/interface/layer.js.map +1 -1
  302. package/cjs/interface/light.js.map +1 -1
  303. package/cjs/interface/matrix.js.map +1 -1
  304. package/cjs/interface/node-tree.js.map +1 -1
  305. package/cjs/interface/path.js.map +1 -1
  306. package/cjs/interface/stage.js.map +1 -1
  307. package/cjs/interface/util.js.map +1 -1
  308. package/cjs/kits/env.js.map +1 -1
  309. package/cjs/kits/index.js.map +1 -1
  310. package/cjs/modules.js.map +1 -1
  311. package/cjs/picker/canvas-picker-service.js.map +1 -1
  312. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  313. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  314. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  315. package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  316. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  317. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  318. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  319. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  320. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
  321. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  322. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  323. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  324. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  325. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  326. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  327. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  328. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  329. package/cjs/picker/contributions/constants.js.map +1 -1
  330. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
  331. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
  332. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
  333. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  334. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
  335. package/cjs/picker/contributions/math-picker/module.js.map +1 -1
  336. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
  337. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  338. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
  339. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  340. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
  341. package/cjs/picker/contributions/modules.js.map +1 -1
  342. package/cjs/picker/contributions/old/circle-picker.js.map +1 -1
  343. package/cjs/picker/contributions/old/rect-picker.js.map +1 -1
  344. package/cjs/picker/global-picker-service.js.map +1 -1
  345. package/cjs/picker/index.js.map +1 -1
  346. package/cjs/picker/math-picker-service.js.map +1 -1
  347. package/cjs/picker/pick-interceptor.js.map +1 -1
  348. package/cjs/picker/pick-modules.js.map +1 -1
  349. package/cjs/picker/picker-service.js.map +1 -1
  350. package/cjs/picker/type.js.map +1 -1
  351. package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  352. package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  353. package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  354. package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  355. package/cjs/plugins/interface.js.map +1 -1
  356. package/cjs/plugins/plugin-modules.js.map +1 -1
  357. package/cjs/plugins/plugin-service.js.map +1 -1
  358. package/cjs/render/contributions/interface.js.map +1 -1
  359. package/cjs/render/contributions/modules.js.map +1 -1
  360. package/cjs/render/contributions/render/arc-render.js.map +1 -1
  361. package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
  362. package/cjs/render/contributions/render/area-render.js.map +1 -1
  363. package/cjs/render/contributions/render/base-render.js.map +1 -1
  364. package/cjs/render/contributions/render/circle-render.js.map +1 -1
  365. package/cjs/render/contributions/render/clear-screen.js.map +1 -1
  366. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  367. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  368. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  369. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  370. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  371. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  372. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  373. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  374. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  375. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  376. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  377. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  378. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  379. package/cjs/render/contributions/render/glyph-render.js.map +1 -1
  380. package/cjs/render/contributions/render/graphic-render.js.map +1 -1
  381. package/cjs/render/contributions/render/group-render.js.map +1 -1
  382. package/cjs/render/contributions/render/image-render.js.map +1 -1
  383. package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
  384. package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  385. package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
  386. package/cjs/render/contributions/render/index.js.map +1 -1
  387. package/cjs/render/contributions/render/line-render.js.map +1 -1
  388. package/cjs/render/contributions/render/module.js.map +1 -1
  389. package/cjs/render/contributions/render/path-render.js.map +1 -1
  390. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  391. package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
  392. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  393. package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
  394. package/cjs/render/contributions/render/render-slector.js.map +1 -1
  395. package/cjs/render/contributions/render/richtext-render.js.map +1 -1
  396. package/cjs/render/contributions/render/symbol-render.js.map +1 -1
  397. package/cjs/render/contributions/render/symbol.js.map +1 -1
  398. package/cjs/render/contributions/render/text-render.js.map +1 -1
  399. package/cjs/render/contributions/render/utils.js.map +1 -1
  400. package/cjs/render/index.js.map +1 -1
  401. package/cjs/render/render-modules.js.map +1 -1
  402. package/cjs/render/render-service.js.map +1 -1
  403. package/cjs/resource-loader/loader.js.map +1 -1
  404. package/cjs/tapable/Hook.js.map +1 -1
  405. package/cjs/tapable/SyncHook.js.map +1 -1
  406. package/cjs/tapable/index.js.map +1 -1
  407. package/es/allocator/allocator-modules.js.map +1 -1
  408. package/es/allocator/canvas-allocate.js.map +1 -1
  409. package/es/allocator/constants.d.ts +11 -0
  410. package/es/allocator/constants.js +22 -0
  411. package/es/allocator/constants.js.map +1 -0
  412. package/es/allocator/graphic-allocate.js.map +1 -1
  413. package/es/allocator/index.d.ts +3 -0
  414. package/es/allocator/index.js +5 -0
  415. package/es/allocator/index.js.map +1 -0
  416. package/es/allocator/interface.js.map +1 -1
  417. package/es/allocator/matrix-allocate.js.map +1 -1
  418. package/es/allocator/point-allocate.js.map +1 -1
  419. package/es/animate/Ticker/default-ticker.js.map +1 -1
  420. package/es/animate/Ticker/index.js.map +1 -1
  421. package/es/animate/Ticker/interface.js.map +1 -1
  422. package/es/animate/animate.js.map +1 -1
  423. package/es/animate/config.js.map +1 -1
  424. package/es/animate/custom-animate.js.map +1 -1
  425. package/es/animate/easing.js.map +1 -1
  426. package/es/animate/index.js.map +1 -1
  427. package/es/animate/morphing.js.map +1 -1
  428. package/es/animate/timeline.js.map +1 -1
  429. package/es/canvas/constants.d.ts +2 -0
  430. package/es/canvas/constants.js +4 -0
  431. package/es/canvas/constants.js.map +1 -0
  432. package/es/canvas/contributions/browser/canvas.js.map +1 -1
  433. package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
  434. package/es/canvas/contributions/browser/context.js.map +1 -1
  435. package/es/canvas/contributions/browser/index.js.map +1 -1
  436. package/es/canvas/contributions/browser/modules.js.map +1 -1
  437. package/es/canvas/contributions/feishu/canvas.js.map +1 -1
  438. package/es/canvas/contributions/feishu/context.js.map +1 -1
  439. package/es/canvas/contributions/feishu/index.js.map +1 -1
  440. package/es/canvas/contributions/feishu/modules.js.map +1 -1
  441. package/es/canvas/contributions/lynx/canvas.js.map +1 -1
  442. package/es/canvas/contributions/lynx/context.js.map +1 -1
  443. package/es/canvas/contributions/lynx/index.js.map +1 -1
  444. package/es/canvas/contributions/lynx/modules.js.map +1 -1
  445. package/es/canvas/contributions/modules.js.map +1 -1
  446. package/es/canvas/contributions/taro/canvas.js.map +1 -1
  447. package/es/canvas/contributions/taro/context.js.map +1 -1
  448. package/es/canvas/contributions/taro/index.js.map +1 -1
  449. package/es/canvas/contributions/taro/modules.js.map +1 -1
  450. package/es/canvas/contributions/tt/canvas.js.map +1 -1
  451. package/es/canvas/contributions/tt/context.js.map +1 -1
  452. package/es/canvas/contributions/tt/index.js.map +1 -1
  453. package/es/canvas/contributions/tt/modules.js.map +1 -1
  454. package/es/canvas/creator.d.ts +3 -0
  455. package/es/canvas/creator.js +14 -0
  456. package/es/canvas/creator.js.map +1 -0
  457. package/es/canvas/empty-context.js.map +1 -1
  458. package/es/canvas/index.js.map +1 -1
  459. package/es/canvas/interface.js.map +1 -1
  460. package/es/canvas/util.js.map +1 -1
  461. package/es/color-string/colorName.js +1 -1
  462. package/es/color-string/colorName.js.map +1 -1
  463. package/es/color-string/index.js +1 -1
  464. package/es/color-string/index.js.map +1 -1
  465. package/es/color-string/interpolate.js +1 -1
  466. package/es/color-string/interpolate.js.map +1 -1
  467. package/es/common/bezier.js.map +1 -1
  468. package/es/common/bounds-context.js.map +1 -1
  469. package/es/common/canvas-utils.js.map +1 -1
  470. package/es/common/contribution-provider.js.map +1 -1
  471. package/es/common/curve/basis.js.map +1 -1
  472. package/es/common/curve/common.js.map +1 -1
  473. package/es/common/curve/index.js.map +1 -1
  474. package/es/common/curve/interface.js.map +1 -1
  475. package/es/common/curve/linear-closed.js.map +1 -1
  476. package/es/common/curve/linear.js.map +1 -1
  477. package/es/common/curve/monotone.js.map +1 -1
  478. package/es/common/curve/step.js.map +1 -1
  479. package/es/common/enums.js.map +1 -1
  480. package/es/common/generator.js.map +1 -1
  481. package/es/common/index.js.map +1 -1
  482. package/es/common/interface.d.ts +1 -0
  483. package/es/common/interface.js +1 -0
  484. package/es/common/interface.js.map +1 -0
  485. package/es/common/matrix.js.map +1 -1
  486. package/es/common/morphing-utils.js +2 -1
  487. package/es/common/morphing-utils.js.map +1 -1
  488. package/es/common/path-svg.js.map +1 -1
  489. package/es/common/path.js.map +1 -1
  490. package/es/common/polygon.js +1 -2
  491. package/es/common/polygon.js.map +1 -1
  492. package/es/common/render-area.js.map +1 -1
  493. package/es/common/render-command-list.js.map +1 -1
  494. package/es/common/render-curve.js.map +1 -1
  495. package/es/common/seg-context.js.map +1 -1
  496. package/es/common/shape/arc.js.map +1 -1
  497. package/es/common/shape/rect.js.map +1 -1
  498. package/es/common/sort.js.map +1 -1
  499. package/es/common/split-path.js.map +1 -1
  500. package/es/common/store.js.map +1 -1
  501. package/es/common/text.js.map +1 -1
  502. package/es/common/utils.js.map +1 -1
  503. package/es/container.d.ts +2 -0
  504. package/es/container.js +3 -0
  505. package/es/container.js.map +1 -0
  506. package/es/core/application.js +1 -1
  507. package/es/core/application.js.map +1 -1
  508. package/es/core/camera.js +1 -1
  509. package/es/core/camera.js.map +1 -1
  510. package/es/core/constants.d.ts +7 -0
  511. package/es/core/constants.js +14 -0
  512. package/es/core/constants.js.map +1 -0
  513. package/es/core/contributions/constants.d.ts +1 -0
  514. package/es/core/contributions/constants.js +2 -0
  515. package/es/core/contributions/constants.js.map +1 -0
  516. package/es/core/contributions/env/base-contribution.js.map +1 -1
  517. package/es/core/contributions/env/browser-contribution.js.map +1 -1
  518. package/es/core/contributions/env/feishu-contribution.js.map +1 -1
  519. package/es/core/contributions/env/lynx-contribution.js.map +1 -1
  520. package/es/core/contributions/env/modules.js.map +1 -1
  521. package/es/core/contributions/env/taro-contribution.js.map +1 -1
  522. package/es/core/contributions/index.js.map +1 -1
  523. package/es/core/contributions/interface.js.map +1 -1
  524. package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
  525. package/es/core/contributions/layerHandler/modules.js.map +1 -1
  526. package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
  527. package/es/core/contributions/modules.js.map +1 -1
  528. package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
  529. package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
  530. package/es/core/contributions/textMeasure/layout.js.map +1 -1
  531. package/es/core/contributions/textMeasure/modules.js.map +1 -1
  532. package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
  533. package/es/core/contributions/window/base-contribution.js.map +1 -1
  534. package/es/core/contributions/window/browser-contribution.js.map +1 -1
  535. package/es/core/contributions/window/feishu-contribution.js.map +1 -1
  536. package/es/core/contributions/window/lynx-contribution.js.map +1 -1
  537. package/es/core/contributions/window/modules.js.map +1 -1
  538. package/es/core/contributions/window/native-contribution.js.map +1 -1
  539. package/es/core/contributions/window/node-contribution.js.map +1 -1
  540. package/es/core/contributions/window/taro-contribution.js.map +1 -1
  541. package/es/core/core-modules.js +1 -1
  542. package/es/core/core-modules.js.map +1 -1
  543. package/es/core/global.js +2 -1
  544. package/es/core/global.js.map +1 -1
  545. package/es/core/graphic-utils.js +1 -1
  546. package/es/core/graphic-utils.js.map +1 -1
  547. package/es/core/index.js +1 -1
  548. package/es/core/index.js.map +1 -1
  549. package/es/core/layer-service.js +1 -1
  550. package/es/core/layer-service.js.map +1 -1
  551. package/es/core/layer.js +1 -1
  552. package/es/core/layer.js.map +1 -1
  553. package/es/core/light.js +1 -1
  554. package/es/core/light.js.map +1 -1
  555. package/es/core/stage.js +1 -1
  556. package/es/core/stage.js.map +1 -1
  557. package/es/core/window.js +1 -1
  558. package/es/core/window.js.map +1 -1
  559. package/es/create.js.map +1 -1
  560. package/es/event/constant.js +1 -1
  561. package/es/event/constant.js.map +1 -1
  562. package/es/event/event-manager.js +1 -1
  563. package/es/event/event-manager.js.map +1 -1
  564. package/es/event/event-system.js +1 -1
  565. package/es/event/event-system.js.map +1 -1
  566. package/es/event/event-target.js +1 -1
  567. package/es/event/event-target.js.map +1 -1
  568. package/es/event/extension/drag.js.map +1 -1
  569. package/es/event/extension/gesture.js.map +1 -1
  570. package/es/event/extension/index.js.map +1 -1
  571. package/es/event/federated-event/base-event.js.map +1 -1
  572. package/es/event/federated-event/custom-event.js.map +1 -1
  573. package/es/event/federated-event/index.js.map +1 -1
  574. package/es/event/federated-event/mouse-event.js.map +1 -1
  575. package/es/event/federated-event/pointer-event.js.map +1 -1
  576. package/es/event/federated-event/wheel-event.js.map +1 -1
  577. package/es/event/index.js +1 -1
  578. package/es/event/index.js.map +1 -1
  579. package/es/event/interface.js +1 -1
  580. package/es/event/interface.js.map +1 -1
  581. package/es/event/type.js +1 -2
  582. package/es/event/type.js.map +1 -1
  583. package/es/event/util.js +1 -1
  584. package/es/event/util.js.map +1 -1
  585. package/es/export.js.map +1 -1
  586. package/es/graphic/arc.js +1 -1
  587. package/es/graphic/arc.js.map +1 -1
  588. package/es/graphic/arc3d.js +1 -1
  589. package/es/graphic/arc3d.js.map +1 -1
  590. package/es/graphic/area.js +1 -1
  591. package/es/graphic/area.js.map +1 -1
  592. package/es/graphic/bounds.js +1 -1
  593. package/es/graphic/bounds.js.map +1 -1
  594. package/es/graphic/builtin-symbol/arrow.js.map +1 -1
  595. package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
  596. package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
  597. package/es/graphic/builtin-symbol/circle.js.map +1 -1
  598. package/es/graphic/builtin-symbol/cross.js.map +1 -1
  599. package/es/graphic/builtin-symbol/diamond.js.map +1 -1
  600. package/es/graphic/builtin-symbol/index.js.map +1 -1
  601. package/es/graphic/builtin-symbol/interface.js.map +1 -1
  602. package/es/graphic/builtin-symbol/rect.js.map +1 -1
  603. package/es/graphic/builtin-symbol/square.js.map +1 -1
  604. package/es/graphic/builtin-symbol/star.js.map +1 -1
  605. package/es/graphic/builtin-symbol/stroke.js.map +1 -1
  606. package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
  607. package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
  608. package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
  609. package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
  610. package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
  611. package/es/graphic/builtin-symbol/triangle.js.map +1 -1
  612. package/es/graphic/builtin-symbol/utils.js.map +1 -1
  613. package/es/graphic/builtin-symbol/wedge.js.map +1 -1
  614. package/es/graphic/builtin-symbol/wye.js.map +1 -1
  615. package/es/graphic/circle.js +1 -1
  616. package/es/graphic/circle.js.map +1 -1
  617. package/es/graphic/config.js +1 -1
  618. package/es/graphic/config.js.map +1 -1
  619. package/es/graphic/constant.d.ts +17 -0
  620. package/es/graphic/constant.js +38 -0
  621. package/es/graphic/constant.js.map +1 -0
  622. package/es/graphic/glyph.js.map +1 -1
  623. package/es/graphic/graphic-creator.js.map +1 -1
  624. package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
  625. package/es/graphic/graphic-service/area-contribution.js.map +1 -1
  626. package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
  627. package/es/graphic/graphic-service/common-contribution.js.map +1 -1
  628. package/es/graphic/graphic-service/default-theme.js.map +1 -1
  629. package/es/graphic/graphic-service/graphic-module.js.map +1 -1
  630. package/es/graphic/graphic-service/graphic-service.js.map +1 -1
  631. package/es/graphic/graphic-service/index.d.ts +1 -0
  632. package/es/graphic/graphic-service/index.js +2 -0
  633. package/es/graphic/graphic-service/index.js.map +1 -0
  634. package/es/graphic/graphic-service/path-contribution.js.map +1 -1
  635. package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
  636. package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
  637. package/es/graphic/graphic-service/theme-service.js.map +1 -1
  638. package/es/graphic/graphic.js.map +1 -1
  639. package/es/graphic/group.js.map +1 -1
  640. package/es/graphic/image.js.map +1 -1
  641. package/es/graphic/index.js.map +1 -1
  642. package/es/graphic/line.js.map +1 -1
  643. package/es/graphic/node-tree.js.map +1 -1
  644. package/es/graphic/path.js.map +1 -1
  645. package/es/graphic/polygon.js.map +1 -1
  646. package/es/graphic/pyramid3d.js.map +1 -1
  647. package/es/graphic/rect.js.map +1 -1
  648. package/es/graphic/rect3d.js.map +1 -1
  649. package/es/graphic/richtext/frame.js.map +1 -1
  650. package/es/graphic/richtext/icon.js.map +1 -1
  651. package/es/graphic/richtext/line.js.map +1 -1
  652. package/es/graphic/richtext/paragraph.js.map +1 -1
  653. package/es/graphic/richtext/utils.js.map +1 -1
  654. package/es/graphic/richtext/wrapper.js.map +1 -1
  655. package/es/graphic/richtext.js.map +1 -1
  656. package/es/graphic/shadow-root.js.map +1 -1
  657. package/es/graphic/symbol.js.map +1 -1
  658. package/es/graphic/text.js.map +1 -1
  659. package/es/graphic/theme.js.map +1 -1
  660. package/es/graphic/tools.js.map +1 -1
  661. package/es/graphic/wrap-text.js.map +1 -1
  662. package/es/index.js +1 -1
  663. package/es/index.js.map +1 -1
  664. package/es/interface/animate.js.map +1 -1
  665. package/es/interface/camera.js.map +1 -1
  666. package/es/interface/canvas.js.map +1 -1
  667. package/es/interface/color.js.map +1 -1
  668. package/es/interface/common.js.map +1 -1
  669. package/es/interface/context.js.map +1 -1
  670. package/es/interface/contribution.js.map +1 -1
  671. package/es/interface/creator.js.map +1 -1
  672. package/es/interface/global.js.map +1 -1
  673. package/es/interface/graphic/arc.js.map +1 -1
  674. package/es/interface/graphic/arc3d.js.map +1 -1
  675. package/es/interface/graphic/area.js.map +1 -1
  676. package/es/interface/graphic/bounds.js.map +1 -1
  677. package/es/interface/graphic/circle.js.map +1 -1
  678. package/es/interface/graphic/creator.js.map +1 -1
  679. package/es/interface/graphic/dynamic-path.js.map +1 -1
  680. package/es/interface/graphic/ellipse.js.map +1 -1
  681. package/es/interface/graphic/face3d.js.map +1 -1
  682. package/es/interface/graphic/glyph.js.map +1 -1
  683. package/es/interface/graphic/group.js.map +1 -1
  684. package/es/interface/graphic/image.js.map +1 -1
  685. package/es/interface/graphic/index.js.map +1 -1
  686. package/es/interface/graphic/isogon.js.map +1 -1
  687. package/es/interface/graphic/line.js.map +1 -1
  688. package/es/interface/graphic/path.js.map +1 -1
  689. package/es/interface/graphic/polygon.js.map +1 -1
  690. package/es/interface/graphic/polyline.js.map +1 -1
  691. package/es/interface/graphic/pyramid3d.js.map +1 -1
  692. package/es/interface/graphic/rect.js.map +1 -1
  693. package/es/interface/graphic/rect3d.js.map +1 -1
  694. package/es/interface/graphic/richText.js.map +1 -1
  695. package/es/interface/graphic/shadow-root.js.map +1 -1
  696. package/es/interface/graphic/svg.js.map +1 -1
  697. package/es/interface/graphic/symbol.js.map +1 -1
  698. package/es/interface/graphic/text.js.map +1 -1
  699. package/es/interface/graphic/theme.js.map +1 -1
  700. package/es/interface/graphic/util.js.map +1 -1
  701. package/es/interface/graphic-creator.d.ts +39 -0
  702. package/es/interface/graphic-creator.js +2 -0
  703. package/es/interface/graphic-creator.js.map +1 -0
  704. package/es/interface/graphic-utils.js.map +1 -1
  705. package/es/interface/graphic.js.map +1 -1
  706. package/es/interface/index.js.map +1 -1
  707. package/es/interface/layer.js.map +1 -1
  708. package/es/interface/light.js.map +1 -1
  709. package/es/interface/matrix.js.map +1 -1
  710. package/es/interface/node-tree.js.map +1 -1
  711. package/es/interface/path.js.map +1 -1
  712. package/es/interface/stage.js.map +1 -1
  713. package/es/interface/util.js.map +1 -1
  714. package/es/kits/env.js.map +1 -1
  715. package/es/kits/index.js.map +1 -1
  716. package/es/modules.js.map +1 -1
  717. package/es/picker/canvas-picker-service.js.map +1 -1
  718. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
  719. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
  720. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
  721. package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -1
  722. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
  723. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
  724. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
  725. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
  726. package/es/picker/contributions/canvas-picker/module.js.map +1 -1
  727. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
  728. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
  729. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
  730. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
  731. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
  732. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
  733. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
  734. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
  735. package/es/picker/contributions/constants.js.map +1 -1
  736. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
  737. package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
  738. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
  739. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
  740. package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
  741. package/es/picker/contributions/math-picker/module.js.map +1 -1
  742. package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
  743. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
  744. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
  745. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
  746. package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
  747. package/es/picker/contributions/modules.js.map +1 -1
  748. package/es/picker/contributions/old/circle-picker.js.map +1 -1
  749. package/es/picker/contributions/old/rect-picker.js.map +1 -1
  750. package/es/picker/global-picker-service.js.map +1 -1
  751. package/es/picker/index.js.map +1 -1
  752. package/es/picker/math-picker-service.js.map +1 -1
  753. package/es/picker/pick-interceptor.js.map +1 -1
  754. package/es/picker/pick-modules.js.map +1 -1
  755. package/es/picker/picker-service.js.map +1 -1
  756. package/es/picker/type.js.map +1 -1
  757. package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
  758. package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
  759. package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
  760. package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
  761. package/es/plugins/interface.js.map +1 -1
  762. package/es/plugins/plugin-modules.js.map +1 -1
  763. package/es/plugins/plugin-service.js.map +1 -1
  764. package/es/render/contributions/interface.js.map +1 -1
  765. package/es/render/contributions/modules.js.map +1 -1
  766. package/es/render/contributions/render/arc-render.js.map +1 -1
  767. package/es/render/contributions/render/arc3d-render.js.map +1 -1
  768. package/es/render/contributions/render/area-render.js.map +1 -1
  769. package/es/render/contributions/render/base-render.js.map +1 -1
  770. package/es/render/contributions/render/circle-render.js.map +1 -1
  771. package/es/render/contributions/render/clear-screen.js.map +1 -1
  772. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  773. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  774. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  775. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  776. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  777. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  778. package/es/render/contributions/render/contributions/index.js.map +1 -1
  779. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  780. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  781. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  782. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  783. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  784. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  785. package/es/render/contributions/render/glyph-render.js.map +1 -1
  786. package/es/render/contributions/render/graphic-render.js.map +1 -1
  787. package/es/render/contributions/render/group-render.js.map +1 -1
  788. package/es/render/contributions/render/image-render.js.map +1 -1
  789. package/es/render/contributions/render/incremental-area-render.js.map +1 -1
  790. package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
  791. package/es/render/contributions/render/incremental-line-render.js.map +1 -1
  792. package/es/render/contributions/render/index.js.map +1 -1
  793. package/es/render/contributions/render/line-render.js.map +1 -1
  794. package/es/render/contributions/render/module.js.map +1 -1
  795. package/es/render/contributions/render/path-render.js.map +1 -1
  796. package/es/render/contributions/render/polygon-render.js.map +1 -1
  797. package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
  798. package/es/render/contributions/render/rect-render.js.map +1 -1
  799. package/es/render/contributions/render/rect3d-render.js.map +1 -1
  800. package/es/render/contributions/render/render-slector.js.map +1 -1
  801. package/es/render/contributions/render/richtext-render.js.map +1 -1
  802. package/es/render/contributions/render/symbol-render.js.map +1 -1
  803. package/es/render/contributions/render/symbol.js.map +1 -1
  804. package/es/render/contributions/render/text-render.js.map +1 -1
  805. package/es/render/contributions/render/utils.js.map +1 -1
  806. package/es/render/index.js.map +1 -1
  807. package/es/render/render-modules.js.map +1 -1
  808. package/es/render/render-service.js.map +1 -1
  809. package/es/resource-loader/loader.js.map +1 -1
  810. package/es/tapable/Hook.js.map +1 -1
  811. package/es/tapable/SyncHook.js.map +1 -1
  812. package/es/tapable/index.js.map +1 -1
  813. package/es/tsconfig.tsbuildinfo +1 -0
  814. package/package.json +21 -3
@@ -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"]}
@@ -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?: 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
+ {"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"]}
@@ -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 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
+ {"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"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/stage.ts"],"names":[],"mappings":"","file":"stage.js","sourcesContent":["import { INode } from './node-tree';\nimport { ILayer } from './layer';\nimport { IGraphic } from './graphic';\nimport { IGroup } from './graphic/group';\nimport { IColor } from './color';\nimport { IBounds, IBoundsLike, IMatrix, IMatrixLike, IPointLike } from '@visactor/vutils';\nimport { SyncHook } from '../tapable';\nimport { IWindow } from '../core';\nimport { IDrawContext, IRenderService } from '../render';\nimport { ICamera } from './camera';\nimport { vec3 } from './matrix';\nimport { IDirectionLight } from './light';\nimport { ITicker } from '../animate';\nimport { IPluginService } from '../plugins/plugin-service';\nimport { IPickerService } from '../picker';\n\nexport type IExportType = 'canvas' | 'imageData';\n\nexport interface IStageParams {\n // x: number;\n // y: number;\n // // 视口的宽高\n // viewWidth: number;\n // viewHeight: number;\n\n // 视口的宽高\n viewBox: IBoundsLike;\n // 总的宽高\n width: number;\n height: number;\n dpr: number;\n // stage的背景\n background: string | IColor;\n // 外部的canvas\n canvas: string | HTMLCanvasElement;\n // canvas的container容器,如果不传入canvas,那就会在容器中创建canvas\n container: string | HTMLElement;\n // 是否是受控制的canvas,如果不是的话,不会进行resize等操作,也不会修改canvas的样式\n canvasControled: boolean;\n title: string;\n autoRender: boolean;\n disableDirtyBounds: boolean;\n enableView3dTranform: boolean; // 是否开启view3d自动旋转\n // 绘制之前的钩子函数\n beforeRender: (stage: IStage) => void;\n // 绘制之后的钩子函数\n afterRender: (stage: IStage) => void;\n renderStyle?: string;\n ticker?: ITicker;\n}\n\nexport interface IOption3D {\n alpha?: number; // x轴的转角\n beta?: number; // y轴的转角\n gama?: number; // z轴的转角\n center?: IPointLike; // 中心位置\n fieldRatio?: number; // 透视的视域缩放比例\n fieldDepth?: number;\n light?: {\n dir?: vec3;\n color?: string;\n ambient?: number;\n };\n // 配置相机后,alpha、beta、gamma配置会失效\n camera?: any; // 相机配置\n}\n\n// TODO 命名方式\nexport interface IStage extends INode {\n stage?: IStage;\n parent: IStage | null;\n // rootNode: IStage;\n x: number;\n y: number;\n\n window: IWindow;\n\n width: number;\n height: number;\n viewWidth: number;\n viewHeight: number;\n defaultLayer: ILayer;\n dirtyBounds: IBounds | null;\n\n autoRender: boolean;\n renderCount: number;\n\n hooks: {\n beforeRender: SyncHook<[IStage]>;\n afterRender: SyncHook<[IStage]>;\n };\n\n renderService: IRenderService;\n\n option3d?: IOption3D;\n\n set3dOptions: (options: IOption3D) => void;\n light?: IDirectionLight;\n camera?: ICamera;\n\n dpr: number;\n\n viewBox: IBoundsLike;\n background: string | IColor;\n ticker: ITicker;\n increaseAutoRender: boolean;\n readonly pickerService: IPickerService;\n readonly pluginService: IPluginService;\n // 如果传入CanvasId,如果存在相同Id,说明这两个图层使用相同的Canvas绘制\n // 但需要注意的是依然是两个图层(用于解决Table嵌入ChartSpace不影响Table的绘制)\n createLayer: (canvasId?: string) => ILayer;\n sortLayer: (cb: (layer: ILayer) => number) => void;\n removeLayer: (layerId: number) => ILayer | false;\n\n render: (layers?: ILayer[], params?: Partial<IDrawContext>) => void;\n renderNextFrame: (layers?: ILayer[]) => void;\n\n // 画布操作\n resize: (w: number, h: number, rerender?: boolean) => void;\n resizeWindow: (w: number, h: number, rerender?: boolean) => void;\n resizeView: (w: number, h: number, rerender?: boolean) => void;\n setViewBox:\n | ((viewBox: IBoundsLike, rerender: boolean) => void)\n | ((x: number, y: number, w: number, h: number, rerender: boolean) => void)\n | ((x: number | IBoundsLike, y: number | boolean, w?: number, h?: number, rerender?: boolean) => void);\n setDpr: (dpr: number) => void;\n setOrigin: (x: number, y: number) => void;\n export: (type: IExportType) => HTMLCanvasElement | ImageData;\n pick: (x: number, y: number) => { graphic: IGraphic | null; group: IGroup | null } | false;\n\n // 动画相关\n startAnimate: (t: number) => void;\n setToFrame: (t: number) => void;\n dirty: (b: IBounds, matrix?: IMatrix) => void;\n // 考虑操作回放\n\n renderTo: (window: IWindow, params: { x: number; y: number; width: number; height: number }) => void;\n\n renderToNewWindow: (fullImage?: boolean) => IWindow;\n\n toCanvas: (fullImage?: boolean) => HTMLCanvasElement | null;\n\n setBeforeRender: (cb: (stage: IStage) => void) => void;\n\n setAfterRender: (cb: (stage: IStage) => void) => void;\n\n afterNextRender: (cb: (stage: IStage) => void) => void;\n enableAutoRender: () => void;\n disableAutoRender: () => void;\n enableIncrementalAutoRender: () => void;\n disableIncrementalAutoRender: () => void;\n enableDirtyBounds: () => void;\n disableDirtyBounds: () => void;\n enableView3dTranform: () => void;\n disableView3dTranform: () => void;\n clearViewBox: (color?: string) => void;\n release: () => void;\n setStage: (stage?: IStage) => void;\n\n setCursor: (mode?: string) => void;\n}\n\nexport declare function combineStage(srages: IStage[], params: { canvas: string | HTMLCanvasElement }): IStage;\n"]}
1
+ {"version":3,"sources":["../../src/interface/stage.ts"],"names":[],"mappings":"","file":"stage.js","sourcesContent":["import { INode } from './node-tree';\nimport { ILayer } from './layer';\nimport { IGraphic } from './graphic';\nimport { IGroup } from './graphic/group';\nimport { IColor } from './color';\nimport { IBounds, IBoundsLike, IMatrix, IMatrixLike, IPointLike } from '@visactor/vutils';\nimport { SyncHook } from '../tapable';\nimport { IWindow } from '../core';\nimport { IDrawContext, IRenderService } from '../render';\nimport { ICamera } from './camera';\nimport { vec3 } from './matrix';\nimport { IDirectionLight } from './light';\nimport { ITicker } from '../animate';\nimport { IPluginService } from '../plugins/plugin-service';\nimport { IPickerService } from '../picker';\n\nexport type IExportType = 'canvas' | 'imageData';\n\nexport interface IStageParams {\n // x: number;\n // y: number;\n // // 视口的宽高\n // viewWidth: number;\n // viewHeight: number;\n\n // 视口的宽高\n viewBox: IBoundsLike;\n // 总的宽高\n width: number;\n height: number;\n dpr: number;\n // stage的背景\n background: string | IColor;\n // 外部的canvas\n canvas: string | HTMLCanvasElement;\n // canvas的container容器,如果不传入canvas,那就会在容器中创建canvas\n container: string | HTMLElement;\n // 是否是受控制的canvas,如果不是的话,不会进行resize等操作,也不会修改canvas的样式\n canvasControled: boolean;\n title: string;\n autoRender: boolean;\n disableDirtyBounds: boolean;\n enableView3dTranform: boolean; // 是否开启view3d自动旋转\n // 绘制之前的钩子函数\n beforeRender: (stage: IStage) => void;\n // 绘制之后的钩子函数\n afterRender: (stage: IStage) => void;\n renderStyle?: string;\n ticker?: ITicker;\n}\n\nexport interface IOption3D {\n alpha?: number; // x轴的转角\n beta?: number; // y轴的转角\n gama?: number; // z轴的转角\n center?: IPointLike; // 中心位置\n fieldRatio?: number; // 透视的视域缩放比例\n fieldDepth?: number;\n light?: {\n dir?: vec3;\n color?: string;\n ambient?: number;\n };\n // 配置相机后,alpha、beta、gamma配置会失效\n camera?: any; // 相机配置\n}\n\n// TODO 命名方式\nexport interface IStage extends INode {\n stage?: IStage;\n parent: IStage | null;\n // rootNode: IStage;\n x: number;\n y: number;\n\n window: IWindow;\n\n width: number;\n height: number;\n viewWidth: number;\n viewHeight: number;\n defaultLayer: ILayer;\n dirtyBounds: IBounds | null;\n\n autoRender: boolean;\n renderCount: number;\n\n hooks: {\n beforeRender: SyncHook<[IStage]>;\n afterRender: SyncHook<[IStage]>;\n };\n\n renderService: IRenderService;\n\n option3d?: IOption3D;\n\n set3dOptions: (options: IOption3D) => void;\n light?: IDirectionLight;\n camera?: ICamera;\n\n dpr: number;\n\n viewBox: IBoundsLike;\n background: string | IColor;\n ticker: ITicker;\n increaseAutoRender: boolean;\n readonly pickerService: IPickerService;\n readonly pluginService: IPluginService;\n // 如果传入CanvasId,如果存在相同Id,说明这两个图层使用相同的Canvas绘制\n // 但需要注意的是依然是两个图层(用于解决Table嵌入ChartSpace不影响Table的绘制)\n createLayer: (canvasId?: string) => ILayer;\n sortLayer: (cb: (layer: ILayer) => number) => void;\n removeLayer: (layerId: number) => ILayer | false;\n\n render: (layers?: ILayer[], params?: Partial<IDrawContext>) => void;\n renderNextFrame: (layers?: ILayer[]) => void;\n\n // 画布操作\n resize: (w: number, h: number, rerender?: boolean) => void;\n resizeWindow: (w: number, h: number, rerender?: boolean) => void;\n resizeView: (w: number, h: number, rerender?: boolean) => void;\n setViewBox:\n | ((viewBox: IBoundsLike, rerender: boolean) => void)\n | ((x: number, y: number, w: number, h: number, rerender: boolean) => void)\n | ((x: number | IBoundsLike, y: number | boolean, w?: number, h?: number, rerender?: boolean) => void);\n setDpr: (dpr: number) => void;\n setOrigin: (x: number, y: number) => void;\n export: (type: IExportType) => HTMLCanvasElement | ImageData;\n pick: (x: number, y: number) => { graphic: IGraphic | null; group: IGroup | null } | false;\n\n // 动画相关\n startAnimate: (t: number) => void;\n setToFrame: (t: number) => void;\n dirty: (b: IBounds, matrix?: IMatrix) => void;\n // 考虑操作回放\n\n renderTo: (window: IWindow, params: { x: number; y: number; width: number; height: number }) => void;\n\n renderToNewWindow: (fullImage?: boolean) => IWindow;\n\n toCanvas: (fullImage?: boolean) => HTMLCanvasElement | null;\n\n setBeforeRender: (cb: (stage: IStage) => void) => void;\n\n setAfterRender: (cb: (stage: IStage) => void) => void;\n\n afterNextRender: (cb: (stage: IStage) => void) => void;\n enableAutoRender: () => void;\n disableAutoRender: () => void;\n enableIncrementalAutoRender: () => void;\n disableIncrementalAutoRender: () => void;\n enableDirtyBounds: () => void;\n disableDirtyBounds: () => void;\n enableView3dTranform: () => void;\n disableView3dTranform: () => void;\n clearViewBox: (color?: string) => void;\n release: () => void;\n setStage: (stage?: IStage) => void;\n\n setCursor: (mode?: string) => void;\n}\n\nexport declare function combineStage(srages: IStage[], params: { canvas: string | HTMLCanvasElement }): IStage;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interface/util.ts"],"names":[],"mappings":"","file":"util.js","sourcesContent":["// import { IMatrix } from './matrix';\n\n// export type IBoundsLike = Pick<IBounds, 'x1' | 'y1' | 'x2' | 'y2'>;\n// export type IOBBBoundsLike = Pick<IOBBBounds, 'x1' | 'y1' | 'x2' | 'y2' | 'angle'>;\n\n// export interface IBounds {\n// x1: number;\n// y1: number;\n// x2: number;\n// y2: number;\n// clone: () => IBounds;\n// clear: () => IBounds;\n// empty: () => boolean;\n// emptyMin: () => boolean;\n// equals: (b: IBounds) => boolean;\n// set: (x1: number, y1: number, x2: number, y2: number) => IBounds;\n// add: (x: number, y: number) => IBounds;\n// expand: (d: number) => IBounds;\n// round: () => IBounds;\n// translate: (dx: number, dy: number) => IBounds;\n// rotate: (angle: number, x: number, y: number) => IBounds;\n// scale: (sx: number, sy: number, x: number, y: number) => IBounds;\n// /**\n// * 并集\n// * @param b\n// * @returns\n// */\n// union: (b: IBounds) => IBounds;\n// /**\n// * 交集\n// * @param b\n// * @returns\n// */\n// intersect: (b: IBounds) => IBounds;\n// /**\n// * 是否包含b\n// * @param b\n// * @returns\n// */\n// encloses: (b: IBounds) => boolean;\n// /**\n// * 是否共边\n// * @param b\n// * @returns\n// */\n// alignsWith: (b: IBounds) => boolean;\n// /**\n// * 是否相交\n// * @param b\n// * @returns\n// */\n// intersects: (b: IBounds) => boolean;\n// /**\n// * 是否包含\n// * @param x\n// * @param y\n// * @returns\n// */\n// contains: (x: number, y: number) => boolean;\n// width: () => number;\n// height: () => number;\n// scaleX: (s: number) => IBounds;\n// scaleY: (s: number) => IBounds;\n\n// transformWithMatrix: (matrix: IMatrix) => IBounds;\n// }\n\n// export type IAABBBounds = IBounds;\n\n// export interface IOBBBounds extends IBounds {\n// angle: number;\n// }\n\n// export type IPointLike = Pick<IPoint, 'x' | 'y' | 'x1' | 'y1'>;\n\n// export interface IPoint {\n// x: number;\n// y: number;\n// x1?: number;\n// y1?: number;\n// // defined?: boolean;\n// add?: (point: IPoint | number) => IPoint;\n// sub?: (point: IPoint | number) => IPoint;\n// multi?: (point: IPoint | number) => IPoint;\n// div?: (point: IPoint | number) => IPoint;\n// length?: () => number;\n// }\n\n// export type vec2 = [number, number] | Float32Array;\n// export type vec3 = [number, number, number] | Float32Array;\n// export type vec4 = [number, number, number, number] | Float32Array;\n// export type vec8 = [number, number, number, number, number, number, number, number] | Float32Array;\n\n// export type RepeatType = 'no-repeat' | 'repeat' | 'stretch';\n"]}
1
+ {"version":3,"sources":["../../src/interface/util.ts"],"names":[],"mappings":"","file":"util.js","sourcesContent":["// import { IMatrix } from './matrix';\n\n// export type IBoundsLike = Pick<IBounds, 'x1' | 'y1' | 'x2' | 'y2'>;\n// export type IOBBBoundsLike = Pick<IOBBBounds, 'x1' | 'y1' | 'x2' | 'y2' | 'angle'>;\n\n// export interface IBounds {\n// x1: number;\n// y1: number;\n// x2: number;\n// y2: number;\n// clone: () => IBounds;\n// clear: () => IBounds;\n// empty: () => boolean;\n// emptyMin: () => boolean;\n// equals: (b: IBounds) => boolean;\n// set: (x1: number, y1: number, x2: number, y2: number) => IBounds;\n// add: (x: number, y: number) => IBounds;\n// expand: (d: number) => IBounds;\n// round: () => IBounds;\n// translate: (dx: number, dy: number) => IBounds;\n// rotate: (angle: number, x: number, y: number) => IBounds;\n// scale: (sx: number, sy: number, x: number, y: number) => IBounds;\n// /**\n// * 并集\n// * @param b\n// * @returns\n// */\n// union: (b: IBounds) => IBounds;\n// /**\n// * 交集\n// * @param b\n// * @returns\n// */\n// intersect: (b: IBounds) => IBounds;\n// /**\n// * 是否包含b\n// * @param b\n// * @returns\n// */\n// encloses: (b: IBounds) => boolean;\n// /**\n// * 是否共边\n// * @param b\n// * @returns\n// */\n// alignsWith: (b: IBounds) => boolean;\n// /**\n// * 是否相交\n// * @param b\n// * @returns\n// */\n// intersects: (b: IBounds) => boolean;\n// /**\n// * 是否包含\n// * @param x\n// * @param y\n// * @returns\n// */\n// contains: (x: number, y: number) => boolean;\n// width: () => number;\n// height: () => number;\n// scaleX: (s: number) => IBounds;\n// scaleY: (s: number) => IBounds;\n\n// transformWithMatrix: (matrix: IMatrix) => IBounds;\n// }\n\n// export type IAABBBounds = IBounds;\n\n// export interface IOBBBounds extends IBounds {\n// angle: number;\n// }\n\n// export type IPointLike = Pick<IPoint, 'x' | 'y' | 'x1' | 'y1'>;\n\n// export interface IPoint {\n// x: number;\n// y: number;\n// x1?: number;\n// y1?: number;\n// // defined?: boolean;\n// add?: (point: IPoint | number) => IPoint;\n// sub?: (point: IPoint | number) => IPoint;\n// multi?: (point: IPoint | number) => IPoint;\n// div?: (point: IPoint | number) => IPoint;\n// length?: () => number;\n// }\n\n// export type vec2 = [number, number] | Float32Array;\n// export type vec3 = [number, number, number] | Float32Array;\n// export type vec4 = [number, number, number, number] | Float32Array;\n// export type vec8 = [number, number, number, number, number, number, number, number] | Float32Array;\n\n// export type RepeatType = 'no-repeat' | 'repeat' | 'stretch';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/kits/env.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AACvC,sCAAoE;AAGpE,SAAgB,uBAAuB;IACrC,mBAAS,CAAC,MAAM,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,iCAAwB,CAAC,CAAC;AACtE,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB;IACnC,mBAAS,CAAC,MAAM,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,iCAAwB,CAAC,CAAC;AACtE,CAAC;AAFD,sDAEC","file":"env.js","sourcesContent":["import { container } from '../modules';\nimport { DefaultMathPickerService, PickerService } from '../picker';\n\n// 兼容环境\nexport function loadFeishuContributions() {\n container.rebind(PickerService).toService(DefaultMathPickerService);\n}\n\nexport function loadTaroContributions() {\n container.rebind(PickerService).toService(DefaultMathPickerService);\n}\n"]}
1
+ {"version":3,"sources":["../../src/kits/env.ts"],"names":[],"mappings":";;;AAAA,wCAAuC;AACvC,sCAAoE;AAGpE,SAAgB,uBAAuB;IACrC,mBAAS,CAAC,MAAM,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,iCAAwB,CAAC,CAAC;AACtE,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB;IACnC,mBAAS,CAAC,MAAM,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,iCAAwB,CAAC,CAAC;AACtE,CAAC;AAFD,sDAEC","file":"env.js","sourcesContent":["import { container } from '../modules';\nimport { DefaultMathPickerService, PickerService } from '../picker';\n\n// 兼容环境\nexport function loadFeishuContributions() {\n container.rebind(PickerService).toService(DefaultMathPickerService);\n}\n\nexport function loadTaroContributions() {\n container.rebind(PickerService).toService(DefaultMathPickerService);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/kits/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB","file":"index.js","sourcesContent":["export * from './env';\n"]}
1
+ {"version":3,"sources":["../../src/kits/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB","file":"index.js","sourcesContent":["export * from './env';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modules.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAsC;AACtC,uEAA6C;AAC7C,6EAAmD;AACnD,yEAA+C;AAC/C,sFAA4D;AAC5D,8FAAqE;AACrE,8EAAoD;AACpD,2EAAoE;AACpE,6EAAqE;AACrE,6EAAmE;AACnE,6EAAqE;AACrE,iCAA+G;AAC/G,uCAA4D;AAC5D,iEAA2G;AAC3G,0EAAqE;AAErE,mEAiBsC;AACtC,2CAA8C;AAC9C,iEAA8E;AAEjE,QAAA,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;AACzC,iBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;AAC3B,iBAAS,CAAC,IAAI,CAAC,wBAAa,CAAC,CAAC;AAC9B,iBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;AAC7B,iBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;AAC3B,iBAAS,CAAC,IAAI,CAAC,2BAAe,CAAC,CAAC;AAChC,iBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;AAC7B,IAAA,iBAAwB,EAAC,iBAAS,CAAC,CAAC;AACpC,IAAA,iBAAuB,EAAC,iBAAS,CAAC,CAAC;AACnC,IAAA,iBAAqB,EAAC,iBAAS,CAAC,CAAC;AACjC,IAAA,iBAAuB,EAAC,iBAAS,CAAC,CAAC;AAGtB,QAAA,MAAM,GAAG,iBAAS,CAAC,GAAG,CAAU,kBAAM,CAAC,CAAC;AACxC,QAAA,WAAW,GAAG,iBAAS,CAAC,GAAG,CAAe,kBAAW,CAAC,CAAC;AACvD,QAAA,aAAa,GAAG,iBAAS,CAAC,GAAG,CAAiB,oBAAa,CAAC,CAAC;AAC7D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,wBAAc,CAAC,CAAC;AAChE,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,gCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,8BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,gCAAc,CAAC,CAAC;AAChE,QAAA,WAAW,GAAG,iBAAS,CAAC,GAAG,CAAe,8BAAW,CAAC,CAAC;AACvD,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,iCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,iCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,aAAa,GAAG,iBAAS,CAAC,GAAG,CAAiB,2CAAmB,CAAC,CAAC;AACnE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,mBAAY,CAAC,CAAC","file":"modules.js","sourcesContent":["import { Container } from 'inversify';\nimport coreModule from './core/core-modules';\nimport renderModule from './render/render-modules';\nimport pickModule from './picker/pick-modules';\nimport allocatorModule from './allocator/allocator-modules';\nimport graphicModule from './graphic/graphic-service/graphic-module';\nimport pluginModule from './plugins/plugin-modules';\nimport loadBuiltinContributions from './core/contributions/modules';\nimport loadRenderContributions from './render/contributions/modules';\nimport loadPickContributions from './picker/contributions/modules';\nimport loadCanvasContributions from './canvas/contributions/modules';\nimport { GraphicUtil, IGraphicUtil, ILayerService, ITransformUtil, LayerService, TransformUtil } from './core';\nimport { GraphicService, IGraphicService } from './graphic';\nimport { IMat4Allocate, IMatrixAllocate, Mat4Allocate, MatrixAllocate } from './allocator/matrix-allocate';\nimport { GlobalPickerService } from './picker/global-picker-service';\nimport { IPickerService } from './picker';\nimport {\n ArcAllocate,\n AreaAllocate,\n CircleAllocate,\n LineAllocate,\n PathAllocate,\n RectAllocate,\n SymbolAllocate,\n TextAllocate,\n ILineAllocate,\n IPathAllocate,\n IRectAllocate,\n ISymbolAllocate,\n ITextAllocate,\n IArcAllocate,\n IAreaAllocate,\n ICircleAllocate\n} from './allocator/graphic-allocate';\nimport { Global, IGlobal } from './interface';\nimport { CanvasAllocate, ICanvasAllocate } from './allocator/canvas-allocate';\n\nexport const container = new Container();\ncontainer.load(coreModule);\ncontainer.load(graphicModule);\ncontainer.load(renderModule);\ncontainer.load(pickModule);\ncontainer.load(allocatorModule);\ncontainer.load(pluginModule);\nloadBuiltinContributions(container);\nloadRenderContributions(container);\nloadPickContributions(container);\nloadCanvasContributions(container);\n\n// 全局变量\nexport const global = container.get<IGlobal>(Global);\nexport const graphicUtil = container.get<IGraphicUtil>(GraphicUtil);\nexport const transformUtil = container.get<ITransformUtil>(TransformUtil);\nexport const graphicService = container.get<IGraphicService>(GraphicService);\nexport const matrixAllocate = container.get<IMatrixAllocate>(MatrixAllocate);\nexport const mat4Allocate = container.get<IMat4Allocate>(Mat4Allocate);\nexport const canvasAllocate = container.get<ICanvasAllocate>(CanvasAllocate);\nexport const arcAllocate = container.get<IArcAllocate>(ArcAllocate);\nexport const areaAllocate = container.get<IAreaAllocate>(AreaAllocate);\nexport const circleAllocate = container.get<ICircleAllocate>(CircleAllocate);\nexport const lineAllocate = container.get<ILineAllocate>(LineAllocate);\nexport const pathAllocate = container.get<IPathAllocate>(PathAllocate);\nexport const rectAllocate = container.get<IRectAllocate>(RectAllocate);\nexport const symbolAllocate = container.get<ISymbolAllocate>(SymbolAllocate);\nexport const textAllocate = container.get<ITextAllocate>(TextAllocate);\nexport const pickerService = container.get<IPickerService>(GlobalPickerService);\nexport const layerService = container.get<ILayerService>(LayerService);\n"]}
1
+ {"version":3,"sources":["../../src/modules.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAsC;AACtC,uEAA6C;AAC7C,6EAAmD;AACnD,yEAA+C;AAC/C,sFAA4D;AAC5D,8FAAqE;AACrE,8EAAoD;AACpD,2EAAoE;AACpE,6EAAqE;AACrE,6EAAmE;AACnE,6EAAqE;AACrE,iCAA+G;AAC/G,uCAA4D;AAC5D,iEAA2G;AAC3G,0EAAqE;AAErE,mEAiBsC;AACtC,2CAA8C;AAC9C,iEAA8E;AAEjE,QAAA,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;AACzC,iBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;AAC3B,iBAAS,CAAC,IAAI,CAAC,wBAAa,CAAC,CAAC;AAC9B,iBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;AAC7B,iBAAS,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAC;AAC3B,iBAAS,CAAC,IAAI,CAAC,2BAAe,CAAC,CAAC;AAChC,iBAAS,CAAC,IAAI,CAAC,wBAAY,CAAC,CAAC;AAC7B,IAAA,iBAAwB,EAAC,iBAAS,CAAC,CAAC;AACpC,IAAA,iBAAuB,EAAC,iBAAS,CAAC,CAAC;AACnC,IAAA,iBAAqB,EAAC,iBAAS,CAAC,CAAC;AACjC,IAAA,iBAAuB,EAAC,iBAAS,CAAC,CAAC;AAGtB,QAAA,MAAM,GAAG,iBAAS,CAAC,GAAG,CAAU,kBAAM,CAAC,CAAC;AACxC,QAAA,WAAW,GAAG,iBAAS,CAAC,GAAG,CAAe,kBAAW,CAAC,CAAC;AACvD,QAAA,aAAa,GAAG,iBAAS,CAAC,GAAG,CAAiB,oBAAa,CAAC,CAAC;AAC7D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,wBAAc,CAAC,CAAC;AAChE,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,gCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,8BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,gCAAc,CAAC,CAAC;AAChE,QAAA,WAAW,GAAG,iBAAS,CAAC,GAAG,CAAe,8BAAW,CAAC,CAAC;AACvD,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,iCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,cAAc,GAAG,iBAAS,CAAC,GAAG,CAAkB,iCAAc,CAAC,CAAC;AAChE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,+BAAY,CAAC,CAAC;AAC1D,QAAA,aAAa,GAAG,iBAAS,CAAC,GAAG,CAAiB,2CAAmB,CAAC,CAAC;AACnE,QAAA,YAAY,GAAG,iBAAS,CAAC,GAAG,CAAgB,mBAAY,CAAC,CAAC","file":"modules.js","sourcesContent":["import { Container } from 'inversify';\nimport coreModule from './core/core-modules';\nimport renderModule from './render/render-modules';\nimport pickModule from './picker/pick-modules';\nimport allocatorModule from './allocator/allocator-modules';\nimport graphicModule from './graphic/graphic-service/graphic-module';\nimport pluginModule from './plugins/plugin-modules';\nimport loadBuiltinContributions from './core/contributions/modules';\nimport loadRenderContributions from './render/contributions/modules';\nimport loadPickContributions from './picker/contributions/modules';\nimport loadCanvasContributions from './canvas/contributions/modules';\nimport { GraphicUtil, IGraphicUtil, ILayerService, ITransformUtil, LayerService, TransformUtil } from './core';\nimport { GraphicService, IGraphicService } from './graphic';\nimport { IMat4Allocate, IMatrixAllocate, Mat4Allocate, MatrixAllocate } from './allocator/matrix-allocate';\nimport { GlobalPickerService } from './picker/global-picker-service';\nimport { IPickerService } from './picker';\nimport {\n ArcAllocate,\n AreaAllocate,\n CircleAllocate,\n LineAllocate,\n PathAllocate,\n RectAllocate,\n SymbolAllocate,\n TextAllocate,\n ILineAllocate,\n IPathAllocate,\n IRectAllocate,\n ISymbolAllocate,\n ITextAllocate,\n IArcAllocate,\n IAreaAllocate,\n ICircleAllocate\n} from './allocator/graphic-allocate';\nimport { Global, IGlobal } from './interface';\nimport { CanvasAllocate, ICanvasAllocate } from './allocator/canvas-allocate';\n\nexport const container = new Container();\ncontainer.load(coreModule);\ncontainer.load(graphicModule);\ncontainer.load(renderModule);\ncontainer.load(pickModule);\ncontainer.load(allocatorModule);\ncontainer.load(pluginModule);\nloadBuiltinContributions(container);\nloadRenderContributions(container);\nloadPickContributions(container);\nloadCanvasContributions(container);\n\n// 全局变量\nexport const global = container.get<IGlobal>(Global);\nexport const graphicUtil = container.get<IGraphicUtil>(GraphicUtil);\nexport const transformUtil = container.get<ITransformUtil>(TransformUtil);\nexport const graphicService = container.get<IGraphicService>(GraphicService);\nexport const matrixAllocate = container.get<IMatrixAllocate>(MatrixAllocate);\nexport const mat4Allocate = container.get<IMat4Allocate>(Mat4Allocate);\nexport const canvasAllocate = container.get<ICanvasAllocate>(CanvasAllocate);\nexport const arcAllocate = container.get<IArcAllocate>(ArcAllocate);\nexport const areaAllocate = container.get<IAreaAllocate>(AreaAllocate);\nexport const circleAllocate = container.get<ICircleAllocate>(CircleAllocate);\nexport const lineAllocate = container.get<ILineAllocate>(LineAllocate);\nexport const pathAllocate = container.get<IPathAllocate>(PathAllocate);\nexport const rectAllocate = container.get<IRectAllocate>(RectAllocate);\nexport const symbolAllocate = container.get<ISymbolAllocate>(SymbolAllocate);\nexport const textAllocate = container.get<ITextAllocate>(TextAllocate);\nexport const pickerService = container.get<IPickerService>(GlobalPickerService);\nexport const layerService = container.get<ILayerService>(LayerService);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/canvas-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sCAAiD;AACjD,yCAAqE;AACrE,6DAAgE;AAChE,4CAAuF;AACvF,yDAamC;AACnC,qDAAmG;AACnG,sCAAgE;AAChE,yDAA2F;AAKpF,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,mCAAkB;IAOhE,YAGqB,aAAmD,EACzB,YAA4B,EAC9B,UAA0B,EAC3B,SAAyB,EACxB,UAA0B,EACzB,WAA2B,EAC5B,UAA0B,EAC1B,UAA0B,EACxB,YAA4B,EAC9B,UAA0B,EACvB,aAA6B,EAC5B,cAA8B,EAG7D,gBAAmC,EACnB,MAAe,EAI5B,gCAAwF;QAE3G,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QArB7B,kBAAa,GAAb,aAAa,CAAsC;QACzB,iBAAY,GAAZ,YAAY,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgB;QAC3B,cAAS,GAAT,SAAS,CAAgB;QACxB,eAAU,GAAV,UAAU,CAAgB;QACzB,gBAAW,GAAX,WAAW,CAAgB;QAC5B,eAAU,GAAV,UAAU,CAAgB;QAC1B,eAAU,GAAV,UAAU,CAAgB;QACxB,iBAAY,GAAZ,YAAY,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgB;QACvB,kBAAa,GAAb,aAAa,CAAgB;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAG7D,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnB,WAAM,GAAN,MAAM,CAAS;QAI5B,qCAAgC,GAAhC,gCAAgC,CAAwD;QAG3G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACzE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAGD,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QAOrC,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC9D,EAAE,EAAE,UAAU;SACf,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAGD,QAAQ,CAAC,OAAiB,EAAE,KAAiB,EAAE,MAAmB;QAChE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,cAAc,EAAE;oBACnC,IAAI,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;wBACjE,OAAO,OAAO,CAAC;qBAChB;iBACF;aACF;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;CACF,CAAA;AA/CC;IAAC,IAAA,yBAAa,GAAE;;;;sDAMf;AA7CU,0BAA0B;IADtC,IAAA,sBAAU,GAAE;IASR,WAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,iBAAK,EAAC,oCAAwB,CAAC,CAAA;IAE/B,WAAA,IAAA,kBAAM,EAAC,8BAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,2BAAe,CAAC,CAAA;IACvB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,6BAAiB,CAAC,CAAA;IACzB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,8BAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,YAAA,IAAA,kBAAM,EAAC,+BAAmB,CAAC,CAAA;IAC3B,YAAA,IAAA,kBAAM,EAAC,gCAAoB,CAAC,CAAA;IAE5B,YAAA,IAAA,kBAAM,EAAC,yBAAgB,CAAC,CAAA;IAExB,YAAA,IAAA,kBAAM,EAAC,kBAAM,CAAC,CAAA;IAEd,YAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAC5B,YAAA,IAAA,iBAAK,EAAC,sCAAmB,CAAC,CAAA;;GA5BlB,0BAA0B,CAsFtC;AAtFY,gEAA0B","file":"canvas-picker-service.js","sourcesContent":["import { IPointLike } from '@visactor/vutils';\nimport { ContributionProvider } from '../common';\nimport { inject, injectable, named, postConstruct } from 'inversify';\nimport { BrowserCanvas } from '../canvas/contributions/browser';\nimport { ICanvas, IContext2d, IGraphic, EnvType, Global, IGlobal } from '../interface';\nimport {\n CanvasArcPicker,\n CanvasAreaPicker,\n CanvasCirclePicker,\n CanvasImagePicker,\n CanvasLinePicker,\n CanvasPathPicker,\n CanvasPickerContribution,\n CanvasPolygonPicker,\n CanvasRectPicker,\n CanvasSymbolPicker,\n CanvasTextPicker,\n CanvasRichTextPicker\n} from './contributions/constants';\nimport { DefaultPickService, IGraphicPicker, IPickerService, IPickParams } from './picker-service';\nimport { DrawContribution, IDrawContribution } from '../render';\nimport { IPickItemInterceptorContribution, PickItemInterceptor } from './pick-interceptor';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultCanvasPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(CanvasPickerContribution)\n protected readonly contributions: ContributionProvider<IGraphicPicker>,\n @inject(CanvasCirclePicker) private readonly circlePicker: IGraphicPicker, // 默认的circlePicker\n @inject(CanvasRectPicker) private readonly rectPicker: IGraphicPicker, // 默认的rectPicker\n @inject(CanvasArcPicker) private readonly arcPicker: IGraphicPicker, // 默认的arcPicker\n @inject(CanvasAreaPicker) private readonly areaPicker: IGraphicPicker, // 默认的areaPicker\n @inject(CanvasImagePicker) private readonly imagePicker: IGraphicPicker, // 默认的imagePicker\n @inject(CanvasLinePicker) private readonly linePicker: IGraphicPicker, // 默认的linePicker\n @inject(CanvasPathPicker) private readonly pathPicker: IGraphicPicker, // 默认的pathPicker\n @inject(CanvasSymbolPicker) private readonly symbolPicker: IGraphicPicker, // 默认的symbolPicker\n @inject(CanvasTextPicker) private readonly textPicker: IGraphicPicker, // 默认的textPicker\n @inject(CanvasPolygonPicker) private readonly polygonPicker: IGraphicPicker, // 默认的polygonPicker\n @inject(CanvasRichTextPicker) private readonly richtextPicker: IGraphicPicker, // 默认的richtextPicker\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n @inject(Global) public readonly global: IGlobal,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: ContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(global, pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('canvas-picker-service', (_, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n }\n\n @postConstruct()\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n\n // 创建pick canvas\n const options = {\n width: 100,\n height: 100,\n nativeCanvas: global.createCanvas({ width: 100, height: 100 }),\n id: 'for-pick'\n };\n this.pickCanvas = new BrowserCanvas(options);\n this.pickContext = this.pickCanvas.getContext('2d');\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, params: IPickParams): IGraphic | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n if (drawContribution.beforePickItem(graphic, this, point, params)) {\n return graphic;\n }\n }\n }\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker.contains(graphic, point, params) ? graphic : null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/picker/canvas-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sCAAiD;AACjD,yCAAqE;AACrE,6DAAgE;AAChE,4CAAuF;AACvF,yDAamC;AACnC,qDAAmG;AACnG,sCAAgE;AAChE,yDAA2F;AAKpF,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,mCAAkB;IAOhE,YAGqB,aAAmD,EACzB,YAA4B,EAC9B,UAA0B,EAC3B,SAAyB,EACxB,UAA0B,EACzB,WAA2B,EAC5B,UAA0B,EAC1B,UAA0B,EACxB,YAA4B,EAC9B,UAA0B,EACvB,aAA6B,EAC5B,cAA8B,EAG7D,gBAAmC,EACnB,MAAe,EAI5B,gCAAwF;QAE3G,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QArB7B,kBAAa,GAAb,aAAa,CAAsC;QACzB,iBAAY,GAAZ,YAAY,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgB;QAC3B,cAAS,GAAT,SAAS,CAAgB;QACxB,eAAU,GAAV,UAAU,CAAgB;QACzB,gBAAW,GAAX,WAAW,CAAgB;QAC5B,eAAU,GAAV,UAAU,CAAgB;QAC1B,eAAU,GAAV,UAAU,CAAgB;QACxB,iBAAY,GAAZ,YAAY,CAAgB;QAC9B,eAAU,GAAV,UAAU,CAAgB;QACvB,kBAAa,GAAb,aAAa,CAAgB;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAG7D,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnB,WAAM,GAAN,MAAM,CAAS;QAI5B,qCAAgC,GAAhC,gCAAgC,CAAwD;QAG3G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YACzE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAGD,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QAOrC,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC9D,EAAE,EAAE,UAAU;SACf,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAa,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAGD,QAAQ,CAAC,OAAiB,EAAE,KAAiB,EAAE,MAAmB;QAChE,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,gBAAgB,CAAC,cAAc,EAAE;oBACnC,IAAI,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE;wBACjE,OAAO,OAAO,CAAC;qBAChB;iBACF;aACF;SACF;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;CACF,CAAA;AA/CC;IAAC,IAAA,yBAAa,GAAE;;;;sDAMf;AA7CU,0BAA0B;IADtC,IAAA,sBAAU,GAAE;IASR,WAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,iBAAK,EAAC,oCAAwB,CAAC,CAAA;IAE/B,WAAA,IAAA,kBAAM,EAAC,8BAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,2BAAe,CAAC,CAAA;IACvB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,6BAAiB,CAAC,CAAA;IACzB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,WAAA,IAAA,kBAAM,EAAC,8BAAkB,CAAC,CAAA;IAC1B,WAAA,IAAA,kBAAM,EAAC,4BAAgB,CAAC,CAAA;IACxB,YAAA,IAAA,kBAAM,EAAC,+BAAmB,CAAC,CAAA;IAC3B,YAAA,IAAA,kBAAM,EAAC,gCAAoB,CAAC,CAAA;IAE5B,YAAA,IAAA,kBAAM,EAAC,yBAAgB,CAAC,CAAA;IAExB,YAAA,IAAA,kBAAM,EAAC,kBAAM,CAAC,CAAA;IAEd,YAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAC5B,YAAA,IAAA,iBAAK,EAAC,sCAAmB,CAAC,CAAA;;GA5BlB,0BAA0B,CAsFtC;AAtFY,gEAA0B","file":"canvas-picker-service.js","sourcesContent":["import { IPointLike } from '@visactor/vutils';\nimport { ContributionProvider } from '../common';\nimport { inject, injectable, named, postConstruct } from 'inversify';\nimport { BrowserCanvas } from '../canvas/contributions/browser';\nimport { ICanvas, IContext2d, IGraphic, EnvType, Global, IGlobal } from '../interface';\nimport {\n CanvasArcPicker,\n CanvasAreaPicker,\n CanvasCirclePicker,\n CanvasImagePicker,\n CanvasLinePicker,\n CanvasPathPicker,\n CanvasPickerContribution,\n CanvasPolygonPicker,\n CanvasRectPicker,\n CanvasSymbolPicker,\n CanvasTextPicker,\n CanvasRichTextPicker\n} from './contributions/constants';\nimport { DefaultPickService, IGraphicPicker, IPickerService, IPickParams } from './picker-service';\nimport { DrawContribution, IDrawContribution } from '../render';\nimport { IPickItemInterceptorContribution, PickItemInterceptor } from './pick-interceptor';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultCanvasPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(CanvasPickerContribution)\n protected readonly contributions: ContributionProvider<IGraphicPicker>,\n @inject(CanvasCirclePicker) private readonly circlePicker: IGraphicPicker, // 默认的circlePicker\n @inject(CanvasRectPicker) private readonly rectPicker: IGraphicPicker, // 默认的rectPicker\n @inject(CanvasArcPicker) private readonly arcPicker: IGraphicPicker, // 默认的arcPicker\n @inject(CanvasAreaPicker) private readonly areaPicker: IGraphicPicker, // 默认的areaPicker\n @inject(CanvasImagePicker) private readonly imagePicker: IGraphicPicker, // 默认的imagePicker\n @inject(CanvasLinePicker) private readonly linePicker: IGraphicPicker, // 默认的linePicker\n @inject(CanvasPathPicker) private readonly pathPicker: IGraphicPicker, // 默认的pathPicker\n @inject(CanvasSymbolPicker) private readonly symbolPicker: IGraphicPicker, // 默认的symbolPicker\n @inject(CanvasTextPicker) private readonly textPicker: IGraphicPicker, // 默认的textPicker\n @inject(CanvasPolygonPicker) private readonly polygonPicker: IGraphicPicker, // 默认的polygonPicker\n @inject(CanvasRichTextPicker) private readonly richtextPicker: IGraphicPicker, // 默认的richtextPicker\n\n @inject(DrawContribution)\n public readonly drawContribution: IDrawContribution,\n @inject(Global) public readonly global: IGlobal,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: ContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(global, pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('canvas-picker-service', (_, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n }\n\n @postConstruct()\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n\n // 创建pick canvas\n const options = {\n width: 100,\n height: 100,\n nativeCanvas: global.createCanvas({ width: 100, height: 100 }),\n id: 'for-pick'\n };\n this.pickCanvas = new BrowserCanvas(options);\n this.pickContext = this.pickCanvas.getContext('2d');\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, params: IPickParams): IGraphic | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n if (drawContribution.beforePickItem(graphic, this, point, params)) {\n return graphic;\n }\n }\n }\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker.contains(graphic, point, params) ? graphic : null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/contributions/canvas-picker/arc-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA+C;AAE/C,8CAA6D;AAG7D,4CAA4D;AAE5D,4CAAkD;AAG3C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,YAA+C,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH7E,SAAI,GAAW,KAAK,CAAC;QACrB,eAAU,GAAW,yBAAe,CAAC;IAE2C,CAAC;IAEjF,QAAQ,CAAC,GAAS,EAAE,KAAa,EAAE,MAAoB;QACrD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QAIvC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAEpC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACxD;aAAM;YACL,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,GAAG,EACH,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,YAAyD,EACzD,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,YAAyD,EACzD,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACrE,WAAW,CAAC,SAAS,GAAG,IAAA,wBAAe,EAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9EY,sBAAsB;IADlC,IAAA,sBAAU,GAAE;IAKE,WAAA,IAAA,kBAAM,EAAC,kBAAS,CAAC,CAAA;;GAJnB,sBAAsB,CA8ElC;AA9EY,wDAAsB","file":"arc-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport { IPoint } from '@visactor/vutils';\nimport { ARC_NUMBER_TYPE, getTheme } from '../../../graphic';\nimport { IArc, IGraphicAttribute, IContext2d, IMarkAttribute, IThemeAttribute } from '../../../interface';\nimport { IGraphicPicker, IPickParams } from '../../picker-service';\nimport { ArcRender, IGraphicRender } from '../../../render';\nimport { graphicService } from '../../../modules';\nimport { getScaledStroke } from '../../../common';\n\n@injectable()\nexport class DefaultCanvasArcPicker implements IGraphicPicker {\n type: string = 'arc';\n numberType: number = ARC_NUMBER_TYPE;\n\n constructor(@inject(ArcRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(arc: IArc, point: IPoint, params?: IPickParams): boolean {\n if (!arc.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (arc.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n const arcAttribute = getTheme(arc).arc;\n\n // const arcAttribute = graphicService.themeService.getCurrentTheme().arcAttribute;\n\n pickContext.highPerformanceSave();\n let { x = arcAttribute.x, y = arcAttribute.y } = arc.attribute;\n if (!arc.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(arc.transMatrix, true);\n } else {\n const point = arc.getOffsetXY(arcAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n arc,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n arcAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n arcAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = arcAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = getScaledStroke(pickContext, lineWidth, pickContext.dpr);\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/picker/contributions/canvas-picker/arc-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAA+C;AAE/C,8CAA6D;AAG7D,4CAA4D;AAE5D,4CAAkD;AAG3C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAIjC,YAA+C,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH7E,SAAI,GAAW,KAAK,CAAC;QACrB,eAAU,GAAW,yBAAe,CAAC;IAE2C,CAAC;IAEjF,QAAQ,CAAC,GAAS,EAAE,KAAa,EAAE,MAAoB;QACrD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,YAAY,GAAG,IAAA,kBAAQ,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC;QAIvC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAEpC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACxD;aAAM;YACL,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,GAAG,EACH,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,YAAyD,EACzD,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,YAAyD,EACzD,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACrE,WAAW,CAAC,SAAS,GAAG,IAAA,wBAAe,EAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA9EY,sBAAsB;IADlC,IAAA,sBAAU,GAAE;IAKE,WAAA,IAAA,kBAAM,EAAC,kBAAS,CAAC,CAAA;;GAJnB,sBAAsB,CA8ElC;AA9EY,wDAAsB","file":"arc-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport { IPoint } from '@visactor/vutils';\nimport { ARC_NUMBER_TYPE, getTheme } from '../../../graphic';\nimport { IArc, IGraphicAttribute, IContext2d, IMarkAttribute, IThemeAttribute } from '../../../interface';\nimport { IGraphicPicker, IPickParams } from '../../picker-service';\nimport { ArcRender, IGraphicRender } from '../../../render';\nimport { graphicService } from '../../../modules';\nimport { getScaledStroke } from '../../../common';\n\n@injectable()\nexport class DefaultCanvasArcPicker implements IGraphicPicker {\n type: string = 'arc';\n numberType: number = ARC_NUMBER_TYPE;\n\n constructor(@inject(ArcRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(arc: IArc, point: IPoint, params?: IPickParams): boolean {\n if (!arc.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (arc.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n const arcAttribute = getTheme(arc).arc;\n\n // const arcAttribute = graphicService.themeService.getCurrentTheme().arcAttribute;\n\n pickContext.highPerformanceSave();\n let { x = arcAttribute.x, y = arcAttribute.y } = arc.attribute;\n if (!arc.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(arc.transMatrix, true);\n } else {\n const point = arc.getOffsetXY(arcAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n arc,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n arcAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n arcAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = arcAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = getScaledStroke(pickContext, lineWidth, pickContext.dpr);\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/picker/contributions/canvas-picker/arc3d-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAsD;AAEtD,yCAA+C;AAC/C,8CAAwH;AAExH,4CAA8D;AAE9D,8CAAgD;AAChD,+CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAU,EAAE,CAAC;AAG1B,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,wBAAkB;IAI9D,YAAiD,cAA8B;QAC7E,KAAK,EAAE,CAAC;QADuC,mBAAc,GAAd,cAAc,CAAgB;QAH/E,SAAI,GAAW,OAAO,CAAC;QACvB,eAAU,GAAW,2BAAiB,CAAC;IAIvC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QACD,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAE3C,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACpD,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YACnF,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,KAAK,EACL,WAAW,EACX,CAAC,EACD,CAAC,EACD,MAAa,EACb,IAAI,EACJ,CACE,OAAmB,EACnB,cAA2D,EAC3D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;QAG1B,IAAI,WAAW,CAAC,WAAW,KAAK,eAAe,EAAE;YAC/C,sBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC5C;QACD,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;QAE1C,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA7DY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;IAKE,WAAA,IAAA,kBAAM,EAAC,oBAAW,CAAC,CAAA;;GAJrB,wBAAwB,CA6DpC;AA7DY,4DAAwB","file":"arc3d-picker.js","sourcesContent":["import { IPoint, AABBBounds } from '@visactor/vutils';\nimport { getScaledStroke } from '../../../common';\nimport { inject, injectable } from 'inversify';\nimport { getTheme, ARC3D_NUMBER_TYPE, getExtraModelMatrix, multiplyMat4Mat3, multiplyMat4Mat4 } from '../../../graphic';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IArc3d, IThemeAttribute } from '../../../interface';\nimport { IGraphicRender, Arc3dRender } from '../../../render';\nimport { IGraphicPicker, IPickParams } from '../../picker-service';\nimport { mat4Allocate } from '../../../modules';\nimport { BasePicker } from './base-picker';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultCanvasArc3dPicker extends BasePicker<IArc3d> implements IGraphicPicker {\n type: string = 'arc3d';\n numberType: number = ARC3D_NUMBER_TYPE;\n\n constructor(@inject(Arc3dRender) public readonly canvasRenderer: IGraphicRender) {\n super();\n }\n\n contains(arc3d: IArc3d, point: IPoint, params?: IPickParams): boolean {\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n const arc3dAttribute = getTheme(arc3d).arc;\n\n pickContext.highPerformanceSave();\n const data = this.transform(arc3d, arc3dAttribute, pickContext);\n const { x, y, z, lastModelMatrix } = data;\n\n let pickPoint = point;\n if (pickContext.camera) {\n pickPoint = point.clone();\n const globalMatrix = arc3d.parent.globalTransMatrix;\n pickPoint.x = globalMatrix.a * point.x + globalMatrix.c * point.y + globalMatrix.e;\n pickPoint.y = globalMatrix.b * point.x + globalMatrix.d * point.y + globalMatrix.f;\n }\n\n this.canvasRenderer.z = z;\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n arc3d,\n pickContext,\n x,\n y,\n params as any,\n null,\n (\n context: IContext2d,\n arc3dAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(pickPoint.x, pickPoint.y);\n return picked;\n }\n );\n this.canvasRenderer.z = 0;\n\n // mat4Allocate.free(pickContext.modelMatrix);\n if (pickContext.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(pickContext.modelMatrix);\n }\n pickContext.modelMatrix = lastModelMatrix;\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/picker/contributions/canvas-picker/arc3d-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAsD;AAEtD,yCAA+C;AAC/C,8CAAwH;AAExH,4CAA8D;AAE9D,8CAAgD;AAChD,+CAA2C;AAE3C,MAAM,OAAO,GAAG,IAAI,mBAAU,EAAE,CAAC;AAG1B,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,wBAAkB;IAI9D,YAAiD,cAA8B;QAC7E,KAAK,EAAE,CAAC;QADuC,mBAAc,GAAd,cAAc,CAAgB;QAH/E,SAAI,GAAW,OAAO,CAAC;QACvB,eAAU,GAAW,2BAAiB,CAAC;IAIvC,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,MAAoB;QACzD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QACD,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QAE3C,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACpD,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;YACnF,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;SACpF;QAED,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,KAAK,EACL,WAAW,EACX,CAAC,EACD,CAAC,EACD,MAAa,EACb,IAAI,EACJ,CACE,OAAmB,EACnB,cAA2D,EAC3D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;QAG1B,IAAI,WAAW,CAAC,WAAW,KAAK,eAAe,EAAE;YAC/C,sBAAY,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC5C;QACD,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;QAE1C,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA7DY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;IAKE,WAAA,IAAA,kBAAM,EAAC,oBAAW,CAAC,CAAA;;GAJrB,wBAAwB,CA6DpC;AA7DY,4DAAwB","file":"arc3d-picker.js","sourcesContent":["import { IPoint, AABBBounds } from '@visactor/vutils';\nimport { getScaledStroke } from '../../../common';\nimport { inject, injectable } from 'inversify';\nimport { getTheme, ARC3D_NUMBER_TYPE, getExtraModelMatrix, multiplyMat4Mat3, multiplyMat4Mat4 } from '../../../graphic';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IArc3d, IThemeAttribute } from '../../../interface';\nimport { IGraphicRender, Arc3dRender } from '../../../render';\nimport { IGraphicPicker, IPickParams } from '../../picker-service';\nimport { mat4Allocate } from '../../../modules';\nimport { BasePicker } from './base-picker';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultCanvasArc3dPicker extends BasePicker<IArc3d> implements IGraphicPicker {\n type: string = 'arc3d';\n numberType: number = ARC3D_NUMBER_TYPE;\n\n constructor(@inject(Arc3dRender) public readonly canvasRenderer: IGraphicRender) {\n super();\n }\n\n contains(arc3d: IArc3d, point: IPoint, params?: IPickParams): boolean {\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n const arc3dAttribute = getTheme(arc3d).arc;\n\n pickContext.highPerformanceSave();\n const data = this.transform(arc3d, arc3dAttribute, pickContext);\n const { x, y, z, lastModelMatrix } = data;\n\n let pickPoint = point;\n if (pickContext.camera) {\n pickPoint = point.clone();\n const globalMatrix = arc3d.parent.globalTransMatrix;\n pickPoint.x = globalMatrix.a * point.x + globalMatrix.c * point.y + globalMatrix.e;\n pickPoint.y = globalMatrix.b * point.x + globalMatrix.d * point.y + globalMatrix.f;\n }\n\n this.canvasRenderer.z = z;\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n arc3d,\n pickContext,\n x,\n y,\n params as any,\n null,\n (\n context: IContext2d,\n arc3dAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(pickPoint.x, pickPoint.y);\n return picked;\n }\n );\n this.canvasRenderer.z = 0;\n\n // mat4Allocate.free(pickContext.modelMatrix);\n if (pickContext.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(pickContext.modelMatrix);\n }\n pickContext.modelMatrix = lastModelMatrix;\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}