@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.
- package/cjs/canvas/contributions/browser/canvas.d.ts +17 -0
- package/cjs/canvas/contributions/browser/canvas.js +73 -0
- package/cjs/canvas/contributions/browser/canvas.js.map +1 -0
- package/cjs/canvas/contributions/browser/context.d.ts +176 -0
- package/cjs/canvas/contributions/browser/context.js +495 -0
- package/cjs/canvas/contributions/browser/context.js.map +1 -0
- package/cjs/canvas/contributions/browser/index.d.ts +2 -0
- package/cjs/canvas/contributions/browser/index.js +21 -0
- package/cjs/canvas/contributions/browser/index.js.map +1 -0
- package/cjs/canvas/contributions/browser/modules.d.ts +1 -0
- package/cjs/canvas/contributions/browser/modules.js +10 -0
- package/cjs/canvas/contributions/browser/modules.js.map +1 -0
- package/cjs/canvas/contributions/create-canvas-module.d.ts +2 -0
- package/cjs/canvas/contributions/create-canvas-module.js +17 -0
- package/cjs/canvas/contributions/create-canvas-module.js.map +1 -0
- package/cjs/canvas/contributions/feishu/canvas.d.ts +8 -0
- package/cjs/canvas/contributions/feishu/canvas.js +28 -0
- package/cjs/canvas/contributions/feishu/canvas.js.map +1 -0
- package/cjs/canvas/contributions/feishu/context.d.ts +12 -0
- package/cjs/canvas/contributions/feishu/context.js +56 -0
- package/cjs/canvas/contributions/feishu/context.js.map +1 -0
- package/cjs/canvas/contributions/feishu/index.d.ts +2 -0
- package/cjs/canvas/contributions/feishu/index.js +21 -0
- package/cjs/canvas/contributions/feishu/index.js.map +1 -0
- package/cjs/canvas/contributions/feishu/modules.d.ts +1 -0
- package/cjs/canvas/contributions/feishu/modules.js +10 -0
- package/cjs/canvas/contributions/feishu/modules.js.map +1 -0
- package/cjs/canvas/contributions/lynx/canvas.d.ts +8 -0
- package/cjs/canvas/contributions/lynx/canvas.js +29 -0
- package/cjs/canvas/contributions/lynx/canvas.js.map +1 -0
- package/cjs/canvas/contributions/lynx/context.d.ts +13 -0
- package/cjs/canvas/contributions/lynx/context.js +57 -0
- package/cjs/canvas/contributions/lynx/context.js.map +1 -0
- package/cjs/canvas/contributions/lynx/index.d.ts +2 -0
- package/cjs/canvas/contributions/lynx/index.js +21 -0
- package/cjs/canvas/contributions/lynx/index.js.map +1 -0
- package/cjs/canvas/contributions/lynx/modules.d.ts +1 -0
- package/cjs/canvas/contributions/lynx/modules.js +10 -0
- package/cjs/canvas/contributions/lynx/modules.js.map +1 -0
- package/cjs/canvas/contributions/modules.d.ts +9 -0
- package/cjs/canvas/contributions/modules.js +48 -0
- package/cjs/canvas/contributions/modules.js.map +1 -0
- package/cjs/canvas/contributions/node/canvas.d.ts +8 -1
- package/cjs/canvas/contributions/node/canvas.js +30 -0
- package/cjs/canvas/contributions/node/canvas.js.map +1 -1
- package/cjs/canvas/contributions/node/context.d.ts +7 -1
- package/cjs/canvas/contributions/node/context.js +29 -0
- package/cjs/canvas/contributions/node/context.js.map +1 -1
- package/cjs/canvas/contributions/node/index.d.ts +2 -1
- package/cjs/canvas/contributions/node/index.js +20 -0
- package/cjs/canvas/contributions/node/index.js.map +1 -1
- package/cjs/canvas/contributions/node/modules.d.ts +1 -1
- package/cjs/canvas/contributions/node/modules.js +9 -0
- package/cjs/canvas/contributions/node/modules.js.map +1 -1
- package/cjs/canvas/contributions/taro/canvas.d.ts +8 -0
- package/cjs/canvas/contributions/taro/canvas.js +29 -0
- package/cjs/canvas/contributions/taro/canvas.js.map +1 -0
- package/cjs/canvas/contributions/taro/context.d.ts +32 -0
- package/cjs/canvas/contributions/taro/context.js +68 -0
- package/cjs/canvas/contributions/taro/context.js.map +1 -0
- package/cjs/canvas/contributions/taro/index.d.ts +2 -0
- package/cjs/canvas/contributions/taro/index.js +21 -0
- package/cjs/canvas/contributions/taro/index.js.map +1 -0
- package/cjs/canvas/contributions/taro/modules.d.ts +1 -0
- package/cjs/canvas/contributions/taro/modules.js +10 -0
- package/cjs/canvas/contributions/taro/modules.js.map +1 -0
- package/cjs/canvas/contributions/tt/canvas.d.ts +8 -0
- package/cjs/canvas/contributions/tt/canvas.js +29 -0
- package/cjs/canvas/contributions/tt/canvas.js.map +1 -0
- package/cjs/canvas/contributions/tt/context.d.ts +5 -0
- package/cjs/canvas/contributions/tt/context.js +19 -0
- package/cjs/canvas/contributions/tt/context.js.map +1 -0
- package/cjs/canvas/contributions/tt/index.d.ts +2 -0
- package/cjs/canvas/contributions/tt/index.js +21 -0
- package/cjs/canvas/contributions/tt/index.js.map +1 -0
- package/cjs/canvas/contributions/tt/modules.d.ts +1 -0
- package/cjs/canvas/contributions/tt/modules.js +10 -0
- package/cjs/canvas/contributions/tt/modules.js.map +1 -0
- package/cjs/canvas/contributions/wx/canvas.d.ts +8 -0
- package/cjs/canvas/contributions/wx/canvas.js +29 -0
- package/cjs/canvas/contributions/wx/canvas.js.map +1 -0
- package/cjs/canvas/contributions/wx/context.d.ts +7 -0
- package/cjs/canvas/contributions/wx/context.js +24 -0
- package/cjs/canvas/contributions/wx/context.js.map +1 -0
- package/cjs/canvas/contributions/wx/index.d.ts +2 -0
- package/cjs/canvas/contributions/wx/index.js +21 -0
- package/cjs/canvas/contributions/wx/index.js.map +1 -0
- package/cjs/canvas/contributions/wx/modules.d.ts +1 -0
- package/cjs/canvas/contributions/wx/modules.js +10 -0
- package/cjs/canvas/contributions/wx/modules.js.map +1 -0
- package/cjs/canvas/index.d.ts +1 -1
- package/cjs/canvas/index.js +21 -1
- package/cjs/canvas/index.js.map +1 -1
- package/cjs/env/all.d.ts +4 -0
- package/cjs/env/all.js +27 -0
- package/cjs/env/all.js.map +1 -0
- package/cjs/env/browser.d.ts +3 -0
- package/cjs/env/browser.js +19 -0
- package/cjs/env/browser.js.map +1 -0
- package/cjs/env/contributions/browser-contribution.d.ts +42 -0
- package/cjs/env/contributions/browser-contribution.js +198 -0
- package/cjs/env/contributions/browser-contribution.js.map +1 -0
- package/cjs/env/contributions/browser-module.d.ts +2 -0
- package/cjs/env/contributions/browser-module.js +13 -0
- package/cjs/env/contributions/browser-module.js.map +1 -0
- package/cjs/env/contributions/feishu-contribution.d.ts +41 -0
- package/cjs/env/contributions/feishu-contribution.js +116 -0
- package/cjs/env/contributions/feishu-contribution.js.map +1 -0
- package/cjs/env/contributions/feishu-module.d.ts +2 -0
- package/cjs/env/contributions/feishu-module.js +12 -0
- package/cjs/env/contributions/feishu-module.js.map +1 -0
- package/cjs/env/contributions/lynx-contribution.d.ts +41 -0
- package/cjs/env/contributions/lynx-contribution.js +136 -0
- package/cjs/env/contributions/lynx-contribution.js.map +1 -0
- package/cjs/env/contributions/module.d.ts +8 -1
- package/cjs/env/contributions/module.js +25 -1
- package/cjs/env/contributions/module.js.map +1 -1
- package/cjs/env/contributions/node-contribution.d.ts +49 -1
- package/cjs/env/contributions/node-contribution.js +95 -1
- package/cjs/env/contributions/node-contribution.js.map +1 -1
- package/cjs/env/contributions/taro-contribution.d.ts +57 -0
- package/cjs/env/contributions/taro-contribution.js +142 -0
- package/cjs/env/contributions/taro-contribution.js.map +1 -0
- package/cjs/env/contributions/wx-contribution.d.ts +40 -0
- package/cjs/env/contributions/wx-contribution.js +131 -0
- package/cjs/env/contributions/wx-contribution.js.map +1 -0
- package/cjs/env/feishu.d.ts +3 -0
- package/cjs/env/feishu.js +19 -0
- package/cjs/env/feishu.js.map +1 -0
- package/cjs/env/index.d.ts +7 -0
- package/cjs/env/index.js +24 -0
- package/cjs/env/index.js.map +1 -0
- package/cjs/env/lynx.d.ts +3 -0
- package/cjs/env/lynx.js +19 -0
- package/cjs/env/lynx.js.map +1 -0
- package/cjs/env/node.d.ts +3 -0
- package/cjs/env/node.js +19 -0
- package/cjs/env/node.js.map +1 -0
- package/cjs/env/taro.d.ts +3 -0
- package/cjs/env/taro.js +19 -0
- package/cjs/env/taro.js.map +1 -0
- package/cjs/env/wx.d.ts +3 -0
- package/cjs/env/wx.js +19 -0
- package/cjs/env/wx.js.map +1 -0
- package/cjs/event/extension/drag.d.ts +9 -0
- package/cjs/event/extension/drag.js +53 -0
- package/cjs/event/extension/drag.js.map +1 -0
- package/cjs/event/extension/gesture.d.ts +38 -0
- package/cjs/event/extension/gesture.js +181 -0
- package/cjs/event/extension/gesture.js.map +1 -0
- package/cjs/event/extension/index.d.ts +3 -0
- package/cjs/event/extension/index.js +24 -0
- package/cjs/event/extension/index.js.map +1 -0
- package/cjs/index-node.d.ts +1 -2
- package/cjs/index-node.js +1 -1
- package/cjs/index-node.js.map +1 -1
- package/cjs/index.d.ts +5 -2
- package/cjs/index.js +18 -3
- package/cjs/index.js.map +1 -1
- package/cjs/jsx/graphicType.d.ts +171 -0
- package/cjs/jsx/graphicType.js +133 -0
- package/cjs/jsx/graphicType.js.map +1 -0
- package/cjs/jsx/index.d.ts +2 -0
- package/cjs/jsx/index.js +21 -0
- package/cjs/jsx/index.js.map +1 -0
- package/cjs/jsx/jsx-classic.d.ts +3 -0
- package/cjs/jsx/jsx-classic.js +58 -0
- package/cjs/jsx/jsx-classic.js.map +1 -0
- package/cjs/picker/canvas-module.d.ts +4 -0
- package/cjs/picker/canvas-module.js +23 -0
- package/cjs/picker/canvas-module.js.map +1 -0
- package/cjs/picker/canvas-picker-service.d.ts +28 -0
- package/cjs/picker/canvas-picker-service.js +91 -0
- package/cjs/picker/canvas-picker-service.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/arc-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/arc-picker.js +51 -0
- package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +50 -0
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/area-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/area-picker.js +45 -0
- package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/base-picker.d.ts +4 -0
- package/cjs/picker/contributions/canvas-picker/base-picker.js +18 -0
- package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/circle-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/circle-picker.js +50 -0
- package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/glyph-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js +46 -0
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
- package/cjs/picker/contributions/canvas-picker/group-picker.js +26 -0
- package/cjs/picker/contributions/canvas-picker/group-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/image-picker.d.ts +7 -0
- package/cjs/picker/contributions/canvas-picker/image-picker.js +27 -0
- package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/line-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/line-picker.js +56 -0
- package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/module.d.ts +3 -0
- package/cjs/picker/contributions/canvas-picker/module.js +46 -0
- package/cjs/picker/contributions/canvas-picker/module.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.js +57 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/polygon-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js +49 -0
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +51 -0
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/rect-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/rect-picker.js +62 -0
- package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +50 -0
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/richtext-picker.d.ts +9 -0
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js +33 -0
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/symbol-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js +59 -0
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.d.ts +10 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.js +58 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -0
- package/cjs/picker/contributions/constants.d.ts +29 -0
- package/cjs/picker/contributions/constants.js +21 -0
- package/cjs/picker/contributions/constants.js.map +1 -0
- package/cjs/picker/contributions/math-picker/arc-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/arc-picker.js +51 -0
- package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/area-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/area-picker.js +45 -0
- package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/circle-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/circle-picker.js +50 -0
- package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/glyph-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/glyph-picker.js +44 -0
- package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/line-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/line-picker.js +50 -0
- package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/module.d.ts +3 -0
- package/cjs/picker/contributions/math-picker/module.js +32 -0
- package/cjs/picker/contributions/math-picker/module.js.map +1 -0
- package/cjs/picker/contributions/math-picker/path-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/path-picker.js +50 -0
- package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/polygon-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/polygon-picker.js +49 -0
- package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/rect-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/rect-picker.js +62 -0
- package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/symbol-picker.d.ts +9 -0
- package/cjs/picker/contributions/math-picker/symbol-picker.js +50 -0
- package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -0
- package/cjs/picker/contributions/math-picker/text-picker.d.ts +7 -0
- package/cjs/picker/contributions/math-picker/text-picker.js +26 -0
- package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -0
- package/cjs/picker/index.d.ts +1 -0
- package/cjs/picker/index.js +21 -0
- package/cjs/picker/index.js.map +1 -0
- package/cjs/picker/math-module.d.ts +4 -0
- package/cjs/picker/math-module.js +23 -0
- package/cjs/picker/math-module.js.map +1 -0
- package/cjs/picker/math-picker-service.d.ts +16 -0
- package/cjs/picker/math-picker-service.js +54 -0
- package/cjs/picker/math-picker-service.js.map +1 -0
- package/cjs/picker/module.d.ts +6 -0
- package/cjs/picker/module.js +30 -0
- package/cjs/picker/module.js.map +1 -0
- package/cjs/render/contributions/rough/config.js +1 -1
- package/cjs/render/contributions/rough/module.d.ts +1 -1
- package/cjs/render/contributions/rough/module.js +10 -10
- package/cjs/render/contributions/rough/module.js.map +1 -1
- package/cjs/render/contributions/rough/rough-arc.d.ts +1 -1
- package/cjs/render/contributions/rough/rough-arc.js +10 -8
- package/cjs/render/contributions/rough/rough-arc.js.map +1 -1
- package/cjs/render/contributions/rough/rough-area.d.ts +2 -2
- package/cjs/render/contributions/rough/rough-area.js +6 -6
- package/cjs/render/contributions/rough/rough-area.js.map +1 -1
- package/cjs/render/contributions/rough/rough-circle.d.ts +1 -1
- package/cjs/render/contributions/rough/rough-circle.js +6 -6
- package/cjs/render/contributions/rough/rough-circle.js.map +1 -1
- package/cjs/render/contributions/rough/rough-line.d.ts +2 -2
- package/cjs/render/contributions/rough/rough-line.js +6 -6
- package/cjs/render/contributions/rough/rough-line.js.map +1 -1
- package/cjs/render/contributions/rough/rough-path.d.ts +1 -1
- package/cjs/render/contributions/rough/rough-path.js +6 -6
- package/cjs/render/contributions/rough/rough-path.js.map +1 -1
- package/cjs/render/contributions/rough/rough-rect.d.ts +1 -1
- package/cjs/render/contributions/rough/rough-rect.js +6 -6
- package/cjs/render/contributions/rough/rough-rect.js.map +1 -1
- package/cjs/render/contributions/rough/rough-symbol.d.ts +2 -2
- package/cjs/render/contributions/rough/rough-symbol.js +8 -8
- package/cjs/render/contributions/rough/rough-symbol.js.map +1 -1
- package/cjs/window/contributions/browser-contribution.d.ts +49 -0
- package/cjs/window/contributions/browser-contribution.js +178 -0
- package/cjs/window/contributions/browser-contribution.js.map +1 -0
- package/cjs/window/contributions/feishu-contribution.d.ts +47 -0
- package/cjs/window/contributions/feishu-contribution.js +159 -0
- package/cjs/window/contributions/feishu-contribution.js.map +1 -0
- package/cjs/window/contributions/lynx-contribution.d.ts +47 -0
- package/cjs/window/contributions/lynx-contribution.js +159 -0
- package/cjs/window/contributions/lynx-contribution.js.map +1 -0
- package/cjs/window/contributions/native-contribution.js +1 -0
- package/cjs/window/contributions/native-contribution.js.map +1 -0
- package/cjs/window/contributions/node-contribution.d.ts +40 -1
- package/cjs/window/contributions/node-contribution.js +111 -1
- package/cjs/window/contributions/node-contribution.js.map +1 -1
- package/cjs/window/contributions/taro-contribution.d.ts +47 -0
- package/cjs/window/contributions/taro-contribution.js +166 -0
- package/cjs/window/contributions/taro-contribution.js.map +1 -0
- package/cjs/window/contributions/wx-contribution.d.ts +47 -0
- package/cjs/window/contributions/wx-contribution.js +161 -0
- package/cjs/window/contributions/wx-contribution.js.map +1 -0
- package/dist/index.js +5711 -44
- package/dist/index.min.js +1 -1
- package/es/canvas/contributions/browser/canvas.d.ts +17 -0
- package/es/canvas/contributions/browser/canvas.js +70 -0
- package/es/canvas/contributions/browser/canvas.js.map +1 -0
- package/es/canvas/contributions/browser/context.d.ts +176 -0
- package/es/canvas/contributions/browser/context.js +490 -0
- package/es/canvas/contributions/browser/context.js.map +1 -0
- package/es/canvas/contributions/browser/index.d.ts +2 -0
- package/es/canvas/contributions/browser/index.js +4 -0
- package/es/canvas/contributions/browser/index.js.map +1 -0
- package/es/canvas/contributions/browser/modules.d.ts +1 -0
- package/es/canvas/contributions/browser/modules.js +8 -0
- package/es/canvas/contributions/browser/modules.js.map +1 -0
- package/es/canvas/contributions/create-canvas-module.d.ts +2 -0
- package/es/canvas/contributions/create-canvas-module.js +9 -0
- package/es/canvas/contributions/create-canvas-module.js.map +1 -0
- package/es/canvas/contributions/feishu/canvas.d.ts +8 -0
- package/es/canvas/contributions/feishu/canvas.js +25 -0
- package/es/canvas/contributions/feishu/canvas.js.map +1 -0
- package/es/canvas/contributions/feishu/context.d.ts +12 -0
- package/es/canvas/contributions/feishu/context.js +53 -0
- package/es/canvas/contributions/feishu/context.js.map +1 -0
- package/es/canvas/contributions/feishu/index.d.ts +2 -0
- package/es/canvas/contributions/feishu/index.js +4 -0
- package/es/canvas/contributions/feishu/index.js.map +1 -0
- package/es/canvas/contributions/feishu/modules.d.ts +1 -0
- package/es/canvas/contributions/feishu/modules.js +8 -0
- package/es/canvas/contributions/feishu/modules.js.map +1 -0
- package/es/canvas/contributions/lynx/canvas.d.ts +8 -0
- package/es/canvas/contributions/lynx/canvas.js +26 -0
- package/es/canvas/contributions/lynx/canvas.js.map +1 -0
- package/es/canvas/contributions/lynx/context.d.ts +13 -0
- package/es/canvas/contributions/lynx/context.js +54 -0
- package/es/canvas/contributions/lynx/context.js.map +1 -0
- package/es/canvas/contributions/lynx/index.d.ts +2 -0
- package/es/canvas/contributions/lynx/index.js +4 -0
- package/es/canvas/contributions/lynx/index.js.map +1 -0
- package/es/canvas/contributions/lynx/modules.d.ts +1 -0
- package/es/canvas/contributions/lynx/modules.js +8 -0
- package/es/canvas/contributions/lynx/modules.js.map +1 -0
- package/es/canvas/contributions/modules.d.ts +9 -0
- package/es/canvas/contributions/modules.js +48 -0
- package/es/canvas/contributions/modules.js.map +1 -0
- package/es/canvas/contributions/node/canvas.d.ts +8 -1
- package/es/canvas/contributions/node/canvas.js +29 -0
- package/es/canvas/contributions/node/canvas.js.map +1 -1
- package/es/canvas/contributions/node/context.d.ts +7 -1
- package/es/canvas/contributions/node/context.js +28 -0
- package/es/canvas/contributions/node/context.js.map +1 -1
- package/es/canvas/contributions/node/index.d.ts +2 -1
- package/es/canvas/contributions/node/index.js +3 -0
- package/es/canvas/contributions/node/index.js.map +1 -1
- package/es/canvas/contributions/node/modules.d.ts +1 -1
- package/es/canvas/contributions/node/modules.js +7 -0
- package/es/canvas/contributions/node/modules.js.map +1 -1
- package/es/canvas/contributions/taro/canvas.d.ts +8 -0
- package/es/canvas/contributions/taro/canvas.js +28 -0
- package/es/canvas/contributions/taro/canvas.js.map +1 -0
- package/es/canvas/contributions/taro/context.d.ts +32 -0
- package/es/canvas/contributions/taro/context.js +64 -0
- package/es/canvas/contributions/taro/context.js.map +1 -0
- package/es/canvas/contributions/taro/index.d.ts +2 -0
- package/es/canvas/contributions/taro/index.js +4 -0
- package/es/canvas/contributions/taro/index.js.map +1 -0
- package/es/canvas/contributions/taro/modules.d.ts +1 -0
- package/es/canvas/contributions/taro/modules.js +8 -0
- package/es/canvas/contributions/taro/modules.js.map +1 -0
- package/es/canvas/contributions/tt/canvas.d.ts +8 -0
- package/es/canvas/contributions/tt/canvas.js +26 -0
- package/es/canvas/contributions/tt/canvas.js.map +1 -0
- package/es/canvas/contributions/tt/context.d.ts +5 -0
- package/es/canvas/contributions/tt/context.js +16 -0
- package/es/canvas/contributions/tt/context.js.map +1 -0
- package/es/canvas/contributions/tt/index.d.ts +2 -0
- package/es/canvas/contributions/tt/index.js +4 -0
- package/es/canvas/contributions/tt/index.js.map +1 -0
- package/es/canvas/contributions/tt/modules.d.ts +1 -0
- package/es/canvas/contributions/tt/modules.js +8 -0
- package/es/canvas/contributions/tt/modules.js.map +1 -0
- package/es/canvas/contributions/wx/canvas.d.ts +8 -0
- package/es/canvas/contributions/wx/canvas.js +26 -0
- package/es/canvas/contributions/wx/canvas.js.map +1 -0
- package/es/canvas/contributions/wx/context.d.ts +7 -0
- package/es/canvas/contributions/wx/context.js +21 -0
- package/es/canvas/contributions/wx/context.js.map +1 -0
- package/es/canvas/contributions/wx/index.d.ts +2 -0
- package/es/canvas/contributions/wx/index.js +4 -0
- package/es/canvas/contributions/wx/index.js.map +1 -0
- package/es/canvas/contributions/wx/modules.d.ts +1 -0
- package/es/canvas/contributions/wx/modules.js +8 -0
- package/es/canvas/contributions/wx/modules.js.map +1 -0
- package/es/canvas/index.d.ts +1 -1
- package/es/canvas/index.js +2 -1
- package/es/canvas/index.js.map +1 -1
- package/es/env/all.d.ts +4 -0
- package/es/env/all.js +34 -0
- package/es/env/all.js.map +1 -0
- package/es/env/browser.d.ts +3 -0
- package/es/env/browser.js +19 -0
- package/es/env/browser.js.map +1 -0
- package/es/env/contributions/browser-contribution.d.ts +42 -0
- package/es/env/contributions/browser-contribution.js +193 -0
- package/es/env/contributions/browser-contribution.js.map +1 -0
- package/es/env/contributions/browser-module.d.ts +2 -0
- package/es/env/contributions/browser-module.js +8 -0
- package/es/env/contributions/browser-module.js.map +1 -0
- package/es/env/contributions/feishu-contribution.d.ts +41 -0
- package/es/env/contributions/feishu-contribution.js +111 -0
- package/es/env/contributions/feishu-contribution.js.map +1 -0
- package/es/env/contributions/feishu-module.d.ts +2 -0
- package/es/env/contributions/feishu-module.js +8 -0
- package/es/env/contributions/feishu-module.js.map +1 -0
- package/es/env/contributions/lynx-contribution.d.ts +41 -0
- package/es/env/contributions/lynx-contribution.js +129 -0
- package/es/env/contributions/lynx-contribution.js.map +1 -0
- package/es/env/contributions/module.d.ts +8 -1
- package/es/env/contributions/module.js +42 -1
- package/es/env/contributions/module.js.map +1 -1
- package/es/env/contributions/node-contribution.d.ts +49 -1
- package/es/env/contributions/node-contribution.js +90 -1
- package/es/env/contributions/node-contribution.js.map +1 -1
- package/es/env/contributions/taro-contribution.d.ts +57 -0
- package/es/env/contributions/taro-contribution.js +137 -0
- package/es/env/contributions/taro-contribution.js.map +1 -0
- package/es/env/contributions/wx-contribution.d.ts +40 -0
- package/es/env/contributions/wx-contribution.js +126 -0
- package/es/env/contributions/wx-contribution.js.map +1 -0
- package/es/env/feishu.d.ts +3 -0
- package/es/env/feishu.js +19 -0
- package/es/env/feishu.js.map +1 -0
- package/es/env/index.d.ts +7 -0
- package/es/env/index.js +14 -0
- package/es/env/index.js.map +1 -0
- package/es/env/lynx.d.ts +3 -0
- package/es/env/lynx.js +19 -0
- package/es/env/lynx.js.map +1 -0
- package/es/env/node.d.ts +3 -0
- package/es/env/node.js +19 -0
- package/es/env/node.js.map +1 -0
- package/es/env/taro.d.ts +3 -0
- package/es/env/taro.js +19 -0
- package/es/env/taro.js.map +1 -0
- package/es/env/wx.d.ts +3 -0
- package/es/env/wx.js +19 -0
- package/es/env/wx.js.map +1 -0
- package/es/event/extension/drag.d.ts +9 -0
- package/es/event/extension/drag.js +45 -0
- package/es/event/extension/drag.js.map +1 -0
- package/es/event/extension/gesture.d.ts +38 -0
- package/es/event/extension/gesture.js +177 -0
- package/es/event/extension/gesture.js.map +1 -0
- package/es/event/extension/index.d.ts +3 -0
- package/es/event/extension/index.js +6 -0
- package/es/event/extension/index.js.map +1 -0
- package/es/index-node.d.ts +1 -2
- package/es/index-node.js +0 -2
- package/es/index-node.js.map +1 -1
- package/es/index.d.ts +5 -2
- package/es/index.js +8 -2
- package/es/index.js.map +1 -1
- package/es/jsx/graphicType.d.ts +171 -0
- package/es/jsx/graphicType.js +126 -0
- package/es/jsx/graphicType.js.map +1 -0
- package/es/jsx/index.d.ts +2 -0
- package/es/jsx/index.js +4 -0
- package/es/jsx/index.js.map +1 -0
- package/es/jsx/jsx-classic.d.ts +3 -0
- package/es/jsx/jsx-classic.js +56 -0
- package/es/jsx/jsx-classic.js.map +1 -0
- package/es/picker/canvas-module.d.ts +4 -0
- package/es/picker/canvas-module.js +15 -0
- package/es/picker/canvas-module.js.map +1 -0
- package/es/picker/canvas-picker-service.d.ts +28 -0
- package/es/picker/canvas-picker-service.js +79 -0
- package/es/picker/canvas-picker-service.js.map +1 -0
- package/es/picker/contributions/canvas-picker/arc-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/arc-picker.js +45 -0
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.js +46 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/area-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/area-picker.js +39 -0
- package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/base-picker.d.ts +4 -0
- package/es/picker/contributions/canvas-picker/base-picker.js +14 -0
- package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/circle-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/circle-picker.js +44 -0
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.js +40 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
- package/es/picker/contributions/canvas-picker/group-picker.js +21 -0
- package/es/picker/contributions/canvas-picker/group-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/image-picker.d.ts +7 -0
- package/es/picker/contributions/canvas-picker/image-picker.js +22 -0
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/line-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/line-picker.js +52 -0
- package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/module.d.ts +3 -0
- package/es/picker/contributions/canvas-picker/module.js +64 -0
- package/es/picker/contributions/canvas-picker/module.js.map +1 -0
- package/es/picker/contributions/canvas-picker/path-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/path-picker.js +53 -0
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.js +43 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +47 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/rect-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/rect-picker.js +59 -0
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.js +50 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.d.ts +9 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.js +27 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.js +55 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/text-picker.d.ts +10 -0
- package/es/picker/contributions/canvas-picker/text-picker.js +52 -0
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -0
- package/es/picker/contributions/constants.d.ts +29 -0
- package/es/picker/contributions/constants.js +58 -0
- package/es/picker/contributions/constants.js.map +1 -0
- package/es/picker/contributions/math-picker/arc-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/arc-picker.js +45 -0
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/area-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/area-picker.js +39 -0
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/circle-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/circle-picker.js +44 -0
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/glyph-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/glyph-picker.js +38 -0
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/line-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/line-picker.js +44 -0
- package/es/picker/contributions/math-picker/line-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/module.d.ts +3 -0
- package/es/picker/contributions/math-picker/module.js +43 -0
- package/es/picker/contributions/math-picker/module.js.map +1 -0
- package/es/picker/contributions/math-picker/path-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/path-picker.js +44 -0
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/polygon-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/polygon-picker.js +43 -0
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/rect-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/rect-picker.js +59 -0
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/symbol-picker.d.ts +9 -0
- package/es/picker/contributions/math-picker/symbol-picker.js +44 -0
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/text-picker.d.ts +7 -0
- package/es/picker/contributions/math-picker/text-picker.js +21 -0
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -0
- package/es/picker/index.d.ts +1 -0
- package/es/picker/index.js +2 -0
- package/es/picker/index.js.map +1 -0
- package/es/picker/math-module.d.ts +4 -0
- package/es/picker/math-module.js +15 -0
- package/es/picker/math-module.js.map +1 -0
- package/es/picker/math-picker-service.d.ts +16 -0
- package/es/picker/math-picker-service.js +48 -0
- package/es/picker/math-picker-service.js.map +1 -0
- package/es/picker/module.d.ts +6 -0
- package/es/picker/module.js +28 -0
- package/es/picker/module.js.map +1 -0
- package/es/render/contributions/rough/config.js +1 -1
- package/es/render/contributions/rough/module.d.ts +1 -1
- package/es/render/contributions/rough/module.js +3 -5
- package/es/render/contributions/rough/module.js.map +1 -1
- package/es/render/contributions/rough/rough-arc.d.ts +1 -1
- package/es/render/contributions/rough/rough-arc.js +3 -4
- package/es/render/contributions/rough/rough-arc.js.map +1 -1
- package/es/render/contributions/rough/rough-area.d.ts +2 -2
- package/es/render/contributions/rough/rough-area.js +2 -4
- package/es/render/contributions/rough/rough-area.js.map +1 -1
- package/es/render/contributions/rough/rough-circle.d.ts +1 -1
- package/es/render/contributions/rough/rough-circle.js +2 -4
- package/es/render/contributions/rough/rough-circle.js.map +1 -1
- package/es/render/contributions/rough/rough-line.d.ts +2 -2
- package/es/render/contributions/rough/rough-line.js +2 -4
- package/es/render/contributions/rough/rough-line.js.map +1 -1
- package/es/render/contributions/rough/rough-path.d.ts +1 -1
- package/es/render/contributions/rough/rough-path.js +2 -4
- package/es/render/contributions/rough/rough-path.js.map +1 -1
- package/es/render/contributions/rough/rough-rect.d.ts +1 -1
- package/es/render/contributions/rough/rough-rect.js +2 -4
- package/es/render/contributions/rough/rough-rect.js.map +1 -1
- package/es/render/contributions/rough/rough-symbol.d.ts +2 -2
- package/es/render/contributions/rough/rough-symbol.js +2 -4
- package/es/render/contributions/rough/rough-symbol.js.map +1 -1
- package/es/window/contributions/browser-contribution.d.ts +49 -0
- package/es/window/contributions/browser-contribution.js +176 -0
- package/es/window/contributions/browser-contribution.js.map +1 -0
- package/es/window/contributions/feishu-contribution.d.ts +47 -0
- package/es/window/contributions/feishu-contribution.js +157 -0
- package/es/window/contributions/feishu-contribution.js.map +1 -0
- package/es/window/contributions/lynx-contribution.d.ts +47 -0
- package/es/window/contributions/lynx-contribution.js +157 -0
- package/es/window/contributions/lynx-contribution.js.map +1 -0
- package/es/window/contributions/native-contribution.js +1 -0
- package/es/window/contributions/native-contribution.js.map +1 -0
- package/es/window/contributions/node-contribution.d.ts +40 -1
- package/es/window/contributions/node-contribution.js +109 -1
- package/es/window/contributions/node-contribution.js.map +1 -1
- package/es/window/contributions/taro-contribution.d.ts +47 -0
- package/es/window/contributions/taro-contribution.js +164 -0
- package/es/window/contributions/taro-contribution.js.map +1 -0
- package/es/window/contributions/wx-contribution.d.ts +47 -0
- package/es/window/contributions/wx-contribution.js +159 -0
- package/es/window/contributions/wx-contribution.js.map +1 -0
- package/package.json +2 -4
- package/cjs/canvas/contributions/canvas-module.js +0 -1
- package/cjs/canvas/contributions/canvas-module.js.map +0 -1
- package/cjs/window/contributions/modules.js +0 -1
- package/cjs/window/contributions/modules.js.map +0 -1
- package/es/canvas/contributions/canvas-module.d.ts +0 -1
- package/es/canvas/contributions/canvas-module.js +0 -1
- package/es/canvas/contributions/canvas-module.js.map +0 -1
- package/es/window/contributions/modules.d.ts +0 -1
- package/es/window/contributions/modules.js +0 -1
- package/es/window/contributions/modules.js.map +0 -1
- /package/cjs/{canvas/contributions/canvas-module.d.ts → window/contributions/native-contribution.d.ts} +0 -0
- /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":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAqBtF,IAAI,EAAE,GAAG,KAAK,CAAC;AACf,IAAI;IACF,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;CAC5B;AAAC,OAAO,GAAG,EAAE;CAEb;AAGD,SAAS,YAAY,CACnB,MAAW,EACX,aAAuB,EACvB,SAAmC,EACnC,aAAqB,EACrB,cAA6B;IAE7B,MAAM,GAAG,GAAG,UAAU,CAAC,UAAU,CAAC;IAElC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC;QACnC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACrC,EAAE,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YAC5B,CAAC,EAAE,CAAC;QACN,CAAC,CAAC;QAOF,MAAM,MAAM,GAAG;YACb,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,EAAE,EAAE,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,EAAE;YACZ,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;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,QAAiB,KAAK;IACpE,IAAI,KAAK,EAAE;QACT,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;KACzB;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAIlC,MAAM,OAAO,GAA8B,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzE,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;YACjB,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAGM,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,mBAAmB;IAS1D;QACE,KAAK,EAAE,CAAC;QATV,SAAI,GAAY,MAAM,CAAC;QACvB,iBAAY,GAAY,IAAI,CAAC;QAE7B,cAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;QAEhD,mBAAc,GAAkB,EAAE,CAAC;QACnC,cAAS,GAAW,CAAC,CAAC;QAIpB,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;IAID,SAAS,CAAC,OAAgB,EAAE,MAAuE;QACjG,IAAI,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACvC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SAG9G;IACH,CAAC;IAID,qBAAqB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAKD,oBAAoB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,GAAW;QAInB,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,YAAY;aAChB,IAAI,CAAC,CAAC,GAAqB,EAAE,EAAE;YAC9B,OAAO;gBACL,IAAI,EAAE,GAAG;gBACT,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,OAAO,CAAC,GAAW;QAKjB,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAA2B;QACtC,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,UAAU,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED,wBAAwB;QAStB,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,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;AAhKY,mBAAmB;IAD/B,UAAU,EAAE;;GACA,mBAAmB,CAgK/B;SAhKY,mBAAmB","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
|
-
|
|
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":["
|
|
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
|
-
|
|
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":["
|
|
1
|
+
{"version":3,"sources":["../src/env/contributions/node-contribution.ts"],"names":[],"mappings":"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","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":"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","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"]}
|