@visactor/vrender-kits 0.16.0-alpha.7 → 0.16.0-alpha.9

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 (657) hide show
  1. package/cjs/canvas/contributions/browser/canvas.d.ts +17 -0
  2. package/cjs/canvas/contributions/browser/canvas.js +73 -0
  3. package/cjs/canvas/contributions/browser/canvas.js.map +1 -0
  4. package/cjs/canvas/contributions/browser/context.d.ts +176 -0
  5. package/cjs/canvas/contributions/browser/context.js +495 -0
  6. package/cjs/canvas/contributions/browser/context.js.map +1 -0
  7. package/cjs/canvas/contributions/browser/index.d.ts +2 -0
  8. package/cjs/canvas/contributions/browser/index.js +21 -0
  9. package/cjs/canvas/contributions/browser/index.js.map +1 -0
  10. package/cjs/canvas/contributions/browser/modules.d.ts +1 -0
  11. package/cjs/canvas/contributions/browser/modules.js +10 -0
  12. package/cjs/canvas/contributions/browser/modules.js.map +1 -0
  13. package/cjs/canvas/contributions/create-canvas-module.d.ts +2 -0
  14. package/cjs/canvas/contributions/create-canvas-module.js +17 -0
  15. package/cjs/canvas/contributions/create-canvas-module.js.map +1 -0
  16. package/cjs/canvas/contributions/feishu/canvas.d.ts +8 -0
  17. package/cjs/canvas/contributions/feishu/canvas.js +28 -0
  18. package/cjs/canvas/contributions/feishu/canvas.js.map +1 -0
  19. package/cjs/canvas/contributions/feishu/context.d.ts +12 -0
  20. package/cjs/canvas/contributions/feishu/context.js +56 -0
  21. package/cjs/canvas/contributions/feishu/context.js.map +1 -0
  22. package/cjs/canvas/contributions/feishu/index.d.ts +2 -0
  23. package/cjs/canvas/contributions/feishu/index.js +21 -0
  24. package/cjs/canvas/contributions/feishu/index.js.map +1 -0
  25. package/cjs/canvas/contributions/feishu/modules.d.ts +1 -0
  26. package/cjs/canvas/contributions/feishu/modules.js +10 -0
  27. package/cjs/canvas/contributions/feishu/modules.js.map +1 -0
  28. package/cjs/canvas/contributions/lynx/canvas.d.ts +8 -0
  29. package/cjs/canvas/contributions/lynx/canvas.js +29 -0
  30. package/cjs/canvas/contributions/lynx/canvas.js.map +1 -0
  31. package/cjs/canvas/contributions/lynx/context.d.ts +13 -0
  32. package/cjs/canvas/contributions/lynx/context.js +57 -0
  33. package/cjs/canvas/contributions/lynx/context.js.map +1 -0
  34. package/cjs/canvas/contributions/lynx/index.d.ts +2 -0
  35. package/cjs/canvas/contributions/lynx/index.js +21 -0
  36. package/cjs/canvas/contributions/lynx/index.js.map +1 -0
  37. package/cjs/canvas/contributions/lynx/modules.d.ts +1 -0
  38. package/cjs/canvas/contributions/lynx/modules.js +10 -0
  39. package/cjs/canvas/contributions/lynx/modules.js.map +1 -0
  40. package/cjs/canvas/contributions/modules.d.ts +9 -0
  41. package/cjs/canvas/contributions/modules.js +48 -0
  42. package/cjs/canvas/contributions/modules.js.map +1 -0
  43. package/cjs/canvas/contributions/node/canvas.d.ts +8 -1
  44. package/cjs/canvas/contributions/node/canvas.js +30 -0
  45. package/cjs/canvas/contributions/node/canvas.js.map +1 -1
  46. package/cjs/canvas/contributions/node/context.d.ts +7 -1
  47. package/cjs/canvas/contributions/node/context.js +29 -0
  48. package/cjs/canvas/contributions/node/context.js.map +1 -1
  49. package/cjs/canvas/contributions/node/index.d.ts +2 -1
  50. package/cjs/canvas/contributions/node/index.js +20 -0
  51. package/cjs/canvas/contributions/node/index.js.map +1 -1
  52. package/cjs/canvas/contributions/node/modules.d.ts +1 -1
  53. package/cjs/canvas/contributions/node/modules.js +9 -0
  54. package/cjs/canvas/contributions/node/modules.js.map +1 -1
  55. package/cjs/canvas/contributions/taro/canvas.d.ts +8 -0
  56. package/cjs/canvas/contributions/taro/canvas.js +29 -0
  57. package/cjs/canvas/contributions/taro/canvas.js.map +1 -0
  58. package/cjs/canvas/contributions/taro/context.d.ts +32 -0
  59. package/cjs/canvas/contributions/taro/context.js +68 -0
  60. package/cjs/canvas/contributions/taro/context.js.map +1 -0
  61. package/cjs/canvas/contributions/taro/index.d.ts +2 -0
  62. package/cjs/canvas/contributions/taro/index.js +21 -0
  63. package/cjs/canvas/contributions/taro/index.js.map +1 -0
  64. package/cjs/canvas/contributions/taro/modules.d.ts +1 -0
  65. package/cjs/canvas/contributions/taro/modules.js +10 -0
  66. package/cjs/canvas/contributions/taro/modules.js.map +1 -0
  67. package/cjs/canvas/contributions/tt/canvas.d.ts +8 -0
  68. package/cjs/canvas/contributions/tt/canvas.js +29 -0
  69. package/cjs/canvas/contributions/tt/canvas.js.map +1 -0
  70. package/cjs/canvas/contributions/tt/context.d.ts +5 -0
  71. package/cjs/canvas/contributions/tt/context.js +19 -0
  72. package/cjs/canvas/contributions/tt/context.js.map +1 -0
  73. package/cjs/canvas/contributions/tt/index.d.ts +2 -0
  74. package/cjs/canvas/contributions/tt/index.js +21 -0
  75. package/cjs/canvas/contributions/tt/index.js.map +1 -0
  76. package/cjs/canvas/contributions/tt/modules.d.ts +1 -0
  77. package/cjs/canvas/contributions/tt/modules.js +10 -0
  78. package/cjs/canvas/contributions/tt/modules.js.map +1 -0
  79. package/cjs/canvas/contributions/wx/canvas.d.ts +8 -0
  80. package/cjs/canvas/contributions/wx/canvas.js +29 -0
  81. package/cjs/canvas/contributions/wx/canvas.js.map +1 -0
  82. package/cjs/canvas/contributions/wx/context.d.ts +7 -0
  83. package/cjs/canvas/contributions/wx/context.js +24 -0
  84. package/cjs/canvas/contributions/wx/context.js.map +1 -0
  85. package/cjs/canvas/contributions/wx/index.d.ts +2 -0
  86. package/cjs/canvas/contributions/wx/index.js +21 -0
  87. package/cjs/canvas/contributions/wx/index.js.map +1 -0
  88. package/cjs/canvas/contributions/wx/modules.d.ts +1 -0
  89. package/cjs/canvas/contributions/wx/modules.js +10 -0
  90. package/cjs/canvas/contributions/wx/modules.js.map +1 -0
  91. package/cjs/canvas/index.d.ts +1 -1
  92. package/cjs/canvas/index.js +21 -1
  93. package/cjs/canvas/index.js.map +1 -1
  94. package/cjs/env/all.d.ts +4 -0
  95. package/cjs/env/all.js +27 -0
  96. package/cjs/env/all.js.map +1 -0
  97. package/cjs/env/browser.d.ts +3 -0
  98. package/cjs/env/browser.js +19 -0
  99. package/cjs/env/browser.js.map +1 -0
  100. package/cjs/env/contributions/browser-contribution.d.ts +42 -0
  101. package/cjs/env/contributions/browser-contribution.js +198 -0
  102. package/cjs/env/contributions/browser-contribution.js.map +1 -0
  103. package/cjs/env/contributions/browser-module.d.ts +2 -0
  104. package/cjs/env/contributions/browser-module.js +13 -0
  105. package/cjs/env/contributions/browser-module.js.map +1 -0
  106. package/cjs/env/contributions/feishu-contribution.d.ts +41 -0
  107. package/cjs/env/contributions/feishu-contribution.js +116 -0
  108. package/cjs/env/contributions/feishu-contribution.js.map +1 -0
  109. package/cjs/env/contributions/feishu-module.d.ts +2 -0
  110. package/cjs/env/contributions/feishu-module.js +12 -0
  111. package/cjs/env/contributions/feishu-module.js.map +1 -0
  112. package/cjs/env/contributions/lynx-contribution.d.ts +41 -0
  113. package/cjs/env/contributions/lynx-contribution.js +136 -0
  114. package/cjs/env/contributions/lynx-contribution.js.map +1 -0
  115. package/cjs/env/contributions/module.d.ts +8 -1
  116. package/cjs/env/contributions/module.js +25 -1
  117. package/cjs/env/contributions/module.js.map +1 -1
  118. package/cjs/env/contributions/node-contribution.d.ts +49 -1
  119. package/cjs/env/contributions/node-contribution.js +95 -1
  120. package/cjs/env/contributions/node-contribution.js.map +1 -1
  121. package/cjs/env/contributions/taro-contribution.d.ts +57 -0
  122. package/cjs/env/contributions/taro-contribution.js +142 -0
  123. package/cjs/env/contributions/taro-contribution.js.map +1 -0
  124. package/cjs/env/contributions/wx-contribution.d.ts +40 -0
  125. package/cjs/env/contributions/wx-contribution.js +131 -0
  126. package/cjs/env/contributions/wx-contribution.js.map +1 -0
  127. package/cjs/env/feishu.d.ts +3 -0
  128. package/cjs/env/feishu.js +19 -0
  129. package/cjs/env/feishu.js.map +1 -0
  130. package/cjs/env/index.d.ts +7 -0
  131. package/cjs/env/index.js +24 -0
  132. package/cjs/env/index.js.map +1 -0
  133. package/cjs/env/lynx.d.ts +3 -0
  134. package/cjs/env/lynx.js +19 -0
  135. package/cjs/env/lynx.js.map +1 -0
  136. package/cjs/env/node.d.ts +3 -0
  137. package/cjs/env/node.js +19 -0
  138. package/cjs/env/node.js.map +1 -0
  139. package/cjs/env/taro.d.ts +3 -0
  140. package/cjs/env/taro.js +19 -0
  141. package/cjs/env/taro.js.map +1 -0
  142. package/cjs/env/wx.d.ts +3 -0
  143. package/cjs/env/wx.js +19 -0
  144. package/cjs/env/wx.js.map +1 -0
  145. package/cjs/event/extension/drag.d.ts +9 -0
  146. package/cjs/event/extension/drag.js +53 -0
  147. package/cjs/event/extension/drag.js.map +1 -0
  148. package/cjs/event/extension/gesture.d.ts +38 -0
  149. package/cjs/event/extension/gesture.js +181 -0
  150. package/cjs/event/extension/gesture.js.map +1 -0
  151. package/cjs/event/extension/index.d.ts +3 -0
  152. package/cjs/event/extension/index.js +24 -0
  153. package/cjs/event/extension/index.js.map +1 -0
  154. package/cjs/index-node.d.ts +1 -2
  155. package/cjs/index-node.js +1 -1
  156. package/cjs/index-node.js.map +1 -1
  157. package/cjs/index.d.ts +5 -2
  158. package/cjs/index.js +18 -3
  159. package/cjs/index.js.map +1 -1
  160. package/cjs/jsx/graphicType.d.ts +171 -0
  161. package/cjs/jsx/graphicType.js +133 -0
  162. package/cjs/jsx/graphicType.js.map +1 -0
  163. package/cjs/jsx/index.d.ts +2 -0
  164. package/cjs/jsx/index.js +21 -0
  165. package/cjs/jsx/index.js.map +1 -0
  166. package/cjs/jsx/jsx-classic.d.ts +3 -0
  167. package/cjs/jsx/jsx-classic.js +58 -0
  168. package/cjs/jsx/jsx-classic.js.map +1 -0
  169. package/cjs/picker/canvas-module.d.ts +4 -0
  170. package/cjs/picker/canvas-module.js +23 -0
  171. package/cjs/picker/canvas-module.js.map +1 -0
  172. package/cjs/picker/canvas-picker-service.d.ts +28 -0
  173. package/cjs/picker/canvas-picker-service.js +91 -0
  174. package/cjs/picker/canvas-picker-service.js.map +1 -0
  175. package/cjs/picker/contributions/canvas-picker/arc-picker.d.ts +9 -0
  176. package/cjs/picker/contributions/canvas-picker/arc-picker.js +51 -0
  177. package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -0
  178. package/cjs/picker/contributions/canvas-picker/arc3d-picker.d.ts +10 -0
  179. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +50 -0
  180. package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -0
  181. package/cjs/picker/contributions/canvas-picker/area-picker.d.ts +9 -0
  182. package/cjs/picker/contributions/canvas-picker/area-picker.js +45 -0
  183. package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -0
  184. package/cjs/picker/contributions/canvas-picker/base-picker.d.ts +4 -0
  185. package/cjs/picker/contributions/canvas-picker/base-picker.js +18 -0
  186. package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -0
  187. package/cjs/picker/contributions/canvas-picker/circle-picker.d.ts +9 -0
  188. package/cjs/picker/contributions/canvas-picker/circle-picker.js +50 -0
  189. package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -0
  190. package/cjs/picker/contributions/canvas-picker/glyph-picker.d.ts +9 -0
  191. package/cjs/picker/contributions/canvas-picker/glyph-picker.js +46 -0
  192. package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
  193. package/cjs/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
  194. package/cjs/picker/contributions/canvas-picker/group-picker.js +26 -0
  195. package/cjs/picker/contributions/canvas-picker/group-picker.js.map +1 -0
  196. package/cjs/picker/contributions/canvas-picker/image-picker.d.ts +7 -0
  197. package/cjs/picker/contributions/canvas-picker/image-picker.js +27 -0
  198. package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -0
  199. package/cjs/picker/contributions/canvas-picker/line-picker.d.ts +10 -0
  200. package/cjs/picker/contributions/canvas-picker/line-picker.js +56 -0
  201. package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -0
  202. package/cjs/picker/contributions/canvas-picker/module.d.ts +3 -0
  203. package/cjs/picker/contributions/canvas-picker/module.js +46 -0
  204. package/cjs/picker/contributions/canvas-picker/module.js.map +1 -0
  205. package/cjs/picker/contributions/canvas-picker/path-picker.d.ts +10 -0
  206. package/cjs/picker/contributions/canvas-picker/path-picker.js +57 -0
  207. package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -0
  208. package/cjs/picker/contributions/canvas-picker/polygon-picker.d.ts +9 -0
  209. package/cjs/picker/contributions/canvas-picker/polygon-picker.js +49 -0
  210. package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -0
  211. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +10 -0
  212. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +51 -0
  213. package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -0
  214. package/cjs/picker/contributions/canvas-picker/rect-picker.d.ts +9 -0
  215. package/cjs/picker/contributions/canvas-picker/rect-picker.js +62 -0
  216. package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -0
  217. package/cjs/picker/contributions/canvas-picker/rect3d-picker.d.ts +10 -0
  218. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +50 -0
  219. package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -0
  220. package/cjs/picker/contributions/canvas-picker/richtext-picker.d.ts +9 -0
  221. package/cjs/picker/contributions/canvas-picker/richtext-picker.js +33 -0
  222. package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -0
  223. package/cjs/picker/contributions/canvas-picker/symbol-picker.d.ts +10 -0
  224. package/cjs/picker/contributions/canvas-picker/symbol-picker.js +59 -0
  225. package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
  226. package/cjs/picker/contributions/canvas-picker/text-picker.d.ts +10 -0
  227. package/cjs/picker/contributions/canvas-picker/text-picker.js +58 -0
  228. package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -0
  229. package/cjs/picker/contributions/constants.d.ts +29 -0
  230. package/cjs/picker/contributions/constants.js +21 -0
  231. package/cjs/picker/contributions/constants.js.map +1 -0
  232. package/cjs/picker/contributions/math-picker/arc-picker.d.ts +9 -0
  233. package/cjs/picker/contributions/math-picker/arc-picker.js +51 -0
  234. package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -0
  235. package/cjs/picker/contributions/math-picker/area-picker.d.ts +9 -0
  236. package/cjs/picker/contributions/math-picker/area-picker.js +45 -0
  237. package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -0
  238. package/cjs/picker/contributions/math-picker/circle-picker.d.ts +9 -0
  239. package/cjs/picker/contributions/math-picker/circle-picker.js +50 -0
  240. package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -0
  241. package/cjs/picker/contributions/math-picker/glyph-picker.d.ts +9 -0
  242. package/cjs/picker/contributions/math-picker/glyph-picker.js +44 -0
  243. package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -0
  244. package/cjs/picker/contributions/math-picker/line-picker.d.ts +9 -0
  245. package/cjs/picker/contributions/math-picker/line-picker.js +50 -0
  246. package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -0
  247. package/cjs/picker/contributions/math-picker/module.d.ts +3 -0
  248. package/cjs/picker/contributions/math-picker/module.js +32 -0
  249. package/cjs/picker/contributions/math-picker/module.js.map +1 -0
  250. package/cjs/picker/contributions/math-picker/path-picker.d.ts +9 -0
  251. package/cjs/picker/contributions/math-picker/path-picker.js +50 -0
  252. package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -0
  253. package/cjs/picker/contributions/math-picker/polygon-picker.d.ts +9 -0
  254. package/cjs/picker/contributions/math-picker/polygon-picker.js +49 -0
  255. package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -0
  256. package/cjs/picker/contributions/math-picker/rect-picker.d.ts +9 -0
  257. package/cjs/picker/contributions/math-picker/rect-picker.js +62 -0
  258. package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -0
  259. package/cjs/picker/contributions/math-picker/symbol-picker.d.ts +9 -0
  260. package/cjs/picker/contributions/math-picker/symbol-picker.js +50 -0
  261. package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -0
  262. package/cjs/picker/contributions/math-picker/text-picker.d.ts +7 -0
  263. package/cjs/picker/contributions/math-picker/text-picker.js +26 -0
  264. package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -0
  265. package/cjs/picker/index.d.ts +1 -0
  266. package/cjs/picker/index.js +21 -0
  267. package/cjs/picker/index.js.map +1 -0
  268. package/cjs/picker/math-module.d.ts +4 -0
  269. package/cjs/picker/math-module.js +23 -0
  270. package/cjs/picker/math-module.js.map +1 -0
  271. package/cjs/picker/math-picker-service.d.ts +16 -0
  272. package/cjs/picker/math-picker-service.js +54 -0
  273. package/cjs/picker/math-picker-service.js.map +1 -0
  274. package/cjs/picker/module.d.ts +6 -0
  275. package/cjs/picker/module.js +30 -0
  276. package/cjs/picker/module.js.map +1 -0
  277. package/cjs/render/contributions/rough/config.js +1 -1
  278. package/cjs/render/contributions/rough/module.d.ts +1 -1
  279. package/cjs/render/contributions/rough/module.js +10 -10
  280. package/cjs/render/contributions/rough/module.js.map +1 -1
  281. package/cjs/render/contributions/rough/rough-arc.d.ts +1 -1
  282. package/cjs/render/contributions/rough/rough-arc.js +10 -8
  283. package/cjs/render/contributions/rough/rough-arc.js.map +1 -1
  284. package/cjs/render/contributions/rough/rough-area.d.ts +2 -2
  285. package/cjs/render/contributions/rough/rough-area.js +6 -6
  286. package/cjs/render/contributions/rough/rough-area.js.map +1 -1
  287. package/cjs/render/contributions/rough/rough-circle.d.ts +1 -1
  288. package/cjs/render/contributions/rough/rough-circle.js +6 -6
  289. package/cjs/render/contributions/rough/rough-circle.js.map +1 -1
  290. package/cjs/render/contributions/rough/rough-line.d.ts +2 -2
  291. package/cjs/render/contributions/rough/rough-line.js +6 -6
  292. package/cjs/render/contributions/rough/rough-line.js.map +1 -1
  293. package/cjs/render/contributions/rough/rough-path.d.ts +1 -1
  294. package/cjs/render/contributions/rough/rough-path.js +6 -6
  295. package/cjs/render/contributions/rough/rough-path.js.map +1 -1
  296. package/cjs/render/contributions/rough/rough-rect.d.ts +1 -1
  297. package/cjs/render/contributions/rough/rough-rect.js +6 -6
  298. package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
  299. package/cjs/render/contributions/rough/rough-symbol.d.ts +2 -2
  300. package/cjs/render/contributions/rough/rough-symbol.js +8 -8
  301. package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
  302. package/cjs/window/contributions/browser-contribution.d.ts +49 -0
  303. package/cjs/window/contributions/browser-contribution.js +178 -0
  304. package/cjs/window/contributions/browser-contribution.js.map +1 -0
  305. package/cjs/window/contributions/feishu-contribution.d.ts +47 -0
  306. package/cjs/window/contributions/feishu-contribution.js +159 -0
  307. package/cjs/window/contributions/feishu-contribution.js.map +1 -0
  308. package/cjs/window/contributions/lynx-contribution.d.ts +47 -0
  309. package/cjs/window/contributions/lynx-contribution.js +159 -0
  310. package/cjs/window/contributions/lynx-contribution.js.map +1 -0
  311. package/cjs/window/contributions/native-contribution.js +1 -0
  312. package/cjs/window/contributions/native-contribution.js.map +1 -0
  313. package/cjs/window/contributions/node-contribution.d.ts +40 -1
  314. package/cjs/window/contributions/node-contribution.js +111 -1
  315. package/cjs/window/contributions/node-contribution.js.map +1 -1
  316. package/cjs/window/contributions/taro-contribution.d.ts +47 -0
  317. package/cjs/window/contributions/taro-contribution.js +166 -0
  318. package/cjs/window/contributions/taro-contribution.js.map +1 -0
  319. package/cjs/window/contributions/wx-contribution.d.ts +47 -0
  320. package/cjs/window/contributions/wx-contribution.js +161 -0
  321. package/cjs/window/contributions/wx-contribution.js.map +1 -0
  322. package/dist/index.js +5711 -44
  323. package/dist/index.min.js +1 -1
  324. package/es/canvas/contributions/browser/canvas.d.ts +17 -0
  325. package/es/canvas/contributions/browser/canvas.js +70 -0
  326. package/es/canvas/contributions/browser/canvas.js.map +1 -0
  327. package/es/canvas/contributions/browser/context.d.ts +176 -0
  328. package/es/canvas/contributions/browser/context.js +490 -0
  329. package/es/canvas/contributions/browser/context.js.map +1 -0
  330. package/es/canvas/contributions/browser/index.d.ts +2 -0
  331. package/es/canvas/contributions/browser/index.js +4 -0
  332. package/es/canvas/contributions/browser/index.js.map +1 -0
  333. package/es/canvas/contributions/browser/modules.d.ts +1 -0
  334. package/es/canvas/contributions/browser/modules.js +8 -0
  335. package/es/canvas/contributions/browser/modules.js.map +1 -0
  336. package/es/canvas/contributions/create-canvas-module.d.ts +2 -0
  337. package/es/canvas/contributions/create-canvas-module.js +9 -0
  338. package/es/canvas/contributions/create-canvas-module.js.map +1 -0
  339. package/es/canvas/contributions/feishu/canvas.d.ts +8 -0
  340. package/es/canvas/contributions/feishu/canvas.js +25 -0
  341. package/es/canvas/contributions/feishu/canvas.js.map +1 -0
  342. package/es/canvas/contributions/feishu/context.d.ts +12 -0
  343. package/es/canvas/contributions/feishu/context.js +53 -0
  344. package/es/canvas/contributions/feishu/context.js.map +1 -0
  345. package/es/canvas/contributions/feishu/index.d.ts +2 -0
  346. package/es/canvas/contributions/feishu/index.js +4 -0
  347. package/es/canvas/contributions/feishu/index.js.map +1 -0
  348. package/es/canvas/contributions/feishu/modules.d.ts +1 -0
  349. package/es/canvas/contributions/feishu/modules.js +8 -0
  350. package/es/canvas/contributions/feishu/modules.js.map +1 -0
  351. package/es/canvas/contributions/lynx/canvas.d.ts +8 -0
  352. package/es/canvas/contributions/lynx/canvas.js +26 -0
  353. package/es/canvas/contributions/lynx/canvas.js.map +1 -0
  354. package/es/canvas/contributions/lynx/context.d.ts +13 -0
  355. package/es/canvas/contributions/lynx/context.js +54 -0
  356. package/es/canvas/contributions/lynx/context.js.map +1 -0
  357. package/es/canvas/contributions/lynx/index.d.ts +2 -0
  358. package/es/canvas/contributions/lynx/index.js +4 -0
  359. package/es/canvas/contributions/lynx/index.js.map +1 -0
  360. package/es/canvas/contributions/lynx/modules.d.ts +1 -0
  361. package/es/canvas/contributions/lynx/modules.js +8 -0
  362. package/es/canvas/contributions/lynx/modules.js.map +1 -0
  363. package/es/canvas/contributions/modules.d.ts +9 -0
  364. package/es/canvas/contributions/modules.js +48 -0
  365. package/es/canvas/contributions/modules.js.map +1 -0
  366. package/es/canvas/contributions/node/canvas.d.ts +8 -1
  367. package/es/canvas/contributions/node/canvas.js +29 -0
  368. package/es/canvas/contributions/node/canvas.js.map +1 -1
  369. package/es/canvas/contributions/node/context.d.ts +7 -1
  370. package/es/canvas/contributions/node/context.js +28 -0
  371. package/es/canvas/contributions/node/context.js.map +1 -1
  372. package/es/canvas/contributions/node/index.d.ts +2 -1
  373. package/es/canvas/contributions/node/index.js +3 -0
  374. package/es/canvas/contributions/node/index.js.map +1 -1
  375. package/es/canvas/contributions/node/modules.d.ts +1 -1
  376. package/es/canvas/contributions/node/modules.js +7 -0
  377. package/es/canvas/contributions/node/modules.js.map +1 -1
  378. package/es/canvas/contributions/taro/canvas.d.ts +8 -0
  379. package/es/canvas/contributions/taro/canvas.js +28 -0
  380. package/es/canvas/contributions/taro/canvas.js.map +1 -0
  381. package/es/canvas/contributions/taro/context.d.ts +32 -0
  382. package/es/canvas/contributions/taro/context.js +64 -0
  383. package/es/canvas/contributions/taro/context.js.map +1 -0
  384. package/es/canvas/contributions/taro/index.d.ts +2 -0
  385. package/es/canvas/contributions/taro/index.js +4 -0
  386. package/es/canvas/contributions/taro/index.js.map +1 -0
  387. package/es/canvas/contributions/taro/modules.d.ts +1 -0
  388. package/es/canvas/contributions/taro/modules.js +8 -0
  389. package/es/canvas/contributions/taro/modules.js.map +1 -0
  390. package/es/canvas/contributions/tt/canvas.d.ts +8 -0
  391. package/es/canvas/contributions/tt/canvas.js +26 -0
  392. package/es/canvas/contributions/tt/canvas.js.map +1 -0
  393. package/es/canvas/contributions/tt/context.d.ts +5 -0
  394. package/es/canvas/contributions/tt/context.js +16 -0
  395. package/es/canvas/contributions/tt/context.js.map +1 -0
  396. package/es/canvas/contributions/tt/index.d.ts +2 -0
  397. package/es/canvas/contributions/tt/index.js +4 -0
  398. package/es/canvas/contributions/tt/index.js.map +1 -0
  399. package/es/canvas/contributions/tt/modules.d.ts +1 -0
  400. package/es/canvas/contributions/tt/modules.js +8 -0
  401. package/es/canvas/contributions/tt/modules.js.map +1 -0
  402. package/es/canvas/contributions/wx/canvas.d.ts +8 -0
  403. package/es/canvas/contributions/wx/canvas.js +26 -0
  404. package/es/canvas/contributions/wx/canvas.js.map +1 -0
  405. package/es/canvas/contributions/wx/context.d.ts +7 -0
  406. package/es/canvas/contributions/wx/context.js +21 -0
  407. package/es/canvas/contributions/wx/context.js.map +1 -0
  408. package/es/canvas/contributions/wx/index.d.ts +2 -0
  409. package/es/canvas/contributions/wx/index.js +4 -0
  410. package/es/canvas/contributions/wx/index.js.map +1 -0
  411. package/es/canvas/contributions/wx/modules.d.ts +1 -0
  412. package/es/canvas/contributions/wx/modules.js +8 -0
  413. package/es/canvas/contributions/wx/modules.js.map +1 -0
  414. package/es/canvas/index.d.ts +1 -1
  415. package/es/canvas/index.js +2 -1
  416. package/es/canvas/index.js.map +1 -1
  417. package/es/env/all.d.ts +4 -0
  418. package/es/env/all.js +34 -0
  419. package/es/env/all.js.map +1 -0
  420. package/es/env/browser.d.ts +3 -0
  421. package/es/env/browser.js +19 -0
  422. package/es/env/browser.js.map +1 -0
  423. package/es/env/contributions/browser-contribution.d.ts +42 -0
  424. package/es/env/contributions/browser-contribution.js +193 -0
  425. package/es/env/contributions/browser-contribution.js.map +1 -0
  426. package/es/env/contributions/browser-module.d.ts +2 -0
  427. package/es/env/contributions/browser-module.js +8 -0
  428. package/es/env/contributions/browser-module.js.map +1 -0
  429. package/es/env/contributions/feishu-contribution.d.ts +41 -0
  430. package/es/env/contributions/feishu-contribution.js +111 -0
  431. package/es/env/contributions/feishu-contribution.js.map +1 -0
  432. package/es/env/contributions/feishu-module.d.ts +2 -0
  433. package/es/env/contributions/feishu-module.js +8 -0
  434. package/es/env/contributions/feishu-module.js.map +1 -0
  435. package/es/env/contributions/lynx-contribution.d.ts +41 -0
  436. package/es/env/contributions/lynx-contribution.js +129 -0
  437. package/es/env/contributions/lynx-contribution.js.map +1 -0
  438. package/es/env/contributions/module.d.ts +8 -1
  439. package/es/env/contributions/module.js +42 -1
  440. package/es/env/contributions/module.js.map +1 -1
  441. package/es/env/contributions/node-contribution.d.ts +49 -1
  442. package/es/env/contributions/node-contribution.js +90 -1
  443. package/es/env/contributions/node-contribution.js.map +1 -1
  444. package/es/env/contributions/taro-contribution.d.ts +57 -0
  445. package/es/env/contributions/taro-contribution.js +137 -0
  446. package/es/env/contributions/taro-contribution.js.map +1 -0
  447. package/es/env/contributions/wx-contribution.d.ts +40 -0
  448. package/es/env/contributions/wx-contribution.js +126 -0
  449. package/es/env/contributions/wx-contribution.js.map +1 -0
  450. package/es/env/feishu.d.ts +3 -0
  451. package/es/env/feishu.js +19 -0
  452. package/es/env/feishu.js.map +1 -0
  453. package/es/env/index.d.ts +7 -0
  454. package/es/env/index.js +14 -0
  455. package/es/env/index.js.map +1 -0
  456. package/es/env/lynx.d.ts +3 -0
  457. package/es/env/lynx.js +19 -0
  458. package/es/env/lynx.js.map +1 -0
  459. package/es/env/node.d.ts +3 -0
  460. package/es/env/node.js +19 -0
  461. package/es/env/node.js.map +1 -0
  462. package/es/env/taro.d.ts +3 -0
  463. package/es/env/taro.js +19 -0
  464. package/es/env/taro.js.map +1 -0
  465. package/es/env/wx.d.ts +3 -0
  466. package/es/env/wx.js +19 -0
  467. package/es/env/wx.js.map +1 -0
  468. package/es/event/extension/drag.d.ts +9 -0
  469. package/es/event/extension/drag.js +45 -0
  470. package/es/event/extension/drag.js.map +1 -0
  471. package/es/event/extension/gesture.d.ts +38 -0
  472. package/es/event/extension/gesture.js +177 -0
  473. package/es/event/extension/gesture.js.map +1 -0
  474. package/es/event/extension/index.d.ts +3 -0
  475. package/es/event/extension/index.js +6 -0
  476. package/es/event/extension/index.js.map +1 -0
  477. package/es/index-node.d.ts +1 -2
  478. package/es/index-node.js +0 -2
  479. package/es/index-node.js.map +1 -1
  480. package/es/index.d.ts +5 -2
  481. package/es/index.js +8 -2
  482. package/es/index.js.map +1 -1
  483. package/es/jsx/graphicType.d.ts +171 -0
  484. package/es/jsx/graphicType.js +126 -0
  485. package/es/jsx/graphicType.js.map +1 -0
  486. package/es/jsx/index.d.ts +2 -0
  487. package/es/jsx/index.js +4 -0
  488. package/es/jsx/index.js.map +1 -0
  489. package/es/jsx/jsx-classic.d.ts +3 -0
  490. package/es/jsx/jsx-classic.js +56 -0
  491. package/es/jsx/jsx-classic.js.map +1 -0
  492. package/es/picker/canvas-module.d.ts +4 -0
  493. package/es/picker/canvas-module.js +15 -0
  494. package/es/picker/canvas-module.js.map +1 -0
  495. package/es/picker/canvas-picker-service.d.ts +28 -0
  496. package/es/picker/canvas-picker-service.js +79 -0
  497. package/es/picker/canvas-picker-service.js.map +1 -0
  498. package/es/picker/contributions/canvas-picker/arc-picker.d.ts +9 -0
  499. package/es/picker/contributions/canvas-picker/arc-picker.js +45 -0
  500. package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -0
  501. package/es/picker/contributions/canvas-picker/arc3d-picker.d.ts +10 -0
  502. package/es/picker/contributions/canvas-picker/arc3d-picker.js +46 -0
  503. package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -0
  504. package/es/picker/contributions/canvas-picker/area-picker.d.ts +9 -0
  505. package/es/picker/contributions/canvas-picker/area-picker.js +39 -0
  506. package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -0
  507. package/es/picker/contributions/canvas-picker/base-picker.d.ts +4 -0
  508. package/es/picker/contributions/canvas-picker/base-picker.js +14 -0
  509. package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -0
  510. package/es/picker/contributions/canvas-picker/circle-picker.d.ts +9 -0
  511. package/es/picker/contributions/canvas-picker/circle-picker.js +44 -0
  512. package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -0
  513. package/es/picker/contributions/canvas-picker/glyph-picker.d.ts +9 -0
  514. package/es/picker/contributions/canvas-picker/glyph-picker.js +40 -0
  515. package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
  516. package/es/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
  517. package/es/picker/contributions/canvas-picker/group-picker.js +21 -0
  518. package/es/picker/contributions/canvas-picker/group-picker.js.map +1 -0
  519. package/es/picker/contributions/canvas-picker/image-picker.d.ts +7 -0
  520. package/es/picker/contributions/canvas-picker/image-picker.js +22 -0
  521. package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -0
  522. package/es/picker/contributions/canvas-picker/line-picker.d.ts +10 -0
  523. package/es/picker/contributions/canvas-picker/line-picker.js +52 -0
  524. package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -0
  525. package/es/picker/contributions/canvas-picker/module.d.ts +3 -0
  526. package/es/picker/contributions/canvas-picker/module.js +64 -0
  527. package/es/picker/contributions/canvas-picker/module.js.map +1 -0
  528. package/es/picker/contributions/canvas-picker/path-picker.d.ts +10 -0
  529. package/es/picker/contributions/canvas-picker/path-picker.js +53 -0
  530. package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -0
  531. package/es/picker/contributions/canvas-picker/polygon-picker.d.ts +9 -0
  532. package/es/picker/contributions/canvas-picker/polygon-picker.js +43 -0
  533. package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -0
  534. package/es/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +10 -0
  535. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +47 -0
  536. package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -0
  537. package/es/picker/contributions/canvas-picker/rect-picker.d.ts +9 -0
  538. package/es/picker/contributions/canvas-picker/rect-picker.js +59 -0
  539. package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -0
  540. package/es/picker/contributions/canvas-picker/rect3d-picker.d.ts +10 -0
  541. package/es/picker/contributions/canvas-picker/rect3d-picker.js +50 -0
  542. package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -0
  543. package/es/picker/contributions/canvas-picker/richtext-picker.d.ts +9 -0
  544. package/es/picker/contributions/canvas-picker/richtext-picker.js +27 -0
  545. package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -0
  546. package/es/picker/contributions/canvas-picker/symbol-picker.d.ts +10 -0
  547. package/es/picker/contributions/canvas-picker/symbol-picker.js +55 -0
  548. package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
  549. package/es/picker/contributions/canvas-picker/text-picker.d.ts +10 -0
  550. package/es/picker/contributions/canvas-picker/text-picker.js +52 -0
  551. package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -0
  552. package/es/picker/contributions/constants.d.ts +29 -0
  553. package/es/picker/contributions/constants.js +58 -0
  554. package/es/picker/contributions/constants.js.map +1 -0
  555. package/es/picker/contributions/math-picker/arc-picker.d.ts +9 -0
  556. package/es/picker/contributions/math-picker/arc-picker.js +45 -0
  557. package/es/picker/contributions/math-picker/arc-picker.js.map +1 -0
  558. package/es/picker/contributions/math-picker/area-picker.d.ts +9 -0
  559. package/es/picker/contributions/math-picker/area-picker.js +39 -0
  560. package/es/picker/contributions/math-picker/area-picker.js.map +1 -0
  561. package/es/picker/contributions/math-picker/circle-picker.d.ts +9 -0
  562. package/es/picker/contributions/math-picker/circle-picker.js +44 -0
  563. package/es/picker/contributions/math-picker/circle-picker.js.map +1 -0
  564. package/es/picker/contributions/math-picker/glyph-picker.d.ts +9 -0
  565. package/es/picker/contributions/math-picker/glyph-picker.js +38 -0
  566. package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -0
  567. package/es/picker/contributions/math-picker/line-picker.d.ts +9 -0
  568. package/es/picker/contributions/math-picker/line-picker.js +44 -0
  569. package/es/picker/contributions/math-picker/line-picker.js.map +1 -0
  570. package/es/picker/contributions/math-picker/module.d.ts +3 -0
  571. package/es/picker/contributions/math-picker/module.js +43 -0
  572. package/es/picker/contributions/math-picker/module.js.map +1 -0
  573. package/es/picker/contributions/math-picker/path-picker.d.ts +9 -0
  574. package/es/picker/contributions/math-picker/path-picker.js +44 -0
  575. package/es/picker/contributions/math-picker/path-picker.js.map +1 -0
  576. package/es/picker/contributions/math-picker/polygon-picker.d.ts +9 -0
  577. package/es/picker/contributions/math-picker/polygon-picker.js +43 -0
  578. package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -0
  579. package/es/picker/contributions/math-picker/rect-picker.d.ts +9 -0
  580. package/es/picker/contributions/math-picker/rect-picker.js +59 -0
  581. package/es/picker/contributions/math-picker/rect-picker.js.map +1 -0
  582. package/es/picker/contributions/math-picker/symbol-picker.d.ts +9 -0
  583. package/es/picker/contributions/math-picker/symbol-picker.js +44 -0
  584. package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -0
  585. package/es/picker/contributions/math-picker/text-picker.d.ts +7 -0
  586. package/es/picker/contributions/math-picker/text-picker.js +21 -0
  587. package/es/picker/contributions/math-picker/text-picker.js.map +1 -0
  588. package/es/picker/index.d.ts +1 -0
  589. package/es/picker/index.js +2 -0
  590. package/es/picker/index.js.map +1 -0
  591. package/es/picker/math-module.d.ts +4 -0
  592. package/es/picker/math-module.js +15 -0
  593. package/es/picker/math-module.js.map +1 -0
  594. package/es/picker/math-picker-service.d.ts +16 -0
  595. package/es/picker/math-picker-service.js +48 -0
  596. package/es/picker/math-picker-service.js.map +1 -0
  597. package/es/picker/module.d.ts +6 -0
  598. package/es/picker/module.js +28 -0
  599. package/es/picker/module.js.map +1 -0
  600. package/es/render/contributions/rough/config.js +1 -1
  601. package/es/render/contributions/rough/module.d.ts +1 -1
  602. package/es/render/contributions/rough/module.js +3 -5
  603. package/es/render/contributions/rough/module.js.map +1 -1
  604. package/es/render/contributions/rough/rough-arc.d.ts +1 -1
  605. package/es/render/contributions/rough/rough-arc.js +3 -4
  606. package/es/render/contributions/rough/rough-arc.js.map +1 -1
  607. package/es/render/contributions/rough/rough-area.d.ts +2 -2
  608. package/es/render/contributions/rough/rough-area.js +2 -4
  609. package/es/render/contributions/rough/rough-area.js.map +1 -1
  610. package/es/render/contributions/rough/rough-circle.d.ts +1 -1
  611. package/es/render/contributions/rough/rough-circle.js +2 -4
  612. package/es/render/contributions/rough/rough-circle.js.map +1 -1
  613. package/es/render/contributions/rough/rough-line.d.ts +2 -2
  614. package/es/render/contributions/rough/rough-line.js +2 -4
  615. package/es/render/contributions/rough/rough-line.js.map +1 -1
  616. package/es/render/contributions/rough/rough-path.d.ts +1 -1
  617. package/es/render/contributions/rough/rough-path.js +2 -4
  618. package/es/render/contributions/rough/rough-path.js.map +1 -1
  619. package/es/render/contributions/rough/rough-rect.d.ts +1 -1
  620. package/es/render/contributions/rough/rough-rect.js +2 -4
  621. package/es/render/contributions/rough/rough-rect.js.map +1 -1
  622. package/es/render/contributions/rough/rough-symbol.d.ts +2 -2
  623. package/es/render/contributions/rough/rough-symbol.js +2 -4
  624. package/es/render/contributions/rough/rough-symbol.js.map +1 -1
  625. package/es/window/contributions/browser-contribution.d.ts +49 -0
  626. package/es/window/contributions/browser-contribution.js +176 -0
  627. package/es/window/contributions/browser-contribution.js.map +1 -0
  628. package/es/window/contributions/feishu-contribution.d.ts +47 -0
  629. package/es/window/contributions/feishu-contribution.js +157 -0
  630. package/es/window/contributions/feishu-contribution.js.map +1 -0
  631. package/es/window/contributions/lynx-contribution.d.ts +47 -0
  632. package/es/window/contributions/lynx-contribution.js +157 -0
  633. package/es/window/contributions/lynx-contribution.js.map +1 -0
  634. package/es/window/contributions/native-contribution.js +1 -0
  635. package/es/window/contributions/native-contribution.js.map +1 -0
  636. package/es/window/contributions/node-contribution.d.ts +40 -1
  637. package/es/window/contributions/node-contribution.js +109 -1
  638. package/es/window/contributions/node-contribution.js.map +1 -1
  639. package/es/window/contributions/taro-contribution.d.ts +47 -0
  640. package/es/window/contributions/taro-contribution.js +164 -0
  641. package/es/window/contributions/taro-contribution.js.map +1 -0
  642. package/es/window/contributions/wx-contribution.d.ts +47 -0
  643. package/es/window/contributions/wx-contribution.js +159 -0
  644. package/es/window/contributions/wx-contribution.js.map +1 -0
  645. package/package.json +2 -4
  646. package/cjs/canvas/contributions/canvas-module.js +0 -1
  647. package/cjs/canvas/contributions/canvas-module.js.map +0 -1
  648. package/cjs/window/contributions/modules.js +0 -1
  649. package/cjs/window/contributions/modules.js.map +0 -1
  650. package/es/canvas/contributions/canvas-module.d.ts +0 -1
  651. package/es/canvas/contributions/canvas-module.js +0 -1
  652. package/es/canvas/contributions/canvas-module.js.map +0 -1
  653. package/es/window/contributions/modules.d.ts +0 -1
  654. package/es/window/contributions/modules.js +0 -1
  655. package/es/window/contributions/modules.js.map +0 -1
  656. /package/cjs/{canvas/contributions/canvas-module.d.ts → window/contributions/native-contribution.d.ts} +0 -0
  657. /package/{cjs/window/contributions/modules.d.ts → es/window/contributions/native-contribution.d.ts} +0 -0
@@ -0,0 +1,129 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ }, __metadata = this && this.__metadata || function(k, v) {
6
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ };
8
+
9
+ import { injectable, BaseEnvContribution, rafBasedSto } from "@visactor/vrender-core";
10
+
11
+ let ng = !1;
12
+
13
+ try {
14
+ ng = !!lynx.createCanvasNG;
15
+ } catch (err) {}
16
+
17
+ function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList) {
18
+ const dpr = SystemInfo.pixelRatio;
19
+ canvasIdLists.forEach(((id, i) => {
20
+ const _canvas = ng ? lynx.createCanvasNG(id) : lynx.createCanvas(id);
21
+ _canvas.width = domref.width * dpr, _canvas.height = domref.height * dpr, ng && _canvas.attachToCanvasView(id);
22
+ const ctx = _canvas.getContext("2d");
23
+ ctx.draw = (a, b) => {
24
+ b();
25
+ };
26
+ const canvas = {
27
+ width: domref.width * dpr,
28
+ height: domref.height * dpr,
29
+ offsetWidth: domref.width,
30
+ offsetHeight: domref.height,
31
+ id: null != id ? id : "",
32
+ getContext: () => ctx,
33
+ getBoundingClientRect: () => ({
34
+ height: domref.height,
35
+ width: domref.width
36
+ })
37
+ };
38
+ canvasMap.set(id, canvas), i >= freeCanvasIdx && freeCanvasList.push(canvas);
39
+ }));
40
+ }
41
+
42
+ export function createImageElement(src, isSvg = !1) {
43
+ if (isSvg) return Promise.reject();
44
+ const img = lynx.createImage(src);
45
+ return new Promise(((resolve, reject) => {
46
+ img.onload = () => {
47
+ resolve(img);
48
+ }, img.onerror = () => {
49
+ reject(new Error("加载失败"));
50
+ };
51
+ }));
52
+ }
53
+
54
+ let LynxEnvContribution = class extends BaseEnvContribution {
55
+ constructor() {
56
+ super(), this.type = "lynx", this.supportEvent = !0, this.canvasMap = new Map, this.freeCanvasList = [],
57
+ this.canvasIdx = 0, this.supportsTouchEvents = !0;
58
+ try {
59
+ this.supportsPointerEvents = !!globalThis.PointerEvent, this.supportsMouseEvents = !!globalThis.MouseEvent;
60
+ } catch (err) {
61
+ this.supportsPointerEvents = !1, this.supportsMouseEvents = !1;
62
+ }
63
+ this.applyStyles = !0;
64
+ }
65
+ configure(service, params) {
66
+ service.env === this.type && (service.setActiveEnvContribution(this), makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList));
67
+ }
68
+ getDynamicCanvasCount() {
69
+ return this.freeCanvasList.length;
70
+ }
71
+ getStaticCanvasCount() {
72
+ return this.freeCanvasList.length;
73
+ }
74
+ loadImage(url) {
75
+ return createImageElement(url, !1).then((img => ({
76
+ data: img,
77
+ loadState: "success"
78
+ }))).catch((() => ({
79
+ data: null,
80
+ loadState: "fail"
81
+ })));
82
+ }
83
+ loadSvg(url) {
84
+ return Promise.reject();
85
+ }
86
+ createCanvas(params) {
87
+ const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];
88
+ return this.canvasIdx++, result;
89
+ }
90
+ createOffscreenCanvas(params) {}
91
+ releaseCanvas(canvas) {}
92
+ getDevicePixelRatio() {
93
+ return SystemInfo.pixelRatio;
94
+ }
95
+ getRequestAnimationFrame() {
96
+ return function(callback) {
97
+ return rafBasedSto.call(callback);
98
+ };
99
+ }
100
+ getCancelAnimationFrame() {
101
+ return h => {
102
+ rafBasedSto.clear(h);
103
+ };
104
+ }
105
+ addEventListener(type, listener, options) {
106
+ return null;
107
+ }
108
+ removeEventListener(type, listener, options) {
109
+ return null;
110
+ }
111
+ dispatchEvent(event) {
112
+ return null;
113
+ }
114
+ getElementById(str) {
115
+ return this.canvasMap.get(str);
116
+ }
117
+ getRootElement() {
118
+ return null;
119
+ }
120
+ getDocument() {
121
+ return null;
122
+ }
123
+ release(...params) {}
124
+ };
125
+
126
+ LynxEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], LynxEnvContribution);
127
+
128
+ export { LynxEnvContribution };
129
+ //# sourceMappingURL=lynx-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/env/contributions/lynx-contribution.ts"],"names":[],"mappings":"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","file":"lynx-contribution.js","sourcesContent":["import { injectable, BaseEnvContribution, rafBasedSto } from '@visactor/vrender-core';\n// import { loadFeishuContributions } from '../../../kits';\nimport type {\n ICanvasLike,\n EnvType,\n ICreateCanvasParams,\n IEnvContribution,\n IGlobal,\n ILynxCanvas\n} from '@visactor/vrender-core';\n\ndeclare const lynx: {\n getSystemInfoSync: () => { pixelRatio: number };\n createCanvas: (id: string) => any;\n createCanvasNG: (id: string) => any;\n createImage: (id: string) => any;\n};\ndeclare const SystemInfo: {\n pixelRatio: number;\n};\n\nlet ng = false;\ntry {\n ng = !!lynx.createCanvasNG;\n} catch (err) {\n // do nothing\n}\n\n// 飞书小程序canvas的wrap\nfunction makeUpCanvas(\n domref: any,\n canvasIdLists: string[],\n canvasMap: Map<string, ILynxCanvas>,\n freeCanvasIdx: number,\n freeCanvasList: ILynxCanvas[]\n) {\n const dpr = SystemInfo.pixelRatio;\n\n canvasIdLists.forEach((id, i) => {\n const _canvas = ng ? lynx.createCanvasNG(id) : lynx.createCanvas(id);\n _canvas.width = domref.width * dpr;\n _canvas.height = domref.height * dpr;\n ng && _canvas.attachToCanvasView(id);\n\n const ctx = _canvas.getContext('2d');\n ctx.draw = (a: any, b: any) => {\n b();\n };\n // TODO: 这里是一个临时方案,向 ctx 内部构造一个 canvas,传递宽高\n // ctx.canvas = {\n // width: domref.width * dpr,\n // height: domref.height * dpr\n // };\n\n const canvas = {\n width: domref.width * dpr,\n height: domref.height * dpr,\n offsetWidth: domref.width,\n offsetHeight: domref.height,\n id: id ?? '',\n getContext: () => ctx,\n // 构造 getBoundingClientRect 方法\n getBoundingClientRect: () => ({\n height: domref.height,\n width: domref.width\n })\n };\n\n canvasMap.set(id, canvas);\n if (i >= freeCanvasIdx) {\n freeCanvasList.push(canvas);\n }\n });\n}\n\nexport function createImageElement(src: string, isSvg: boolean = false): Promise<HTMLImageElement> {\n if (isSvg) {\n return Promise.reject();\n }\n const img = lynx.createImage(src);\n // if (img.complete) {\n // return Promise.resolve(img);\n // }\n const promise: Promise<HTMLImageElement> = new Promise((resolve, reject) => {\n img.onload = () => {\n resolve(img);\n };\n img.onerror = () => {\n reject(new Error('加载失败'));\n };\n });\n return promise;\n}\n\n@injectable()\nexport class LynxEnvContribution extends BaseEnvContribution implements IEnvContribution {\n type: EnvType = 'lynx';\n supportEvent: boolean = true;\n // 所有添加进来的canvas\n canvasMap: Map<string, ILynxCanvas> = new Map();\n // 所有可用的canvasList\n freeCanvasList: ILynxCanvas[] = [];\n canvasIdx: number = 0;\n\n constructor() {\n super();\n this.supportsTouchEvents = true;\n try {\n this.supportsPointerEvents = !!globalThis.PointerEvent;\n this.supportsMouseEvents = !!globalThis.MouseEvent;\n } catch (err) {\n this.supportsPointerEvents = false;\n this.supportsMouseEvents = false;\n }\n this.applyStyles = true;\n }\n\n // TODO:VGrammar在小程序环境会重复调用setEnv传入canvas,所以每次configure并不会释放\n // 这里等待后续和VGrammar沟通\n configure(service: IGlobal, params: { domref: any; canvasIdLists: string[]; freeCanvasIdx: number }) {\n if (service.env === this.type) {\n service.setActiveEnvContribution(this);\n makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList);\n\n // loadFeishuContributions();\n }\n }\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount(): number {\n return this.freeCanvasList.length;\n }\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount(): number {\n return this.freeCanvasList.length;\n }\n\n loadImage(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n const imagePromise = createImageElement(url, false);\n return imagePromise\n .then((img: HTMLImageElement) => {\n return {\n data: img,\n loadState: 'success' as const\n };\n })\n .catch(() => {\n return {\n data: null,\n loadState: 'fail'\n };\n });\n }\n\n loadSvg(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n // 飞书小组件不支持DOMParser和URL.createObjectURL,无法解析svg字符串,可以通过url使用svg资源\n return Promise.reject();\n }\n\n createCanvas(params: ICreateCanvasParams): ILynxCanvas {\n const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];\n this.canvasIdx++;\n return result;\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n return;\n }\n\n releaseCanvas(canvas: ICanvasLike | string) {\n return;\n }\n\n getDevicePixelRatio(): number {\n return SystemInfo.pixelRatio;\n }\n\n getRequestAnimationFrame(): (callback: FrameRequestCallback) => number {\n // return requestAnimationFrame;\n\n // 飞书小组件,在云文档浏览器环境中,没有requestAnimationFrame\n // 但是在小组件工作台环境和模拟器中正常\n // 反馈飞书修改,目前先使用setTimeout模拟,进行测试,飞书修复后替换回requestAnimationFrame\n // return function (callback: FrameRequestCallback) {\n // return setTimeout(callback, 1000 / 60, true);\n // } as any;\n return function (callback: FrameRequestCallback) {\n return rafBasedSto.call(callback);\n } as any;\n }\n\n getCancelAnimationFrame(): (h: number) => void {\n return (h: number) => {\n rafBasedSto.clear(h);\n };\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n dispatchEvent(event: any): boolean {\n return null;\n }\n\n // 只能索引canvas\n getElementById(str: string): any | null {\n return this.canvasMap.get(str);\n }\n\n getRootElement(): HTMLElement | null {\n return null;\n }\n\n getDocument(): Document | null {\n return null;\n }\n\n release(...params: any): void {\n return;\n }\n}\n"]}
@@ -1 +1,8 @@
1
-
1
+ import { ContainerModule } from '@visactor/vrender-core';
2
+ export declare const browserEnvModule: ContainerModule;
3
+ export declare const feishuEnvModule: ContainerModule;
4
+ export declare const taroEnvModule: ContainerModule;
5
+ export declare const ttEnvModule: ContainerModule;
6
+ export declare const lynxEnvModule: ContainerModule;
7
+ export declare const wxEnvModule: ContainerModule;
8
+ export declare const nodeEnvModule: ContainerModule;
@@ -1 +1,42 @@
1
- //# sourceMappingURL=module.js.map
1
+ import { ContainerModule, EnvContribution } from "@visactor/vrender-core";
2
+
3
+ import { BrowserEnvContribution } from "./browser-contribution";
4
+
5
+ import { FeishuEnvContribution } from "./feishu-contribution";
6
+
7
+ import { TaroEnvContribution } from "./taro-contribution";
8
+
9
+ import { LynxEnvContribution } from "./lynx-contribution";
10
+
11
+ import { WxEnvContribution } from "./wx-contribution";
12
+
13
+ import { NodeEnvContribution } from "./node-contribution";
14
+
15
+ export const browserEnvModule = new ContainerModule((bind => {
16
+ bind(BrowserEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(BrowserEnvContribution);
17
+ }));
18
+
19
+ export const feishuEnvModule = new ContainerModule((bind => {
20
+ bind(FeishuEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(FeishuEnvContribution);
21
+ }));
22
+
23
+ export const taroEnvModule = new ContainerModule((bind => {
24
+ bind(TaroEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(TaroEnvContribution);
25
+ }));
26
+
27
+ export const ttEnvModule = new ContainerModule((bind => {
28
+ bind(TaroEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(TaroEnvContribution);
29
+ }));
30
+
31
+ export const lynxEnvModule = new ContainerModule((bind => {
32
+ bind(LynxEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(LynxEnvContribution);
33
+ }));
34
+
35
+ export const wxEnvModule = new ContainerModule((bind => {
36
+ bind(WxEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(WxEnvContribution);
37
+ }));
38
+
39
+ export const nodeEnvModule = new ContainerModule((bind => {
40
+ bind(NodeEnvContribution).toSelf().inSingletonScope(), bind(EnvContribution).toService(NodeEnvContribution);
41
+ }));
42
+ //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env/contributions/module.ts"],"names":[],"mappings":"","file":"module.js","sourcesContent":["// import { ContainerModule } from 'inversify';\n// import { bindContributionProvider, EnvContribution } from '@visactor/vrender';\n// import { NodeEnvContribution } from './node-contribution';\n\n// export default new ContainerModule(bind => {\n// bind(NodeEnvContribution).toSelf().inSingletonScope();\n// bind(EnvContribution).toService(NodeEnvContribution);\n// });\n"]}
1
+ {"version":3,"sources":["../src/env/contributions/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEzD,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAExD,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEtD,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEpD,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEtD,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEpD,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACpD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAEtD,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACtD,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC","file":"module.js","sourcesContent":["import { ContainerModule, EnvContribution } from '@visactor/vrender-core';\nimport { BrowserEnvContribution } from './browser-contribution';\nimport { FeishuEnvContribution } from './feishu-contribution';\nimport { TaroEnvContribution } from './taro-contribution';\nimport { LynxEnvContribution } from './lynx-contribution';\nimport { WxEnvContribution } from './wx-contribution';\nimport { NodeEnvContribution } from './node-contribution';\n\nexport const browserEnvModule = new ContainerModule(bind => {\n // browser\n bind(BrowserEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(BrowserEnvContribution);\n});\n\nexport const feishuEnvModule = new ContainerModule(bind => {\n // feishu\n bind(FeishuEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(FeishuEnvContribution);\n});\n\nexport const taroEnvModule = new ContainerModule(bind => {\n // taro\n bind(TaroEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(TaroEnvContribution);\n});\n\nexport const ttEnvModule = new ContainerModule(bind => {\n // taro\n bind(TaroEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(TaroEnvContribution);\n});\n\nexport const lynxEnvModule = new ContainerModule(bind => {\n // lynx\n bind(LynxEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(LynxEnvContribution);\n});\n\nexport const wxEnvModule = new ContainerModule(bind => {\n // wx\n bind(WxEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(WxEnvContribution);\n});\n\nexport const nodeEnvModule = new ContainerModule(bind => {\n // node\n bind(NodeEnvContribution).toSelf().inSingletonScope();\n bind(EnvContribution).toService(NodeEnvContribution);\n});\n"]}
@@ -1 +1,49 @@
1
-
1
+ import { BaseEnvContribution } from '@visactor/vrender-core';
2
+ import type { EnvType, ICreateCanvasParams, IEnvContribution, IGlobal } from '@visactor/vrender-core';
3
+ type Canvas = any;
4
+ type NodePkg = {
5
+ createCanvas: (width: number, height: number, type?: 'pdf' | 'svg') => Canvas;
6
+ createImageData: (data: Uint8ClampedArray, width: number, height?: number) => ImageData;
7
+ loadImage: (src: string | any, options?: any) => Promise<any>;
8
+ Resvg?: any;
9
+ };
10
+ export declare class NodeEnvContribution extends BaseEnvContribution implements IEnvContribution {
11
+ type: EnvType;
12
+ pkg: NodePkg;
13
+ _lastTime: number;
14
+ supportEvent: boolean;
15
+ configure(service: IGlobal, pkg: NodePkg): void;
16
+ getDynamicCanvasCount(): number;
17
+ getStaticCanvasCount(): number;
18
+ loadJson(url: string): Promise<{
19
+ loadState: 'success' | 'fail';
20
+ data: Record<string, unknown> | null;
21
+ }>;
22
+ loadArrayBuffer(url: string): Promise<{
23
+ loadState: 'success' | 'fail';
24
+ data: ArrayBuffer | null;
25
+ }>;
26
+ loadImage(url: string): Promise<{
27
+ loadState: 'success' | 'fail';
28
+ data: HTMLImageElement | null;
29
+ }>;
30
+ loadSvg(svgStr: string): Promise<{
31
+ loadState: 'success' | 'fail';
32
+ data: HTMLImageElement | null;
33
+ }>;
34
+ createCanvas(params: any): Canvas;
35
+ releaseCanvas(canvas: Canvas | any): void;
36
+ getDevicePixelRatio(): number;
37
+ getRequestAnimationFrame(): (callback: FrameRequestCallback) => number;
38
+ getCancelAnimationFrame(): (h: number) => void;
39
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
40
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
41
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined): void;
42
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
43
+ getElementById(str: string): HTMLElement | null;
44
+ getRootElement(): HTMLElement | null;
45
+ dispatchEvent(event: any): boolean;
46
+ release(...params: any): void;
47
+ createOffscreenCanvas(params: ICreateCanvasParams): void;
48
+ }
49
+ export {};
@@ -1 +1,90 @@
1
- //# sourceMappingURL=node-contribution.js.map
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ };
6
+
7
+ import { injectable, BaseEnvContribution, rafBasedSto } from "@visactor/vrender-core";
8
+
9
+ let NodeEnvContribution = class extends BaseEnvContribution {
10
+ constructor() {
11
+ super(...arguments), this.type = "node", this._lastTime = 0, this.supportEvent = !1;
12
+ }
13
+ configure(service, pkg) {
14
+ service.env === this.type && (service.setActiveEnvContribution(this), this.pkg = pkg);
15
+ }
16
+ getDynamicCanvasCount() {
17
+ return 0;
18
+ }
19
+ getStaticCanvasCount() {
20
+ return 1;
21
+ }
22
+ loadJson(url) {
23
+ const jsonPromise = fetch(url).then((data => data.json()));
24
+ return jsonPromise.then((json => ({
25
+ data: json,
26
+ state: "success"
27
+ }))).catch((() => ({
28
+ data: null,
29
+ state: "fail"
30
+ }))), jsonPromise;
31
+ }
32
+ loadArrayBuffer(url) {
33
+ return fetch(url).then((data => data.arrayBuffer())).then((arrayBuffer => ({
34
+ data: arrayBuffer,
35
+ loadState: "success"
36
+ }))).catch((() => ({
37
+ data: null,
38
+ loadState: "fail"
39
+ })));
40
+ }
41
+ loadImage(url) {
42
+ const {loadImage: loadImage} = this.pkg;
43
+ return loadImage ? loadImage(url).then((image => ({
44
+ loadState: image ? "success" : "fail",
45
+ data: image
46
+ }))).catch((() => ({
47
+ loadState: "fail",
48
+ data: null
49
+ }))) : Promise.reject(new Error("node-canvas loadImage could not be found!"));
50
+ }
51
+ loadSvg(svgStr) {
52
+ const Resvg = this.pkg.Resvg;
53
+ if (!Resvg) return Promise.reject(new Error("@resvg/resvg-js svgParser could not be found!"));
54
+ const pngData = new Resvg(svgStr).render().asPng();
55
+ return this.loadImage(pngData);
56
+ }
57
+ createCanvas(params) {
58
+ return this.pkg.createCanvas(params.width, params.height);
59
+ }
60
+ releaseCanvas(canvas) {}
61
+ getDevicePixelRatio() {
62
+ return 1;
63
+ }
64
+ getRequestAnimationFrame() {
65
+ return function(callback) {
66
+ return rafBasedSto.call(callback);
67
+ };
68
+ }
69
+ getCancelAnimationFrame() {
70
+ return h => {
71
+ rafBasedSto.clear(h);
72
+ };
73
+ }
74
+ addEventListener(type, listener, options) {}
75
+ removeEventListener(type, listener, options) {}
76
+ getElementById(str) {
77
+ return null;
78
+ }
79
+ getRootElement() {
80
+ return null;
81
+ }
82
+ dispatchEvent(event) {}
83
+ release(...params) {}
84
+ createOffscreenCanvas(params) {}
85
+ };
86
+
87
+ NodeEnvContribution = __decorate([ injectable() ], NodeEnvContribution);
88
+
89
+ export { NodeEnvContribution };
90
+ //# sourceMappingURL=node-contribution.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/env/contributions/node-contribution.ts"],"names":[],"mappings":"","file":"node-contribution.js","sourcesContent":["// import { injectable } from 'inversify';\n// import type { createCanvas, createImageData, loadImage, Canvas } from 'canvas';\n// import * as NodePkg from 'canvas';\n// import { Resvg } from '@resvg/resvg-js';\n// import type { EnvType, IEnvContribution, IGlobal, ICreateCanvasParams } from '@visactor/vrender';\n// import { BaseEnvContribution } from '@visactor/vrender';\n// import fetch from 'node-fetch';\n\n// type NodePkg = {\n// createCanvas: typeof createCanvas;\n// createImageData: typeof createImageData;\n// loadImage: typeof loadImage;\n// };\n\n// let last = 0;\n// function nodeRequestAnimationFrame(callback: FrameRequestCallback) {\n// const now = Date.now();\n// const timeLeft = Math.max(0, 16 - (now - last));\n// const id = setTimeout(function () {\n// callback(now + timeLeft);\n// }, timeLeft);\n// last = now + timeLeft;\n// return id;\n// }\n\n// @injectable()\n// export class NodeEnvContribution extends BaseEnvContribution implements IEnvContribution {\n// type: EnvType = 'node';\n// pkg: NodePkg;\n// _lastTime: number = 0;\n// supportEvent: boolean = false;\n\n// configure(service: IGlobal, pkg: NodePkg = NodePkg) {\n// if (service.env === this.type) {\n// service.setActiveEnvContribution(this);\n// this.pkg = pkg;\n// }\n// }\n\n// loadJson(url: string): Promise<{\n// loadState: 'success' | 'fail';\n// data: Record<string, unknown> | null;\n// }> {\n// const jsonPromise = fetch(url).then(data => data.json()) as Promise<any>; // ignore_security_alert\n// jsonPromise\n// .then(json => {\n// return {\n// data: json,\n// state: 'success'\n// };\n// })\n// .catch(() => {\n// return {\n// data: null,\n// state: 'fail'\n// };\n// });\n// return jsonPromise;\n// }\n\n// loadArrayBuffer(url: string): Promise<{\n// loadState: 'success' | 'fail';\n// data: ArrayBuffer | null;\n// }> {\n// const arrayBufferPromise = fetch(url).then(data => data.arrayBuffer()); // ignore_security_alert\n// return arrayBufferPromise\n// .then((arrayBuffer: ArrayBuffer) => {\n// return {\n// data: arrayBuffer,\n// loadState: 'success' as const\n// };\n// })\n// .catch(() => {\n// return {\n// data: null,\n// loadState: 'fail'\n// };\n// });\n// }\n\n// loadImage(url: string): Promise<{\n// loadState: 'success' | 'fail';\n// data: HTMLImageElement | null;\n// }> {\n// const { loadImage } = this.pkg;\n// if (loadImage) {\n// return loadImage(url)\n// .then((image: any) => {\n// const loadState: 'success' | 'fail' = image ? 'success' : 'fail';\n// return {\n// loadState,\n// data: image as HTMLImageElement\n// };\n// })\n// .catch(() => {\n// return {\n// loadState: 'fail',\n// data: null\n// } as any;\n// });\n// }\n// return Promise.reject(new Error('node-canvas loadImage could not be found!'));\n// }\n\n// // 此处的\n// loadSvg(svgStr: string): Promise<{\n// loadState: 'success' | 'fail';\n// data: HTMLImageElement | null;\n// }> {\n// // // eslint-disable-next-line @typescript-eslint/no-var-requires\n// // const { Resvg } = require('@resvg/resvg-js');\n// if (!Resvg) {\n// return Promise.reject(new Error('@resvg/resvg-js svgParser could not be found!'));\n// }\n// const resvg = new Resvg(svgStr);\n// const pngData = resvg.render().asPng();\n// return this.loadImage(pngData as unknown as string);\n// }\n\n// createCanvas(params: any): Canvas {\n// const canvas = this.pkg.createCanvas(params.width, params.height);\n// return canvas;\n// }\n\n// releaseCanvas(canvas: Canvas | any) {\n// return;\n// }\n\n// getDevicePixelRatio(): number {\n// return 0;\n// }\n\n// getRequestAnimationFrame(): (callback: FrameRequestCallback) => number {\n// // return requestAnimationFrame;\n// return nodeRequestAnimationFrame as any;\n// }\n\n// addEventListener<K extends keyof DocumentEventMap>(\n// type: K,\n// listener: (this: Document, ev: DocumentEventMap[K]) => any,\n// options?: boolean | AddEventListenerOptions | undefined\n// ): void;\n// addEventListener(\n// type: string,\n// listener: EventListenerOrEventListenerObject,\n// options?: boolean | AddEventListenerOptions | undefined\n// ): void;\n// addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n// return;\n// }\n\n// removeEventListener<K extends keyof DocumentEventMap>(\n// type: K,\n// listener: (this: Document, ev: DocumentEventMap[K]) => any,\n// options?: boolean | EventListenerOptions | undefined\n// ): void;\n// removeEventListener(\n// type: string,\n// listener: EventListenerOrEventListenerObject,\n// options?: boolean | EventListenerOptions | undefined\n// ): void;\n// removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n// return;\n// }\n\n// getElementById(str: string): HTMLElement | null {\n// return null;\n// }\n\n// getRootElement(): HTMLElement | null {\n// return null;\n// }\n\n// dispatchEvent(event: any): boolean {\n// return;\n// }\n\n// getCancelAnimationFrame(): (h: number) => void {\n// return;\n// }\n\n// release(...params: any): void {\n// return;\n// }\n\n// createOffscreenCanvas(params: ICreateCanvasParams) {\n// return;\n// }\n// }\n"]}
1
+ {"version":3,"sources":["../src/env/contributions/node-contribution.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAyB/E,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,mBAAmB;IAArD;;QACL,SAAI,GAAY,MAAM,CAAC;QAEvB,cAAS,GAAW,CAAC,CAAC;QACtB,iBAAY,GAAY,KAAK,CAAC;IAmLhC,CAAC;IAjLC,SAAS,CAAC,OAAgB,EAAE,GAAY;QACtC,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;SAChB;IACH,CAAC;IAKD,qBAAqB;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAKD,oBAAoB;QAClB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,QAAQ,CAAC,GAAW;QAIlB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAiB,CAAC;QACzE,WAAW;aACR,IAAI,CAAC,IAAI,CAAC,EAAE;YACX,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,SAAS;aACjB,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,MAAM;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,GAAW;QAIzB,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,OAAO,kBAAkB;aACtB,IAAI,CAAC,CAAC,WAAwB,EAAE,EAAE;YACjC,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,SAAkB;aAC9B,CAAC;QACJ,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,MAAM;aAClB,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,GAAW;QAInB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/B,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC,GAAG,CAAC;iBAClB,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBACnB,MAAM,SAAS,GAAuB,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;gBACjE,OAAO;oBACL,SAAS;oBACT,IAAI,EAAE,KAAyB;iBAChC,CAAC;YACJ,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE;gBACV,OAAO;oBACL,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,IAAI;iBACJ,CAAC;YACX,CAAC,CAAC,CAAC;SACN;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAChF,CAAC;IAGD,OAAO,CAAC,MAAc;QAMpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;SACnF;QACD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,OAA4B,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CAAC,MAAW;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,MAAoB;QAChC,OAAO;IACT,CAAC;IAED,mBAAmB;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,wBAAwB;QAItB,OAAO,UAAU,QAA8B;YAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAQ,CAAC;IACX,CAAC;IAED,uBAAuB;QACrB,OAAO,CAAC,CAAS,EAAE,EAAE;YACnB,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IAYD,gBAAgB,CAAC,IAAa,EAAE,QAAiB,EAAE,OAAiB;QAClE,OAAO;IACT,CAAC;IAYD,mBAAmB,CAAC,IAAa,EAAE,QAAiB,EAAE,OAAiB;QACrE,OAAO;IACT,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAU;QACtB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,MAAW;QACpB,OAAO;IACT,CAAC;IAED,qBAAqB,CAAC,MAA2B;QAC/C,OAAO;IACT,CAAC;CACF,CAAA;AAvLY,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAuL/B;SAvLY,mBAAmB","file":"node-contribution.js","sourcesContent":["import { injectable, BaseEnvContribution, rafBasedSto } from '@visactor/vrender-core';\n// import { loadTaroContributions } from '../../../kits';\nimport type { EnvType, ICreateCanvasParams, IEnvContribution, IGlobal } from '@visactor/vrender-core';\n\ntype Canvas = any;\n\ntype NodePkg = {\n createCanvas: (width: number, height: number, type?: 'pdf' | 'svg') => Canvas;\n createImageData: (data: Uint8ClampedArray, width: number, height?: number) => ImageData;\n loadImage: (src: string | any, options?: any) => Promise<any>;\n Resvg?: any;\n};\n\n// let last = 0;\n// function nodeRequestAnimationFrame(callback: FrameRequestCallback) {\n// const now = Date.now();\n// const timeLeft = Math.max(0, 16 - (now - last));\n// const id = setTimeout(function () {\n// callback(now + timeLeft);\n// }, timeLeft);\n// last = now + timeLeft;\n// return id;\n// }\n\n@injectable()\nexport class NodeEnvContribution extends BaseEnvContribution implements IEnvContribution {\n type: EnvType = 'node';\n pkg: NodePkg;\n _lastTime: number = 0;\n supportEvent: boolean = false;\n\n configure(service: IGlobal, pkg: NodePkg) {\n if (service.env === this.type) {\n service.setActiveEnvContribution(this);\n this.pkg = pkg;\n }\n }\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount(): number {\n return 0;\n }\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount(): number {\n return 1;\n }\n\n loadJson(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: Record<string, unknown> | null;\n }> {\n const jsonPromise = fetch(url).then(data => data.json()) as Promise<any>; // ignore_security_alert\n jsonPromise\n .then(json => {\n return {\n data: json,\n state: 'success'\n };\n })\n .catch(() => {\n return {\n data: null,\n state: 'fail'\n };\n });\n return jsonPromise;\n }\n\n loadArrayBuffer(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: ArrayBuffer | null;\n }> {\n const arrayBufferPromise = fetch(url).then(data => data.arrayBuffer()); // ignore_security_alert\n return arrayBufferPromise\n .then((arrayBuffer: ArrayBuffer) => {\n return {\n data: arrayBuffer,\n loadState: 'success' as const\n };\n })\n .catch(() => {\n return {\n data: null,\n loadState: 'fail'\n };\n });\n }\n\n loadImage(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | null;\n }> {\n const { loadImage } = this.pkg;\n if (loadImage) {\n return loadImage(url)\n .then((image: any) => {\n const loadState: 'success' | 'fail' = image ? 'success' : 'fail';\n return {\n loadState,\n data: image as HTMLImageElement\n };\n })\n .catch(() => {\n return {\n loadState: 'fail',\n data: null\n } as any;\n });\n }\n return Promise.reject(new Error('node-canvas loadImage could not be found!'));\n }\n\n // 此处的\n loadSvg(svgStr: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | null;\n }> {\n // // eslint-disable-next-line @typescript-eslint/no-var-requires\n // const { Resvg } = require('@resvg/resvg-js');\n const Resvg = this.pkg.Resvg;\n if (!Resvg) {\n return Promise.reject(new Error('@resvg/resvg-js svgParser could not be found!'));\n }\n const resvg = new Resvg(svgStr);\n const pngData = resvg.render().asPng();\n return this.loadImage(pngData as unknown as string);\n }\n\n createCanvas(params: any): Canvas {\n const canvas = this.pkg.createCanvas(params.width, params.height);\n return canvas;\n }\n\n releaseCanvas(canvas: Canvas | any) {\n return;\n }\n\n getDevicePixelRatio(): number {\n return 1;\n }\n\n getRequestAnimationFrame(): (callback: FrameRequestCallback) => number {\n // return function (callback: FrameRequestCallback) {\n // return setTimeout(callback, 1000 / 60, true);\n // } as any;\n return function (callback: FrameRequestCallback) {\n return rafBasedSto.call(callback);\n } as any;\n }\n\n getCancelAnimationFrame(): (h: number) => void {\n return (h: number) => {\n rafBasedSto.clear(h);\n };\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return;\n }\n\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return;\n }\n\n getElementById(str: string): HTMLElement | null {\n return null;\n }\n\n getRootElement(): HTMLElement | null {\n return null;\n }\n\n dispatchEvent(event: any): boolean {\n return;\n }\n\n release(...params: any): void {\n return;\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n return;\n }\n}\n"]}
@@ -0,0 +1,57 @@
1
+ import { BaseEnvContribution } from '@visactor/vrender-core';
2
+ import type { ICanvasLike, EnvType, ICreateCanvasParams, IEnvContribution, IGlobal, ITTCanvas } from '@visactor/vrender-core';
3
+ interface ITaro {
4
+ createCanvasContext: (id: string) => any;
5
+ canvasGetImageData: (data: {
6
+ canvasId: string;
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ success: (res: any) => void;
12
+ }) => any;
13
+ }
14
+ interface IConfigureParams {
15
+ domref: any;
16
+ canvasIdLists: string[];
17
+ freeCanvasIdx: number;
18
+ taro: ITaro;
19
+ pixelRatio: number;
20
+ }
21
+ export declare class TaroEnvContribution extends BaseEnvContribution implements IEnvContribution {
22
+ type: EnvType;
23
+ supportEvent: boolean;
24
+ canvasMap: Map<string, ITTCanvas>;
25
+ freeCanvasList: ITTCanvas[];
26
+ canvasIdx: number;
27
+ taro: ITaro;
28
+ pixelRatio: number;
29
+ constructor();
30
+ getDynamicCanvasCount(): number;
31
+ getStaticCanvasCount(): number;
32
+ configure(service: IGlobal, params: IConfigureParams): void;
33
+ loadImage(url: string): Promise<{
34
+ loadState: 'success' | 'fail';
35
+ data: HTMLImageElement | ImageData | null;
36
+ }>;
37
+ loadSvg(svgStr: string): Promise<{
38
+ loadState: 'success' | 'fail';
39
+ data: HTMLImageElement | ImageData | null;
40
+ }>;
41
+ createCanvas(params: ICreateCanvasParams): ITTCanvas;
42
+ createOffscreenCanvas(params: ICreateCanvasParams): void;
43
+ releaseCanvas(canvas: ICanvasLike | string): void;
44
+ getDevicePixelRatio(): number;
45
+ getRequestAnimationFrame(): (callback: FrameRequestCallback) => number;
46
+ getCancelAnimationFrame(): (h: number) => void;
47
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
48
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
49
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions | undefined): void;
50
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions | undefined): void;
51
+ dispatchEvent(event: any): boolean;
52
+ getElementById(str: string): any | null;
53
+ getRootElement(): HTMLElement | null;
54
+ getDocument(): Document | null;
55
+ release(...params: any): void;
56
+ }
57
+ export {};
@@ -0,0 +1,137 @@
1
+ var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
2
+ var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
3
+ if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
4
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
5
+ }, __metadata = this && this.__metadata || function(k, v) {
6
+ if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
7
+ };
8
+
9
+ import { injectable, BaseEnvContribution } from "@visactor/vrender-core";
10
+
11
+ function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, taro, dpr) {
12
+ canvasIdLists.forEach(((id, i) => {
13
+ const ctx = taro.createCanvasContext(id);
14
+ ctx.canvas = {
15
+ width: domref.width * dpr,
16
+ height: domref.height * dpr
17
+ }, ctx.createRadialGradient || (ctx.createRadialGradient = (...cc) => ctx.createCircularGradient(...cc)),
18
+ !ctx.getImageData && taro.canvasGetImageData && (ctx.getImageData = (x, y, width, height) => new Promise(((resolve, reject) => {
19
+ try {
20
+ taro.canvasGetImageData({
21
+ canvasId: id,
22
+ x: x,
23
+ y: y,
24
+ width: width,
25
+ height: height,
26
+ success(res) {
27
+ resolve(res);
28
+ }
29
+ });
30
+ } catch (err) {
31
+ reject(err);
32
+ }
33
+ })));
34
+ const canvas = {
35
+ id: id,
36
+ width: domref.width * dpr,
37
+ height: domref.height * dpr,
38
+ offsetWidth: domref.width,
39
+ offsetHeight: domref.height,
40
+ getContext: () => ctx,
41
+ getBoundingClientRect: () => ({
42
+ height: domref.height,
43
+ width: domref.width
44
+ })
45
+ };
46
+ return canvasMap.set(id, canvas), i >= freeCanvasIdx && freeCanvasList.push(canvas),
47
+ canvas;
48
+ }));
49
+ }
50
+
51
+ let TaroEnvContribution = class extends BaseEnvContribution {
52
+ constructor() {
53
+ super(), this.type = "taro", this.supportEvent = !0, this.canvasMap = new Map, this.freeCanvasList = [],
54
+ this.canvasIdx = 0, this.supportsTouchEvents = !0;
55
+ try {
56
+ this.supportsPointerEvents = !!globalThis.PointerEvent, this.supportsMouseEvents = !!globalThis.MouseEvent;
57
+ } catch (err) {
58
+ this.supportsPointerEvents = !1, this.supportsMouseEvents = !1;
59
+ }
60
+ this.applyStyles = !0;
61
+ }
62
+ getDynamicCanvasCount() {
63
+ return this.freeCanvasList.length;
64
+ }
65
+ getStaticCanvasCount() {
66
+ return this.freeCanvasList.length;
67
+ }
68
+ configure(service, params) {
69
+ service.env === this.type && (service.setActiveEnvContribution(this), makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList, params.taro, params.pixelRatio),
70
+ this.taro = params.taro, this.pixelRatio = params.pixelRatio);
71
+ }
72
+ loadImage(url) {
73
+ return Promise.resolve({
74
+ data: url,
75
+ loadState: "success"
76
+ });
77
+ }
78
+ loadSvg(svgStr) {
79
+ const _window = window || globalThis;
80
+ if (_window.DOMParser) {
81
+ const svg = (new _window.DOMParser).parseFromString(svgStr, "image/svg+xml").children[0], data = (new XMLSerializer).serializeToString(svg), url = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(data)}`;
82
+ return Promise.resolve({
83
+ data: url,
84
+ loadState: "success"
85
+ });
86
+ }
87
+ if (_window.Blob) {
88
+ const data = new _window.Blob([ svgStr ], {
89
+ type: "image/svg+xml"
90
+ }), url = _window.URL.createObjectURL(data);
91
+ return Promise.resolve({
92
+ data: url,
93
+ loadState: "success"
94
+ });
95
+ }
96
+ return Promise.reject();
97
+ }
98
+ createCanvas(params) {
99
+ const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];
100
+ return this.canvasIdx++, result;
101
+ }
102
+ createOffscreenCanvas(params) {}
103
+ releaseCanvas(canvas) {}
104
+ getDevicePixelRatio() {
105
+ return this.pixelRatio;
106
+ }
107
+ getRequestAnimationFrame() {
108
+ return requestAnimationFrame;
109
+ }
110
+ getCancelAnimationFrame() {
111
+ return cancelAnimationFrame;
112
+ }
113
+ addEventListener(type, listener, options) {
114
+ return null;
115
+ }
116
+ removeEventListener(type, listener, options) {
117
+ return null;
118
+ }
119
+ dispatchEvent(event) {
120
+ return null;
121
+ }
122
+ getElementById(str) {
123
+ return this.canvasMap.get(str);
124
+ }
125
+ getRootElement() {
126
+ return null;
127
+ }
128
+ getDocument() {
129
+ return null;
130
+ }
131
+ release(...params) {}
132
+ };
133
+
134
+ TaroEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], TaroEnvContribution);
135
+
136
+ export { TaroEnvContribution };
137
+ //# sourceMappingURL=taro-contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/env/contributions/taro-contribution.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAuBzE,SAAS,YAAY,CACnB,MAAe,EACf,aAAuB,EACvB,SAAiC,EACjC,aAAqB,EACrB,cAA2B,EAC3B,IAAW,EACX,GAAW;IAEX,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAQ,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QAE9C,GAAG,CAAC,MAAM,GAAG;YACX,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG;SAC5B,CAAC;QAGF,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE;YAC7B,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAO,EAAE,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,CAAC;SAC9E;QAGD,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAChD,GAAG,CAAC,YAAY,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,EAAE,CACzE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC9B,IAAI;oBACF,IAAI,CAAC,kBAAkB,CAAC;wBACtB,QAAQ,EAAE,EAAE;wBACZ,CAAC;wBACD,CAAC;wBACD,KAAK;wBACL,MAAM;wBACN,OAAO,CAAC,GAAG;4BACT,OAAO,CAAC,GAAG,CAAC,CAAC;wBACf,CAAC;qBACF,CAAC,CAAC;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;iBACb;YACH,CAAC,CAAC,CAAC;SACN;QAED,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,GAAG;YAC3B,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG;YAErB,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC;SACH,CAAC;QAEF,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,aAAa,EAAE;YACtB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AAWM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,mBAAmB;IAS1D;QACE,KAAK,EAAE,CAAC;QATV,SAAI,GAAY,MAAM,CAAC;QACvB,iBAAY,GAAY,IAAI,CAAC;QAC7B,cAAS,GAA2B,IAAI,GAAG,EAAE,CAAC;QAC9C,mBAAc,GAAgB,EAAE,CAAC;QACjC,cAAS,GAAW,CAAC,CAAC;QAMpB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI;YACF,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;YACvD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;SACpD;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAKD,qBAAqB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAKD,oBAAoB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAID,SAAS,CAAC,OAAgB,EAAE,MAAwB;QAClD,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACvC,YAAY,CACV,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,SAAS,EACd,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,CAClB,CAAC;YACF,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;SAGrC;IACH,CAAC;IAED,SAAS,CAAC,GAAW;QAInB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAkC;YACxC,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAc;QAIpB,MAAM,OAAO,GAAG,MAAM,IAAI,UAAU,CAAC;QACrC,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,IAAI,aAAa,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,oCAAoC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAE3E,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,GAAkC;gBACxC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;SACJ;aAAM,IAAI,OAAO,CAAC,IAAI,EAAE;YACvB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,GAAkC;gBACxC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAA2B;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qBAAqB,CAAC,MAA2B;QAC/C,OAAO;IACT,CAAC;IAED,aAAa,CAAC,MAA4B;QACxC,OAAO;IACT,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,wBAAwB;QACtB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,uBAAuB;QACrB,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAYD,gBAAgB,CAAC,IAAa,EAAE,QAAiB,EAAE,OAAiB;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAYD,mBAAmB,CAAC,IAAa,EAAE,QAAiB,EAAE,OAAiB;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAU;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,cAAc,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAG,MAAW;QACpB,OAAO;IACT,CAAC;CACF,CAAA;AA1KY,mBAAmB;IAD/B,UAAU,EAAE;;GACA,mBAAmB,CA0K/B;SA1KY,mBAAmB","file":"taro-contribution.js","sourcesContent":["import { injectable, BaseEnvContribution } from '@visactor/vrender-core';\nimport type {\n ICanvasLike,\n EnvType,\n ICreateCanvasParams,\n IEnvContribution,\n IGlobal,\n IDomRef,\n ITTCanvas\n} from '@visactor/vrender-core';\n\ninterface ITaro {\n createCanvasContext: (id: string) => any;\n canvasGetImageData: (data: {\n canvasId: string;\n x: number;\n y: number;\n width: number;\n height: number;\n success: (res: any) => void;\n }) => any;\n}\n\nfunction makeUpCanvas(\n domref: IDomRef,\n canvasIdLists: string[],\n canvasMap: Map<string, ITTCanvas>,\n freeCanvasIdx: number,\n freeCanvasList: ITTCanvas[],\n taro: ITaro,\n dpr: number\n) {\n canvasIdLists.forEach((id, i) => {\n const ctx: any = taro.createCanvasContext(id);\n // TODO: 这里是一个临时方案,向 ctx 内部构造一个 canvas,传递宽高\n ctx.canvas = {\n width: domref.width * dpr,\n height: domref.height * dpr\n };\n\n // TODO: 这里是一个临时方案,兼容 createCircularGradient 方法\n if (!ctx.createRadialGradient) {\n ctx.createRadialGradient = (...cc: any) => ctx.createCircularGradient(...cc);\n }\n\n // HACK: 小程序端draw、getImage方法为异步回调, 在此统一封装 getImageData 为 promise\n if (!ctx.getImageData && taro.canvasGetImageData) {\n ctx.getImageData = (x: number, y: number, width: number, height: number) =>\n new Promise((resolve, reject) => {\n try {\n taro.canvasGetImageData({\n canvasId: id,\n x,\n y,\n width,\n height,\n success(res) {\n resolve(res);\n }\n });\n } catch (err) {\n reject(err);\n }\n });\n }\n\n const canvas = {\n id: id,\n width: domref.width * dpr,\n height: domref.height * dpr,\n offsetWidth: domref.width,\n offsetHeight: domref.height,\n getContext: () => ctx,\n // 构造 getBoundingClientRect 方法\n getBoundingClientRect: () => ({\n height: domref.height,\n width: domref.width\n })\n };\n\n canvasMap.set(id, canvas);\n if (i >= freeCanvasIdx) {\n freeCanvasList.push(canvas);\n }\n\n return canvas;\n });\n}\n\ninterface IConfigureParams {\n domref: any;\n canvasIdLists: string[];\n freeCanvasIdx: number;\n taro: ITaro;\n pixelRatio: number; // taro需要小程序自己处理pixelRatio\n}\n\n@injectable()\nexport class TaroEnvContribution extends BaseEnvContribution implements IEnvContribution {\n type: EnvType = 'taro';\n supportEvent: boolean = true;\n canvasMap: Map<string, ITTCanvas> = new Map();\n freeCanvasList: ITTCanvas[] = [];\n canvasIdx: number = 0;\n taro: ITaro;\n pixelRatio: number;\n\n constructor() {\n super();\n this.supportsTouchEvents = true;\n try {\n this.supportsPointerEvents = !!globalThis.PointerEvent;\n this.supportsMouseEvents = !!globalThis.MouseEvent;\n } catch (err) {\n this.supportsPointerEvents = false;\n this.supportsMouseEvents = false;\n }\n this.applyStyles = true;\n }\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount(): number {\n return this.freeCanvasList.length;\n }\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount(): number {\n return this.freeCanvasList.length;\n }\n\n // TODO:VGrammar在小程序环境会重复调用setEnv传入canvas,所以每次configure并不会释放\n // 这里等待后续和VGrammar沟通\n configure(service: IGlobal, params: IConfigureParams) {\n if (service.env === this.type) {\n service.setActiveEnvContribution(this);\n makeUpCanvas(\n params.domref,\n params.canvasIdLists,\n this.canvasMap,\n params.freeCanvasIdx,\n this.freeCanvasList,\n params.taro,\n params.pixelRatio\n );\n this.taro = params.taro;\n this.pixelRatio = params.pixelRatio;\n\n // loadTaroContributions();\n }\n }\n\n loadImage(url: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n return Promise.resolve({\n data: url as unknown as HTMLImageElement,\n loadState: 'success'\n });\n }\n\n loadSvg(svgStr: string): Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }> {\n const _window = window || globalThis;\n if (_window.DOMParser) {\n const parser = new _window.DOMParser();\n const svg = parser.parseFromString(svgStr, 'image/svg+xml').children[0];\n const data = new XMLSerializer().serializeToString(svg);\n const url = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(data)}`; //svg转base64\n\n return Promise.resolve({\n data: url as unknown as HTMLImageElement,\n loadState: 'success'\n });\n } else if (_window.Blob) {\n const data = new _window.Blob([svgStr], { type: 'image/svg+xml' });\n const url = _window.URL.createObjectURL(data);\n\n return Promise.resolve({\n data: url as unknown as HTMLImageElement,\n loadState: 'success'\n });\n }\n // 目前移动端上小程序不支持DOMParser和Blob,无法解析svg字符串,可以通过url使用svg资源\n return Promise.reject();\n }\n\n createCanvas(params: ICreateCanvasParams): ITTCanvas {\n // params不生效\n const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];\n this.canvasIdx++;\n return result;\n }\n\n createOffscreenCanvas(params: ICreateCanvasParams) {\n return;\n }\n\n releaseCanvas(canvas: ICanvasLike | string) {\n return;\n }\n\n getDevicePixelRatio(): number {\n return this.pixelRatio;\n }\n\n getRequestAnimationFrame(): (callback: FrameRequestCallback) => number {\n return requestAnimationFrame;\n }\n\n getCancelAnimationFrame(): (h: number) => void {\n return cancelAnimationFrame;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions | undefined\n ): void;\n addEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions | undefined\n ): void;\n removeEventListener(type: unknown, listener: unknown, options?: unknown): void {\n return null;\n }\n\n dispatchEvent(event: any): boolean {\n return null;\n }\n\n // 只能索引canvas\n getElementById(str: string): any | null {\n return this.canvasMap.get(str);\n }\n\n getRootElement(): HTMLElement | null {\n return null;\n }\n\n getDocument(): Document | null {\n return null;\n }\n\n release(...params: any): void {\n return;\n }\n}\n"]}