@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,176 @@
|
|
|
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
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
8
|
+
return function(target, key) {
|
|
9
|
+
decorator(target, key, paramIndex);
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
|
|
14
|
+
|
|
15
|
+
import { BrowserCanvas } from "../../canvas/contributions/browser";
|
|
16
|
+
|
|
17
|
+
let BrowserWindowHandlerContribution = class extends BaseWindowHandlerContribution {
|
|
18
|
+
get container() {
|
|
19
|
+
return this.canvas.nativeCanvas.parentElement;
|
|
20
|
+
}
|
|
21
|
+
constructor(global) {
|
|
22
|
+
super(), this.global = global, this.type = "browser", this._canvasIsIntersecting = !0;
|
|
23
|
+
}
|
|
24
|
+
getTitle() {
|
|
25
|
+
return this.canvas.id.toString();
|
|
26
|
+
}
|
|
27
|
+
getWH() {
|
|
28
|
+
return {
|
|
29
|
+
width: this.canvas.width / (this.canvas.dpr || 1),
|
|
30
|
+
height: this.canvas.height / (this.canvas.dpr || 1)
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
getXY() {
|
|
34
|
+
return this.canvas.nativeCanvas.getBoundingClientRect();
|
|
35
|
+
}
|
|
36
|
+
createWindow(params) {
|
|
37
|
+
params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params),
|
|
38
|
+
this.postInit();
|
|
39
|
+
}
|
|
40
|
+
postInit() {
|
|
41
|
+
try {
|
|
42
|
+
this.observerCanvas();
|
|
43
|
+
} catch (err) {
|
|
44
|
+
console.error("发生错误,该环境不存在IntersectionObserver");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
isElementVisible(el) {
|
|
48
|
+
const rect = el.getBoundingClientRect(), vWidth = window.innerWidth || document.documentElement.clientWidth, vHeight = window.innerHeight || document.documentElement.clientHeight;
|
|
49
|
+
return !(rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight);
|
|
50
|
+
}
|
|
51
|
+
observerCanvas() {
|
|
52
|
+
this._canvasIsIntersecting = this.isElementVisible(this.canvas.nativeCanvas);
|
|
53
|
+
const observer = new IntersectionObserver(((entries, observer) => {
|
|
54
|
+
entries.forEach((entry => {
|
|
55
|
+
this._canvasIsIntersecting !== entry.isIntersecting ? (this._canvasIsIntersecting = entry.isIntersecting,
|
|
56
|
+
this._onVisibleChangeCb && this._onVisibleChangeCb(entry.isIntersecting)) : this._canvasIsIntersecting = entry.isIntersecting;
|
|
57
|
+
}));
|
|
58
|
+
}));
|
|
59
|
+
observer && observer.observe(this.canvas.nativeCanvas);
|
|
60
|
+
}
|
|
61
|
+
createWindowByConfig(params) {
|
|
62
|
+
const nativeCanvas = this.global.createCanvas({
|
|
63
|
+
width: params.width,
|
|
64
|
+
height: params.height
|
|
65
|
+
});
|
|
66
|
+
let container;
|
|
67
|
+
if (container = "string" == typeof params.container ? this.global.getElementById(params.container) : params.container ? params.container : this.global.getRootElement(),
|
|
68
|
+
!container) throw new Error("发生错误,containerId可能传入有误");
|
|
69
|
+
params.offscreen ? container = null : container.appendChild(nativeCanvas);
|
|
70
|
+
const options = {
|
|
71
|
+
width: params.width,
|
|
72
|
+
height: params.height,
|
|
73
|
+
dpr: params.dpr,
|
|
74
|
+
nativeCanvas: nativeCanvas,
|
|
75
|
+
container: container,
|
|
76
|
+
id: Generator.GenAutoIncrementId().toString(),
|
|
77
|
+
canvasControled: !0
|
|
78
|
+
};
|
|
79
|
+
this.canvas = new BrowserCanvas(options);
|
|
80
|
+
}
|
|
81
|
+
createWindowByCanvas(params) {
|
|
82
|
+
var _a;
|
|
83
|
+
let canvas;
|
|
84
|
+
if ("string" == typeof params.canvas) {
|
|
85
|
+
if (canvas = this.global.getElementById(params.canvas), !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
|
|
86
|
+
} else canvas = params.canvas;
|
|
87
|
+
if (!canvas) throw new Error("发生错误,传入的canvas不正确");
|
|
88
|
+
let width = params.width, height = params.height;
|
|
89
|
+
if (null == width || null == height || !params.canvasControled) {
|
|
90
|
+
const data = canvas.getBoundingClientRect();
|
|
91
|
+
width = data.width, height = data.height;
|
|
92
|
+
}
|
|
93
|
+
let dpr = params.dpr;
|
|
94
|
+
if (!1 === params.canvasControled && (dpr && console.warn("canvasControled为false后,dpr参数将无效"),
|
|
95
|
+
dpr = null), null == dpr) {
|
|
96
|
+
dpr = null !== (_a = canvas.getContext("2d").pixelRatio) && void 0 !== _a ? _a : canvas.width / width;
|
|
97
|
+
}
|
|
98
|
+
this.canvas = new BrowserCanvas({
|
|
99
|
+
width: width,
|
|
100
|
+
height: height,
|
|
101
|
+
dpr: dpr,
|
|
102
|
+
nativeCanvas: canvas,
|
|
103
|
+
canvasControled: params.canvasControled
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
releaseWindow() {
|
|
107
|
+
this.canvas.release();
|
|
108
|
+
}
|
|
109
|
+
resizeWindow(width, height) {
|
|
110
|
+
this.canvas.resize(width, height);
|
|
111
|
+
}
|
|
112
|
+
setDpr(dpr) {
|
|
113
|
+
this.canvas.dpr = dpr;
|
|
114
|
+
}
|
|
115
|
+
getContext() {
|
|
116
|
+
return this.canvas.getContext();
|
|
117
|
+
}
|
|
118
|
+
getNativeHandler() {
|
|
119
|
+
return this.canvas;
|
|
120
|
+
}
|
|
121
|
+
getDpr() {
|
|
122
|
+
return this.canvas.dpr;
|
|
123
|
+
}
|
|
124
|
+
addEventListener(type, listener, options) {
|
|
125
|
+
return this.canvas.nativeCanvas.addEventListener(type, listener, options);
|
|
126
|
+
}
|
|
127
|
+
removeEventListener(type, listener, options) {
|
|
128
|
+
return this.canvas.nativeCanvas.removeEventListener(type, listener, options);
|
|
129
|
+
}
|
|
130
|
+
dispatchEvent(event) {
|
|
131
|
+
return this.canvas.nativeCanvas.dispatchEvent(event);
|
|
132
|
+
}
|
|
133
|
+
getStyle() {
|
|
134
|
+
return this.canvas.nativeCanvas.style;
|
|
135
|
+
}
|
|
136
|
+
setStyle(style) {
|
|
137
|
+
this.canvas.nativeCanvas.style = style;
|
|
138
|
+
}
|
|
139
|
+
getBoundingClientRect() {
|
|
140
|
+
const c = this.canvas.nativeCanvas, wh = this.getWH();
|
|
141
|
+
return c.parentElement ? this.canvas.nativeCanvas.getBoundingClientRect() : {
|
|
142
|
+
x: 0,
|
|
143
|
+
y: 0,
|
|
144
|
+
width: wh.width,
|
|
145
|
+
height: wh.height,
|
|
146
|
+
left: 0,
|
|
147
|
+
top: 0,
|
|
148
|
+
right: 0,
|
|
149
|
+
bottom: 0
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
clearViewBox(vb, color) {
|
|
153
|
+
const context = this.getContext(), dpr = this.getDpr();
|
|
154
|
+
context.nativeContext.save(), context.nativeContext.setTransform(dpr, 0, 0, dpr, 0, 0),
|
|
155
|
+
context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
|
|
156
|
+
context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
|
|
157
|
+
}
|
|
158
|
+
isVisible(bbox) {
|
|
159
|
+
return this._canvasIsIntersecting;
|
|
160
|
+
}
|
|
161
|
+
onVisibleChange(cb) {
|
|
162
|
+
this._onVisibleChangeCb = cb;
|
|
163
|
+
}
|
|
164
|
+
getTopLeft(baseWindow) {
|
|
165
|
+
return this.global.getElementTopLeft(this.canvas.nativeCanvas, baseWindow);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
BrowserWindowHandlerContribution.env = "browser", BrowserWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], BrowserWindowHandlerContribution);
|
|
170
|
+
|
|
171
|
+
export { BrowserWindowHandlerContribution };
|
|
172
|
+
|
|
173
|
+
export const browserWindowModule = new ContainerModule((bind => {
|
|
174
|
+
bind(BrowserWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(BrowserWindowHandlerContribution))).whenTargetNamed(BrowserWindowHandlerContribution.env);
|
|
175
|
+
}));
|
|
176
|
+
//# sourceMappingURL=browser-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/window/contributions/browser-contribution.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,MAAM,EACN,UAAU,EACV,SAAS,EACT,6BAA6B,EAC7B,OAAO,EACP,eAAe,EACf,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAG5D,IAAM,gCAAgC,GAAtC,MAAM,gCACX,SAAQ,6BAA6B;IAcrC,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC;IAChD,CAAC;IAED,YAA8C,MAAe;QAC3D,KAAK,EAAE,CAAC;QADoC,WAAM,GAAN,MAAM,CAAS;QAb7D,SAAI,GAAY,SAAS,CAAC;QAexB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,KAAK;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAC1D,CAAC;IAED,YAAY,CAAC,MAAqB;QAEhC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;IAGlB,CAAC;IAES,QAAQ;QAChB,IAAI;YACF,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;SAClD;IACH,CAAC;IAED,gBAAgB,CAAC,EAAe;QAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;QAE5E,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE;YACjF,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAC9D,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,cAAc,EAAE;oBACvD,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC;oBAClD,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;iBAC1E;qBAAM;oBACL,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAYO,oBAAoB,CAAC,MAAqB;QAEhD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,IAAI,SAA6B,CAAC;QAClC,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,EAAE;YACxC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC1D;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC3B,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;SAC9B;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;SAC1C;QACD,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC3C;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACrB,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;SACrC;aAAM;YACL,SAAS,GAAG,IAAI,CAAC;SAClB;QAGD,MAAM,OAAO,GAAG;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,YAAY;YACZ,SAAS;YACT,EAAE,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE;YAC7C,eAAe,EAAE,IAAI;SACtB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IAK3C,CAAC;IACO,oBAAoB,CAAC,MAAqB;;QAEhD,IAAI,MAAgC,CAAC;QACrC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;YACrC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAA6B,CAAC;YAC/E,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;SACF;aAAM;YACL,MAAM,GAAG,MAAO,CAAC,MAAkC,CAAC;SACrD;QACD,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAGD,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC5C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,IAAI,MAAM,CAAC,eAAe,KAAK,KAAK,EAAE;YACpC,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aACjD;YACD,GAAG,GAAG,IAAI,CAAC;SACZ;QACD,IAAI,GAAG,IAAI,IAAI,EAAE;YACf,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEpC,GAAG,GAAG,MAAC,GAAW,CAAC,UAAU,mCAAI,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;SACvD;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC9B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG;YACR,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IAQL,CAAC;IACD,aAAa;QACX,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IACD,YAAY,CAAC,KAAa,EAAE,MAAc;QACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACzB,CAAC;IAOD,gBAAgB,CACd,IAAY,EACZ,QAA4C,EAC5C,OAA2C;QAE3C,OAAQ,IAAI,CAAC,MAAM,CAAC,YAAkC,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;IAMD,mBAAmB,CACjB,IAAY,EACZ,QAA4C,EAC5C,OAAwC;QAExC,OAAQ,IAAI,CAAC,MAAM,CAAC,YAAkC,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtG,CAAC;IACD,aAAa,CAAC,KAAU;QACtB,OAAQ,IAAI,CAAC,MAAM,CAAC,YAAkC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,QAAQ,CAAC,KAAgD;QACvD,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,qBAAqB;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAiC,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE;YACpB,OAAO;gBACL,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,MAAM,EAAE,EAAE,CAAC,MAAM;gBACjB,IAAI,EAAE,CAAC;gBACP,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV,CAAC;SACH;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAC1D,CAAC;IAED,YAAY,CAAC,EAAe,EAAE,KAAc;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,aAA0C,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;SAC9D;QACD,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,SAAS,CAAC,IAAkB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,eAAe,CAAC,EAAqC;QACnD,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,UAAoB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;;AA5RM,oCAAG,GAAY,SAAS,CAAC;AAJrB,gCAAgC;IAD5C,UAAU,EAAE;IAoBE,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;;GAnBjB,gCAAgC,CAiS5C;SAjSY,gCAAgC;AAmS7C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IAE5D,IAAI,CAAC,gCAAgC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,IAAI,CAAC,yBAAyB,CAAC;SAC5B,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;SAC1E,eAAe,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC","file":"browser-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n VGlobal,\n ContainerModule,\n WindowHandlerContribution\n} from '@visactor/vrender-core';\nimport type {\n IContext2d,\n ICanvas,\n IDomRectLike,\n EnvType,\n IGlobal,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { BrowserCanvas } from '../../canvas/contributions/browser';\n\n@injectable()\nexport class BrowserWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'browser';\n\n type: EnvType = 'browser';\n\n canvas: ICanvas;\n\n observer?: MutationObserver;\n\n protected _canvasIsIntersecting: boolean;\n protected _onVisibleChangeCb: (currentVisible: boolean) => void;\n\n get container(): HTMLElement | null {\n return this.canvas.nativeCanvas.parentElement;\n }\n\n constructor(@inject(VGlobal) private readonly global: IGlobal) {\n super();\n this._canvasIsIntersecting = true;\n }\n\n getTitle(): string {\n return this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n\n this.postInit();\n\n // this.bindOnChangeEvent();\n }\n\n protected postInit() {\n try {\n this.observerCanvas();\n } catch (err) {\n console.error('发生错误,该环境不存在IntersectionObserver');\n }\n }\n\n isElementVisible(el: HTMLElement) {\n const rect = el.getBoundingClientRect();\n const vWidth = window.innerWidth || document.documentElement.clientWidth;\n const vHeight = window.innerHeight || document.documentElement.clientHeight;\n\n if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight) {\n return false;\n }\n\n return true;\n }\n\n protected observerCanvas() {\n this._canvasIsIntersecting = this.isElementVisible(this.canvas.nativeCanvas);\n const observer = new IntersectionObserver((entries, observer) => {\n entries.forEach(entry => {\n if (this._canvasIsIntersecting !== entry.isIntersecting) {\n this._canvasIsIntersecting = entry.isIntersecting;\n this._onVisibleChangeCb && this._onVisibleChangeCb(entry.isIntersecting);\n } else {\n this._canvasIsIntersecting = entry.isIntersecting;\n }\n });\n });\n if (!observer) {\n return;\n }\n observer.observe(this.canvas.nativeCanvas);\n }\n\n // private bindOnChangeEvent() {\n // const { nativeCanvas } = this.canvas;\n // const observer = new MutationObserver((mutations, observer) => {\n // mutations.forEach((mutaion) => {\n // console.log(mutaion);\n // })\n // });\n // observer.observe(nativeCanvas, { attributes: true, childList: true, subtree: true })\n // }\n\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n // 保存到dom中\n let container: HTMLElement | null;\n if (typeof params.container === 'string') {\n container = this.global.getElementById(params.container);\n } else if (params.container) {\n container = params.container;\n } else {\n container = this.global.getRootElement();\n }\n if (!container) {\n throw new Error('发生错误,containerId可能传入有误');\n }\n\n if (!params.offscreen) {\n container.appendChild(nativeCanvas);\n } else {\n container = null;\n }\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n container,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: true\n };\n this.canvas = new BrowserCanvas(options);\n // 应用位置属性\n // window上的不需要设置position\n // this.canvas.applyPosition();\n // this.canvas.resetStyle(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n if (!canvas) {\n throw new Error('发生错误,传入的canvas不正确');\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n if (params.canvasControled === false) {\n if (dpr) {\n console.warn('canvasControled为false后,dpr参数将无效');\n }\n dpr = null;\n }\n if (dpr == null) {\n const ctx = canvas.getContext('2d');\n // 兼容XTable\n dpr = (ctx as any).pixelRatio ?? canvas.width / width;\n }\n this.canvas = new BrowserCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n // if (params.canvasControled) {\n // this.canvas.resetStyle({\n // width,\n // height,\n // dpr\n // });\n // }\n }\n releaseWindow(): void {\n this.canvas.release();\n }\n resizeWindow(width: number, height: number): void {\n this.canvas.resize(width, height);\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).addEventListener(type, listener, options);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).removeEventListener(type, listener, options);\n }\n dispatchEvent(event: any): boolean {\n return (this.canvas.nativeCanvas as HTMLCanvasElement).dispatchEvent(event);\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return this.canvas.nativeCanvas.style;\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n this.canvas.nativeCanvas.style = style;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const c = this.canvas.nativeCanvas as HTMLCanvasElement;\n const wh = this.getWH();\n if (!c.parentElement) {\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n return this.canvas.nativeCanvas.getBoundingClientRect();\n }\n\n clearViewBox(vb: IBoundsLike, color?: string): void {\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n\n isVisible(bbox?: IBoundsLike) {\n return this._canvasIsIntersecting;\n }\n\n onVisibleChange(cb: (currentVisible: boolean) => void) {\n this._onVisibleChangeCb = cb;\n }\n\n getTopLeft(baseWindow?: boolean): { top: number; left: number } {\n return this.global.getElementTopLeft(this.canvas.nativeCanvas, baseWindow);\n }\n}\n\nexport const browserWindowModule = new ContainerModule(bind => {\n // browser\n bind(BrowserWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(BrowserWindowHandlerContribution))\n .whenTargetNamed(BrowserWindowHandlerContribution.env);\n});\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
|
|
2
|
+
import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowHandlerContribution, IWindowParams } from '@visactor/vrender-core';
|
|
3
|
+
import type { IBoundsLike } from '@visactor/vutils';
|
|
4
|
+
declare class MiniAppEventManager {
|
|
5
|
+
addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
|
|
6
|
+
removeEventListener(type: string, func: EventListenerOrEventListenerObject): void;
|
|
7
|
+
cleanEvent(): void;
|
|
8
|
+
cache: Record<string, {
|
|
9
|
+
listener: EventListenerOrEventListenerObject[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare class FeishuWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {
|
|
13
|
+
private readonly global;
|
|
14
|
+
static env: EnvType;
|
|
15
|
+
type: EnvType;
|
|
16
|
+
protected eventManager: MiniAppEventManager;
|
|
17
|
+
canvas: ICanvas;
|
|
18
|
+
get container(): HTMLElement | null;
|
|
19
|
+
constructor(global: IGlobal);
|
|
20
|
+
getTitle(): string;
|
|
21
|
+
getWH(): {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
};
|
|
25
|
+
getXY(): {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
};
|
|
29
|
+
createWindow(params: IWindowParams): void;
|
|
30
|
+
private createWindowByConfig;
|
|
31
|
+
private createWindowByCanvas;
|
|
32
|
+
releaseWindow(): void;
|
|
33
|
+
resizeWindow(width: number, height: number): void;
|
|
34
|
+
setDpr(dpr: number): void;
|
|
35
|
+
getContext(): IContext2d;
|
|
36
|
+
getNativeHandler(): ICanvas;
|
|
37
|
+
getDpr(): number;
|
|
38
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
39
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
40
|
+
dispatchEvent(event: any): boolean;
|
|
41
|
+
getStyle(): CSSStyleDeclaration | Record<string, any>;
|
|
42
|
+
setStyle(style: CSSStyleDeclaration | Record<string, any>): void;
|
|
43
|
+
getBoundingClientRect(): IDomRectLike;
|
|
44
|
+
clearViewBox(vb: IBoundsLike, color?: string): void;
|
|
45
|
+
}
|
|
46
|
+
export declare const feishuWindowModule: ContainerModule;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
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
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
8
|
+
return function(target, key) {
|
|
9
|
+
decorator(target, key, paramIndex);
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
|
|
14
|
+
|
|
15
|
+
import { FeishuCanvas } from "../../canvas/contributions/feishu";
|
|
16
|
+
|
|
17
|
+
class MiniAppEventManager {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.cache = {};
|
|
20
|
+
}
|
|
21
|
+
addEventListener(type, func) {
|
|
22
|
+
type && func && (this.cache[type] = this.cache[type] || {
|
|
23
|
+
listener: []
|
|
24
|
+
}, this.cache[type].listener.push(func));
|
|
25
|
+
}
|
|
26
|
+
removeEventListener(type, func) {
|
|
27
|
+
if (!type || !func) return;
|
|
28
|
+
if (!this.cache[type]) return;
|
|
29
|
+
const index = this.cache[type].listener.findIndex((f => f === func));
|
|
30
|
+
index >= 0 && this.cache[type].listener.splice(index, 1);
|
|
31
|
+
}
|
|
32
|
+
cleanEvent() {
|
|
33
|
+
this.cache = {};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let FeishuWindowHandlerContribution = class extends BaseWindowHandlerContribution {
|
|
38
|
+
get container() {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
constructor(global) {
|
|
42
|
+
super(), this.global = global, this.type = "feishu", this.eventManager = new MiniAppEventManager;
|
|
43
|
+
}
|
|
44
|
+
getTitle() {
|
|
45
|
+
return this.canvas.id.toString();
|
|
46
|
+
}
|
|
47
|
+
getWH() {
|
|
48
|
+
return {
|
|
49
|
+
width: this.canvas.width / (this.canvas.dpr || 1),
|
|
50
|
+
height: this.canvas.height / (this.canvas.dpr || 1)
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
getXY() {
|
|
54
|
+
return {
|
|
55
|
+
x: 0,
|
|
56
|
+
y: 0
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
createWindow(params) {
|
|
60
|
+
params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
|
|
61
|
+
}
|
|
62
|
+
createWindowByConfig(params) {
|
|
63
|
+
const nativeCanvas = this.global.createCanvas({
|
|
64
|
+
width: params.width,
|
|
65
|
+
height: params.height
|
|
66
|
+
}), options = {
|
|
67
|
+
width: params.width,
|
|
68
|
+
height: params.height,
|
|
69
|
+
dpr: params.dpr,
|
|
70
|
+
nativeCanvas: nativeCanvas,
|
|
71
|
+
id: Generator.GenAutoIncrementId().toString(),
|
|
72
|
+
canvasControled: !1
|
|
73
|
+
};
|
|
74
|
+
this.canvas = new FeishuCanvas(options);
|
|
75
|
+
}
|
|
76
|
+
createWindowByCanvas(params) {
|
|
77
|
+
let canvas;
|
|
78
|
+
if ("string" == typeof params.canvas) {
|
|
79
|
+
if (canvas = this.global.getElementById(params.canvas), !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
|
|
80
|
+
} else canvas = params.canvas;
|
|
81
|
+
let width = params.width, height = params.height;
|
|
82
|
+
if (null == width || null == height || !params.canvasControled) {
|
|
83
|
+
const data = canvas.getBoundingClientRect();
|
|
84
|
+
width = data.width, height = data.height;
|
|
85
|
+
}
|
|
86
|
+
let dpr = params.dpr;
|
|
87
|
+
null == dpr && (dpr = canvas.width / width), this.canvas = new FeishuCanvas({
|
|
88
|
+
width: width,
|
|
89
|
+
height: height,
|
|
90
|
+
dpr: dpr,
|
|
91
|
+
nativeCanvas: canvas,
|
|
92
|
+
canvasControled: params.canvasControled
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
releaseWindow() {}
|
|
96
|
+
resizeWindow(width, height) {}
|
|
97
|
+
setDpr(dpr) {
|
|
98
|
+
this.canvas.dpr = dpr;
|
|
99
|
+
}
|
|
100
|
+
getContext() {
|
|
101
|
+
return this.canvas.getContext();
|
|
102
|
+
}
|
|
103
|
+
getNativeHandler() {
|
|
104
|
+
return this.canvas;
|
|
105
|
+
}
|
|
106
|
+
getDpr() {
|
|
107
|
+
return this.canvas.dpr;
|
|
108
|
+
}
|
|
109
|
+
addEventListener(type, listener) {
|
|
110
|
+
this.eventManager.addEventListener(type, listener);
|
|
111
|
+
}
|
|
112
|
+
removeEventListener(type, listener) {
|
|
113
|
+
this.eventManager.removeEventListener(type, listener);
|
|
114
|
+
}
|
|
115
|
+
dispatchEvent(event) {
|
|
116
|
+
const {type: type} = event;
|
|
117
|
+
return !!this.eventManager.cache[type] && (event.changedTouches && event.changedTouches[0] && (event.offsetX = event.changedTouches[0].x,
|
|
118
|
+
event.changedTouches[0].offsetX = event.changedTouches[0].x, event.changedTouches[0].clientX = event.changedTouches[0].x,
|
|
119
|
+
event.offsetY = event.changedTouches[0].y, event.changedTouches[0].offsetY = event.changedTouches[0].y,
|
|
120
|
+
event.changedTouches[0].clientY = event.changedTouches[0].y), event.preventDefault = () => {},
|
|
121
|
+
event.stopPropagation = () => {}, this.eventManager.cache[type].listener && this.eventManager.cache[type].listener.forEach((f => {
|
|
122
|
+
f(event);
|
|
123
|
+
})), !0);
|
|
124
|
+
}
|
|
125
|
+
getStyle() {
|
|
126
|
+
return {};
|
|
127
|
+
}
|
|
128
|
+
setStyle(style) {}
|
|
129
|
+
getBoundingClientRect() {
|
|
130
|
+
const wh = this.getWH();
|
|
131
|
+
return {
|
|
132
|
+
x: 0,
|
|
133
|
+
y: 0,
|
|
134
|
+
width: wh.width,
|
|
135
|
+
height: wh.height,
|
|
136
|
+
left: 0,
|
|
137
|
+
top: 0,
|
|
138
|
+
right: 0,
|
|
139
|
+
bottom: 0
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
clearViewBox(vb, color) {
|
|
143
|
+
const context = this.getContext(), dpr = this.getDpr();
|
|
144
|
+
context.nativeContext.save(), context.nativeContext.setTransform(dpr, 0, 0, dpr, 0, 0),
|
|
145
|
+
context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
|
|
146
|
+
context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
FeishuWindowHandlerContribution.env = "feishu", FeishuWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], FeishuWindowHandlerContribution);
|
|
151
|
+
|
|
152
|
+
export { FeishuWindowHandlerContribution };
|
|
153
|
+
|
|
154
|
+
export const feishuWindowModule = new ContainerModule((bind => {
|
|
155
|
+
bind(FeishuWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(FeishuWindowHandlerContribution))).whenTargetNamed(FeishuWindowHandlerContribution.env);
|
|
156
|
+
}));
|
|
157
|
+
//# sourceMappingURL=feishu-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/window/contributions/feishu-contribution.ts"],"names":[],"mappings":"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","file":"feishu-contribution.js","sourcesContent":["import {\n inject,\n injectable,\n Generator,\n BaseWindowHandlerContribution,\n VGlobal,\n ContainerModule,\n WindowHandlerContribution\n} from '@visactor/vrender-core';\nimport type {\n EnvType,\n IGlobal,\n IContext2d,\n ICanvas,\n IDomRectLike,\n IWindowHandlerContribution,\n IWindowParams\n} from '@visactor/vrender-core';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { FeishuCanvas } from '../../canvas/contributions/feishu';\n\nclass MiniAppEventManager {\n addEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n this.cache[type] = this.cache[type] || {\n listener: []\n };\n this.cache[type].listener.push(func);\n }\n removeEventListener(type: string, func: EventListenerOrEventListenerObject) {\n if (!type || !func) {\n return;\n }\n if (!this.cache[type]) {\n return;\n }\n const index = this.cache[type].listener.findIndex((f: EventListenerOrEventListenerObject) => f === func);\n if (index >= 0) {\n this.cache[type].listener.splice(index, 1);\n }\n }\n cleanEvent() {\n this.cache = {};\n }\n cache: Record<string, { listener: EventListenerOrEventListenerObject[] }> = {};\n}\n\n@injectable()\nexport class FeishuWindowHandlerContribution\n extends BaseWindowHandlerContribution\n implements IWindowHandlerContribution\n{\n static env: EnvType = 'feishu';\n type: EnvType = 'feishu';\n\n protected eventManager = new MiniAppEventManager();\n\n canvas: ICanvas;\n get container(): HTMLElement | null {\n return null;\n }\n\n constructor(@inject(VGlobal) private readonly global: IGlobal) {\n super();\n }\n\n getTitle(): string {\n return this.canvas.id.toString();\n }\n\n getWH(): { width: number; height: number } {\n return {\n width: this.canvas.width / (this.canvas.dpr || 1),\n height: this.canvas.height / (this.canvas.dpr || 1)\n };\n }\n\n getXY(): { x: number; y: number } {\n return { x: 0, y: 0 };\n }\n\n createWindow(params: IWindowParams): void {\n // 如果没有传入canvas,那么就创建一个canvas\n if (!params.canvas) {\n this.createWindowByConfig(params);\n } else {\n this.createWindowByCanvas(params);\n }\n }\n private createWindowByConfig(params: IWindowParams) {\n // 创建canvas\n const nativeCanvas = this.global.createCanvas({\n width: params.width,\n height: params.height\n });\n\n // 绑定\n const options = {\n width: params.width,\n height: params.height,\n dpr: params.dpr,\n nativeCanvas,\n id: Generator.GenAutoIncrementId().toString(),\n canvasControled: false\n };\n this.canvas = new FeishuCanvas(options);\n }\n private createWindowByCanvas(params: IWindowParams) {\n // 获取canvas\n let canvas: HTMLCanvasElement | null;\n if (typeof params.canvas === 'string') {\n canvas = this.global.getElementById(params.canvas) as HTMLCanvasElement | null;\n if (!canvas) {\n throw new Error('canvasId 参数不正确,请确认canvas存在并插入dom');\n }\n } else {\n canvas = params!.canvas as HTMLCanvasElement | null;\n }\n\n // 如果没有传入wh,或者是不受控制的canvas,那就用canvas的原始wh\n let width = params.width;\n let height = params.height;\n if (width == null || height == null || !params.canvasControled) {\n const data = canvas.getBoundingClientRect();\n width = data.width;\n height = data.height;\n }\n // 如果没有dpr,就使用canvas的原始dpr\n let dpr = params.dpr;\n if (dpr == null) {\n dpr = canvas.width / width;\n }\n this.canvas = new FeishuCanvas({\n width: width,\n height: height,\n dpr: dpr,\n nativeCanvas: canvas,\n canvasControled: params.canvasControled\n });\n }\n releaseWindow(): void {\n return;\n }\n resizeWindow(width: number, height: number): void {\n return;\n }\n setDpr(dpr: number): void {\n this.canvas.dpr = dpr;\n }\n\n getContext(): IContext2d {\n return this.canvas.getContext();\n }\n getNativeHandler(): ICanvas {\n return this.canvas;\n }\n getDpr(): number {\n return this.canvas.dpr;\n }\n\n addEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.addEventListener(type, listener);\n }\n removeEventListener<K extends keyof DocumentEventMap>(\n type: K,\n listener: (this: Document, ev: DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void {\n this.eventManager.removeEventListener(type, listener);\n }\n dispatchEvent(event: any): boolean {\n const { type } = event;\n if (!this.eventManager.cache[type]) {\n return false;\n }\n\n // hack for offsetX offsetY\n if (event.changedTouches && event.changedTouches[0]) {\n event.offsetX = event.changedTouches[0].x;\n event.changedTouches[0].offsetX = event.changedTouches[0].x;\n event.changedTouches[0].clientX = event.changedTouches[0].x;\n event.offsetY = event.changedTouches[0].y;\n event.changedTouches[0].offsetY = event.changedTouches[0].y;\n event.changedTouches[0].clientY = event.changedTouches[0].y;\n }\n event.preventDefault = () => {\n return;\n };\n event.stopPropagation = () => {\n return;\n };\n if (this.eventManager.cache[type].listener) {\n this.eventManager.cache[type].listener.forEach((f: EventListener) => {\n f(event);\n });\n }\n return true;\n }\n\n getStyle(): CSSStyleDeclaration | Record<string, any> {\n return {};\n }\n setStyle(style: CSSStyleDeclaration | Record<string, any>) {\n return;\n }\n\n getBoundingClientRect(): IDomRectLike {\n const wh = this.getWH();\n return {\n x: 0,\n y: 0,\n width: wh.width,\n height: wh.height,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n }\n\n clearViewBox(vb: IBoundsLike, color?: string): void {\n const context = this.getContext();\n const dpr = this.getDpr();\n context.nativeContext.save();\n (context.nativeContext as CanvasRenderingContext2D).setTransform(dpr, 0, 0, dpr, 0, 0);\n context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n if (color) {\n context.fillStyle = color;\n context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1);\n }\n context.nativeContext.restore();\n }\n}\n\nexport const feishuWindowModule = new ContainerModule(bind => {\n // feishu\n bind(FeishuWindowHandlerContribution).toSelf();\n bind(WindowHandlerContribution)\n .toDynamicValue(ctx => ctx.container.get(FeishuWindowHandlerContribution))\n .whenTargetNamed(FeishuWindowHandlerContribution.env);\n});\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BaseWindowHandlerContribution, ContainerModule } from '@visactor/vrender-core';
|
|
2
|
+
import type { EnvType, IGlobal, IContext2d, ICanvas, IDomRectLike, IWindowParams, IWindowHandlerContribution } from '@visactor/vrender-core';
|
|
3
|
+
import type { IBoundsLike } from '@visactor/vutils';
|
|
4
|
+
declare class MiniAppEventManager {
|
|
5
|
+
addEventListener(type: string, func: EventListenerOrEventListenerObject): void;
|
|
6
|
+
removeEventListener(type: string, func: EventListenerOrEventListenerObject): void;
|
|
7
|
+
cleanEvent(): void;
|
|
8
|
+
cache: Record<string, {
|
|
9
|
+
listener: EventListenerOrEventListenerObject[];
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare class LynxWindowHandlerContribution extends BaseWindowHandlerContribution implements IWindowHandlerContribution {
|
|
13
|
+
private readonly global;
|
|
14
|
+
static env: EnvType;
|
|
15
|
+
type: EnvType;
|
|
16
|
+
protected eventManager: MiniAppEventManager;
|
|
17
|
+
canvas: ICanvas;
|
|
18
|
+
get container(): HTMLElement | null;
|
|
19
|
+
constructor(global: IGlobal);
|
|
20
|
+
getTitle(): string;
|
|
21
|
+
getWH(): {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
};
|
|
25
|
+
getXY(): {
|
|
26
|
+
x: number;
|
|
27
|
+
y: number;
|
|
28
|
+
};
|
|
29
|
+
createWindow(params: IWindowParams): void;
|
|
30
|
+
private createWindowByConfig;
|
|
31
|
+
private createWindowByCanvas;
|
|
32
|
+
releaseWindow(): void;
|
|
33
|
+
resizeWindow(width: number, height: number): void;
|
|
34
|
+
setDpr(dpr: number): void;
|
|
35
|
+
getContext(): IContext2d;
|
|
36
|
+
getNativeHandler(): ICanvas;
|
|
37
|
+
getDpr(): number;
|
|
38
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
39
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
40
|
+
dispatchEvent(event: any): boolean;
|
|
41
|
+
getStyle(): CSSStyleDeclaration | Record<string, any>;
|
|
42
|
+
setStyle(style: CSSStyleDeclaration | Record<string, any>): void;
|
|
43
|
+
getBoundingClientRect(): IDomRectLike;
|
|
44
|
+
clearViewBox(vb: IBoundsLike, color?: string): void;
|
|
45
|
+
}
|
|
46
|
+
export declare const lynxWindowModule: ContainerModule;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,157 @@
|
|
|
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
|
+
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
8
|
+
return function(target, key) {
|
|
9
|
+
decorator(target, key, paramIndex);
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
import { inject, injectable, Generator, BaseWindowHandlerContribution, VGlobal, ContainerModule, WindowHandlerContribution } from "@visactor/vrender-core";
|
|
14
|
+
|
|
15
|
+
import { LynxCanvas } from "../../canvas/contributions/lynx";
|
|
16
|
+
|
|
17
|
+
class MiniAppEventManager {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.cache = {};
|
|
20
|
+
}
|
|
21
|
+
addEventListener(type, func) {
|
|
22
|
+
type && func && (this.cache[type] = this.cache[type] || {
|
|
23
|
+
listener: []
|
|
24
|
+
}, this.cache[type].listener.push(func));
|
|
25
|
+
}
|
|
26
|
+
removeEventListener(type, func) {
|
|
27
|
+
if (!type || !func) return;
|
|
28
|
+
if (!this.cache[type]) return;
|
|
29
|
+
const index = this.cache[type].listener.findIndex((f => f === func));
|
|
30
|
+
index >= 0 && this.cache[type].listener.splice(index, 1);
|
|
31
|
+
}
|
|
32
|
+
cleanEvent() {
|
|
33
|
+
this.cache = {};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
let LynxWindowHandlerContribution = class extends BaseWindowHandlerContribution {
|
|
38
|
+
get container() {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
constructor(global) {
|
|
42
|
+
super(), this.global = global, this.type = "lynx", this.eventManager = new MiniAppEventManager;
|
|
43
|
+
}
|
|
44
|
+
getTitle() {
|
|
45
|
+
return this.canvas.id.toString();
|
|
46
|
+
}
|
|
47
|
+
getWH() {
|
|
48
|
+
return {
|
|
49
|
+
width: this.canvas.width / (this.canvas.dpr || 1),
|
|
50
|
+
height: this.canvas.height / (this.canvas.dpr || 1)
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
getXY() {
|
|
54
|
+
return {
|
|
55
|
+
x: 0,
|
|
56
|
+
y: 0
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
createWindow(params) {
|
|
60
|
+
params.canvas ? this.createWindowByCanvas(params) : this.createWindowByConfig(params);
|
|
61
|
+
}
|
|
62
|
+
createWindowByConfig(params) {
|
|
63
|
+
const nativeCanvas = this.global.createCanvas({
|
|
64
|
+
width: params.width,
|
|
65
|
+
height: params.height
|
|
66
|
+
}), options = {
|
|
67
|
+
width: params.width,
|
|
68
|
+
height: params.height,
|
|
69
|
+
dpr: params.dpr,
|
|
70
|
+
nativeCanvas: nativeCanvas,
|
|
71
|
+
id: Generator.GenAutoIncrementId().toString(),
|
|
72
|
+
canvasControled: !1
|
|
73
|
+
};
|
|
74
|
+
this.canvas = new LynxCanvas(options);
|
|
75
|
+
}
|
|
76
|
+
createWindowByCanvas(params) {
|
|
77
|
+
let canvas;
|
|
78
|
+
if ("string" == typeof params.canvas) {
|
|
79
|
+
if (canvas = this.global.getElementById(params.canvas), !canvas) throw new Error("canvasId 参数不正确,请确认canvas存在并插入dom");
|
|
80
|
+
} else canvas = params.canvas;
|
|
81
|
+
let width = params.width, height = params.height;
|
|
82
|
+
if (null == width || null == height || !params.canvasControled) {
|
|
83
|
+
const data = canvas.getBoundingClientRect();
|
|
84
|
+
width = data.width, height = data.height;
|
|
85
|
+
}
|
|
86
|
+
let dpr = params.dpr;
|
|
87
|
+
null == dpr && (dpr = canvas.width / width), this.canvas = new LynxCanvas({
|
|
88
|
+
width: width,
|
|
89
|
+
height: height,
|
|
90
|
+
dpr: dpr,
|
|
91
|
+
nativeCanvas: canvas,
|
|
92
|
+
canvasControled: params.canvasControled
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
releaseWindow() {}
|
|
96
|
+
resizeWindow(width, height) {}
|
|
97
|
+
setDpr(dpr) {
|
|
98
|
+
this.canvas.dpr = dpr;
|
|
99
|
+
}
|
|
100
|
+
getContext() {
|
|
101
|
+
return this.canvas.getContext();
|
|
102
|
+
}
|
|
103
|
+
getNativeHandler() {
|
|
104
|
+
return this.canvas;
|
|
105
|
+
}
|
|
106
|
+
getDpr() {
|
|
107
|
+
return this.canvas.dpr;
|
|
108
|
+
}
|
|
109
|
+
addEventListener(type, listener) {
|
|
110
|
+
this.eventManager.addEventListener(type, listener);
|
|
111
|
+
}
|
|
112
|
+
removeEventListener(type, listener) {
|
|
113
|
+
this.eventManager.removeEventListener(type, listener);
|
|
114
|
+
}
|
|
115
|
+
dispatchEvent(event) {
|
|
116
|
+
const {type: type} = event;
|
|
117
|
+
return !!this.eventManager.cache[type] && (event.changedTouches && event.changedTouches[0] && (event.offsetX = event.changedTouches[0].x,
|
|
118
|
+
event.changedTouches[0].offsetX = event.changedTouches[0].x, event.changedTouches[0].clientX = event.changedTouches[0].x,
|
|
119
|
+
event.offsetY = event.changedTouches[0].y, event.changedTouches[0].offsetY = event.changedTouches[0].y,
|
|
120
|
+
event.changedTouches[0].clientY = event.changedTouches[0].y), event.preventDefault = () => {},
|
|
121
|
+
event.stopPropagation = () => {}, this.eventManager.cache[type].listener && this.eventManager.cache[type].listener.forEach((f => {
|
|
122
|
+
f(event);
|
|
123
|
+
})), !0);
|
|
124
|
+
}
|
|
125
|
+
getStyle() {
|
|
126
|
+
return {};
|
|
127
|
+
}
|
|
128
|
+
setStyle(style) {}
|
|
129
|
+
getBoundingClientRect() {
|
|
130
|
+
const wh = this.getWH();
|
|
131
|
+
return {
|
|
132
|
+
x: 0,
|
|
133
|
+
y: 0,
|
|
134
|
+
width: wh.width,
|
|
135
|
+
height: wh.height,
|
|
136
|
+
left: 0,
|
|
137
|
+
top: 0,
|
|
138
|
+
right: 0,
|
|
139
|
+
bottom: 0
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
clearViewBox(vb, color) {
|
|
143
|
+
const context = this.getContext(), dpr = this.getDpr();
|
|
144
|
+
context.nativeContext.save(), context.nativeContext.setTransform(dpr, 0, 0, dpr, 0, 0),
|
|
145
|
+
context.clearRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1), color && (context.fillStyle = color,
|
|
146
|
+
context.fillRect(vb.x1, vb.y1, vb.x2 - vb.x1, vb.y2 - vb.y1)), context.nativeContext.restore();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
LynxWindowHandlerContribution.env = "lynx", LynxWindowHandlerContribution = __decorate([ injectable(), __param(0, inject(VGlobal)), __metadata("design:paramtypes", [ Object ]) ], LynxWindowHandlerContribution);
|
|
151
|
+
|
|
152
|
+
export { LynxWindowHandlerContribution };
|
|
153
|
+
|
|
154
|
+
export const lynxWindowModule = new ContainerModule((bind => {
|
|
155
|
+
bind(LynxWindowHandlerContribution).toSelf(), bind(WindowHandlerContribution).toDynamicValue((ctx => ctx.container.get(LynxWindowHandlerContribution))).whenTargetNamed(LynxWindowHandlerContribution.env);
|
|
156
|
+
}));
|
|
157
|
+
//# sourceMappingURL=lynx-contribution.js.map
|