@visactor/vrender 0.9.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/cjs/allocator/allocator-modules.d.ts +3 -0
- package/cjs/allocator/allocator-modules.js +22 -0
- package/cjs/allocator/allocator-modules.js.map +1 -0
- package/cjs/allocator/canvas-allocate.d.ts +18 -0
- package/cjs/allocator/canvas-allocate.js +62 -0
- package/cjs/allocator/canvas-allocate.js.map +1 -0
- package/cjs/allocator/graphic-allocate.d.ts +58 -0
- package/cjs/allocator/graphic-allocate.js +160 -0
- package/cjs/allocator/graphic-allocate.js.map +1 -0
- package/cjs/allocator/interface.d.ts +6 -0
- package/cjs/allocator/interface.js +6 -0
- package/cjs/allocator/interface.js.map +1 -0
- package/cjs/allocator/matrix-allocate.d.ts +25 -0
- package/cjs/allocator/matrix-allocate.js +84 -0
- package/cjs/allocator/matrix-allocate.js.map +1 -0
- package/cjs/allocator/point-allocate.d.ts +1 -0
- package/cjs/allocator/point-allocate.js +3 -0
- package/cjs/allocator/point-allocate.js.map +1 -0
- package/cjs/animate/Ticker/default-ticker.d.ts +101 -0
- package/cjs/animate/Ticker/default-ticker.js +244 -0
- package/cjs/animate/Ticker/default-ticker.js.map +1 -0
- package/cjs/animate/Ticker/index.d.ts +2 -0
- package/cjs/animate/Ticker/index.js +21 -0
- package/cjs/animate/Ticker/index.js.map +1 -0
- package/cjs/animate/Ticker/interface.d.ts +12 -0
- package/cjs/animate/Ticker/interface.js +6 -0
- package/cjs/animate/Ticker/interface.js.map +1 -0
- package/cjs/animate/animate.d.ts +146 -0
- package/cjs/animate/animate.js +392 -0
- package/cjs/animate/animate.js.map +1 -0
- package/cjs/animate/config.d.ts +3 -0
- package/cjs/animate/config.js +13 -0
- package/cjs/animate/config.js.map +1 -0
- package/cjs/animate/custom-animate.d.ts +229 -0
- package/cjs/animate/custom-animate.js +645 -0
- package/cjs/animate/custom-animate.js.map +1 -0
- package/cjs/animate/easing.d.ts +39 -0
- package/cjs/animate/easing.js +100 -0
- package/cjs/animate/easing.js.map +1 -0
- package/cjs/animate/index.d.ts +6 -0
- package/cjs/animate/index.js +23 -0
- package/cjs/animate/index.js.map +1 -0
- package/cjs/animate/morphing.d.ts +52 -0
- package/cjs/animate/morphing.js +291 -0
- package/cjs/animate/morphing.js.map +1 -0
- package/cjs/animate/timeline.d.ts +27 -0
- package/cjs/animate/timeline.js +46 -0
- package/cjs/animate/timeline.js.map +1 -0
- package/cjs/canvas/contributions/browser/canvas.d.ts +51 -0
- package/cjs/canvas/contributions/browser/canvas.js +138 -0
- package/cjs/canvas/contributions/browser/canvas.js.map +1 -0
- package/cjs/canvas/contributions/browser/conical-gradient.d.ts +13 -0
- package/cjs/canvas/contributions/browser/conical-gradient.js +123 -0
- package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -0
- package/cjs/canvas/contributions/browser/context.d.ts +171 -0
- package/cjs/canvas/contributions/browser/context.js +489 -0
- package/cjs/canvas/contributions/browser/context.js.map +1 -0
- package/cjs/canvas/contributions/browser/index.d.ts +3 -0
- package/cjs/canvas/contributions/browser/index.js +22 -0
- package/cjs/canvas/contributions/browser/index.js.map +1 -0
- package/cjs/canvas/contributions/browser/modules.d.ts +3 -0
- package/cjs/canvas/contributions/browser/modules.js +13 -0
- package/cjs/canvas/contributions/browser/modules.js.map +1 -0
- package/cjs/canvas/contributions/feishu/canvas.d.ts +48 -0
- package/cjs/canvas/contributions/feishu/canvas.js +102 -0
- package/cjs/canvas/contributions/feishu/canvas.js.map +1 -0
- package/cjs/canvas/contributions/feishu/context.d.ts +11 -0
- package/cjs/canvas/contributions/feishu/context.js +53 -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 +3 -0
- package/cjs/canvas/contributions/feishu/modules.js +13 -0
- package/cjs/canvas/contributions/feishu/modules.js.map +1 -0
- package/cjs/canvas/contributions/lynx/canvas.d.ts +48 -0
- package/cjs/canvas/contributions/lynx/canvas.js +102 -0
- package/cjs/canvas/contributions/lynx/canvas.js.map +1 -0
- package/cjs/canvas/contributions/lynx/context.d.ts +10 -0
- package/cjs/canvas/contributions/lynx/context.js +34 -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 +3 -0
- package/cjs/canvas/contributions/lynx/modules.js +13 -0
- package/cjs/canvas/contributions/lynx/modules.js.map +1 -0
- package/cjs/canvas/contributions/modules.d.ts +2 -0
- package/cjs/canvas/contributions/modules.js +21 -0
- package/cjs/canvas/contributions/modules.js.map +1 -0
- package/cjs/canvas/contributions/taro/canvas.d.ts +47 -0
- package/cjs/canvas/contributions/taro/canvas.js +102 -0
- package/cjs/canvas/contributions/taro/canvas.js.map +1 -0
- package/cjs/canvas/contributions/taro/context.d.ts +31 -0
- package/cjs/canvas/contributions/taro/context.js +65 -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 +3 -0
- package/cjs/canvas/contributions/taro/modules.js +13 -0
- package/cjs/canvas/contributions/taro/modules.js.map +1 -0
- package/cjs/canvas/contributions/tt/canvas.d.ts +48 -0
- package/cjs/canvas/contributions/tt/canvas.js +102 -0
- package/cjs/canvas/contributions/tt/canvas.js.map +1 -0
- package/cjs/canvas/contributions/tt/context.d.ts +9 -0
- package/cjs/canvas/contributions/tt/context.js +29 -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 +3 -0
- package/cjs/canvas/contributions/tt/modules.js +13 -0
- package/cjs/canvas/contributions/tt/modules.js.map +1 -0
- package/cjs/canvas/empty-context.d.ts +97 -0
- package/cjs/canvas/empty-context.js +209 -0
- package/cjs/canvas/empty-context.js.map +1 -0
- package/cjs/canvas/index.d.ts +6 -0
- package/cjs/canvas/index.js +34 -0
- package/cjs/canvas/index.js.map +1 -0
- package/cjs/canvas/interface.d.ts +9 -0
- package/cjs/canvas/interface.js +7 -0
- package/cjs/canvas/interface.js.map +1 -0
- package/cjs/canvas/util.d.ts +21 -0
- package/cjs/canvas/util.js +387 -0
- package/cjs/canvas/util.js.map +1 -0
- package/cjs/color-string/colorName.d.ts +151 -0
- package/cjs/color-string/colorName.js +155 -0
- package/cjs/color-string/colorName.js.map +1 -0
- package/cjs/color-string/index.d.ts +14 -0
- package/cjs/color-string/index.js +166 -0
- package/cjs/color-string/index.js.map +1 -0
- package/cjs/color-string/interpolate.d.ts +7 -0
- package/cjs/color-string/interpolate.js +92 -0
- package/cjs/color-string/interpolate.js.map +1 -0
- package/cjs/common/bezier.d.ts +8 -0
- package/cjs/common/bezier.js +45 -0
- package/cjs/common/bezier.js.map +1 -0
- package/cjs/common/bounds-context.d.ts +18 -0
- package/cjs/common/bounds-context.js +60 -0
- package/cjs/common/bounds-context.js.map +1 -0
- package/cjs/common/canvas-utils.d.ts +7 -0
- package/cjs/common/canvas-utils.js +43 -0
- package/cjs/common/canvas-utils.js.map +1 -0
- package/cjs/common/contribution-provider.d.ts +6 -0
- package/cjs/common/contribution-provider.js +22 -0
- package/cjs/common/contribution-provider.js.map +1 -0
- package/cjs/common/curve/basis.d.ts +18 -0
- package/cjs/common/curve/basis.js +68 -0
- package/cjs/common/curve/basis.js.map +1 -0
- package/cjs/common/curve/common.d.ts +3 -0
- package/cjs/common/curve/common.js +12 -0
- package/cjs/common/curve/common.js.map +1 -0
- package/cjs/common/curve/index.d.ts +12 -0
- package/cjs/common/curve/index.js +57 -0
- package/cjs/common/curve/index.js.map +1 -0
- package/cjs/common/curve/interface.d.ts +42 -0
- package/cjs/common/curve/interface.js +18 -0
- package/cjs/common/curve/interface.js.map +1 -0
- package/cjs/common/curve/linear-closed.d.ts +17 -0
- package/cjs/common/curve/linear-closed.js +60 -0
- package/cjs/common/curve/linear-closed.js.map +1 -0
- package/cjs/common/curve/linear.d.ts +17 -0
- package/cjs/common/curve/linear.js +59 -0
- package/cjs/common/curve/linear.js.map +1 -0
- package/cjs/common/curve/monotone.d.ts +26 -0
- package/cjs/common/curve/monotone.js +128 -0
- package/cjs/common/curve/monotone.js.map +1 -0
- package/cjs/common/curve/step.d.ts +18 -0
- package/cjs/common/curve/step.js +65 -0
- package/cjs/common/curve/step.js.map +1 -0
- package/cjs/common/enums.d.ts +52 -0
- package/cjs/common/enums.js +38 -0
- package/cjs/common/enums.js.map +1 -0
- package/cjs/common/generator.d.ts +4 -0
- package/cjs/common/generator.js +14 -0
- package/cjs/common/generator.js.map +1 -0
- package/cjs/common/index.d.ts +20 -0
- package/cjs/common/index.js +30 -0
- package/cjs/common/index.js.map +1 -0
- package/cjs/common/matrix.d.ts +1 -0
- package/cjs/common/matrix.js +1 -0
- package/cjs/common/matrix.js.map +1 -0
- package/cjs/common/morphing-utils.d.ts +18 -0
- package/cjs/common/morphing-utils.js +297 -0
- package/cjs/common/morphing-utils.js.map +1 -0
- package/cjs/common/path-svg.d.ts +12 -0
- package/cjs/common/path-svg.js +64 -0
- package/cjs/common/path-svg.js.map +1 -0
- package/cjs/common/path.d.ts +160 -0
- package/cjs/common/path.js +552 -0
- package/cjs/common/path.js.map +1 -0
- package/cjs/common/polygon.d.ts +4 -0
- package/cjs/common/polygon.js +42 -0
- package/cjs/common/polygon.js.map +1 -0
- package/cjs/common/render-area.d.ts +8 -0
- package/cjs/common/render-area.js +75 -0
- package/cjs/common/render-area.js.map +1 -0
- package/cjs/common/render-command-list.d.ts +2 -0
- package/cjs/common/render-command-list.js +17 -0
- package/cjs/common/render-command-list.js.map +1 -0
- package/cjs/common/render-curve.d.ts +15 -0
- package/cjs/common/render-curve.js +71 -0
- package/cjs/common/render-curve.js.map +1 -0
- package/cjs/common/seg-context.d.ts +40 -0
- package/cjs/common/seg-context.js +101 -0
- package/cjs/common/seg-context.js.map +1 -0
- package/cjs/common/shape/arc.d.ts +2 -0
- package/cjs/common/shape/arc.js +35 -0
- package/cjs/common/shape/arc.js.map +1 -0
- package/cjs/common/shape/rect.d.ts +2 -0
- package/cjs/common/shape/rect.js +54 -0
- package/cjs/common/shape/rect.js.map +1 -0
- package/cjs/common/sort.d.ts +4 -0
- package/cjs/common/sort.js +101 -0
- package/cjs/common/sort.js.map +1 -0
- package/cjs/common/split-path.d.ts +44 -0
- package/cjs/common/split-path.js +272 -0
- package/cjs/common/split-path.js.map +1 -0
- package/cjs/common/store.d.ts +2 -0
- package/cjs/common/store.js +2 -0
- package/cjs/common/store.js.map +1 -0
- package/cjs/common/text.d.ts +13 -0
- package/cjs/common/text.js +25 -0
- package/cjs/common/text.js.map +1 -0
- package/cjs/common/utils.d.ts +27 -0
- package/cjs/common/utils.js +125 -0
- package/cjs/common/utils.js.map +1 -0
- package/cjs/core/application.d.ts +7 -0
- package/cjs/core/application.js +6 -0
- package/cjs/core/application.js.map +1 -0
- package/cjs/core/camera.d.ts +21 -0
- package/cjs/core/camera.js +125 -0
- package/cjs/core/camera.js.map +1 -0
- package/cjs/core/contributions/env/base-contribution.d.ts +46 -0
- package/cjs/core/contributions/env/base-contribution.js +57 -0
- package/cjs/core/contributions/env/base-contribution.js.map +1 -0
- package/cjs/core/contributions/env/browser-contribution.d.ts +31 -0
- package/cjs/core/contributions/env/browser-contribution.js +116 -0
- package/cjs/core/contributions/env/browser-contribution.js.map +1 -0
- package/cjs/core/contributions/env/feishu-contribution.d.ts +51 -0
- package/cjs/core/contributions/env/feishu-contribution.js +109 -0
- package/cjs/core/contributions/env/feishu-contribution.js.map +1 -0
- package/cjs/core/contributions/env/lynx-contribution.d.ts +50 -0
- package/cjs/core/contributions/env/lynx-contribution.js +104 -0
- package/cjs/core/contributions/env/lynx-contribution.js.map +1 -0
- package/cjs/core/contributions/env/modules.d.ts +3 -0
- package/cjs/core/contributions/env/modules.js +17 -0
- package/cjs/core/contributions/env/modules.js.map +1 -0
- package/cjs/core/contributions/env/taro-contribution.d.ts +84 -0
- package/cjs/core/contributions/env/taro-contribution.js +136 -0
- package/cjs/core/contributions/env/taro-contribution.js.map +1 -0
- package/cjs/core/contributions/index.d.ts +3 -0
- package/cjs/core/contributions/index.js +31 -0
- package/cjs/core/contributions/index.js.map +1 -0
- package/cjs/core/contributions/interface.d.ts +3 -0
- package/cjs/core/contributions/interface.js +6 -0
- package/cjs/core/contributions/interface.js.map +1 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +21 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +84 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -0
- package/cjs/core/contributions/layerHandler/modules.d.ts +3 -0
- package/cjs/core/contributions/layerHandler/modules.js +13 -0
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +20 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +75 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -0
- package/cjs/core/contributions/modules.d.ts +2 -0
- package/cjs/core/contributions/modules.js +21 -0
- package/cjs/core/contributions/modules.js.map +1 -0
- package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +27 -0
- package/cjs/core/contributions/textMeasure/AtextMeasure.js +116 -0
- package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -0
- package/cjs/core/contributions/textMeasure/ITextMeasure.d.ts +25 -0
- package/cjs/core/contributions/textMeasure/ITextMeasure.js +6 -0
- package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -0
- package/cjs/core/contributions/textMeasure/layout.d.ts +39 -0
- package/cjs/core/contributions/textMeasure/layout.js +90 -0
- package/cjs/core/contributions/textMeasure/layout.js.map +1 -0
- package/cjs/core/contributions/textMeasure/modules.d.ts +3 -0
- package/cjs/core/contributions/textMeasure/modules.js +14 -0
- package/cjs/core/contributions/textMeasure/modules.js.map +1 -0
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.d.ts +4 -0
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.js +21 -0
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -0
- package/cjs/core/contributions/window/base-contribution.d.ts +43 -0
- package/cjs/core/contributions/window/base-contribution.js +31 -0
- package/cjs/core/contributions/window/base-contribution.js.map +1 -0
- package/cjs/core/contributions/window/browser-contribution.d.ts +38 -0
- package/cjs/core/contributions/window/browser-contribution.js +145 -0
- package/cjs/core/contributions/window/browser-contribution.js.map +1 -0
- package/cjs/core/contributions/window/feishu-contribution.d.ts +47 -0
- package/cjs/core/contributions/window/feishu-contribution.js +157 -0
- package/cjs/core/contributions/window/feishu-contribution.js.map +1 -0
- package/cjs/core/contributions/window/lynx-contribution.d.ts +47 -0
- package/cjs/core/contributions/window/lynx-contribution.js +157 -0
- package/cjs/core/contributions/window/lynx-contribution.js.map +1 -0
- package/cjs/core/contributions/window/modules.d.ts +3 -0
- package/cjs/core/contributions/window/modules.js +15 -0
- package/cjs/core/contributions/window/modules.js.map +1 -0
- package/cjs/core/contributions/window/native-contribution.d.ts +1 -0
- package/cjs/core/contributions/window/native-contribution.js +3 -0
- package/cjs/core/contributions/window/native-contribution.js.map +1 -0
- package/cjs/core/contributions/window/node-contribution.d.ts +1 -0
- package/cjs/core/contributions/window/node-contribution.js +3 -0
- package/cjs/core/contributions/window/node-contribution.js.map +1 -0
- package/cjs/core/contributions/window/taro-contribution.d.ts +47 -0
- package/cjs/core/contributions/window/taro-contribution.js +164 -0
- package/cjs/core/contributions/window/taro-contribution.js.map +1 -0
- package/cjs/core/core-modules.d.ts +3 -0
- package/cjs/core/core-modules.js +16 -0
- package/cjs/core/core-modules.js.map +1 -0
- package/cjs/core/global.d.ts +58 -0
- package/cjs/core/global.js +122 -0
- package/cjs/core/global.js.map +1 -0
- package/cjs/core/graphic-utils.d.ts +60 -0
- package/cjs/core/graphic-utils.js +127 -0
- package/cjs/core/graphic-utils.js.map +1 -0
- package/cjs/core/index.d.ts +7 -0
- package/cjs/core/index.js +24 -0
- package/cjs/core/index.js.map +1 -0
- package/cjs/core/layer-service.d.ts +19 -0
- package/cjs/core/layer-service.js +52 -0
- package/cjs/core/layer-service.js.map +1 -0
- package/cjs/core/layer.d.ts +88 -0
- package/cjs/core/layer.js +131 -0
- package/cjs/core/layer.js.map +1 -0
- package/cjs/core/light.d.ts +10 -0
- package/cjs/core/light.js +28 -0
- package/cjs/core/light.js.map +1 -0
- package/cjs/core/stage.d.ts +112 -0
- package/cjs/core/stage.js +368 -0
- package/cjs/core/stage.js.map +1 -0
- package/cjs/core/window.d.ts +113 -0
- package/cjs/core/window.js +116 -0
- package/cjs/core/window.js.map +1 -0
- package/cjs/create.d.ts +3 -0
- package/cjs/create.js +13 -0
- package/cjs/create.js.map +1 -0
- package/cjs/event/constant.d.ts +1 -0
- package/cjs/event/constant.js +6 -0
- package/cjs/event/constant.js.map +1 -0
- package/cjs/event/event-manager.d.ts +60 -0
- package/cjs/event/event-manager.js +275 -0
- package/cjs/event/event-manager.js.map +1 -0
- package/cjs/event/event-system.d.ts +38 -0
- package/cjs/event/event-system.js +202 -0
- package/cjs/event/event-system.js.map +1 -0
- package/cjs/event/event-target.d.ts +3 -0
- package/cjs/event/event-target.js +22 -0
- package/cjs/event/event-target.js.map +1 -0
- package/cjs/event/extension/drag.d.ts +9 -0
- package/cjs/event/extension/drag.js +54 -0
- package/cjs/event/extension/drag.js.map +1 -0
- package/cjs/event/extension/gesture.d.ts +61 -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/event/federated-event/base-event.d.ts +53 -0
- package/cjs/event/federated-event/base-event.js +69 -0
- package/cjs/event/federated-event/base-event.js.map +1 -0
- package/cjs/event/federated-event/custom-event.d.ts +4 -0
- package/cjs/event/federated-event/custom-event.js +16 -0
- package/cjs/event/federated-event/custom-event.js.map +1 -0
- package/cjs/event/federated-event/index.d.ts +5 -0
- package/cjs/event/federated-event/index.js +23 -0
- package/cjs/event/federated-event/index.js.map +1 -0
- package/cjs/event/federated-event/mouse-event.d.ts +29 -0
- package/cjs/event/federated-event/mouse-event.js +53 -0
- package/cjs/event/federated-event/mouse-event.js.map +1 -0
- package/cjs/event/federated-event/pointer-event.d.ts +17 -0
- package/cjs/event/federated-event/pointer-event.js +32 -0
- package/cjs/event/federated-event/pointer-event.js.map +1 -0
- package/cjs/event/federated-event/wheel-event.d.ts +14 -0
- package/cjs/event/federated-event/wheel-event.js +27 -0
- package/cjs/event/federated-event/wheel-event.js.map +1 -0
- package/cjs/event/index.d.ts +6 -0
- package/cjs/event/index.js +23 -0
- package/cjs/event/index.js.map +1 -0
- package/cjs/event/interface.d.ts +24 -0
- package/cjs/event/interface.js +6 -0
- package/cjs/event/interface.js.map +1 -0
- package/cjs/event/type.d.ts +24 -0
- package/cjs/event/type.js +6 -0
- package/cjs/event/type.js.map +1 -0
- package/cjs/event/util.d.ts +1 -0
- package/cjs/event/util.js +6 -0
- package/cjs/event/util.js.map +1 -0
- package/cjs/export.d.ts +1 -0
- package/cjs/export.js +1 -0
- package/cjs/export.js.map +1 -0
- package/cjs/graphic/arc.d.ts +32 -0
- package/cjs/graphic/arc.js +138 -0
- package/cjs/graphic/arc.js.map +1 -0
- package/cjs/graphic/arc3d.d.ts +10 -0
- package/cjs/graphic/arc3d.js +27 -0
- package/cjs/graphic/arc3d.js.map +1 -0
- package/cjs/graphic/area.d.ts +20 -0
- package/cjs/graphic/area.js +83 -0
- package/cjs/graphic/area.js.map +1 -0
- package/cjs/graphic/bounds.d.ts +4 -0
- package/cjs/graphic/bounds.js +16 -0
- package/cjs/graphic/bounds.js.map +1 -0
- package/cjs/graphic/builtin-symbol/arrow.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/arrow.js +36 -0
- package/cjs/graphic/builtin-symbol/arrow.js.map +1 -0
- package/cjs/graphic/builtin-symbol/arrow2-left.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/arrow2-left.js +30 -0
- package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -0
- package/cjs/graphic/builtin-symbol/arrow2-right.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/arrow2-right.js +30 -0
- package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -0
- package/cjs/graphic/builtin-symbol/circle.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/circle.js +33 -0
- package/cjs/graphic/builtin-symbol/circle.js.map +1 -0
- package/cjs/graphic/builtin-symbol/cross.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/cross.js +43 -0
- package/cjs/graphic/builtin-symbol/cross.js.map +1 -0
- package/cjs/graphic/builtin-symbol/diamond.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/diamond.js +32 -0
- package/cjs/graphic/builtin-symbol/diamond.js.map +1 -0
- package/cjs/graphic/builtin-symbol/index.d.ts +5 -0
- package/cjs/graphic/builtin-symbol/index.js +32 -0
- package/cjs/graphic/builtin-symbol/index.js.map +1 -0
- package/cjs/graphic/builtin-symbol/interface.d.ts +10 -0
- package/cjs/graphic/builtin-symbol/interface.js +6 -0
- package/cjs/graphic/builtin-symbol/interface.js.map +1 -0
- package/cjs/graphic/builtin-symbol/rect.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/rect.js +33 -0
- package/cjs/graphic/builtin-symbol/rect.js.map +1 -0
- package/cjs/graphic/builtin-symbol/square.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/square.js +29 -0
- package/cjs/graphic/builtin-symbol/square.js.map +1 -0
- package/cjs/graphic/builtin-symbol/star.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/star.js +38 -0
- package/cjs/graphic/builtin-symbol/star.js.map +1 -0
- package/cjs/graphic/builtin-symbol/stroke.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/stroke.js +28 -0
- package/cjs/graphic/builtin-symbol/stroke.js.map +1 -0
- package/cjs/graphic/builtin-symbol/thin-triangle.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/thin-triangle.js +35 -0
- package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -0
- package/cjs/graphic/builtin-symbol/triangle-down.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/triangle-down.js +35 -0
- package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -0
- package/cjs/graphic/builtin-symbol/triangle-left.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/triangle-left.js +35 -0
- package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -0
- package/cjs/graphic/builtin-symbol/triangle-right.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/triangle-right.js +35 -0
- package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -0
- package/cjs/graphic/builtin-symbol/triangle-up.d.ts +14 -0
- package/cjs/graphic/builtin-symbol/triangle-up.js +35 -0
- package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -0
- package/cjs/graphic/builtin-symbol/triangle.d.ts +9 -0
- package/cjs/graphic/builtin-symbol/triangle.js +18 -0
- package/cjs/graphic/builtin-symbol/triangle.js.map +1 -0
- package/cjs/graphic/builtin-symbol/utils.d.ts +12 -0
- package/cjs/graphic/builtin-symbol/utils.js +28 -0
- package/cjs/graphic/builtin-symbol/utils.js.map +1 -0
- package/cjs/graphic/builtin-symbol/wedge.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/wedge.js +30 -0
- package/cjs/graphic/builtin-symbol/wedge.js.map +1 -0
- package/cjs/graphic/builtin-symbol/wye.d.ts +13 -0
- package/cjs/graphic/builtin-symbol/wye.js +39 -0
- package/cjs/graphic/builtin-symbol/wye.js.map +1 -0
- package/cjs/graphic/circle.d.ts +18 -0
- package/cjs/graphic/circle.js +65 -0
- package/cjs/graphic/circle.js.map +1 -0
- package/cjs/graphic/config.d.ts +24 -0
- package/cjs/graphic/config.js +207 -0
- package/cjs/graphic/config.js.map +1 -0
- package/cjs/graphic/glyph.d.ts +40 -0
- package/cjs/graphic/glyph.js +122 -0
- package/cjs/graphic/glyph.js.map +1 -0
- package/cjs/graphic/graphic-creator.d.ts +36 -0
- package/cjs/graphic/graphic-creator.js +104 -0
- package/cjs/graphic/graphic-creator.js.map +1 -0
- package/cjs/graphic/graphic-service/arc-contribution.d.ts +9 -0
- package/cjs/graphic/graphic-service/arc-contribution.js +21 -0
- package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/area-contribution.d.ts +6 -0
- package/cjs/graphic/graphic-service/area-contribution.js +6 -0
- package/cjs/graphic/graphic-service/area-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/circle-contribution.d.ts +9 -0
- package/cjs/graphic/graphic-service/circle-contribution.js +21 -0
- package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/common-contribution.d.ts +5 -0
- package/cjs/graphic/graphic-service/common-contribution.js +28 -0
- package/cjs/graphic/graphic-service/common-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/default-theme.d.ts +1 -0
- package/cjs/graphic/graphic-service/default-theme.js +3 -0
- package/cjs/graphic/graphic-service/default-theme.js.map +1 -0
- package/cjs/graphic/graphic-service/graphic-module.d.ts +3 -0
- package/cjs/graphic/graphic-service/graphic-module.js +27 -0
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -0
- package/cjs/graphic/graphic-service/graphic-service.d.ts +140 -0
- package/cjs/graphic/graphic-service/graphic-service.js +499 -0
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -0
- package/cjs/graphic/graphic-service/path-contribution.d.ts +9 -0
- package/cjs/graphic/graphic-service/path-contribution.js +21 -0
- package/cjs/graphic/graphic-service/path-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/rect-contribution.d.ts +9 -0
- package/cjs/graphic/graphic-service/rect-contribution.js +21 -0
- package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/symbol-contribution.d.ts +10 -0
- package/cjs/graphic/graphic-service/symbol-contribution.js +30 -0
- package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -0
- package/cjs/graphic/graphic-service/theme-service.d.ts +1 -0
- package/cjs/graphic/graphic-service/theme-service.js +3 -0
- package/cjs/graphic/graphic-service/theme-service.js.map +1 -0
- package/cjs/graphic/graphic.d.ts +140 -0
- package/cjs/graphic/graphic.js +553 -0
- package/cjs/graphic/graphic.js.map +1 -0
- package/cjs/graphic/group.d.ts +50 -0
- package/cjs/graphic/group.js +173 -0
- package/cjs/graphic/group.js.map +1 -0
- package/cjs/graphic/image.d.ts +28 -0
- package/cjs/graphic/image.js +96 -0
- package/cjs/graphic/image.js.map +1 -0
- package/cjs/graphic/index.d.ts +26 -0
- package/cjs/graphic/index.js +33 -0
- package/cjs/graphic/index.js.map +1 -0
- package/cjs/graphic/line.d.ts +19 -0
- package/cjs/graphic/line.js +75 -0
- package/cjs/graphic/line.js.map +1 -0
- package/cjs/graphic/node-tree.d.ts +75 -0
- package/cjs/graphic/node-tree.js +353 -0
- package/cjs/graphic/node-tree.js.map +1 -0
- package/cjs/graphic/path.d.ts +22 -0
- package/cjs/graphic/path.js +76 -0
- package/cjs/graphic/path.js.map +1 -0
- package/cjs/graphic/polygon.d.ts +20 -0
- package/cjs/graphic/polygon.js +67 -0
- package/cjs/graphic/polygon.js.map +1 -0
- package/cjs/graphic/pyramid3d.d.ts +13 -0
- package/cjs/graphic/pyramid3d.js +91 -0
- package/cjs/graphic/pyramid3d.js.map +1 -0
- package/cjs/graphic/rect.d.ts +18 -0
- package/cjs/graphic/rect.js +62 -0
- package/cjs/graphic/rect.js.map +1 -0
- package/cjs/graphic/rect3d.d.ts +9 -0
- package/cjs/graphic/rect3d.js +52 -0
- package/cjs/graphic/rect3d.js.map +1 -0
- package/cjs/graphic/richtext/frame.d.ts +43 -0
- package/cjs/graphic/richtext/frame.js +150 -0
- package/cjs/graphic/richtext/frame.js.map +1 -0
- package/cjs/graphic/richtext/icon.d.ts +24 -0
- package/cjs/graphic/richtext/icon.js +43 -0
- package/cjs/graphic/richtext/icon.js.map +1 -0
- package/cjs/graphic/richtext/line.d.ts +27 -0
- package/cjs/graphic/richtext/line.js +105 -0
- package/cjs/graphic/richtext/line.js.map +1 -0
- package/cjs/graphic/richtext/paragraph.d.ts +27 -0
- package/cjs/graphic/richtext/paragraph.js +78 -0
- package/cjs/graphic/richtext/paragraph.js.map +1 -0
- package/cjs/graphic/richtext/utils.d.ts +44 -0
- package/cjs/graphic/richtext/utils.js +201 -0
- package/cjs/graphic/richtext/utils.js.map +1 -0
- package/cjs/graphic/richtext/wrapper.d.ts +25 -0
- package/cjs/graphic/richtext/wrapper.js +57 -0
- package/cjs/graphic/richtext/wrapper.js.map +1 -0
- package/cjs/graphic/richtext.d.ts +42 -0
- package/cjs/graphic/richtext.js +181 -0
- package/cjs/graphic/richtext.js.map +1 -0
- package/cjs/graphic/shadow-root.d.ts +13 -0
- package/cjs/graphic/shadow-root.js +44 -0
- package/cjs/graphic/shadow-root.js.map +1 -0
- package/cjs/graphic/symbol.d.ts +23 -0
- package/cjs/graphic/symbol.js +80 -0
- package/cjs/graphic/symbol.js.map +1 -0
- package/cjs/graphic/text.d.ts +27 -0
- package/cjs/graphic/text.js +135 -0
- package/cjs/graphic/text.js.map +1 -0
- package/cjs/graphic/theme.d.ts +20 -0
- package/cjs/graphic/theme.js +124 -0
- package/cjs/graphic/theme.js.map +1 -0
- package/cjs/graphic/tools.d.ts +5 -0
- package/cjs/graphic/tools.js +70 -0
- package/cjs/graphic/tools.js.map +1 -0
- package/cjs/graphic/wrap-text.d.ts +9 -0
- package/cjs/graphic/wrap-text.js +98 -0
- package/cjs/graphic/wrap-text.js.map +1 -0
- package/cjs/index.d.ts +18 -0
- package/cjs/index.js +36 -0
- package/cjs/index.js.map +1 -0
- package/cjs/interface/animate.d.ts +154 -0
- package/cjs/interface/animate.js +6 -0
- package/cjs/interface/animate.js.map +1 -0
- package/cjs/interface/camera.d.ts +24 -0
- package/cjs/interface/camera.js +6 -0
- package/cjs/interface/camera.js.map +1 -0
- package/cjs/interface/canvas.d.ts +55 -0
- package/cjs/interface/canvas.js +6 -0
- package/cjs/interface/canvas.js.map +1 -0
- package/cjs/interface/color.d.ts +37 -0
- package/cjs/interface/color.js +6 -0
- package/cjs/interface/color.js.map +1 -0
- package/cjs/interface/common.d.ts +25 -0
- package/cjs/interface/common.js +6 -0
- package/cjs/interface/common.js.map +1 -0
- package/cjs/interface/context.d.ts +195 -0
- package/cjs/interface/context.js +6 -0
- package/cjs/interface/context.js.map +1 -0
- package/cjs/interface/contribution.d.ts +4 -0
- package/cjs/interface/contribution.js +6 -0
- package/cjs/interface/contribution.js.map +1 -0
- package/cjs/interface/creator.d.ts +4 -0
- package/cjs/interface/creator.js +6 -0
- package/cjs/interface/creator.js.map +1 -0
- package/cjs/interface/global.d.ts +124 -0
- package/cjs/interface/global.js +7 -0
- package/cjs/interface/global.js.map +1 -0
- package/cjs/interface/graphic/arc.d.ts +35 -0
- package/cjs/interface/graphic/arc.js +6 -0
- package/cjs/interface/graphic/arc.js.map +1 -0
- package/cjs/interface/graphic/arc3d.d.ts +21 -0
- package/cjs/interface/graphic/arc3d.js +6 -0
- package/cjs/interface/graphic/arc3d.js.map +1 -0
- package/cjs/interface/graphic/area.d.ts +23 -0
- package/cjs/interface/graphic/area.js +6 -0
- package/cjs/interface/graphic/area.js.map +1 -0
- package/cjs/interface/graphic/bounds.d.ts +37 -0
- package/cjs/interface/graphic/bounds.js +10 -0
- package/cjs/interface/graphic/bounds.js.map +1 -0
- package/cjs/interface/graphic/circle.d.ts +8 -0
- package/cjs/interface/graphic/circle.js +6 -0
- package/cjs/interface/graphic/circle.js.map +1 -0
- package/cjs/interface/graphic/creator.d.ts +32 -0
- package/cjs/interface/graphic/creator.js +6 -0
- package/cjs/interface/graphic/creator.js.map +1 -0
- package/cjs/interface/graphic/dynamic-path.d.ts +1 -0
- package/cjs/interface/graphic/dynamic-path.js +3 -0
- package/cjs/interface/graphic/dynamic-path.js.map +1 -0
- package/cjs/interface/graphic/ellipse.d.ts +8 -0
- package/cjs/interface/graphic/ellipse.js +6 -0
- package/cjs/interface/graphic/ellipse.js.map +1 -0
- package/cjs/interface/graphic/face3d.d.ts +11 -0
- package/cjs/interface/graphic/face3d.js +6 -0
- package/cjs/interface/graphic/face3d.js.map +1 -0
- package/cjs/interface/graphic/glyph.d.ts +24 -0
- package/cjs/interface/graphic/glyph.js +6 -0
- package/cjs/interface/graphic/glyph.js.map +1 -0
- package/cjs/interface/graphic/group.d.ts +23 -0
- package/cjs/interface/graphic/group.js +6 -0
- package/cjs/interface/graphic/group.js.map +1 -0
- package/cjs/interface/graphic/image.d.ts +14 -0
- package/cjs/interface/graphic/image.js +6 -0
- package/cjs/interface/graphic/image.js.map +1 -0
- package/cjs/interface/graphic/index.d.ts +2 -0
- package/cjs/interface/graphic/index.js +21 -0
- package/cjs/interface/graphic/index.js.map +1 -0
- package/cjs/interface/graphic/isogon.d.ts +7 -0
- package/cjs/interface/graphic/isogon.js +6 -0
- package/cjs/interface/graphic/isogon.js.map +1 -0
- package/cjs/interface/graphic/line.d.ts +22 -0
- package/cjs/interface/graphic/line.js +6 -0
- package/cjs/interface/graphic/line.js.map +1 -0
- package/cjs/interface/graphic/path.d.ts +15 -0
- package/cjs/interface/graphic/path.js +6 -0
- package/cjs/interface/graphic/path.js.map +1 -0
- package/cjs/interface/graphic/polygon.d.ts +8 -0
- package/cjs/interface/graphic/polygon.js +6 -0
- package/cjs/interface/graphic/polygon.js.map +1 -0
- package/cjs/interface/graphic/polyline.d.ts +3 -0
- package/cjs/interface/graphic/polyline.js +6 -0
- package/cjs/interface/graphic/polyline.js.map +1 -0
- package/cjs/interface/graphic/pyramid3d.d.ts +7 -0
- package/cjs/interface/graphic/pyramid3d.js +6 -0
- package/cjs/interface/graphic/pyramid3d.js.map +1 -0
- package/cjs/interface/graphic/rect.d.ts +11 -0
- package/cjs/interface/graphic/rect.js +6 -0
- package/cjs/interface/graphic/rect.js.map +1 -0
- package/cjs/interface/graphic/rect3d.d.ts +9 -0
- package/cjs/interface/graphic/rect3d.js +6 -0
- package/cjs/interface/graphic/rect3d.js.map +1 -0
- package/cjs/interface/graphic/richText.d.ts +99 -0
- package/cjs/interface/graphic/richText.js +6 -0
- package/cjs/interface/graphic/richText.js.map +1 -0
- package/cjs/interface/graphic/shadow-root.d.ts +5 -0
- package/cjs/interface/graphic/shadow-root.js +6 -0
- package/cjs/interface/graphic/shadow-root.js.map +1 -0
- package/cjs/interface/graphic/svg.d.ts +7 -0
- package/cjs/interface/graphic/svg.js +6 -0
- package/cjs/interface/graphic/svg.js.map +1 -0
- package/cjs/interface/graphic/symbol.d.ts +11 -0
- package/cjs/interface/graphic/symbol.js +6 -0
- package/cjs/interface/graphic/symbol.js.map +1 -0
- package/cjs/interface/graphic/text.d.ts +40 -0
- package/cjs/interface/graphic/text.js +6 -0
- package/cjs/interface/graphic/text.js.map +1 -0
- package/cjs/interface/graphic/theme.d.ts +56 -0
- package/cjs/interface/graphic/theme.js +6 -0
- package/cjs/interface/graphic/theme.js.map +1 -0
- package/cjs/interface/graphic/util.d.ts +15 -0
- package/cjs/interface/graphic/util.js +6 -0
- package/cjs/interface/graphic/util.js.map +1 -0
- package/cjs/interface/graphic-utils.d.ts +1 -0
- package/cjs/interface/graphic-utils.js +3 -0
- package/cjs/interface/graphic-utils.js.map +1 -0
- package/cjs/interface/graphic.d.ts +205 -0
- package/cjs/interface/graphic.js +6 -0
- package/cjs/interface/graphic.js.map +1 -0
- package/cjs/interface/index.d.ts +34 -0
- package/cjs/interface/index.js +37 -0
- package/cjs/interface/index.js.map +1 -0
- package/cjs/interface/layer.d.ts +60 -0
- package/cjs/interface/layer.js +6 -0
- package/cjs/interface/layer.js.map +1 -0
- package/cjs/interface/light.d.ts +6 -0
- package/cjs/interface/light.js +6 -0
- package/cjs/interface/light.js.map +1 -0
- package/cjs/interface/matrix.d.ts +21 -0
- package/cjs/interface/matrix.js +6 -0
- package/cjs/interface/matrix.js.map +1 -0
- package/cjs/interface/node-tree.d.ts +43 -0
- package/cjs/interface/node-tree.js +6 -0
- package/cjs/interface/node-tree.js.map +1 -0
- package/cjs/interface/path.d.ts +106 -0
- package/cjs/interface/path.js +13 -0
- package/cjs/interface/path.js.map +1 -0
- package/cjs/interface/stage.d.ts +124 -0
- package/cjs/interface/stage.js +6 -0
- package/cjs/interface/stage.js.map +1 -0
- package/cjs/interface/util.d.ts +1 -0
- package/cjs/interface/util.js +3 -0
- package/cjs/interface/util.js.map +1 -0
- package/cjs/kits/env.d.ts +2 -0
- package/cjs/kits/env.js +18 -0
- package/cjs/kits/env.js.map +1 -0
- package/cjs/kits/index.d.ts +1 -0
- package/cjs/kits/index.js +21 -0
- package/cjs/kits/index.js.map +1 -0
- package/cjs/modules.d.ts +26 -0
- package/cjs/modules.js +30 -0
- package/cjs/modules.js.map +1 -0
- package/cjs/picker/canvas-picker-service.d.ts +31 -0
- package/cjs/picker/canvas-picker-service.js +73 -0
- package/cjs/picker/canvas-picker-service.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/arc-picker.d.ts +11 -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 +12 -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 +11 -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 +11 -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 +11 -0
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js +44 -0
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/image-picker.d.ts +8 -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 +12 -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 +44 -0
- package/cjs/picker/contributions/canvas-picker/module.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.d.ts +12 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.js +55 -0
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/polygon-picker.d.ts +11 -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 +12 -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 +11 -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 +12 -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 +11 -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 +12 -0
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js +58 -0
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.d.ts +12 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.js +57 -0
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -0
- package/cjs/picker/contributions/constants.d.ts +28 -0
- package/cjs/picker/contributions/constants.js +20 -0
- package/cjs/picker/contributions/constants.js.map +1 -0
- package/cjs/picker/contributions/math-picker/arc-picker.d.ts +11 -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 +11 -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 +11 -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 +11 -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 +11 -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 +11 -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 +11 -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 +11 -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 +11 -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 +8 -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/contributions/modules.d.ts +2 -0
- package/cjs/picker/contributions/modules.js +20 -0
- package/cjs/picker/contributions/modules.js.map +1 -0
- package/cjs/picker/contributions/old/circle-picker.d.ts +1 -0
- package/cjs/picker/contributions/old/circle-picker.js +3 -0
- package/cjs/picker/contributions/old/circle-picker.js.map +1 -0
- package/cjs/picker/contributions/old/rect-picker.d.ts +1 -0
- package/cjs/picker/contributions/old/rect-picker.js +3 -0
- package/cjs/picker/contributions/old/rect-picker.js.map +1 -0
- package/cjs/picker/global-picker-service.d.ts +22 -0
- package/cjs/picker/global-picker-service.js +72 -0
- package/cjs/picker/global-picker-service.js.map +1 -0
- package/cjs/picker/index.d.ts +4 -0
- package/cjs/picker/index.js +22 -0
- package/cjs/picker/index.js.map +1 -0
- package/cjs/picker/math-picker-service.d.ts +18 -0
- package/cjs/picker/math-picker-service.js +50 -0
- package/cjs/picker/math-picker-service.js.map +1 -0
- package/cjs/picker/pick-interceptor.d.ts +20 -0
- package/cjs/picker/pick-interceptor.js +80 -0
- package/cjs/picker/pick-interceptor.js.map +1 -0
- package/cjs/picker/pick-modules.d.ts +3 -0
- package/cjs/picker/pick-modules.js +19 -0
- package/cjs/picker/pick-modules.js.map +1 -0
- package/cjs/picker/picker-service.d.ts +49 -0
- package/cjs/picker/picker-service.js +113 -0
- package/cjs/picker/picker-service.js.map +1 -0
- package/cjs/picker/type.d.ts +5 -0
- package/cjs/picker/type.js +6 -0
- package/cjs/picker/type.js.map +1 -0
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.d.ts +18 -0
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +42 -0
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -0
- package/cjs/plugins/builtin-plugin/auto-render-plugin.d.ts +10 -0
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js +28 -0
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -0
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +10 -0
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +36 -0
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -0
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.d.ts +17 -0
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +58 -0
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -0
- package/cjs/plugins/interface.d.ts +1 -0
- package/cjs/plugins/interface.js +3 -0
- package/cjs/plugins/interface.js.map +1 -0
- package/cjs/plugins/plugin-modules.d.ts +3 -0
- package/cjs/plugins/plugin-modules.js +12 -0
- package/cjs/plugins/plugin-modules.js.map +1 -0
- package/cjs/plugins/plugin-service.d.ts +26 -0
- package/cjs/plugins/plugin-service.js +49 -0
- package/cjs/plugins/plugin-service.js.map +1 -0
- package/cjs/render/contributions/interface.d.ts +3 -0
- package/cjs/render/contributions/interface.js +6 -0
- package/cjs/render/contributions/interface.js.map +1 -0
- package/cjs/render/contributions/modules.d.ts +2 -0
- package/cjs/render/contributions/modules.js +20 -0
- package/cjs/render/contributions/modules.js.map +1 -0
- package/cjs/render/contributions/render/arc-render.d.ts +16 -0
- package/cjs/render/contributions/render/arc-render.js +243 -0
- package/cjs/render/contributions/render/arc-render.js.map +1 -0
- package/cjs/render/contributions/render/arc3d-render.d.ts +11 -0
- package/cjs/render/contributions/render/arc3d-render.js +115 -0
- package/cjs/render/contributions/render/arc3d-render.js.map +1 -0
- package/cjs/render/contributions/render/area-render.d.ts +15 -0
- package/cjs/render/contributions/render/area-render.js +163 -0
- package/cjs/render/contributions/render/area-render.js.map +1 -0
- package/cjs/render/contributions/render/base-render.d.ts +12 -0
- package/cjs/render/contributions/render/base-render.js +70 -0
- package/cjs/render/contributions/render/base-render.js.map +1 -0
- package/cjs/render/contributions/render/circle-render.d.ts +14 -0
- package/cjs/render/contributions/render/circle-render.js +58 -0
- package/cjs/render/contributions/render/circle-render.js.map +1 -0
- package/cjs/render/contributions/render/clear-screen.d.ts +1 -0
- package/cjs/render/contributions/render/clear-screen.js +3 -0
- package/cjs/render/contributions/render/clear-screen.js.map +1 -0
- package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +18 -0
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js +85 -0
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +17 -0
- package/cjs/render/contributions/render/contributions/area-contribution-render.js +75 -0
- package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +33 -0
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +161 -0
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +18 -0
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +69 -0
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +13 -0
- package/cjs/render/contributions/render/contributions/group-contribution-render.js +37 -0
- package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +10 -0
- package/cjs/render/contributions/render/contributions/image-contribution-render.js +44 -0
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/index.d.ts +7 -0
- package/cjs/render/contributions/render/contributions/index.js +24 -0
- package/cjs/render/contributions/render/contributions/index.js.map +1 -0
- package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +12 -0
- package/cjs/render/contributions/render/contributions/path-contribution-render.js +34 -0
- package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +12 -0
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +34 -0
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +36 -0
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +110 -0
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +18 -0
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +69 -0
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/draw-contribution.d.ts +33 -0
- package/cjs/render/contributions/render/draw-contribution.js +173 -0
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -0
- package/cjs/render/contributions/render/draw-interceptor.d.ts +18 -0
- package/cjs/render/contributions/render/draw-interceptor.js +116 -0
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -0
- package/cjs/render/contributions/render/glyph-render.d.ts +9 -0
- package/cjs/render/contributions/render/glyph-render.js +40 -0
- package/cjs/render/contributions/render/glyph-render.js.map +1 -0
- package/cjs/render/contributions/render/graphic-render.d.ts +22 -0
- package/cjs/render/contributions/render/graphic-render.js +19 -0
- package/cjs/render/contributions/render/graphic-render.js.map +1 -0
- package/cjs/render/contributions/render/group-render.d.ts +14 -0
- package/cjs/render/contributions/render/group-render.js +83 -0
- package/cjs/render/contributions/render/group-render.js.map +1 -0
- package/cjs/render/contributions/render/image-render.d.ts +14 -0
- package/cjs/render/contributions/render/image-render.js +63 -0
- package/cjs/render/contributions/render/image-render.js.map +1 -0
- package/cjs/render/contributions/render/incremental-area-render.d.ts +10 -0
- package/cjs/render/contributions/render/incremental-area-render.js +42 -0
- package/cjs/render/contributions/render/incremental-area-render.js.map +1 -0
- package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +44 -0
- package/cjs/render/contributions/render/incremental-draw-contribution.js +169 -0
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -0
- package/cjs/render/contributions/render/incremental-line-render.d.ts +10 -0
- package/cjs/render/contributions/render/incremental-line-render.js +44 -0
- package/cjs/render/contributions/render/incremental-line-render.js.map +1 -0
- package/cjs/render/contributions/render/index.d.ts +13 -0
- package/cjs/render/contributions/render/index.js +27 -0
- package/cjs/render/contributions/render/index.js.map +1 -0
- package/cjs/render/contributions/render/line-render.d.ts +13 -0
- package/cjs/render/contributions/render/line-render.js +87 -0
- package/cjs/render/contributions/render/line-render.js.map +1 -0
- package/cjs/render/contributions/render/module.d.ts +3 -0
- package/cjs/render/contributions/render/module.js +98 -0
- package/cjs/render/contributions/render/module.js.map +1 -0
- package/cjs/render/contributions/render/path-render.d.ts +16 -0
- package/cjs/render/contributions/render/path-render.js +60 -0
- package/cjs/render/contributions/render/path-render.js.map +1 -0
- package/cjs/render/contributions/render/polygon-render.d.ts +14 -0
- package/cjs/render/contributions/render/polygon-render.js +61 -0
- package/cjs/render/contributions/render/polygon-render.js.map +1 -0
- package/cjs/render/contributions/render/pyramid3d-render.d.ts +13 -0
- package/cjs/render/contributions/render/pyramid3d-render.js +98 -0
- package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -0
- package/cjs/render/contributions/render/rect-render.d.ts +14 -0
- package/cjs/render/contributions/render/rect-render.js +67 -0
- package/cjs/render/contributions/render/rect-render.js.map +1 -0
- package/cjs/render/contributions/render/rect3d-render.d.ts +13 -0
- package/cjs/render/contributions/render/rect3d-render.js +97 -0
- package/cjs/render/contributions/render/rect3d-render.js.map +1 -0
- package/cjs/render/contributions/render/render-slector.d.ts +8 -0
- package/cjs/render/contributions/render/render-slector.js +23 -0
- package/cjs/render/contributions/render/render-slector.js.map +1 -0
- package/cjs/render/contributions/render/richtext-render.d.ts +10 -0
- package/cjs/render/contributions/render/richtext-render.js +56 -0
- package/cjs/render/contributions/render/richtext-render.js.map +1 -0
- package/cjs/render/contributions/render/symbol-render.d.ts +16 -0
- package/cjs/render/contributions/render/symbol-render.js +65 -0
- package/cjs/render/contributions/render/symbol-render.js.map +1 -0
- package/cjs/render/contributions/render/symbol.d.ts +20 -0
- package/cjs/render/contributions/render/symbol.js +17 -0
- package/cjs/render/contributions/render/symbol.js.map +1 -0
- package/cjs/render/contributions/render/text-render.d.ts +14 -0
- package/cjs/render/contributions/render/text-render.js +107 -0
- package/cjs/render/contributions/render/text-render.js.map +1 -0
- package/cjs/render/contributions/render/utils.d.ts +10 -0
- package/cjs/render/contributions/render/utils.js +52 -0
- package/cjs/render/contributions/render/utils.js.map +1 -0
- package/cjs/render/index.d.ts +2 -0
- package/cjs/render/index.js +21 -0
- package/cjs/render/index.js.map +1 -0
- package/cjs/render/render-modules.d.ts +3 -0
- package/cjs/render/render-modules.js +12 -0
- package/cjs/render/render-modules.js.map +1 -0
- package/cjs/render/render-service.d.ts +73 -0
- package/cjs/render/render-service.js +57 -0
- package/cjs/render/render-service.js.map +1 -0
- package/cjs/resource-loader/loader.d.ts +27 -0
- package/cjs/resource-loader/loader.js +61 -0
- package/cjs/resource-loader/loader.js.map +1 -0
- package/cjs/tapable/Hook.d.ts +29 -0
- package/cjs/tapable/Hook.js +60 -0
- package/cjs/tapable/Hook.js.map +1 -0
- package/cjs/tapable/SyncHook.d.ts +4 -0
- package/cjs/tapable/SyncHook.js +16 -0
- package/cjs/tapable/SyncHook.js.map +1 -0
- package/cjs/tapable/index.d.ts +1 -0
- package/cjs/tapable/index.js +21 -0
- package/cjs/tapable/index.js.map +1 -0
- package/dist/vrender.js.js +1 -0
- package/dist/vrender.js.min.js +1 -0
- package/es/allocator/allocator-modules.d.ts +3 -0
- package/es/allocator/allocator-modules.js +22 -0
- package/es/allocator/allocator-modules.js.map +1 -0
- package/es/allocator/canvas-allocate.d.ts +18 -0
- package/es/allocator/canvas-allocate.js +60 -0
- package/es/allocator/canvas-allocate.js.map +1 -0
- package/es/allocator/graphic-allocate.d.ts +58 -0
- package/es/allocator/graphic-allocate.js +181 -0
- package/es/allocator/graphic-allocate.js.map +1 -0
- package/es/allocator/interface.d.ts +6 -0
- package/es/allocator/interface.js +2 -0
- package/es/allocator/interface.js.map +1 -0
- package/es/allocator/matrix-allocate.d.ts +25 -0
- package/es/allocator/matrix-allocate.js +83 -0
- package/es/allocator/matrix-allocate.js.map +1 -0
- package/es/allocator/point-allocate.d.ts +1 -0
- package/es/allocator/point-allocate.js +3 -0
- package/es/allocator/point-allocate.js.map +1 -0
- package/es/animate/Ticker/default-ticker.d.ts +101 -0
- package/es/animate/Ticker/default-ticker.js +230 -0
- package/es/animate/Ticker/default-ticker.js.map +1 -0
- package/es/animate/Ticker/index.d.ts +2 -0
- package/es/animate/Ticker/index.js +4 -0
- package/es/animate/Ticker/index.js.map +1 -0
- package/es/animate/Ticker/interface.d.ts +12 -0
- package/es/animate/Ticker/interface.js +2 -0
- package/es/animate/Ticker/interface.js.map +1 -0
- package/es/animate/animate.d.ts +146 -0
- package/es/animate/animate.js +384 -0
- package/es/animate/animate.js.map +1 -0
- package/es/animate/config.d.ts +3 -0
- package/es/animate/config.js +10 -0
- package/es/animate/config.js.map +1 -0
- package/es/animate/custom-animate.d.ts +229 -0
- package/es/animate/custom-animate.js +613 -0
- package/es/animate/custom-animate.js.map +1 -0
- package/es/animate/easing.d.ts +39 -0
- package/es/animate/easing.js +93 -0
- package/es/animate/easing.js.map +1 -0
- package/es/animate/index.d.ts +6 -0
- package/es/animate/index.js +12 -0
- package/es/animate/index.js.map +1 -0
- package/es/animate/morphing.d.ts +52 -0
- package/es/animate/morphing.js +293 -0
- package/es/animate/morphing.js.map +1 -0
- package/es/animate/timeline.d.ts +27 -0
- package/es/animate/timeline.js +40 -0
- package/es/animate/timeline.js.map +1 -0
- package/es/canvas/contributions/browser/canvas.d.ts +51 -0
- package/es/canvas/contributions/browser/canvas.js +139 -0
- package/es/canvas/contributions/browser/canvas.js.map +1 -0
- package/es/canvas/contributions/browser/conical-gradient.d.ts +13 -0
- package/es/canvas/contributions/browser/conical-gradient.js +120 -0
- package/es/canvas/contributions/browser/conical-gradient.js.map +1 -0
- package/es/canvas/contributions/browser/context.d.ts +171 -0
- package/es/canvas/contributions/browser/context.js +496 -0
- package/es/canvas/contributions/browser/context.js.map +1 -0
- package/es/canvas/contributions/browser/index.d.ts +3 -0
- package/es/canvas/contributions/browser/index.js +6 -0
- package/es/canvas/contributions/browser/index.js.map +1 -0
- package/es/canvas/contributions/browser/modules.d.ts +3 -0
- package/es/canvas/contributions/browser/modules.js +13 -0
- package/es/canvas/contributions/browser/modules.js.map +1 -0
- package/es/canvas/contributions/feishu/canvas.d.ts +48 -0
- package/es/canvas/contributions/feishu/canvas.js +101 -0
- package/es/canvas/contributions/feishu/canvas.js.map +1 -0
- package/es/canvas/contributions/feishu/context.d.ts +11 -0
- package/es/canvas/contributions/feishu/context.js +50 -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 +3 -0
- package/es/canvas/contributions/feishu/modules.js +13 -0
- package/es/canvas/contributions/feishu/modules.js.map +1 -0
- package/es/canvas/contributions/lynx/canvas.d.ts +48 -0
- package/es/canvas/contributions/lynx/canvas.js +101 -0
- package/es/canvas/contributions/lynx/canvas.js.map +1 -0
- package/es/canvas/contributions/lynx/context.d.ts +10 -0
- package/es/canvas/contributions/lynx/context.js +31 -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 +3 -0
- package/es/canvas/contributions/lynx/modules.js +13 -0
- package/es/canvas/contributions/lynx/modules.js.map +1 -0
- package/es/canvas/contributions/modules.d.ts +2 -0
- package/es/canvas/contributions/modules.js +13 -0
- package/es/canvas/contributions/modules.js.map +1 -0
- package/es/canvas/contributions/taro/canvas.d.ts +47 -0
- package/es/canvas/contributions/taro/canvas.js +101 -0
- package/es/canvas/contributions/taro/canvas.js.map +1 -0
- package/es/canvas/contributions/taro/context.d.ts +31 -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 +3 -0
- package/es/canvas/contributions/taro/modules.js +13 -0
- package/es/canvas/contributions/taro/modules.js.map +1 -0
- package/es/canvas/contributions/tt/canvas.d.ts +48 -0
- package/es/canvas/contributions/tt/canvas.js +101 -0
- package/es/canvas/contributions/tt/canvas.js.map +1 -0
- package/es/canvas/contributions/tt/context.d.ts +9 -0
- package/es/canvas/contributions/tt/context.js +30 -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 +3 -0
- package/es/canvas/contributions/tt/modules.js +13 -0
- package/es/canvas/contributions/tt/modules.js.map +1 -0
- package/es/canvas/empty-context.d.ts +97 -0
- package/es/canvas/empty-context.js +214 -0
- package/es/canvas/empty-context.js.map +1 -0
- package/es/canvas/index.d.ts +6 -0
- package/es/canvas/index.js +18 -0
- package/es/canvas/index.js.map +1 -0
- package/es/canvas/interface.d.ts +9 -0
- package/es/canvas/interface.js +4 -0
- package/es/canvas/interface.js.map +1 -0
- package/es/canvas/util.d.ts +21 -0
- package/es/canvas/util.js +371 -0
- package/es/canvas/util.js.map +1 -0
- package/es/color-string/colorName.d.ts +151 -0
- package/es/color-string/colorName.js +151 -0
- package/es/color-string/colorName.js.map +1 -0
- package/es/color-string/index.d.ts +14 -0
- package/es/color-string/index.js +163 -0
- package/es/color-string/index.js.map +1 -0
- package/es/color-string/interpolate.d.ts +7 -0
- package/es/color-string/interpolate.js +80 -0
- package/es/color-string/interpolate.js.map +1 -0
- package/es/common/bezier.d.ts +8 -0
- package/es/common/bezier.js +38 -0
- package/es/common/bezier.js.map +1 -0
- package/es/common/bounds-context.d.ts +18 -0
- package/es/common/bounds-context.js +53 -0
- package/es/common/bounds-context.js.map +1 -0
- package/es/common/canvas-utils.d.ts +7 -0
- package/es/common/canvas-utils.js +36 -0
- package/es/common/canvas-utils.js.map +1 -0
- package/es/common/contribution-provider.d.ts +6 -0
- package/es/common/contribution-provider.js +16 -0
- package/es/common/contribution-provider.js.map +1 -0
- package/es/common/curve/basis.d.ts +18 -0
- package/es/common/curve/basis.js +65 -0
- package/es/common/curve/basis.js.map +1 -0
- package/es/common/curve/common.d.ts +3 -0
- package/es/common/curve/common.js +6 -0
- package/es/common/curve/common.js.map +1 -0
- package/es/common/curve/index.d.ts +12 -0
- package/es/common/curve/index.js +51 -0
- package/es/common/curve/index.js.map +1 -0
- package/es/common/curve/interface.d.ts +42 -0
- package/es/common/curve/interface.js +6 -0
- package/es/common/curve/interface.js.map +1 -0
- package/es/common/curve/linear-closed.d.ts +17 -0
- package/es/common/curve/linear-closed.js +56 -0
- package/es/common/curve/linear-closed.js.map +1 -0
- package/es/common/curve/linear.d.ts +17 -0
- package/es/common/curve/linear.js +56 -0
- package/es/common/curve/linear.js.map +1 -0
- package/es/common/curve/monotone.d.ts +26 -0
- package/es/common/curve/monotone.js +122 -0
- package/es/common/curve/monotone.js.map +1 -0
- package/es/common/curve/step.d.ts +18 -0
- package/es/common/curve/step.js +62 -0
- package/es/common/curve/step.js.map +1 -0
- package/es/common/enums.d.ts +52 -0
- package/es/common/enums.js +51 -0
- package/es/common/enums.js.map +1 -0
- package/es/common/generator.d.ts +4 -0
- package/es/common/generator.js +8 -0
- package/es/common/generator.js.map +1 -0
- package/es/common/index.d.ts +20 -0
- package/es/common/index.js +40 -0
- package/es/common/index.js.map +1 -0
- package/es/common/matrix.d.ts +1 -0
- package/es/common/matrix.js +1 -0
- package/es/common/matrix.js.map +1 -0
- package/es/common/morphing-utils.d.ts +18 -0
- package/es/common/morphing-utils.js +289 -0
- package/es/common/morphing-utils.js.map +1 -0
- package/es/common/path-svg.d.ts +12 -0
- package/es/common/path-svg.js +58 -0
- package/es/common/path-svg.js.map +1 -0
- package/es/common/path.d.ts +160 -0
- package/es/common/path.js +538 -0
- package/es/common/path.js.map +1 -0
- package/es/common/polygon.d.ts +4 -0
- package/es/common/polygon.js +35 -0
- package/es/common/polygon.js.map +1 -0
- package/es/common/render-area.d.ts +8 -0
- package/es/common/render-area.js +68 -0
- package/es/common/render-area.js.map +1 -0
- package/es/common/render-command-list.d.ts +2 -0
- package/es/common/render-command-list.js +9 -0
- package/es/common/render-command-list.js.map +1 -0
- package/es/common/render-curve.d.ts +15 -0
- package/es/common/render-curve.js +66 -0
- package/es/common/render-curve.js.map +1 -0
- package/es/common/seg-context.d.ts +40 -0
- package/es/common/seg-context.js +93 -0
- package/es/common/seg-context.js.map +1 -0
- package/es/common/shape/arc.d.ts +2 -0
- package/es/common/shape/arc.js +27 -0
- package/es/common/shape/arc.js.map +1 -0
- package/es/common/shape/rect.d.ts +2 -0
- package/es/common/shape/rect.js +46 -0
- package/es/common/shape/rect.js.map +1 -0
- package/es/common/sort.d.ts +4 -0
- package/es/common/sort.js +94 -0
- package/es/common/sort.js.map +1 -0
- package/es/common/split-path.d.ts +44 -0
- package/es/common/split-path.js +249 -0
- package/es/common/split-path.js.map +1 -0
- package/es/common/store.d.ts +2 -0
- package/es/common/store.js +2 -0
- package/es/common/store.js.map +1 -0
- package/es/common/text.d.ts +13 -0
- package/es/common/text.js +17 -0
- package/es/common/text.js.map +1 -0
- package/es/common/utils.d.ts +27 -0
- package/es/common/utils.js +112 -0
- package/es/common/utils.js.map +1 -0
- package/es/core/application.d.ts +7 -0
- package/es/core/application.js +2 -0
- package/es/core/application.js.map +1 -0
- package/es/core/camera.d.ts +21 -0
- package/es/core/camera.js +119 -0
- package/es/core/camera.js.map +1 -0
- package/es/core/contributions/env/base-contribution.d.ts +46 -0
- package/es/core/contributions/env/base-contribution.js +52 -0
- package/es/core/contributions/env/base-contribution.js.map +1 -0
- package/es/core/contributions/env/browser-contribution.d.ts +31 -0
- package/es/core/contributions/env/browser-contribution.js +113 -0
- package/es/core/contributions/env/browser-contribution.js.map +1 -0
- package/es/core/contributions/env/feishu-contribution.d.ts +51 -0
- package/es/core/contributions/env/feishu-contribution.js +108 -0
- package/es/core/contributions/env/feishu-contribution.js.map +1 -0
- package/es/core/contributions/env/lynx-contribution.d.ts +50 -0
- package/es/core/contributions/env/lynx-contribution.js +103 -0
- package/es/core/contributions/env/lynx-contribution.js.map +1 -0
- package/es/core/contributions/env/modules.d.ts +3 -0
- package/es/core/contributions/env/modules.js +22 -0
- package/es/core/contributions/env/modules.js.map +1 -0
- package/es/core/contributions/env/taro-contribution.d.ts +84 -0
- package/es/core/contributions/env/taro-contribution.js +135 -0
- package/es/core/contributions/env/taro-contribution.js.map +1 -0
- package/es/core/contributions/index.d.ts +3 -0
- package/es/core/contributions/index.js +6 -0
- package/es/core/contributions/index.js.map +1 -0
- package/es/core/contributions/interface.d.ts +3 -0
- package/es/core/contributions/interface.js +2 -0
- package/es/core/contributions/interface.js.map +1 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +21 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +81 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -0
- package/es/core/contributions/layerHandler/modules.d.ts +3 -0
- package/es/core/contributions/layerHandler/modules.js +13 -0
- package/es/core/contributions/layerHandler/modules.js.map +1 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +20 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +73 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -0
- package/es/core/contributions/modules.d.ts +2 -0
- package/es/core/contributions/modules.js +13 -0
- package/es/core/contributions/modules.js.map +1 -0
- package/es/core/contributions/textMeasure/AtextMeasure.d.ts +27 -0
- package/es/core/contributions/textMeasure/AtextMeasure.js +114 -0
- package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -0
- package/es/core/contributions/textMeasure/ITextMeasure.d.ts +25 -0
- package/es/core/contributions/textMeasure/ITextMeasure.js +2 -0
- package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -0
- package/es/core/contributions/textMeasure/layout.d.ts +39 -0
- package/es/core/contributions/textMeasure/layout.js +82 -0
- package/es/core/contributions/textMeasure/layout.js.map +1 -0
- package/es/core/contributions/textMeasure/modules.d.ts +3 -0
- package/es/core/contributions/textMeasure/modules.js +11 -0
- package/es/core/contributions/textMeasure/modules.js.map +1 -0
- package/es/core/contributions/textMeasure/textMeasure-contribution.d.ts +4 -0
- package/es/core/contributions/textMeasure/textMeasure-contribution.js +18 -0
- package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -0
- package/es/core/contributions/window/base-contribution.d.ts +43 -0
- package/es/core/contributions/window/base-contribution.js +28 -0
- package/es/core/contributions/window/base-contribution.js.map +1 -0
- package/es/core/contributions/window/browser-contribution.d.ts +38 -0
- package/es/core/contributions/window/browser-contribution.js +147 -0
- package/es/core/contributions/window/browser-contribution.js.map +1 -0
- package/es/core/contributions/window/feishu-contribution.d.ts +47 -0
- package/es/core/contributions/window/feishu-contribution.js +159 -0
- package/es/core/contributions/window/feishu-contribution.js.map +1 -0
- package/es/core/contributions/window/lynx-contribution.d.ts +47 -0
- package/es/core/contributions/window/lynx-contribution.js +159 -0
- package/es/core/contributions/window/lynx-contribution.js.map +1 -0
- package/es/core/contributions/window/modules.d.ts +3 -0
- package/es/core/contributions/window/modules.js +19 -0
- package/es/core/contributions/window/modules.js.map +1 -0
- package/es/core/contributions/window/native-contribution.d.ts +1 -0
- package/es/core/contributions/window/native-contribution.js +3 -0
- package/es/core/contributions/window/native-contribution.js.map +1 -0
- package/es/core/contributions/window/node-contribution.d.ts +1 -0
- package/es/core/contributions/window/node-contribution.js +3 -0
- package/es/core/contributions/window/node-contribution.js.map +1 -0
- package/es/core/contributions/window/taro-contribution.d.ts +47 -0
- package/es/core/contributions/window/taro-contribution.js +166 -0
- package/es/core/contributions/window/taro-contribution.js.map +1 -0
- package/es/core/core-modules.d.ts +3 -0
- package/es/core/core-modules.js +20 -0
- package/es/core/core-modules.js.map +1 -0
- package/es/core/global.d.ts +58 -0
- package/es/core/global.js +124 -0
- package/es/core/global.js.map +1 -0
- package/es/core/graphic-utils.d.ts +60 -0
- package/es/core/graphic-utils.js +137 -0
- package/es/core/graphic-utils.js.map +1 -0
- package/es/core/index.d.ts +7 -0
- package/es/core/index.js +14 -0
- package/es/core/index.js.map +1 -0
- package/es/core/layer-service.d.ts +19 -0
- package/es/core/layer-service.js +50 -0
- package/es/core/layer-service.js.map +1 -0
- package/es/core/layer.d.ts +88 -0
- package/es/core/layer.js +124 -0
- package/es/core/layer.js.map +1 -0
- package/es/core/light.d.ts +10 -0
- package/es/core/light.js +22 -0
- package/es/core/light.js.map +1 -0
- package/es/core/stage.d.ts +112 -0
- package/es/core/stage.js +395 -0
- package/es/core/stage.js.map +1 -0
- package/es/core/window.d.ts +113 -0
- package/es/core/window.js +121 -0
- package/es/core/window.js.map +1 -0
- package/es/create.d.ts +3 -0
- package/es/create.js +5 -0
- package/es/create.js.map +1 -0
- package/es/event/constant.d.ts +1 -0
- package/es/event/constant.js +2 -0
- package/es/event/constant.js.map +1 -0
- package/es/event/event-manager.d.ts +60 -0
- package/es/event/event-manager.js +274 -0
- package/es/event/event-manager.js.map +1 -0
- package/es/event/event-system.d.ts +38 -0
- package/es/event/event-system.js +195 -0
- package/es/event/event-system.js.map +1 -0
- package/es/event/event-target.d.ts +3 -0
- package/es/event/event-target.js +16 -0
- package/es/event/event-target.js.map +1 -0
- package/es/event/extension/drag.d.ts +9 -0
- package/es/event/extension/drag.js +46 -0
- package/es/event/extension/drag.js.map +1 -0
- package/es/event/extension/gesture.d.ts +61 -0
- package/es/event/extension/gesture.js +181 -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/event/federated-event/base-event.d.ts +53 -0
- package/es/event/federated-event/base-event.js +61 -0
- package/es/event/federated-event/base-event.js.map +1 -0
- package/es/event/federated-event/custom-event.d.ts +4 -0
- package/es/event/federated-event/custom-event.js +8 -0
- package/es/event/federated-event/custom-event.js.map +1 -0
- package/es/event/federated-event/index.d.ts +5 -0
- package/es/event/federated-event/index.js +10 -0
- package/es/event/federated-event/index.js.map +1 -0
- package/es/event/federated-event/mouse-event.d.ts +29 -0
- package/es/event/federated-event/mouse-event.js +47 -0
- package/es/event/federated-event/mouse-event.js.map +1 -0
- package/es/event/federated-event/pointer-event.d.ts +17 -0
- package/es/event/federated-event/pointer-event.js +24 -0
- package/es/event/federated-event/pointer-event.js.map +1 -0
- package/es/event/federated-event/wheel-event.d.ts +14 -0
- package/es/event/federated-event/wheel-event.js +21 -0
- package/es/event/federated-event/wheel-event.js.map +1 -0
- package/es/event/index.d.ts +6 -0
- package/es/event/index.js +12 -0
- package/es/event/index.js.map +1 -0
- package/es/event/interface.d.ts +24 -0
- package/es/event/interface.js +2 -0
- package/es/event/interface.js.map +1 -0
- package/es/event/type.d.ts +24 -0
- package/es/event/type.js +2 -0
- package/es/event/type.js.map +1 -0
- package/es/event/util.d.ts +1 -0
- package/es/event/util.js +2 -0
- package/es/event/util.js.map +1 -0
- package/es/export.d.ts +1 -0
- package/es/export.js +1 -0
- package/es/export.js.map +1 -0
- package/es/graphic/arc.d.ts +32 -0
- package/es/graphic/arc.js +129 -0
- package/es/graphic/arc.js.map +1 -0
- package/es/graphic/arc3d.d.ts +10 -0
- package/es/graphic/arc3d.js +25 -0
- package/es/graphic/arc3d.js.map +1 -0
- package/es/graphic/area.d.ts +20 -0
- package/es/graphic/area.js +79 -0
- package/es/graphic/area.js.map +1 -0
- package/es/graphic/bounds.d.ts +4 -0
- package/es/graphic/bounds.js +10 -0
- package/es/graphic/bounds.js.map +1 -0
- package/es/graphic/builtin-symbol/arrow.d.ts +13 -0
- package/es/graphic/builtin-symbol/arrow.js +30 -0
- package/es/graphic/builtin-symbol/arrow.js.map +1 -0
- package/es/graphic/builtin-symbol/arrow2-left.d.ts +13 -0
- package/es/graphic/builtin-symbol/arrow2-left.js +24 -0
- package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -0
- package/es/graphic/builtin-symbol/arrow2-right.d.ts +13 -0
- package/es/graphic/builtin-symbol/arrow2-right.js +24 -0
- package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -0
- package/es/graphic/builtin-symbol/circle.d.ts +13 -0
- package/es/graphic/builtin-symbol/circle.js +24 -0
- package/es/graphic/builtin-symbol/circle.js.map +1 -0
- package/es/graphic/builtin-symbol/cross.d.ts +14 -0
- package/es/graphic/builtin-symbol/cross.js +36 -0
- package/es/graphic/builtin-symbol/cross.js.map +1 -0
- package/es/graphic/builtin-symbol/diamond.d.ts +14 -0
- package/es/graphic/builtin-symbol/diamond.js +26 -0
- package/es/graphic/builtin-symbol/diamond.js.map +1 -0
- package/es/graphic/builtin-symbol/index.d.ts +5 -0
- package/es/graphic/builtin-symbol/index.js +48 -0
- package/es/graphic/builtin-symbol/index.js.map +1 -0
- package/es/graphic/builtin-symbol/interface.d.ts +10 -0
- package/es/graphic/builtin-symbol/interface.js +2 -0
- package/es/graphic/builtin-symbol/interface.js.map +1 -0
- package/es/graphic/builtin-symbol/rect.d.ts +13 -0
- package/es/graphic/builtin-symbol/rect.js +25 -0
- package/es/graphic/builtin-symbol/rect.js.map +1 -0
- package/es/graphic/builtin-symbol/square.d.ts +13 -0
- package/es/graphic/builtin-symbol/square.js +23 -0
- package/es/graphic/builtin-symbol/square.js.map +1 -0
- package/es/graphic/builtin-symbol/star.d.ts +13 -0
- package/es/graphic/builtin-symbol/star.js +32 -0
- package/es/graphic/builtin-symbol/star.js.map +1 -0
- package/es/graphic/builtin-symbol/stroke.d.ts +13 -0
- package/es/graphic/builtin-symbol/stroke.js +22 -0
- package/es/graphic/builtin-symbol/stroke.js.map +1 -0
- package/es/graphic/builtin-symbol/thin-triangle.d.ts +14 -0
- package/es/graphic/builtin-symbol/thin-triangle.js +30 -0
- package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -0
- package/es/graphic/builtin-symbol/triangle-down.d.ts +14 -0
- package/es/graphic/builtin-symbol/triangle-down.js +28 -0
- package/es/graphic/builtin-symbol/triangle-down.js.map +1 -0
- package/es/graphic/builtin-symbol/triangle-left.d.ts +14 -0
- package/es/graphic/builtin-symbol/triangle-left.js +28 -0
- package/es/graphic/builtin-symbol/triangle-left.js.map +1 -0
- package/es/graphic/builtin-symbol/triangle-right.d.ts +14 -0
- package/es/graphic/builtin-symbol/triangle-right.js +28 -0
- package/es/graphic/builtin-symbol/triangle-right.js.map +1 -0
- package/es/graphic/builtin-symbol/triangle-up.d.ts +14 -0
- package/es/graphic/builtin-symbol/triangle-up.js +28 -0
- package/es/graphic/builtin-symbol/triangle-up.js.map +1 -0
- package/es/graphic/builtin-symbol/triangle.d.ts +9 -0
- package/es/graphic/builtin-symbol/triangle.js +12 -0
- package/es/graphic/builtin-symbol/triangle.js.map +1 -0
- package/es/graphic/builtin-symbol/utils.d.ts +12 -0
- package/es/graphic/builtin-symbol/utils.js +19 -0
- package/es/graphic/builtin-symbol/utils.js.map +1 -0
- package/es/graphic/builtin-symbol/wedge.d.ts +13 -0
- package/es/graphic/builtin-symbol/wedge.js +24 -0
- package/es/graphic/builtin-symbol/wedge.js.map +1 -0
- package/es/graphic/builtin-symbol/wye.d.ts +13 -0
- package/es/graphic/builtin-symbol/wye.js +32 -0
- package/es/graphic/builtin-symbol/wye.js.map +1 -0
- package/es/graphic/circle.d.ts +18 -0
- package/es/graphic/circle.js +61 -0
- package/es/graphic/circle.js.map +1 -0
- package/es/graphic/config.d.ts +24 -0
- package/es/graphic/config.js +240 -0
- package/es/graphic/config.js.map +1 -0
- package/es/graphic/glyph.d.ts +40 -0
- package/es/graphic/glyph.js +117 -0
- package/es/graphic/glyph.js.map +1 -0
- package/es/graphic/graphic-creator.d.ts +36 -0
- package/es/graphic/graphic-creator.js +126 -0
- package/es/graphic/graphic-creator.js.map +1 -0
- package/es/graphic/graphic-service/arc-contribution.d.ts +9 -0
- package/es/graphic/graphic-service/arc-contribution.js +18 -0
- package/es/graphic/graphic-service/arc-contribution.js.map +1 -0
- package/es/graphic/graphic-service/area-contribution.d.ts +6 -0
- package/es/graphic/graphic-service/area-contribution.js +2 -0
- package/es/graphic/graphic-service/area-contribution.js.map +1 -0
- package/es/graphic/graphic-service/circle-contribution.d.ts +9 -0
- package/es/graphic/graphic-service/circle-contribution.js +18 -0
- package/es/graphic/graphic-service/circle-contribution.js.map +1 -0
- package/es/graphic/graphic-service/common-contribution.d.ts +5 -0
- package/es/graphic/graphic-service/common-contribution.js +23 -0
- package/es/graphic/graphic-service/common-contribution.js.map +1 -0
- package/es/graphic/graphic-service/default-theme.d.ts +1 -0
- package/es/graphic/graphic-service/default-theme.js +3 -0
- package/es/graphic/graphic-service/default-theme.js.map +1 -0
- package/es/graphic/graphic-service/graphic-module.d.ts +3 -0
- package/es/graphic/graphic-service/graphic-module.js +30 -0
- package/es/graphic/graphic-service/graphic-module.js.map +1 -0
- package/es/graphic/graphic-service/graphic-service.d.ts +140 -0
- package/es/graphic/graphic-service/graphic-service.js +506 -0
- package/es/graphic/graphic-service/graphic-service.js.map +1 -0
- package/es/graphic/graphic-service/path-contribution.d.ts +9 -0
- package/es/graphic/graphic-service/path-contribution.js +18 -0
- package/es/graphic/graphic-service/path-contribution.js.map +1 -0
- package/es/graphic/graphic-service/rect-contribution.d.ts +9 -0
- package/es/graphic/graphic-service/rect-contribution.js +18 -0
- package/es/graphic/graphic-service/rect-contribution.js.map +1 -0
- package/es/graphic/graphic-service/symbol-contribution.d.ts +10 -0
- package/es/graphic/graphic-service/symbol-contribution.js +29 -0
- package/es/graphic/graphic-service/symbol-contribution.js.map +1 -0
- package/es/graphic/graphic-service/theme-service.d.ts +1 -0
- package/es/graphic/graphic-service/theme-service.js +3 -0
- package/es/graphic/graphic-service/theme-service.js.map +1 -0
- package/es/graphic/graphic.d.ts +140 -0
- package/es/graphic/graphic.js +566 -0
- package/es/graphic/graphic.js.map +1 -0
- package/es/graphic/group.d.ts +50 -0
- package/es/graphic/group.js +176 -0
- package/es/graphic/group.js.map +1 -0
- package/es/graphic/image.d.ts +28 -0
- package/es/graphic/image.js +93 -0
- package/es/graphic/image.js.map +1 -0
- package/es/graphic/index.d.ts +26 -0
- package/es/graphic/index.js +52 -0
- package/es/graphic/index.js.map +1 -0
- package/es/graphic/line.d.ts +19 -0
- package/es/graphic/line.js +71 -0
- package/es/graphic/line.js.map +1 -0
- package/es/graphic/node-tree.d.ts +75 -0
- package/es/graphic/node-tree.js +345 -0
- package/es/graphic/node-tree.js.map +1 -0
- package/es/graphic/path.d.ts +22 -0
- package/es/graphic/path.js +74 -0
- package/es/graphic/path.js.map +1 -0
- package/es/graphic/polygon.d.ts +20 -0
- package/es/graphic/polygon.js +65 -0
- package/es/graphic/polygon.js.map +1 -0
- package/es/graphic/pyramid3d.d.ts +13 -0
- package/es/graphic/pyramid3d.js +91 -0
- package/es/graphic/pyramid3d.js.map +1 -0
- package/es/graphic/rect.d.ts +18 -0
- package/es/graphic/rect.js +58 -0
- package/es/graphic/rect.js.map +1 -0
- package/es/graphic/rect3d.d.ts +9 -0
- package/es/graphic/rect3d.js +49 -0
- package/es/graphic/rect3d.js.map +1 -0
- package/es/graphic/richtext/frame.d.ts +43 -0
- package/es/graphic/richtext/frame.js +142 -0
- package/es/graphic/richtext/frame.js.map +1 -0
- package/es/graphic/richtext/icon.d.ts +24 -0
- package/es/graphic/richtext/icon.js +41 -0
- package/es/graphic/richtext/icon.js.map +1 -0
- package/es/graphic/richtext/line.d.ts +27 -0
- package/es/graphic/richtext/line.js +95 -0
- package/es/graphic/richtext/line.js.map +1 -0
- package/es/graphic/richtext/paragraph.d.ts +27 -0
- package/es/graphic/richtext/paragraph.js +70 -0
- package/es/graphic/richtext/paragraph.js.map +1 -0
- package/es/graphic/richtext/utils.d.ts +44 -0
- package/es/graphic/richtext/utils.js +187 -0
- package/es/graphic/richtext/utils.js.map +1 -0
- package/es/graphic/richtext/wrapper.d.ts +25 -0
- package/es/graphic/richtext/wrapper.js +46 -0
- package/es/graphic/richtext/wrapper.js.map +1 -0
- package/es/graphic/richtext.d.ts +42 -0
- package/es/graphic/richtext.js +181 -0
- package/es/graphic/richtext.js.map +1 -0
- package/es/graphic/shadow-root.d.ts +13 -0
- package/es/graphic/shadow-root.js +36 -0
- package/es/graphic/shadow-root.js.map +1 -0
- package/es/graphic/symbol.d.ts +23 -0
- package/es/graphic/symbol.js +80 -0
- package/es/graphic/symbol.js.map +1 -0
- package/es/graphic/text.d.ts +27 -0
- package/es/graphic/text.js +132 -0
- package/es/graphic/text.js.map +1 -0
- package/es/graphic/theme.d.ts +20 -0
- package/es/graphic/theme.js +117 -0
- package/es/graphic/theme.js.map +1 -0
- package/es/graphic/tools.d.ts +5 -0
- package/es/graphic/tools.js +61 -0
- package/es/graphic/tools.js.map +1 -0
- package/es/graphic/wrap-text.d.ts +9 -0
- package/es/graphic/wrap-text.js +100 -0
- package/es/graphic/wrap-text.js.map +1 -0
- package/es/index.d.ts +18 -0
- package/es/index.js +42 -0
- package/es/index.js.map +1 -0
- package/es/interface/animate.d.ts +154 -0
- package/es/interface/animate.js +2 -0
- package/es/interface/animate.js.map +1 -0
- package/es/interface/camera.d.ts +24 -0
- package/es/interface/camera.js +2 -0
- package/es/interface/camera.js.map +1 -0
- package/es/interface/canvas.d.ts +55 -0
- package/es/interface/canvas.js +2 -0
- package/es/interface/canvas.js.map +1 -0
- package/es/interface/color.d.ts +37 -0
- package/es/interface/color.js +2 -0
- package/es/interface/color.js.map +1 -0
- package/es/interface/common.d.ts +25 -0
- package/es/interface/common.js +2 -0
- package/es/interface/common.js.map +1 -0
- package/es/interface/context.d.ts +195 -0
- package/es/interface/context.js +2 -0
- package/es/interface/context.js.map +1 -0
- package/es/interface/contribution.d.ts +4 -0
- package/es/interface/contribution.js +2 -0
- package/es/interface/contribution.js.map +1 -0
- package/es/interface/creator.d.ts +4 -0
- package/es/interface/creator.js +2 -0
- package/es/interface/creator.js.map +1 -0
- package/es/interface/global.d.ts +124 -0
- package/es/interface/global.js +4 -0
- package/es/interface/global.js.map +1 -0
- package/es/interface/graphic/arc.d.ts +35 -0
- package/es/interface/graphic/arc.js +2 -0
- package/es/interface/graphic/arc.js.map +1 -0
- package/es/interface/graphic/arc3d.d.ts +21 -0
- package/es/interface/graphic/arc3d.js +2 -0
- package/es/interface/graphic/arc3d.js.map +1 -0
- package/es/interface/graphic/area.d.ts +23 -0
- package/es/interface/graphic/area.js +2 -0
- package/es/interface/graphic/area.js.map +1 -0
- package/es/interface/graphic/bounds.d.ts +37 -0
- package/es/interface/graphic/bounds.js +8 -0
- package/es/interface/graphic/bounds.js.map +1 -0
- package/es/interface/graphic/circle.d.ts +8 -0
- package/es/interface/graphic/circle.js +2 -0
- package/es/interface/graphic/circle.js.map +1 -0
- package/es/interface/graphic/creator.d.ts +32 -0
- package/es/interface/graphic/creator.js +2 -0
- package/es/interface/graphic/creator.js.map +1 -0
- package/es/interface/graphic/dynamic-path.d.ts +1 -0
- package/es/interface/graphic/dynamic-path.js +3 -0
- package/es/interface/graphic/dynamic-path.js.map +1 -0
- package/es/interface/graphic/ellipse.d.ts +8 -0
- package/es/interface/graphic/ellipse.js +2 -0
- package/es/interface/graphic/ellipse.js.map +1 -0
- package/es/interface/graphic/face3d.d.ts +11 -0
- package/es/interface/graphic/face3d.js +2 -0
- package/es/interface/graphic/face3d.js.map +1 -0
- package/es/interface/graphic/glyph.d.ts +24 -0
- package/es/interface/graphic/glyph.js +2 -0
- package/es/interface/graphic/glyph.js.map +1 -0
- package/es/interface/graphic/group.d.ts +23 -0
- package/es/interface/graphic/group.js +2 -0
- package/es/interface/graphic/group.js.map +1 -0
- package/es/interface/graphic/image.d.ts +14 -0
- package/es/interface/graphic/image.js +2 -0
- package/es/interface/graphic/image.js.map +1 -0
- package/es/interface/graphic/index.d.ts +2 -0
- package/es/interface/graphic/index.js +4 -0
- package/es/interface/graphic/index.js.map +1 -0
- package/es/interface/graphic/isogon.d.ts +7 -0
- package/es/interface/graphic/isogon.js +2 -0
- package/es/interface/graphic/isogon.js.map +1 -0
- package/es/interface/graphic/line.d.ts +22 -0
- package/es/interface/graphic/line.js +2 -0
- package/es/interface/graphic/line.js.map +1 -0
- package/es/interface/graphic/path.d.ts +15 -0
- package/es/interface/graphic/path.js +2 -0
- package/es/interface/graphic/path.js.map +1 -0
- package/es/interface/graphic/polygon.d.ts +8 -0
- package/es/interface/graphic/polygon.js +2 -0
- package/es/interface/graphic/polygon.js.map +1 -0
- package/es/interface/graphic/polyline.d.ts +3 -0
- package/es/interface/graphic/polyline.js +2 -0
- package/es/interface/graphic/polyline.js.map +1 -0
- package/es/interface/graphic/pyramid3d.d.ts +7 -0
- package/es/interface/graphic/pyramid3d.js +2 -0
- package/es/interface/graphic/pyramid3d.js.map +1 -0
- package/es/interface/graphic/rect.d.ts +11 -0
- package/es/interface/graphic/rect.js +2 -0
- package/es/interface/graphic/rect.js.map +1 -0
- package/es/interface/graphic/rect3d.d.ts +9 -0
- package/es/interface/graphic/rect3d.js +2 -0
- package/es/interface/graphic/rect3d.js.map +1 -0
- package/es/interface/graphic/richText.d.ts +99 -0
- package/es/interface/graphic/richText.js +2 -0
- package/es/interface/graphic/richText.js.map +1 -0
- package/es/interface/graphic/shadow-root.d.ts +5 -0
- package/es/interface/graphic/shadow-root.js +2 -0
- package/es/interface/graphic/shadow-root.js.map +1 -0
- package/es/interface/graphic/svg.d.ts +7 -0
- package/es/interface/graphic/svg.js +2 -0
- package/es/interface/graphic/svg.js.map +1 -0
- package/es/interface/graphic/symbol.d.ts +11 -0
- package/es/interface/graphic/symbol.js +2 -0
- package/es/interface/graphic/symbol.js.map +1 -0
- package/es/interface/graphic/text.d.ts +40 -0
- package/es/interface/graphic/text.js +2 -0
- package/es/interface/graphic/text.js.map +1 -0
- package/es/interface/graphic/theme.d.ts +56 -0
- package/es/interface/graphic/theme.js +2 -0
- package/es/interface/graphic/theme.js.map +1 -0
- package/es/interface/graphic/util.d.ts +15 -0
- package/es/interface/graphic/util.js +2 -0
- package/es/interface/graphic/util.js.map +1 -0
- package/es/interface/graphic-utils.d.ts +1 -0
- package/es/interface/graphic-utils.js +3 -0
- package/es/interface/graphic-utils.js.map +1 -0
- package/es/interface/graphic.d.ts +205 -0
- package/es/interface/graphic.js +2 -0
- package/es/interface/graphic.js.map +1 -0
- package/es/interface/index.d.ts +34 -0
- package/es/interface/index.js +68 -0
- package/es/interface/index.js.map +1 -0
- package/es/interface/layer.d.ts +60 -0
- package/es/interface/layer.js +2 -0
- package/es/interface/layer.js.map +1 -0
- package/es/interface/light.d.ts +6 -0
- package/es/interface/light.js +2 -0
- package/es/interface/light.js.map +1 -0
- package/es/interface/matrix.d.ts +21 -0
- package/es/interface/matrix.js +2 -0
- package/es/interface/matrix.js.map +1 -0
- package/es/interface/node-tree.d.ts +43 -0
- package/es/interface/node-tree.js +2 -0
- package/es/interface/node-tree.js.map +1 -0
- package/es/interface/path.d.ts +106 -0
- package/es/interface/path.js +10 -0
- package/es/interface/path.js.map +1 -0
- package/es/interface/stage.d.ts +124 -0
- package/es/interface/stage.js +2 -0
- package/es/interface/stage.js.map +1 -0
- package/es/interface/util.d.ts +1 -0
- package/es/interface/util.js +3 -0
- package/es/interface/util.js.map +1 -0
- package/es/kits/env.d.ts +2 -0
- package/es/kits/env.js +12 -0
- package/es/kits/env.js.map +1 -0
- package/es/kits/index.d.ts +1 -0
- package/es/kits/index.js +2 -0
- package/es/kits/index.js.map +1 -0
- package/es/modules.d.ts +26 -0
- package/es/modules.js +77 -0
- package/es/modules.js.map +1 -0
- package/es/picker/canvas-picker-service.d.ts +31 -0
- package/es/picker/canvas-picker-service.js +73 -0
- package/es/picker/canvas-picker-service.js.map +1 -0
- package/es/picker/contributions/canvas-picker/arc-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/arc-picker.js +51 -0
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.js +56 -0
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/area-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/area-picker.js +43 -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 +16 -0
- package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/circle-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/circle-picker.js +50 -0
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.js +42 -0
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/image-picker.d.ts +8 -0
- package/es/picker/contributions/canvas-picker/image-picker.js +24 -0
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/line-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/line-picker.js +60 -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 +62 -0
- package/es/picker/contributions/canvas-picker/module.js.map +1 -0
- package/es/picker/contributions/canvas-picker/path-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/path-picker.js +59 -0
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.js +47 -0
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +57 -0
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/rect-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/rect-picker.js +65 -0
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.js +56 -0
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.d.ts +11 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.js +35 -0
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.js +62 -0
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/text-picker.d.ts +12 -0
- package/es/picker/contributions/canvas-picker/text-picker.js +60 -0
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -0
- package/es/picker/contributions/constants.d.ts +28 -0
- package/es/picker/contributions/constants.js +56 -0
- package/es/picker/contributions/constants.js.map +1 -0
- package/es/picker/contributions/math-picker/arc-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/arc-picker.js +49 -0
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/area-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/area-picker.js +43 -0
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/circle-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/circle-picker.js +48 -0
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/glyph-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/glyph-picker.js +42 -0
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/line-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/line-picker.js +48 -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 +45 -0
- package/es/picker/contributions/math-picker/module.js.map +1 -0
- package/es/picker/contributions/math-picker/path-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/path-picker.js +48 -0
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/polygon-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/polygon-picker.js +47 -0
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/rect-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/rect-picker.js +63 -0
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/symbol-picker.d.ts +11 -0
- package/es/picker/contributions/math-picker/symbol-picker.js +48 -0
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -0
- package/es/picker/contributions/math-picker/text-picker.d.ts +8 -0
- package/es/picker/contributions/math-picker/text-picker.js +23 -0
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -0
- package/es/picker/contributions/modules.d.ts +2 -0
- package/es/picker/contributions/modules.js +8 -0
- package/es/picker/contributions/modules.js.map +1 -0
- package/es/picker/contributions/old/circle-picker.d.ts +1 -0
- package/es/picker/contributions/old/circle-picker.js +3 -0
- package/es/picker/contributions/old/circle-picker.js.map +1 -0
- package/es/picker/contributions/old/rect-picker.d.ts +1 -0
- package/es/picker/contributions/old/rect-picker.js +3 -0
- package/es/picker/contributions/old/rect-picker.js.map +1 -0
- package/es/picker/global-picker-service.d.ts +22 -0
- package/es/picker/global-picker-service.js +72 -0
- package/es/picker/global-picker-service.js.map +1 -0
- package/es/picker/index.d.ts +4 -0
- package/es/picker/index.js +8 -0
- package/es/picker/index.js.map +1 -0
- package/es/picker/math-picker-service.d.ts +18 -0
- package/es/picker/math-picker-service.js +54 -0
- package/es/picker/math-picker-service.js.map +1 -0
- package/es/picker/pick-interceptor.d.ts +20 -0
- package/es/picker/pick-interceptor.js +79 -0
- package/es/picker/pick-interceptor.js.map +1 -0
- package/es/picker/pick-modules.d.ts +3 -0
- package/es/picker/pick-modules.js +21 -0
- package/es/picker/pick-modules.js.map +1 -0
- package/es/picker/picker-service.d.ts +49 -0
- package/es/picker/picker-service.js +120 -0
- package/es/picker/picker-service.js.map +1 -0
- package/es/picker/type.d.ts +5 -0
- package/es/picker/type.js +2 -0
- package/es/picker/type.js.map +1 -0
- package/es/plugins/builtin-plugin/3dview-transform-plugin.d.ts +18 -0
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js +34 -0
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -0
- package/es/plugins/builtin-plugin/auto-render-plugin.d.ts +10 -0
- package/es/plugins/builtin-plugin/auto-render-plugin.js +22 -0
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -0
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +10 -0
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +34 -0
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -0
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.d.ts +17 -0
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +52 -0
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -0
- package/es/plugins/interface.d.ts +1 -0
- package/es/plugins/interface.js +3 -0
- package/es/plugins/interface.js.map +1 -0
- package/es/plugins/plugin-modules.d.ts +3 -0
- package/es/plugins/plugin-modules.js +8 -0
- package/es/plugins/plugin-modules.js.map +1 -0
- package/es/plugins/plugin-service.d.ts +26 -0
- package/es/plugins/plugin-service.js +44 -0
- package/es/plugins/plugin-service.js.map +1 -0
- package/es/render/contributions/interface.d.ts +3 -0
- package/es/render/contributions/interface.js +2 -0
- package/es/render/contributions/interface.js.map +1 -0
- package/es/render/contributions/modules.d.ts +2 -0
- package/es/render/contributions/modules.js +6 -0
- package/es/render/contributions/modules.js.map +1 -0
- package/es/render/contributions/render/arc-render.d.ts +16 -0
- package/es/render/contributions/render/arc-render.js +208 -0
- package/es/render/contributions/render/arc-render.js.map +1 -0
- package/es/render/contributions/render/arc3d-render.d.ts +11 -0
- package/es/render/contributions/render/arc3d-render.js +112 -0
- package/es/render/contributions/render/arc3d-render.js.map +1 -0
- package/es/render/contributions/render/area-render.d.ts +15 -0
- package/es/render/contributions/render/area-render.js +166 -0
- package/es/render/contributions/render/area-render.js.map +1 -0
- package/es/render/contributions/render/base-render.d.ts +12 -0
- package/es/render/contributions/render/base-render.js +68 -0
- package/es/render/contributions/render/base-render.js.map +1 -0
- package/es/render/contributions/render/circle-render.d.ts +14 -0
- package/es/render/contributions/render/circle-render.js +60 -0
- package/es/render/contributions/render/circle-render.js.map +1 -0
- package/es/render/contributions/render/clear-screen.d.ts +1 -0
- package/es/render/contributions/render/clear-screen.js +3 -0
- package/es/render/contributions/render/clear-screen.js.map +1 -0
- package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +18 -0
- package/es/render/contributions/render/contributions/arc-contribution-render.js +85 -0
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/area-contribution-render.d.ts +17 -0
- package/es/render/contributions/render/contributions/area-contribution-render.js +73 -0
- package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/base-contribution-render.d.ts +33 -0
- package/es/render/contributions/render/contributions/base-contribution-render.js +163 -0
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +18 -0
- package/es/render/contributions/render/contributions/circle-contribution-render.js +67 -0
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/group-contribution-render.d.ts +13 -0
- package/es/render/contributions/render/contributions/group-contribution-render.js +34 -0
- package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/image-contribution-render.d.ts +10 -0
- package/es/render/contributions/render/contributions/image-contribution-render.js +43 -0
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/index.d.ts +7 -0
- package/es/render/contributions/render/contributions/index.js +14 -0
- package/es/render/contributions/render/contributions/index.js.map +1 -0
- package/es/render/contributions/render/contributions/path-contribution-render.d.ts +12 -0
- package/es/render/contributions/render/contributions/path-contribution-render.js +32 -0
- package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +12 -0
- package/es/render/contributions/render/contributions/polygon-contribution-render.js +32 -0
- package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +36 -0
- package/es/render/contributions/render/contributions/rect-contribution-render.js +108 -0
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -0
- package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +18 -0
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +61 -0
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -0
- package/es/render/contributions/render/draw-contribution.d.ts +33 -0
- package/es/render/contributions/render/draw-contribution.js +179 -0
- package/es/render/contributions/render/draw-contribution.js.map +1 -0
- package/es/render/contributions/render/draw-interceptor.d.ts +18 -0
- package/es/render/contributions/render/draw-interceptor.js +118 -0
- package/es/render/contributions/render/draw-interceptor.js.map +1 -0
- package/es/render/contributions/render/glyph-render.d.ts +9 -0
- package/es/render/contributions/render/glyph-render.js +37 -0
- package/es/render/contributions/render/glyph-render.js.map +1 -0
- package/es/render/contributions/render/graphic-render.d.ts +22 -0
- package/es/render/contributions/render/graphic-render.js +14 -0
- package/es/render/contributions/render/graphic-render.js.map +1 -0
- package/es/render/contributions/render/group-render.d.ts +14 -0
- package/es/render/contributions/render/group-render.js +87 -0
- package/es/render/contributions/render/group-render.js.map +1 -0
- package/es/render/contributions/render/image-render.d.ts +14 -0
- package/es/render/contributions/render/image-render.js +66 -0
- package/es/render/contributions/render/image-render.js.map +1 -0
- package/es/render/contributions/render/incremental-area-render.d.ts +10 -0
- package/es/render/contributions/render/incremental-area-render.js +44 -0
- package/es/render/contributions/render/incremental-area-render.js.map +1 -0
- package/es/render/contributions/render/incremental-draw-contribution.d.ts +44 -0
- package/es/render/contributions/render/incremental-draw-contribution.js +177 -0
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -0
- package/es/render/contributions/render/incremental-line-render.d.ts +10 -0
- package/es/render/contributions/render/incremental-line-render.js +45 -0
- package/es/render/contributions/render/incremental-line-render.js.map +1 -0
- package/es/render/contributions/render/index.d.ts +13 -0
- package/es/render/contributions/render/index.js +26 -0
- package/es/render/contributions/render/index.js.map +1 -0
- package/es/render/contributions/render/line-render.d.ts +13 -0
- package/es/render/contributions/render/line-render.js +91 -0
- package/es/render/contributions/render/line-render.js.map +1 -0
- package/es/render/contributions/render/module.d.ts +3 -0
- package/es/render/contributions/render/module.js +133 -0
- package/es/render/contributions/render/module.js.map +1 -0
- package/es/render/contributions/render/path-render.d.ts +16 -0
- package/es/render/contributions/render/path-render.js +66 -0
- package/es/render/contributions/render/path-render.js.map +1 -0
- package/es/render/contributions/render/polygon-render.d.ts +14 -0
- package/es/render/contributions/render/polygon-render.js +65 -0
- package/es/render/contributions/render/polygon-render.js.map +1 -0
- package/es/render/contributions/render/pyramid3d-render.d.ts +13 -0
- package/es/render/contributions/render/pyramid3d-render.js +101 -0
- package/es/render/contributions/render/pyramid3d-render.js.map +1 -0
- package/es/render/contributions/render/rect-render.d.ts +14 -0
- package/es/render/contributions/render/rect-render.js +71 -0
- package/es/render/contributions/render/rect-render.js.map +1 -0
- package/es/render/contributions/render/rect3d-render.d.ts +13 -0
- package/es/render/contributions/render/rect3d-render.js +100 -0
- package/es/render/contributions/render/rect3d-render.js.map +1 -0
- package/es/render/contributions/render/render-slector.d.ts +8 -0
- package/es/render/contributions/render/render-slector.js +18 -0
- package/es/render/contributions/render/render-slector.js.map +1 -0
- package/es/render/contributions/render/richtext-render.d.ts +10 -0
- package/es/render/contributions/render/richtext-render.js +57 -0
- package/es/render/contributions/render/richtext-render.js.map +1 -0
- package/es/render/contributions/render/symbol-render.d.ts +16 -0
- package/es/render/contributions/render/symbol-render.js +71 -0
- package/es/render/contributions/render/symbol-render.js.map +1 -0
- package/es/render/contributions/render/symbol.d.ts +20 -0
- package/es/render/contributions/render/symbol.js +40 -0
- package/es/render/contributions/render/symbol.js.map +1 -0
- package/es/render/contributions/render/text-render.d.ts +14 -0
- package/es/render/contributions/render/text-render.js +106 -0
- package/es/render/contributions/render/text-render.js.map +1 -0
- package/es/render/contributions/render/utils.d.ts +10 -0
- package/es/render/contributions/render/utils.js +45 -0
- package/es/render/contributions/render/utils.js.map +1 -0
- package/es/render/index.d.ts +2 -0
- package/es/render/index.js +4 -0
- package/es/render/index.js.map +1 -0
- package/es/render/render-modules.d.ts +3 -0
- package/es/render/render-modules.js +8 -0
- package/es/render/render-modules.js.map +1 -0
- package/es/render/render-service.d.ts +73 -0
- package/es/render/render-service.js +55 -0
- package/es/render/render-service.js.map +1 -0
- package/es/resource-loader/loader.d.ts +27 -0
- package/es/resource-loader/loader.js +55 -0
- package/es/resource-loader/loader.js.map +1 -0
- package/es/tapable/Hook.d.ts +29 -0
- package/es/tapable/Hook.js +52 -0
- package/es/tapable/Hook.js.map +1 -0
- package/es/tapable/SyncHook.d.ts +4 -0
- package/es/tapable/SyncHook.js +8 -0
- package/es/tapable/SyncHook.js.map +1 -0
- package/es/tapable/index.d.ts +1 -0
- package/es/tapable/index.js +2 -0
- package/es/tapable/index.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/path.ts"],"names":[],"mappings":"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","file":"path.js","sourcesContent":["import {\n IAABBBounds,\n abs,\n IPoint,\n IPointLike,\n AABBBounds,\n PointService,\n Point,\n atan2,\n min,\n max,\n sin,\n cos\n} from '@visactor/vutils';\nimport { IContext2d, ILine } from '../interface';\nimport {\n CommandStrType,\n CommandType,\n IArcCurve,\n ICubicBezierCurve,\n ICurve,\n ICurvePath,\n ILineCurve,\n IMoveCurve,\n ICustomPath2D,\n IQuadraticBezierCurve,\n ICurveTypeEnum,\n IEllipseCurve,\n IPath2D\n} from '../interface/path';\nimport { cubicLength, cubicPointAt } from './bezier';\nimport { BoundsContext } from './bounds-context';\nimport { calcLineCache } from './curve';\nimport { addArcToBezierPath } from './morphing-utils';\nimport { enumCommandMap, parseSvgPath } from './path-svg';\nimport { renderCommandList } from './render-command-list';\nimport { Direction } from './seg-context';\nimport { bezier, segments } from './shape/arc';\n\n/**\n * 部分源码参考 https://github.com/d3/d3-shape/\n * Copyright 2010-2022 Mike Bostock\n\n Permission to use, copy, modify, and/or distribute this software for any purpose\n with or without fee is hereby granted, provided that the above copyright notice\n and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND\n FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS\n OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER\n TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF\n THIS SOFTWARE.\n */\n// 基于d3-shape重构\n// https://github.com/vega/vega/blob/master/packages/vega-scenegraph/src/path/render.js\nexport function drawArc(\n context: ICustomPath2D,\n x: number,\n y: number,\n coords: [number, number, number, number, number, number, number]\n) {\n const seg = segments(\n coords[5], // end x\n coords[6], // end y\n coords[0], // radius x\n coords[1], // radius y\n coords[3], // large flag\n coords[4], // sweep flag\n coords[2], // rotation\n x,\n y\n );\n for (let i = 0; i < seg.length; ++i) {\n const bez = bezier(seg[i]);\n context.bezierCurveTo(bez[0], bez[1], bez[2], bez[3], bez[4], bez[5]);\n }\n}\n\nexport abstract class Curve implements ICurve<IPoint> {\n type: number;\n readonly p0: IPoint;\n defined: boolean;\n\n protected length: number;\n abstract getPointAt(t: number): IPointLike;\n abstract getAngleAt(t: number): number;\n getLength(direction?: Direction): number {\n if (direction != null) {\n return this.calcProjLength(direction);\n }\n if (Number.isFinite(this.length)) {\n return this.length;\n }\n this.length = this.calcLength();\n return this.length;\n }\n protected abstract calcLength(): number;\n protected abstract calcProjLength(direction: Direction): number;\n}\n\nexport class CubicBezierCurve extends Curve implements ICubicBezierCurve {\n type: number = ICurveTypeEnum.CubicBezierCurve;\n declare readonly p0: IPoint;\n declare readonly p1: IPoint;\n declare readonly p2: IPoint;\n declare readonly p3: IPoint;\n constructor(p0: IPoint, p1: IPoint, p2: IPoint, p3: IPoint) {\n super();\n this.p0 = p0;\n this.p1 = p1;\n this.p2 = p2;\n this.p3 = p3;\n }\n\n protected _validPoint(): boolean {\n return Number.isFinite(\n this.p0.x + this.p0.y + this.p1.x + this.p1.y + this.p2.x + this.p2.y + this.p3.x + this.p3.y\n );\n }\n getPointAt(t: number): IPointLike {\n if (this.defined !== false) {\n return cubicPointAt(this.p0, this.p1, this.p2, this.p3, t);\n }\n throw new Error('defined为false的点不能getPointAt');\n }\n protected calcLength(): number {\n // throw new Error('CubicBezierCurve暂不支持updateLength');\n if (this._validPoint()) {\n return cubicLength(this.p0, this.p1, this.p2, this.p3, 0);\n }\n // return distance(this.p0.x || 0, this.p0.y || 0, this.p3.x || 0, this.p3.y || 0);\n // 默认长度不好给\n return 60;\n }\n\n protected calcProjLength(direction: Direction): number {\n if (direction === Direction.ROW) {\n return abs(this.p0.x - this.p3.x);\n } else if (direction === Direction.COLUMN) {\n return abs(this.p0.y - this.p3.y);\n }\n return 0;\n }\n getAngleAt(t: number): number {\n const minT = max(t - 0.01, 0);\n const maxT = min(t + 0.01, 1);\n const minP = this.getPointAt(minT);\n const maxP = this.getPointAt(maxT);\n return atan2(maxP.y - minP.y, maxP.x - minP.x);\n }\n}\n\nexport class QuadraticBezierCurve extends Curve implements IQuadraticBezierCurve {\n type: number = ICurveTypeEnum.QuadraticBezierCurve;\n declare readonly p0: IPoint;\n declare readonly p1: IPoint;\n declare readonly p2: IPoint;\n constructor(p0: IPoint, p1: IPoint, p2: IPoint) {\n super();\n this.p0 = p0;\n this.p1 = p1;\n this.p2 = p2;\n }\n getPointAt(t: number): IPointLike {\n throw new Error('QuadraticBezierCurve暂不支持getPointAt');\n }\n protected calcLength(): number {\n throw new Error('QuadraticBezierCurve暂不支持updateLength');\n }\n protected calcProjLength(direction: Direction): number {\n throw new Error('QuadraticBezierCurve暂不支持updateLength');\n }\n getAngleAt(t: number): number {\n throw new Error('ArcCurve暂不支持getAngleAt');\n }\n}\n\nexport class ArcCurve extends Curve implements IArcCurve {\n type: number = ICurveTypeEnum.ArcCurve;\n declare readonly p0: IPoint;\n declare readonly p1: IPoint;\n declare radius: number;\n constructor(p0: IPoint, p1: IPoint, radius: number) {\n super();\n this.p0 = p0;\n this.p1 = p1;\n this.radius = radius;\n }\n getPointAt(t: number): IPointLike {\n throw new Error('ArcCurve暂不支持getPointAt');\n }\n protected calcLength(): number {\n throw new Error('ArcCurve暂不支持updateLength');\n }\n protected calcProjLength(direction: Direction): number {\n throw new Error('QuadraticBezierCurve暂不支持updateLength');\n }\n getAngleAt(t: number): number {\n throw new Error('ArcCurve暂不支持getAngleAt');\n }\n}\n\nexport class LineCurve extends Curve implements ILineCurve {\n type: number = ICurveTypeEnum.LineCurve;\n declare p0: IPoint;\n declare p1: IPoint;\n declare angle: number;\n constructor(p0: IPoint, p1: IPoint) {\n super();\n this.p0 = p0;\n this.p1 = p1;\n }\n getPointAt(t: number): IPointLike {\n if (this.defined !== false) {\n return PointService.pointAtPP(this.p0, this.p1, t);\n }\n throw new Error('defined为false的点不能getPointAt');\n }\n\n getAngleAt(t: number): number {\n if (this.angle == null) {\n this.angle = atan2(this.p1.y - this.p0.y, this.p1.x - this.p0.x);\n }\n return this.angle;\n }\n\n protected _validPoint() {\n return Number.isFinite(this.p0.x + this.p0.y + this.p1.x + this.p1.y);\n }\n\n protected calcLength(): number {\n if (this._validPoint()) {\n return PointService.distancePP(this.p0, this.p1);\n }\n // TODO 默认长度不好给,只能给个差不多的长度\n return 60;\n }\n\n protected calcProjLength(direction: Direction): number {\n if (direction === Direction.ROW) {\n return abs(this.p0.x - this.p1.x);\n } else if (direction === Direction.COLUMN) {\n return abs(this.p0.y - this.p1.y);\n }\n return 0;\n }\n}\n\nexport class EllipseCurve extends Curve implements IEllipseCurve {\n type: number = ICurveTypeEnum.EllipseCurve;\n declare p0: IPoint;\n declare radiusX: number;\n declare radiusY: number;\n declare rotation: number;\n declare startAngle: number;\n declare endAngle: number;\n declare anticlockwise?: boolean;\n constructor(\n p0: IPoint,\n radiusX: number,\n radiusY: number,\n rotation: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ) {\n super();\n this.p0 = p0;\n this.radiusX = radiusX;\n this.radiusY = radiusY;\n this.rotation = rotation;\n this.startAngle = startAngle;\n this.endAngle = endAngle;\n this.anticlockwise = anticlockwise;\n }\n getPointAt(t: number): IPointLike {\n throw new Error('EllipseCurve暂不支持getPointAt');\n }\n getAngleAt(t: number): number {\n throw new Error('ArcCurve暂不支持getAngleAt');\n }\n protected calcLength(): number {\n throw new Error('EllipseCurve暂不支持updateLength');\n }\n protected calcProjLength(direction: Direction): number {\n throw new Error('QuadraticBezierCurve暂不支持updateLength');\n }\n}\n\nexport class MoveCurve extends Curve implements IMoveCurve {\n type: number = ICurveTypeEnum.MoveCurve;\n declare p0: IPoint;\n declare p1: IPoint;\n constructor(p0: IPoint, p1: IPoint) {\n super();\n this.p0 = p0;\n this.p1 = p1;\n }\n getAngleAt(t: number): number {\n throw new Error('ArcCurve暂不支持getAngleAt');\n }\n getPointAt(t: number): IPointLike {\n throw new Error('MoveCurve暂不支持getPointAt');\n }\n protected calcLength(): number {\n throw new Error('MoveCurve暂不支持updateLength');\n }\n protected calcProjLength(direction: Direction): number {\n throw new Error('QuadraticBezierCurve暂不支持updateLength');\n }\n}\n\nexport class CurvePath implements ICurvePath<IPoint> {\n curves: ICurve<IPoint>[];\n bounds: IAABBBounds;\n constructor() {\n this.curves = [];\n this.bounds = new AABBBounds();\n }\n getCurveLengths(): number[] {\n return this.curves.map(curve => curve.getLength());\n }\n getPointAt(t: number): IPointLike {\n return { x: 0, y: 0 };\n }\n getLength(): number {\n return 0;\n }\n getBounds() {\n return this.bounds;\n }\n}\n\nexport class CurveContext implements IPath2D {\n declare path: CustomPath2D;\n private _lastX: number;\n private _lastY: number;\n private _startX: number;\n private _startY: number;\n\n constructor(path: CustomPath2D) {\n this.path = path;\n this._lastX = this._lastY = this._startX = this._startY = 0;\n }\n moveTo(x: number, y: number) {\n this._lastX = this._startX = x;\n this._lastY = this._startY = y;\n return this;\n }\n lineTo(x: number, y: number) {\n const curve = this.addLinearCurve(x, y);\n this.path.curves.push(curve);\n this._lastX = x;\n this._lastY = y;\n }\n // linear\n protected addLinearCurve(x: number, y: number): LineCurve {\n const curve = new LineCurve(new Point(this._lastX, this._lastY), new Point(x, y));\n return curve;\n }\n quadraticCurveTo(aCPx: number, aCPy: number, aX: number, aY: number) {\n throw new Error('CurveContext不支持调用quadraticCurveTo');\n }\n bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void {\n const curve: CubicBezierCurve = new CubicBezierCurve(\n new Point(this._lastX, this._lastY),\n new Point(cp1x, cp1y),\n new Point(cp2x, cp2y),\n new Point(x, y)\n );\n this.path.curves.push(curve);\n this._lastX = x;\n this._lastY = y;\n }\n arcTo(aX1: number, aY1: number, aX2: number, aY2: number, aRadius: number) {\n throw new Error('CurveContext不支持调用arcTo');\n }\n ellipse(\n aX: number,\n aY: number,\n xRadius: number,\n yRadius: number,\n aRotation: number,\n aStartAngle: number,\n aEndAngle: number,\n aClockwise: boolean\n ) {\n throw new Error('CurveContext不支持调用ellipse');\n }\n rect(x: number, y: number, w: number, h: number) {\n throw new Error('CurveContext不支持调用rect');\n }\n arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean) {\n throw new Error('CurveContext不支持调用arc');\n }\n closePath(): void {\n if (this.path.curves.length < 2) {\n return;\n }\n this.lineTo(this._startX, this._startY);\n }\n}\n\nexport class CustomPath2D extends CurvePath implements ICustomPath2D {\n commandList: CommandType[] = [];\n _boundsContext: BoundsContext;\n _ctx?: IPath2D;\n direction?: Direction;\n protected transformCbList?: ((cmd: CommandType, x: number, y: number, sx: number, sy: number) => void)[];\n protected toStringCbList?: ((cmd: CommandType) => string)[];\n\n constructor(ctx?: IPath2D) {\n super();\n if (ctx) {\n this._ctx = ctx;\n }\n this._boundsContext = new BoundsContext(this.bounds);\n }\n\n setCtx(ctx?: IPath2D) {\n this._ctx = ctx;\n }\n\n moveTo(x: number, y: number) {\n this.commandList.push([enumCommandMap.M, x, y]);\n this._ctx && this._ctx.moveTo(x, y);\n return this;\n }\n lineTo(x: number, y: number) {\n this.commandList.push([enumCommandMap.L, x, y]);\n this._ctx && this._ctx.lineTo(x, y);\n return this;\n }\n quadraticCurveTo(aCPx: number, aCPy: number, aX: number, aY: number) {\n this.commandList.push([enumCommandMap.Q, aCPx, aCPy, aX, aY]);\n this._ctx && this._ctx.quadraticCurveTo(aCPx, aCPy, aX, aY);\n return this;\n }\n bezierCurveTo(aCP1x: number, aCP1y: number, aCP2x: number, aCP2y: number, aX: number, aY: number) {\n this.commandList.push([enumCommandMap.C, aCP1x, aCP1y, aCP2x, aCP2y, aX, aY]);\n this._ctx && this._ctx.bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY);\n return this;\n }\n arcTo(aX1: number, aY1: number, aX2: number, aY2: number, aRadius: number) {\n this.commandList.push([enumCommandMap.AT, aX1, aY1, aX2, aY2, aRadius]);\n this._ctx && this._ctx.arcTo(aX1, aY1, aX2, aY2, aRadius);\n return this;\n }\n ellipse(\n aX: number,\n aY: number,\n xRadius: number,\n yRadius: number,\n aRotation: number,\n aStartAngle: number,\n aEndAngle: number,\n aClockwise: boolean\n ) {\n this.commandList.push([enumCommandMap.E, aX, aY, xRadius, yRadius, aRotation, aStartAngle, aEndAngle, aClockwise]);\n this._ctx && this._ctx.ellipse(aX, aY, xRadius, yRadius, aRotation, aStartAngle, aEndAngle, aClockwise);\n return this;\n }\n rect(x: number, y: number, w: number, h: number) {\n this.commandList.push([enumCommandMap.R, x, y, w, h]);\n this._ctx && this._ctx.rect(x, y, w, h);\n return this;\n }\n arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, counterclockwise?: boolean) {\n this.commandList.push([enumCommandMap.A, x, y, radius, startAngle, endAngle, counterclockwise]);\n this._ctx && this._ctx.arc(x, y, radius, startAngle, endAngle, counterclockwise);\n return this;\n }\n closePath() {\n this.commandList.push([enumCommandMap.Z]);\n this._ctx && this._ctx.closePath();\n return this;\n }\n\n addCurve(curve: ICurve<IPoint>) {\n this.curves.push(curve);\n // todo parse curve\n }\n clear() {\n this.transformCbList = null;\n this.commandList.length = 0;\n this.curves.length = 0;\n }\n\n toString(): string {\n if (!this.toStringCbList) {\n const list: ((cmd: CommandType) => string)[] = [];\n list[enumCommandMap.M] = (cmd: CommandType) => `M${cmd[1]} ${cmd[2]}`;\n list[enumCommandMap.L] = (cmd: CommandType) => `L${cmd[1]} ${cmd[2]}`;\n list[enumCommandMap.Q] = (cmd: CommandType) => `Q${cmd[1]} ${cmd[2]} ${cmd[3]} ${cmd[4]}`;\n list[enumCommandMap.C] = (cmd: CommandType) => `C${cmd[1]} ${cmd[2]} ${cmd[3]} ${cmd[4]} ${cmd[5]} ${cmd[6]}`;\n list[enumCommandMap.A] = (cmd: CommandType) => {\n const bezierPathList: number[] = [];\n addArcToBezierPath(\n bezierPathList,\n cmd[4] as number,\n cmd[5] as number,\n cmd[1] as number,\n cmd[2] as number,\n cmd[3] as number,\n cmd[3] as number\n );\n let path = '';\n for (let i = 0; i < bezierPathList.length; i += 6) {\n path += `C${bezierPathList[i]} ${bezierPathList[i + 1]} ${bezierPathList[i + 2]} ${bezierPathList[i + 3]} ${\n bezierPathList[i + 4]\n } ${bezierPathList[i + 5]}`;\n }\n return path;\n };\n // list[enumCommandMap.AT] = this.arcToTransform;\n // list[enumCommandMap.E] = this.ellipseTransform;\n // list[enumCommandMap.R] = this.rectTransform;\n // list[enumCommandMap.A] = this.arcTransform;\n list[enumCommandMap.Z] = (cmd: CommandType) => `Z`;\n this.toStringCbList = list;\n }\n\n const list = this.toStringCbList;\n let path = '';\n this.commandList.forEach(c => {\n path += list[c[0]](c);\n });\n return path;\n }\n\n fromString(str: string, x?: number, y?: number, sX?: number, sY?: number) {\n this.clear();\n\n // 解析path字符串\n const commandStrList = parseSvgPath(str) as CommandStrType[]; // TODO: 目前正则性能较差,后续需要加上回调函数供用户直接操作绘图命令\n this._runCommandStrList(commandStrList, x, y, sX, sY);\n\n // 更新bounds\n this._updateBounds();\n return this;\n }\n fromLine(line: ILine) {\n const { points, curveType, clipRangeByDimension } = line.attribute;\n if (!points) {\n return;\n }\n const cache = calcLineCache(points, curveType);\n if (clipRangeByDimension === 'x') {\n this.direction = Direction.ROW;\n } else if (clipRangeByDimension === 'y') {\n this.direction = Direction.COLUMN;\n } else if (clipRangeByDimension === 'auto') {\n this.direction = cache.direction;\n }\n this.curves = cache.curves;\n }\n fromCustomPath2D(path: ICustomPath2D, x?: number, y?: number, sX?: number, sY?: number) {\n this.clear();\n this._runCommandList(path.commandList as CommandType[], x, y, sX, sY);\n\n // 更新bounds\n this._updateBounds();\n return this;\n }\n transform(x: number, y: number, sx: number, sy: number) {\n const commandList = this.commandList;\n if (!this.transformCbList) {\n const list: ((cmd: CommandType, x: number, y: number, sx: number, sy: number) => void)[] = [];\n list[enumCommandMap.M] = this.moveToTransform;\n list[enumCommandMap.L] = this.lineToTransform;\n list[enumCommandMap.Q] = this.quadraticCurveToTransform;\n list[enumCommandMap.C] = this.bezierCurveToTransform;\n list[enumCommandMap.AT] = this.arcToTransform;\n list[enumCommandMap.E] = this.ellipseTransform;\n list[enumCommandMap.R] = this.rectTransform;\n list[enumCommandMap.A] = this.arcTransform;\n list[enumCommandMap.Z] = this.closePathTransform;\n this.transformCbList = list;\n }\n commandList.forEach(cmd => {\n this.transformCbList[cmd[0]](cmd, x, y, sx, sy);\n });\n this._updateBounds();\n }\n\n protected moveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n }\n protected lineToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n }\n protected quadraticCurveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = (cmd[3] as number) * sx + x;\n cmd[4] = (cmd[4] as number) * sy + y;\n }\n protected bezierCurveToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = (cmd[3] as number) * sx + x;\n cmd[4] = (cmd[4] as number) * sy + y;\n cmd[5] = (cmd[5] as number) * sx + x;\n cmd[6] = (cmd[6] as number) * sy + y;\n }\n arcToTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = (cmd[3] as number) * sx + x;\n cmd[4] = (cmd[4] as number) * sy + y;\n cmd[5] = ((cmd[5] as number) * (sx + sy)) / 2;\n }\n ellipseTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = (cmd[3] as number) * sx;\n cmd[4] = (cmd[4] as number) * sy;\n }\n rectTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = (cmd[3] as number) * sx;\n cmd[4] = (cmd[4] as number) * sy;\n }\n arcTransform(cmd: CommandType, x: number, y: number, sx: number, sy: number) {\n cmd[1] = (cmd[1] as number) * sx + x;\n cmd[2] = (cmd[2] as number) * sy + y;\n cmd[3] = ((cmd[3] as number) * (sx + sy)) / 2;\n }\n closePathTransform() {\n return;\n }\n protected _runCommandStrList(\n commandStrList: CommandStrType[],\n l: number = 0,\n t: number = 0,\n sX: number = 1,\n sY: number = 1\n ) {\n let current; // current instruction\n let previous = null;\n let x = 0; // current x\n let y = 0; // current y\n // let sX = 0;\n // let sY = 0;\n let controlX = 0; // current control point x\n let controlY = 0; // current control point y\n let tempX;\n let tempY;\n let tempControlX;\n let tempControlY;\n\n // if (isNil(l)) l = 0;\n // if (isNil(t)) t = 0;\n // if (isNil(sX)) sX = 1;\n // if (isNil(sY)) sY = sX;\n\n for (let i = 0, len = commandStrList.length; i < len; ++i) {\n current = commandStrList[i];\n if (sX !== 1 || sY !== 1) {\n current = scale(current, sX, sY);\n }\n\n switch (\n current[0] // first letter\n ) {\n case 'l': // lineto, relative\n x += current[1] as number;\n y += current[2] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'L': // lineto, absolute\n x = current[1] as number;\n y = current[2] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'h': // horizontal lineto, relative\n x += current[1] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'H': // horizontal lineto, absolute\n x = current[1] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'v': // vertical lineto, relative\n y += current[1] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'V': // verical lineto, absolute\n y = current[1] as number;\n this.lineTo(x + l, y + t);\n break;\n\n case 'm': // moveTo, relative\n x += current[1] as number;\n y += current[2] as number;\n this.moveTo(x + l, y + t);\n break;\n\n case 'M': // moveTo, absolute\n x = current[1] as number;\n y = current[2] as number;\n this.moveTo(x + l, y + t);\n break;\n\n case 'c': // bezierCurveTo, relative\n tempX = x + (current[5] as number);\n tempY = y + (current[6] as number);\n controlX = x + (current[3] as number);\n controlY = y + (current[4] as number);\n this.bezierCurveTo(\n x + (current[1] as number) + l, // x1\n y + (current[2] as number) + t, // y1\n controlX + l, // x2\n controlY + t, // y2\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n break;\n\n case 'C': // bezierCurveTo, absolute\n x = current[5] as number;\n y = current[6] as number;\n controlX = current[3] as number;\n controlY = current[4] as number;\n this.bezierCurveTo(\n (current[1] as number) + l,\n (current[2] as number) + t,\n controlX + l,\n controlY + t,\n x + l,\n y + t\n );\n break;\n\n case 's': // shorthand cubic bezierCurveTo, relative\n // transform to absolute x,y\n tempX = x + (current[3] as number);\n tempY = y + (current[4] as number);\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n this.bezierCurveTo(\n controlX + l,\n controlY + t,\n x + (current[1] as number) + l,\n y + (current[2] as number) + t,\n tempX + l,\n tempY + t\n );\n\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = x + (current[1] as number);\n controlY = y + (current[2] as number);\n\n x = tempX;\n y = tempY;\n break;\n\n case 'S': // shorthand cubic bezierCurveTo, absolute\n tempX = current[3] as number;\n tempY = current[4] as number;\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n this.bezierCurveTo(\n controlX + l,\n controlY + t,\n (current[1] as number) + l,\n (current[2] as number) + t,\n tempX + l,\n tempY + t\n );\n x = tempX;\n y = tempY;\n // set control point to 2nd one of this command\n // the first control point is assumed to be the reflection of\n // the second control point on the previous command relative\n // to the current point.\n controlX = current[1] as number;\n controlY = current[2] as number;\n\n break;\n\n case 'q': // quadraticCurveTo, relative\n // transform to absolute x,y\n tempX = x + (current[3] as number);\n tempY = y + (current[4] as number);\n\n controlX = x + (current[1] as number);\n controlY = y + (current[2] as number);\n\n this.quadraticCurveTo(controlX + l, controlY + t, tempX + l, tempY + t);\n x = tempX;\n y = tempY;\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n tempX = current[3] as number;\n tempY = current[4] as number;\n\n this.quadraticCurveTo((current[1] as number) + l, (current[2] as number) + t, tempX + l, tempY + t);\n x = tempX;\n y = tempY;\n controlX = current[1] as number;\n controlY = current[2] as number;\n break;\n\n case 't': // shorthand quadraticCurveTo, relative\n // transform to absolute x,y\n tempX = x + (current[1] as number);\n tempY = y + (current[2] as number);\n\n if ((previous![0] as string).match(/[QqTt]/) === null) {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n } else if (previous![0] === 't') {\n // calculate reflection of previous control points for t\n controlX = 2 * x - (tempControlX as number);\n controlY = 2 * y - (tempControlY as number);\n } else if (previous![0] === 'q') {\n // calculate reflection of previous control points for q\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n\n tempControlX = controlX;\n tempControlY = controlY;\n\n this.quadraticCurveTo(controlX + l, controlY + t, tempX + l, tempY + t);\n x = tempX;\n y = tempY;\n controlX = x + (current[1] as number);\n controlY = y + (current[2] as number);\n break;\n\n case 'T':\n tempX = current[1] as number;\n tempY = current[2] as number;\n\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n this.quadraticCurveTo(controlX + l, controlY + t, tempX + l, tempY + t);\n x = tempX;\n y = tempY;\n break;\n\n case 'a':\n drawArc(this, x + l, y + t, [\n current[1] as number,\n current[2] as number,\n current[3] as number,\n current[4] as number,\n current[5] as number,\n (current[6] as number) + x + l,\n (current[7] as number) + y + t\n ]);\n x += current[6] as number;\n y += current[7] as number;\n break;\n\n case 'A':\n drawArc(this, x + l, y + t, [\n current[1] as number,\n current[2] as number,\n current[3] as number,\n current[4] as number,\n current[5] as number,\n (current[6] as number) + l,\n (current[7] as number) + t\n ]);\n x = current[6] as number;\n y = current[7] as number;\n break;\n\n case 'z':\n case 'Z':\n this.closePath();\n break;\n }\n previous = current;\n }\n }\n\n protected _runCommandList(commandList: CommandType[], l: number = 0, t: number = 0, sX: number = 1, sY: number = 1) {\n if (l === 0 && t === 0 && sX === 1 && sY === 1) {\n this.commandList = commandList.map(entry => entry.slice() as CommandType);\n return;\n }\n\n for (let i = 0, len = commandList.length; i < len; ++i) {\n const current = commandList[i].slice() as CommandType;\n\n switch (\n current[0] // first letter\n ) {\n case enumCommandMap.L:\n this.lineToTransform(current, l, t, sX, sY);\n break;\n\n case enumCommandMap.M:\n this.moveToTransform(current, l, t, sX, sY);\n break;\n\n case enumCommandMap.C:\n this.bezierCurveToTransform(current, l, t, sX, sY);\n break;\n\n case enumCommandMap.Q:\n this.quadraticCurveToTransform(current, l, t, sX, sY);\n break;\n\n case enumCommandMap.A:\n this.arcToTransform(current, l, t, sX, sY);\n break;\n case enumCommandMap.E:\n this.ellipseTransform(current, l, t, sX, sY);\n break;\n case enumCommandMap.R:\n this.rectTransform(current, l, t, sX, sY);\n break;\n case enumCommandMap.AT:\n this.arcToTransform(current, l, t, sX, sY);\n break;\n case enumCommandMap.Z:\n this.closePath();\n break;\n }\n }\n }\n private _updateBounds() {\n this.bounds.clear();\n renderCommandList(this.commandList, this._boundsContext as unknown as ICustomPath2D);\n }\n\n release(): void {\n this.commandList = [];\n this._boundsContext = null;\n this._ctx = null;\n }\n\n getLength(): number {\n if (this.direction === Direction.COLUMN) {\n if (!this.curves.length) {\n return 0;\n }\n const sc = this.curves[0];\n const ec = this.curves[this.curves.length - 1];\n return abs(sc.p0.y - ec.p1.y);\n } else if (this.direction === Direction.ROW) {\n if (!this.curves.length) {\n return 0;\n }\n const sc = this.curves[0];\n const ec = this.curves[this.curves.length - 1];\n return abs(sc.p0.x - ec.p1.x);\n }\n return this.curves.reduce((l, c) => l + c.getLength(), 0);\n }\n\n getAttrAt(distance: number): { pos: IPointLike; angle: number } {\n if (!this.curves) {\n return { pos: { x: 0, y: 0 }, angle: 0 };\n }\n let _dis = 0;\n let curve: ICurve<IPoint>;\n for (let i = 0; i < this.curves.length; i++) {\n curve = this.curves[i];\n const cl = curve.getLength(this.direction);\n if (_dis + cl >= distance) {\n break;\n } else {\n _dis += cl;\n }\n }\n const t = (distance - _dis) / curve.getLength(this.direction);\n const pos = curve.getPointAt(t);\n const angle = curve.getAngleAt(t);\n return { pos, angle };\n }\n}\n\nconst temp = ['l', 0, 0, 0, 0, 0, 0, 0];\n\nfunction scale(current: CommandStrType, sX: number, sY: number) {\n const c = (temp[0] = current[0]);\n if (c === 'a' || c === 'A') {\n temp[1] = sX * (current[1] as number);\n temp[2] = sY * (current[2] as number);\n temp[3] = current[3] as number;\n temp[4] = current[4] as number;\n temp[5] = current[5] as number;\n temp[6] = sX * (current[6] as number);\n temp[7] = sY * (current[7] as number);\n } else if (c === 'h' || c === 'H') {\n temp[1] = sX * (current[1] as number);\n } else if (c === 'v' || c === 'V') {\n temp[1] = sY * (current[1] as number);\n } else {\n for (let i = 1, n = current.length; i < n; ++i) {\n temp[i] = (i % 2 === 1 ? sX : sY) * (current[i] as number);\n }\n }\n return temp;\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IPointLike } from '@visactor/vutils';
|
|
2
|
+
import { IPath2D } from '../interface';
|
|
3
|
+
export declare function drawPolygon(path: IPath2D, points: IPointLike[], x: number, y: number): void;
|
|
4
|
+
export declare function drawRoundedPolygon(path: IPath2D, points: IPointLike[], x: number, y: number, borderRadius: number | number[]): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function drawPolygon(path, points, x, y) {
|
|
4
|
+
path.moveTo(points[0].x + x, points[0].y + y);
|
|
5
|
+
for (let i = 1; i < points.length; i++) path.lineTo(points[i].x + x, points[i].y + y);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function drawRoundedPolygon(path, points, x, y, borderRadius) {
|
|
9
|
+
var _a;
|
|
10
|
+
if (points.length < 3) drawPolygon(path, points, x, y); else for (let i = 0; i < points.length; i++) {
|
|
11
|
+
const p1 = points[i], angularPoint = points[(i + 1) % points.length], p2 = points[(i + 2) % points.length], dx1 = angularPoint.x - p1.x, dy1 = angularPoint.y - p1.y, dx2 = angularPoint.x - p2.x, dy2 = angularPoint.y - p2.y, angle = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2, tan = Math.abs(Math.tan(angle));
|
|
12
|
+
let radius = Array.isArray(borderRadius) ? null !== (_a = borderRadius[(i + 1) % points.length]) && void 0 !== _a ? _a : 0 : borderRadius, segment = radius / tan;
|
|
13
|
+
const length1 = getLength(dx1, dy1), length2 = getLength(dx2, dy2), length = Math.min(length1, length2);
|
|
14
|
+
segment > length && (segment = length, radius = length * tan);
|
|
15
|
+
const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1), p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2), dx = 2 * angularPoint.x - p1Cross.x - p2Cross.x, dy = 2 * angularPoint.y - p1Cross.y - p2Cross.y, L = getLength(dx, dy), circlePoint = getProportionPoint(angularPoint, getLength(segment, radius), L, dx, dy);
|
|
16
|
+
let startAngle = Math.atan2(p1Cross.y - circlePoint.y, p1Cross.x - circlePoint.x);
|
|
17
|
+
const endAngle = Math.atan2(p2Cross.y - circlePoint.y, p2Cross.x - circlePoint.x);
|
|
18
|
+
let sweepAngle = endAngle - startAngle;
|
|
19
|
+
sweepAngle < 0 && (startAngle = endAngle, sweepAngle = -sweepAngle), sweepAngle > Math.PI && (sweepAngle -= Math.PI),
|
|
20
|
+
0 === i ? path.moveTo(p1Cross.x + x, p1Cross.y + y) : path.lineTo(p1Cross.x + x, p1Cross.y + y),
|
|
21
|
+
sweepAngle && path.arcTo(angularPoint.x + x, angularPoint.y + y, p2Cross.x + x, p2Cross.y + y, radius),
|
|
22
|
+
path.lineTo(p2Cross.x + x, p2Cross.y + y);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function getLength(dx, dy) {
|
|
27
|
+
return Math.sqrt(dx * dx + dy * dy);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function getProportionPoint(point, segment, length, dx, dy) {
|
|
31
|
+
const factor = segment / length;
|
|
32
|
+
return {
|
|
33
|
+
x: point.x - dx * factor,
|
|
34
|
+
y: point.y - dy * factor
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=polygon.js.map
|
|
39
|
+
Object.defineProperty(exports, "__esModule", {
|
|
40
|
+
value: !0
|
|
41
|
+
}), exports.drawRoundedPolygon = exports.drawPolygon = void 0, exports.drawPolygon = drawPolygon,
|
|
42
|
+
exports.drawRoundedPolygon = drawRoundedPolygon;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/polygon.ts"],"names":[],"mappings":"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","file":"polygon.js","sourcesContent":["import { IPointLike } from '@visactor/vutils';\nimport { IPath2D } from '../interface';\n\n/**\n * 绘制闭合的常规多边形\n * TODO polygon 图元的xy属性没有意义\n * @param path\n * @param points\n * @param x\n * @param y\n */\nexport function drawPolygon(path: IPath2D, points: IPointLike[], x: number, y: number) {\n path.moveTo(points[0].x + x, points[0].y + y);\n for (let i = 1; i < points.length; i++) {\n path.lineTo(points[i].x + x, points[i].y + y);\n }\n}\n\n/**\n * algorithm detail see: https://stackoverflow.com/a/24780108\n */\nexport function drawRoundedPolygon(\n path: IPath2D,\n points: IPointLike[],\n x: number,\n y: number,\n borderRadius: number | number[]\n) {\n if (points.length < 3) {\n drawPolygon(path, points, x, y);\n return;\n }\n\n for (let i = 0; i < points.length; i++) {\n const p1 = points[i];\n const angularPoint = points[(i + 1) % points.length];\n const p2 = points[(i + 2) % points.length];\n\n //Vector 1\n const dx1 = angularPoint.x - p1.x;\n const dy1 = angularPoint.y - p1.y;\n\n //Vector 2\n const dx2 = angularPoint.x - p2.x;\n const dy2 = angularPoint.y - p2.y;\n\n //Angle between vector 1 and vector 2 divided by 2\n const angle = (Math.atan2(dy1, dx1) - Math.atan2(dy2, dx2)) / 2;\n\n // The length of segment between angular point and the\n // points of intersection with the circle of a given radius\n const tan = Math.abs(Math.tan(angle));\n\n // get config radius\n let radius = Array.isArray(borderRadius) ? borderRadius[(i + 1) % points.length] ?? 0 : borderRadius;\n let segment = radius / tan;\n\n //Check the segment\n const length1 = getLength(dx1, dy1);\n const length2 = getLength(dx2, dy2);\n\n const length = Math.min(length1, length2);\n\n if (segment > length) {\n segment = length;\n radius = length * tan;\n }\n\n // Points of intersection are calculated by the proportion between\n // the coordinates of the vector, length of vector and the length of the segment.\n const p1Cross = getProportionPoint(angularPoint, segment, length1, dx1, dy1);\n const p2Cross = getProportionPoint(angularPoint, segment, length2, dx2, dy2);\n\n // Calculation of the coordinates of the circle\n // center by the addition of angular vectors.\n const dx = angularPoint.x * 2 - p1Cross.x - p2Cross.x;\n const dy = angularPoint.y * 2 - p1Cross.y - p2Cross.y;\n\n const L = getLength(dx, dy);\n const d = getLength(segment, radius);\n\n const circlePoint = getProportionPoint(angularPoint, d, L, dx, dy);\n\n //StartAngle and EndAngle of arc\n let startAngle = Math.atan2(p1Cross.y - circlePoint.y, p1Cross.x - circlePoint.x);\n const endAngle = Math.atan2(p2Cross.y - circlePoint.y, p2Cross.x - circlePoint.x);\n\n //Sweep angle\n let sweepAngle = endAngle - startAngle;\n\n //Some additional checks\n if (sweepAngle < 0) {\n startAngle = endAngle;\n sweepAngle = -sweepAngle;\n }\n\n if (sweepAngle > Math.PI) {\n sweepAngle = sweepAngle - Math.PI;\n }\n\n if (i === 0) {\n path.moveTo(p1Cross.x + x, p1Cross.y + y);\n } else {\n path.lineTo(p1Cross.x + x, p1Cross.y + y);\n }\n\n if (sweepAngle) {\n path.arcTo(angularPoint.x + x, angularPoint.y + y, p2Cross.x + x, p2Cross.y + y, radius);\n }\n\n path.lineTo(p2Cross.x + x, p2Cross.y + y);\n }\n}\n\nfunction getLength(dx: number, dy: number) {\n return Math.sqrt(dx * dx + dy * dy);\n}\n\nfunction getProportionPoint(point: IPointLike, segment: number, length: number, dx: number, dy: number) {\n const factor = segment / length;\n\n return {\n x: point.x - dx * factor,\n y: point.y - dy * factor\n };\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IAreaCacheItem, IPath2D } from '../interface';
|
|
2
|
+
import { Direction } from '.';
|
|
3
|
+
export declare function drawAreaSegments(path: IPath2D, segPath: IAreaCacheItem, percent: number, params?: {
|
|
4
|
+
offsetX?: number;
|
|
5
|
+
offsetY?: number;
|
|
6
|
+
offsetZ?: number;
|
|
7
|
+
direction?: Direction;
|
|
8
|
+
}): void;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.drawAreaSegments = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), _1 = require(".");
|
|
8
|
+
|
|
9
|
+
function drawAreaSegments(path, segPath, percent, params) {
|
|
10
|
+
var _a;
|
|
11
|
+
const {top: top, bottom: bottom} = segPath;
|
|
12
|
+
if (percent >= 1) {
|
|
13
|
+
const topList = [], bottomList = [];
|
|
14
|
+
let lastDefined = !0;
|
|
15
|
+
for (let i = 0, n = top.curves.length; i < n; i++) {
|
|
16
|
+
const topCurve = top.curves[i];
|
|
17
|
+
lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params),
|
|
18
|
+
topList.length = 0, bottomList.length = 0) : (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1])),
|
|
19
|
+
lastDefined = !lastDefined) : lastDefined && (topList.push(topCurve), bottomList.push(bottom.curves[n - i - 1]));
|
|
20
|
+
}
|
|
21
|
+
return void drawAreaBlock(path, topList, bottomList, params);
|
|
22
|
+
}
|
|
23
|
+
if (percent <= 0) return;
|
|
24
|
+
let {direction: direction} = params || {};
|
|
25
|
+
const {curves: topCurves} = top, endP = null !== (_a = topCurves[topCurves.length - 1].p3) && void 0 !== _a ? _a : topCurves[topCurves.length - 1].p1, xTotalLength = (0,
|
|
26
|
+
vutils_1.abs)(endP.x - topCurves[0].p0.x), yTotalLength = (0, vutils_1.abs)(endP.y - topCurves[0].p0.y);
|
|
27
|
+
direction = null != direction ? direction : xTotalLength > yTotalLength ? _1.Direction.ROW : _1.Direction.COLUMN,
|
|
28
|
+
Number.isFinite(xTotalLength) || (direction = _1.Direction.COLUMN), Number.isFinite(yTotalLength) || (direction = _1.Direction.ROW);
|
|
29
|
+
const totalDrawLength = percent * (direction === _1.Direction.ROW ? xTotalLength : yTotalLength);
|
|
30
|
+
let drawedLengthUntilLast = 0, lastDefined = !0;
|
|
31
|
+
const topList = [], bottomList = [];
|
|
32
|
+
for (let i = 0, n = top.curves.length; i < n; i++) {
|
|
33
|
+
const topCurve = top.curves[i], curCurveLength = topCurve.getLength(direction), percent = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;
|
|
34
|
+
if (percent < 0) break;
|
|
35
|
+
drawedLengthUntilLast += curCurveLength;
|
|
36
|
+
let tc = null, bc = null;
|
|
37
|
+
lastDefined !== topCurve.defined ? (lastDefined ? (drawAreaBlock(path, topList, bottomList, params),
|
|
38
|
+
topList.length = 0, bottomList.length = 0) : (tc = topCurve, bc = bottom.curves[n - i - 1]),
|
|
39
|
+
lastDefined = !lastDefined) : lastDefined && (tc = topCurve, bc = bottom.curves[n - i - 1]),
|
|
40
|
+
tc && bc && (percent < 1 && (tc = tc.p2 && tc.p3 ? (0, _1.divideCubic)(tc, percent)[0] : (0,
|
|
41
|
+
_1.divideLinear)(tc, percent)[0], bc = bc.p2 && bc.p3 ? (0, _1.divideCubic)(bc, 1 - percent)[1] : (0,
|
|
42
|
+
_1.divideLinear)(bc, 1 - percent)[1]), tc.defined = lastDefined, bc.defined = lastDefined,
|
|
43
|
+
topList.push(tc), bottomList.push(bc)), tc = null, bc = null;
|
|
44
|
+
}
|
|
45
|
+
drawAreaBlock(path, topList, bottomList, params);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function drawAreaBlock(path, topList, bottomList, params) {
|
|
49
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0, offsetZ: offsetZ = 0} = params || {};
|
|
50
|
+
let needMoveTo = !0;
|
|
51
|
+
topList.forEach((curve => {
|
|
52
|
+
curve.defined ? (needMoveTo && path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ),
|
|
53
|
+
drawSegItem(path, curve, 1, params), needMoveTo = !1) : needMoveTo = !0;
|
|
54
|
+
})), needMoveTo = !0;
|
|
55
|
+
for (let i = bottomList.length - 1; i >= 0; i--) {
|
|
56
|
+
const curve = bottomList[i];
|
|
57
|
+
curve.defined ? (needMoveTo && path.lineTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ),
|
|
58
|
+
drawSegItem(path, curve, 1, params), needMoveTo = !1) : needMoveTo = !0;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function drawSegItem(ctx, curve, endPercent, params) {
|
|
63
|
+
if (!curve.p1) return;
|
|
64
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0, offsetZ: offsetZ = 0} = params || {};
|
|
65
|
+
if (1 === endPercent) curve.p2 && curve.p3 ? ctx.bezierCurveTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetX + curve.p2.x, offsetY + curve.p2.y, offsetX + curve.p3.x, offsetY + curve.p3.y, offsetZ) : ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ); else if (curve.p2 && curve.p3) {
|
|
66
|
+
const [curve1] = (0, _1.divideCubic)(curve, endPercent);
|
|
67
|
+
ctx.bezierCurveTo(offsetX + curve1.p1.x, offsetY + curve1.p1.y, offsetX + curve1.p2.x, offsetY + curve1.p2.y, offsetX + curve1.p3.x, offsetY + curve1.p3.y, offsetZ);
|
|
68
|
+
} else {
|
|
69
|
+
const p = curve.getPointAt(endPercent);
|
|
70
|
+
ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=render-area.js.map
|
|
75
|
+
exports.drawAreaSegments = drawAreaSegments;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/render-area.ts"],"names":[],"mappings":"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","file":"render-area.js","sourcesContent":["import { abs, IPoint, IPointLike } from '@visactor/vutils';\nimport { IAreaCacheItem, ICurve, IPath2D } from '../interface';\nimport { divideCubic, divideLinear, BoundsContext, CubicBezierCurve, LineCurve, Direction, SegContext } from '.';\n\n/**\n * 绘制连续的线段\n * 绘制长度为总长度percent的path,drawDirection为绘制的方向,也就是percent的方向\n * @param path\n * @param segPath\n * @param percent\n * @param drawDirection 绘制的方向,用于使用percent绘制\n * @param line 用于获取line相关属性\n */\nexport function drawAreaSegments(\n path: IPath2D,\n segPath: IAreaCacheItem,\n percent: number,\n params?: {\n offsetX?: number;\n offsetY?: number;\n offsetZ?: number;\n direction?: Direction;\n }\n) {\n // const { offsetX = 0, offsetY = 0 } = params || {};\n // let needMoveTo: boolean = true;\n const { top, bottom } = segPath;\n if (percent >= 1) {\n const topList: ICurve<IPoint>[] = [];\n const bottomList: ICurve<IPoint>[] = [];\n let lastDefined: boolean = true;\n for (let i = 0, n = top.curves.length; i < n; i++) {\n const topCurve = top.curves[i];\n if (lastDefined !== topCurve.defined) {\n if (lastDefined) {\n drawAreaBlock(path, topList, bottomList, params);\n topList.length = 0;\n bottomList.length = 0;\n } else {\n topList.push(topCurve);\n bottomList.push(bottom.curves[n - i - 1]);\n }\n lastDefined = !lastDefined;\n } else {\n if (lastDefined) {\n topList.push(topCurve);\n bottomList.push(bottom.curves[n - i - 1]);\n }\n }\n }\n drawAreaBlock(path, topList, bottomList, params);\n\n return;\n }\n if (percent <= 0) {\n return;\n }\n\n let { direction } = params || {};\n const { curves: topCurves } = top;\n const endP = topCurves[topCurves.length - 1].p3 ?? topCurves[topCurves.length - 1].p1;\n const xTotalLength = abs(endP.x - topCurves[0].p0.x);\n const yTotalLength = abs(endP.y - topCurves[0].p0.y);\n direction = direction ?? (xTotalLength > yTotalLength ? Direction.ROW : Direction.COLUMN);\n if (!Number.isFinite(xTotalLength)) {\n direction = Direction.COLUMN;\n }\n if (!Number.isFinite(yTotalLength)) {\n direction = Direction.ROW;\n }\n\n // x和y必须始终保持同方向\n // 整个线段的总长度(基于水平、垂直方向)\n const totalLength: number = direction === Direction.ROW ? xTotalLength : yTotalLength;\n\n // 总需要绘制的长度\n const totalDrawLength = percent * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n let lastDefined: boolean = true;\n const topList: ICurve<IPoint>[] = [];\n const bottomList: ICurve<IPoint>[] = [];\n for (let i = 0, n = top.curves.length; i < n; i++) {\n const topCurve = top.curves[i];\n const curCurveLength = topCurve.getLength(direction);\n const percent = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;\n if (percent < 0) {\n break;\n }\n drawedLengthUntilLast += curCurveLength;\n let tc: ICurve<IPoint> | null = null;\n let bc: ICurve<IPoint> | null = null;\n if (lastDefined !== topCurve.defined) {\n if (lastDefined) {\n drawAreaBlock(path, topList, bottomList, params);\n topList.length = 0;\n bottomList.length = 0;\n } else {\n tc = topCurve;\n bc = bottom.curves[n - i - 1];\n }\n lastDefined = !lastDefined;\n } else {\n if (lastDefined) {\n tc = topCurve;\n bc = bottom.curves[n - i - 1];\n }\n }\n\n if (tc && bc) {\n if (percent < 1) {\n if (tc.p2 && tc.p3) {\n tc = divideCubic(tc as CubicBezierCurve, percent)[0];\n } else {\n tc = divideLinear(tc as LineCurve, percent)[0];\n }\n if (bc.p2 && bc.p3) {\n bc = divideCubic(bc as CubicBezierCurve, 1 - percent)[1];\n } else {\n bc = divideLinear(bc as LineCurve, 1 - percent)[1];\n }\n }\n tc.defined = lastDefined;\n bc.defined = lastDefined;\n topList.push(tc);\n bottomList.push(bc);\n }\n\n tc = null;\n bc = null;\n }\n drawAreaBlock(path, topList, bottomList, params);\n\n // const totalLength = segPath.tryUpdateLength();\n\n // // 直到上次绘制的长度\n // let drawedLengthUntilLast = 0;\n // for (let i = 0, n = curves.length; i < n; i++) {\n // const curve = curves[i];\n // const curCurveLength = curve.getLength();\n // const _p = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;\n // drawedLengthUntilLast += curCurveLength;\n // if (_p < 0) {\n // break;\n // }\n\n // // 跳过这个点\n // if (!curve.defined()) {\n // needMoveTo = true;\n // continue;\n // }\n // if (needMoveTo) {\n // path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY);\n // }\n // drawSegItem(path, curve, min(_p, 1), params);\n // needMoveTo = false;\n // }\n}\n\nfunction drawAreaBlock(\n path: IPath2D,\n topList: ICurve<IPoint>[],\n bottomList: ICurve<IPoint>[],\n params?: {\n offsetX?: number;\n offsetY?: number;\n offsetZ?: number;\n }\n) {\n const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};\n let needMoveTo = true;\n topList.forEach(curve => {\n // 跳过这个点\n if (!curve.defined) {\n needMoveTo = true;\n return;\n }\n if (needMoveTo) {\n path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);\n }\n drawSegItem(path, curve, 1, params);\n needMoveTo = false;\n });\n needMoveTo = true;\n for (let i = bottomList.length - 1; i >= 0; i--) {\n const curve = bottomList[i];\n // 跳过这个点\n if (!curve.defined) {\n needMoveTo = true;\n continue;\n }\n if (needMoveTo) {\n // bottom需要直接line绘制\n path.lineTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);\n }\n drawSegItem(path, curve, 1, params);\n needMoveTo = false;\n }\n}\n\n/**\n * 绘制某个segment\n * @param ctx\n * @param seg\n * @param t 绘制这个segment的比例,t > 0从start到end,t < 0从end到start\n */\nfunction drawSegItem(\n ctx: IPath2D,\n curve: ICurve<IPoint>,\n endPercent: number,\n params?: {\n startLenPercent?: number;\n endLenPercent?: number;\n start?: number;\n offsetX?: number;\n offsetY?: number;\n offsetZ?: number;\n }\n) {\n if (!curve.p1) {\n return;\n }\n const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};\n\n // 完全绘制\n if (endPercent === 1) {\n if (curve.p2 && curve.p3) {\n ctx.bezierCurveTo(\n offsetX + curve.p1.x,\n offsetY + curve.p1.y,\n offsetX + curve.p2.x,\n offsetY + curve.p2.y,\n offsetX + curve.p3.x,\n offsetY + curve.p3.y,\n offsetZ\n );\n } else {\n // linear的线段\n ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);\n }\n } else {\n // 绘制一部分\n if (curve.p2 && curve.p3) {\n const [curve1] = divideCubic(curve as CubicBezierCurve, endPercent);\n ctx.bezierCurveTo(\n offsetX + curve1.p1.x,\n offsetY + curve1.p1.y,\n offsetX + curve1.p2.x,\n offsetY + curve1.p2.y,\n offsetX + curve1.p3.x,\n offsetY + curve1.p3.y,\n offsetZ\n );\n } else {\n // linear的线段\n const p = curve.getPointAt(endPercent);\n ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.renderCommandList = void 0;
|
|
6
|
+
|
|
7
|
+
const commandFuncs = [ (command, context, x, y, sx, sy, z) => context.arc(command[1] * sx + x, command[2] * sy + y, command[3] * (sx + sy) / 2, command[4], command[5], command[6], z), (command, context, x, y, sx, sy, z) => context.arcTo(command[1] * sx + x, command[2] * sy + y, command[3] * sx + x, command[4] * sy + y, command[5] * (sx + sy) / 2, z), (command, context, x, y, sx, sy, z) => context.bezierCurveTo(command[1] * sx + x, command[2] * sy + y, command[3] * sx + x, command[4] * sy + y, command[5] * sx + x, command[6] * sy + y, z), (command, context, x, y) => context.closePath(), (command, context, x, y, sx, sy) => context.ellipse(command[1] * sx + x, command[2] * sy + y, command[3] * sx, command[4] * sy, command[5], command[6], command[7], command[8]), (command, context, x, y, sx, sy, z) => context.lineTo(command[1] * sx + x, command[2] * sy + y, z), (command, context, x, y, sx, sy, z) => context.moveTo(command[1] * sx + x, command[2] * sy + y, z), (command, context, x, y, sx, sy, z) => context.quadraticCurveTo(command[1] * sx + x, command[2] * sy + y, command[3] * sx + x, command[4] * sy + y, z), (command, context, x, y, sx, sy, z) => context.rect(command[1] * sx + x, command[2] * sy + y, command[3] * sx, command[4] * sy, z) ];
|
|
8
|
+
|
|
9
|
+
function renderCommandList(commandList, context, x = 0, y = 0, sx = 1, sy = 1, z) {
|
|
10
|
+
for (let i = 0; i < commandList.length; i++) {
|
|
11
|
+
const command = commandList[i];
|
|
12
|
+
commandFuncs[command[0]](command, context, x, y, sx, sy, z);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.renderCommandList = renderCommandList;
|
|
17
|
+
//# sourceMappingURL=render-command-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/render-command-list.ts"],"names":[],"mappings":"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","file":"render-command-list.js","sourcesContent":["import { CommandType, IPath2D } from '../interface';\n\nconst commandFuncs: Array<\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) => void\n> = [\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.arc(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n ((command[3] as number) * (sx + sy)) / 2,\n command[4] as number,\n command[5] as number,\n command[6] as boolean,\n z\n ),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.arcTo(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n (command[3] as number) * sx + x,\n (command[4] as number) * sy + y,\n ((command[5] as number) * (sx + sy)) / 2,\n z\n ),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.bezierCurveTo(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n (command[3] as number) * sx + x,\n (command[4] as number) * sy + y,\n (command[5] as number) * sx + x,\n (command[6] as number) * sy + y,\n z\n ),\n (command: CommandType, context: IPath2D, x: number, y: number) => context.closePath(),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number) =>\n context.ellipse(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n (command[3] as number) * sx,\n (command[4] as number) * sy,\n command[5] as number,\n command[6] as number,\n command[7] as number,\n command[8] as boolean\n ),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.lineTo((command[1] as number) * sx + x, (command[2] as number) * sy + y, z),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.moveTo((command[1] as number) * sx + x, (command[2] as number) * sy + y, z),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.quadraticCurveTo(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n (command[3] as number) * sx + x,\n (command[4] as number) * sy + y,\n z\n ),\n (command: CommandType, context: IPath2D, x: number, y: number, sx: number, sy: number, z?: number) =>\n context.rect(\n (command[1] as number) * sx + x,\n (command[2] as number) * sy + y,\n (command[3] as number) * sx,\n (command[4] as number) * sy,\n z\n )\n];\n\nexport function renderCommandList(\n commandList: CommandType[],\n context: IPath2D,\n x: number = 0,\n y: number = 0,\n sx: number = 1,\n sy: number = 1,\n z?: number\n) {\n for (let i = 0; i < commandList.length; i++) {\n const command = commandList[i];\n commandFuncs[command[0]](command, context, x, y, sx, sy, z);\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ISegPath2D } from '.';
|
|
2
|
+
import { IAreaSegment, IClipRangeByDimensionType, IPath2D, ISegment } from '../interface';
|
|
3
|
+
export declare function drawSegments(path: IPath2D, segPath: ISegPath2D, percent: number, clipRangeByDimension: IClipRangeByDimensionType, params?: {
|
|
4
|
+
offsetX?: number;
|
|
5
|
+
offsetY?: number;
|
|
6
|
+
offsetZ?: number;
|
|
7
|
+
}): void;
|
|
8
|
+
export declare function drawIncrementalSegments(path: IPath2D, lastSeg: ISegment, segments: ISegment, params?: {
|
|
9
|
+
offsetX?: number;
|
|
10
|
+
offsetY?: number;
|
|
11
|
+
}): void;
|
|
12
|
+
export declare function drawIncrementalAreaSegments(path: IPath2D, lastSeg: IAreaSegment, segments: IAreaSegment, params?: {
|
|
13
|
+
offsetX?: number;
|
|
14
|
+
offsetY?: number;
|
|
15
|
+
}): void;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.drawIncrementalAreaSegments = exports.drawIncrementalSegments = exports.drawSegments = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), _1 = require("."), seg_context_1 = require("./seg-context");
|
|
8
|
+
|
|
9
|
+
function drawSegments(path, segPath, percent, clipRangeByDimension, params) {
|
|
10
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0, offsetZ: offsetZ = 0} = params || {};
|
|
11
|
+
let needMoveTo = !0;
|
|
12
|
+
const {curves: curves} = segPath;
|
|
13
|
+
if (percent >= 1) return void curves.forEach((curve => {
|
|
14
|
+
curve.defined ? (needMoveTo && path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ),
|
|
15
|
+
drawSegItem(path, curve, 1, params), needMoveTo = !1) : needMoveTo = !0;
|
|
16
|
+
}));
|
|
17
|
+
if (percent <= 0) return;
|
|
18
|
+
let direction;
|
|
19
|
+
"x" === clipRangeByDimension ? direction = seg_context_1.Direction.ROW : "y" === clipRangeByDimension ? direction = seg_context_1.Direction.COLUMN : "auto" === clipRangeByDimension && (direction = segPath.direction);
|
|
20
|
+
const totalDrawLength = percent * segPath.tryUpdateLength(direction);
|
|
21
|
+
let drawedLengthUntilLast = 0;
|
|
22
|
+
for (let i = 0, n = curves.length; i < n; i++) {
|
|
23
|
+
const curve = curves[i], curCurveLength = curve.getLength(direction), _p = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;
|
|
24
|
+
if (drawedLengthUntilLast += curCurveLength, _p < 0) break;
|
|
25
|
+
curve.defined ? (needMoveTo && path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ),
|
|
26
|
+
drawSegItem(path, curve, (0, vutils_1.min)(_p, 1), params), needMoveTo = !1) : needMoveTo = !0;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function drawIncrementalSegments(path, lastSeg, segments, params) {
|
|
31
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0} = params || {}, startP = lastSeg ? lastSeg.points[lastSeg.points.length - 1] : segments.points[0];
|
|
32
|
+
path.moveTo(startP.x + offsetX, startP.y + offsetY), segments.points.forEach((p => {
|
|
33
|
+
!1 !== p.defined ? path.lineTo(p.x + offsetX, p.y + offsetY) : path.moveTo(p.x + offsetX, p.y + offsetY);
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function drawIncrementalAreaSegments(path, lastSeg, segments, params) {
|
|
38
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0} = params || {}, {points: points} = segments, definedPointsList = [];
|
|
39
|
+
let lastIdx = 0;
|
|
40
|
+
for (let i = 0; i < points.length; i++) !1 === points[i].defined && (lastIdx + 1 !== i && definedPointsList.slice(lastIdx, i),
|
|
41
|
+
lastIdx = i);
|
|
42
|
+
definedPointsList.length, definedPointsList.push(points), definedPointsList.forEach(((points, i) => {
|
|
43
|
+
var _a, _b, _c, _d;
|
|
44
|
+
const startP = lastSeg && 0 === i ? lastSeg.points[lastSeg.points.length - 1] : points[0];
|
|
45
|
+
path.moveTo(startP.x + offsetX, startP.y + offsetY), points.forEach((p => {
|
|
46
|
+
!1 !== p.defined ? path.lineTo(p.x + offsetX, p.y + offsetY) : path.moveTo(p.x + offsetX, p.y + offsetY);
|
|
47
|
+
}));
|
|
48
|
+
for (let i = points.length - 1; i >= 0; i--) {
|
|
49
|
+
const p = points[i];
|
|
50
|
+
path.lineTo(null !== (_a = p.x1) && void 0 !== _a ? _a : p.x, null !== (_b = p.y1) && void 0 !== _b ? _b : p.y);
|
|
51
|
+
}
|
|
52
|
+
path.lineTo(null !== (_c = startP.x1) && void 0 !== _c ? _c : startP.x, null !== (_d = startP.y1) && void 0 !== _d ? _d : startP.y),
|
|
53
|
+
path.closePath();
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function drawSegItem(ctx, curve, endPercent, params) {
|
|
58
|
+
if (!curve.p1) return;
|
|
59
|
+
const {offsetX: offsetX = 0, offsetY: offsetY = 0, offsetZ: offsetZ = 0} = params || {};
|
|
60
|
+
if (1 === endPercent) curve.p2 && curve.p3 ? ctx.bezierCurveTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetX + curve.p2.x, offsetY + curve.p2.y, offsetX + curve.p3.x, offsetY + curve.p3.y, offsetZ) : ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ); else if (curve.p2 && curve.p3) {
|
|
61
|
+
const [curve1] = (0, _1.divideCubic)(curve, endPercent);
|
|
62
|
+
ctx.bezierCurveTo(offsetX + curve1.p1.x, offsetY + curve1.p1.y, offsetX + curve1.p2.x, offsetY + curve1.p2.y, offsetX + curve1.p3.x, offsetY + curve1.p3.y, offsetZ);
|
|
63
|
+
} else {
|
|
64
|
+
const p = curve.getPointAt(endPercent);
|
|
65
|
+
ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=render-curve.js.map
|
|
70
|
+
exports.drawSegments = drawSegments, exports.drawIncrementalSegments = drawIncrementalSegments,
|
|
71
|
+
exports.drawIncrementalAreaSegments = drawIncrementalAreaSegments;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/render-curve.ts"],"names":[],"mappings":"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","file":"render-curve.js","sourcesContent":["import { min, IPoint, IPointLike } from '@visactor/vutils';\nimport { divideCubic, CubicBezierCurve, SegContext, BoundsContext, ISegPath2D } from '.';\nimport { IAreaSegment, IClipRangeByDimensionType, ICurve, IPath2D, ISegment } from '../interface';\nimport { Direction } from './seg-context';\n\n/**\n * 绘制连续的线段\n * 绘制长度为总长度percent的path,drawDirection为绘制的方向,也就是percent的方向\n * @param path\n * @param segPath\n * @param percent\n * @param drawDirection 绘制的方向,用于使用percent绘制\n * @param line 用于获取line相关属性\n */\nexport function drawSegments(\n path: IPath2D,\n segPath: ISegPath2D,\n percent: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n params?: {\n offsetX?: number;\n offsetY?: number;\n offsetZ?: number;\n }\n) {\n const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};\n let needMoveTo: boolean = true;\n const { curves } = segPath;\n if (percent >= 1) {\n curves.forEach(curve => {\n // 跳过这个点\n if (!curve.defined) {\n needMoveTo = true;\n return;\n }\n if (needMoveTo) {\n path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);\n }\n drawSegItem(path, curve, 1, params);\n needMoveTo = false;\n });\n return;\n }\n if (percent <= 0) {\n return;\n }\n\n let direction: Direction | undefined;\n\n if (clipRangeByDimension === 'x') {\n direction = Direction.ROW;\n } else if (clipRangeByDimension === 'y') {\n direction = Direction.COLUMN;\n } else if (clipRangeByDimension === 'auto') {\n direction = segPath.direction;\n }\n\n // 整个线段的总长度\n const totalLength = segPath.tryUpdateLength(direction);\n // 总需要绘制的长度\n const totalDrawLength = percent * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n for (let i = 0, n = curves.length; i < n; i++) {\n const curve = curves[i];\n const curCurveLength = curve.getLength(direction);\n const _p = (totalDrawLength - drawedLengthUntilLast) / curCurveLength;\n drawedLengthUntilLast += curCurveLength;\n if (_p < 0) {\n break;\n }\n\n // 跳过这个点\n if (!curve.defined) {\n needMoveTo = true;\n continue;\n }\n if (needMoveTo) {\n path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);\n }\n drawSegItem(path, curve, min(_p, 1), params);\n needMoveTo = false;\n }\n}\n\nexport function drawIncrementalSegments(\n path: IPath2D,\n lastSeg: ISegment,\n segments: ISegment,\n params?: {\n offsetX?: number;\n offsetY?: number;\n }\n) {\n const { offsetX = 0, offsetY = 0 } = params || {};\n const startP = lastSeg ? lastSeg.points[lastSeg.points.length - 1] : segments.points[0];\n path.moveTo(startP.x + offsetX, startP.y + offsetY);\n segments.points.forEach(p => {\n if (p.defined === false) {\n path.moveTo(p.x + offsetX, p.y + offsetY);\n return;\n }\n path.lineTo(p.x + offsetX, p.y + offsetY);\n });\n}\n\nexport function drawIncrementalAreaSegments(\n path: IPath2D,\n lastSeg: IAreaSegment,\n segments: IAreaSegment,\n params?: {\n offsetX?: number;\n offsetY?: number;\n }\n) {\n const { offsetX = 0, offsetY = 0 } = params || {};\n const { points } = segments;\n // 分段\n const definedPointsList: IPointLike[][] = [];\n let lastIdx = 0;\n for (let i = 0; i < points.length; i++) {\n if (points[i].defined === false) {\n if (lastIdx + 1 !== i) {\n definedPointsList.slice(lastIdx, i);\n }\n lastIdx = i;\n }\n }\n definedPointsList.length === 0;\n definedPointsList.push(points);\n definedPointsList.forEach((points, i) => {\n const startP = lastSeg && i === 0 ? lastSeg.points[lastSeg.points.length - 1] : points[0];\n path.moveTo(startP.x + offsetX, startP.y + offsetY);\n // 绘制上层\n points.forEach(p => {\n if (p.defined === false) {\n path.moveTo(p.x + offsetX, p.y + offsetY);\n return;\n }\n path.lineTo(p.x + offsetX, p.y + offsetY);\n });\n // 绘制下层\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n path.lineTo(p.x1 ?? p.x, p.y1 ?? p.y);\n }\n path.lineTo(startP.x1 ?? startP.x, startP.y1 ?? startP.y);\n path.closePath();\n });\n}\n\n/**\n * 绘制某个segment\n * @param ctx\n * @param seg\n * @param t 绘制这个segment的比例,t > 0从start到end,t < 0从end到start\n */\nfunction drawSegItem(\n ctx: IPath2D,\n curve: ICurve<IPoint>,\n endPercent: number,\n params?: {\n startLenPercent?: number;\n endLenPercent?: number;\n start?: number;\n offsetX?: number;\n offsetY?: number;\n offsetZ?: number;\n }\n) {\n if (!curve.p1) {\n return;\n }\n const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};\n\n // 完全绘制\n if (endPercent === 1) {\n if (curve.p2 && curve.p3) {\n ctx.bezierCurveTo(\n offsetX + curve.p1.x,\n offsetY + curve.p1.y,\n offsetX + curve.p2.x,\n offsetY + curve.p2.y,\n offsetX + curve.p3.x,\n offsetY + curve.p3.y,\n offsetZ\n );\n } else {\n // linear的线段\n ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);\n }\n } else {\n // 绘制一部分\n if (curve.p2 && curve.p3) {\n const [curve1] = divideCubic(curve as CubicBezierCurve, endPercent);\n ctx.bezierCurveTo(\n offsetX + curve1.p1.x,\n offsetY + curve1.p1.y,\n offsetX + curve1.p2.x,\n offsetY + curve1.p2.y,\n offsetX + curve1.p3.x,\n offsetY + curve1.p3.y,\n offsetZ\n );\n } else {\n // linear的线段\n const p = curve.getPointAt(endPercent);\n ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IPoint } from '@visactor/vutils';
|
|
2
|
+
import { ICurve, ICurveType } from '../interface';
|
|
3
|
+
import { ISegPath2D } from './curve/interface';
|
|
4
|
+
import { LineCurve } from './path';
|
|
5
|
+
export declare enum Direction {
|
|
6
|
+
ROW = 1,
|
|
7
|
+
COLUMN = 2
|
|
8
|
+
}
|
|
9
|
+
export declare class SegContext implements ISegPath2D {
|
|
10
|
+
private _lastX;
|
|
11
|
+
private _lastY;
|
|
12
|
+
private _startX;
|
|
13
|
+
private _startY;
|
|
14
|
+
get endX(): number;
|
|
15
|
+
get endY(): number;
|
|
16
|
+
curves: ICurve<IPoint>[];
|
|
17
|
+
direction: Direction;
|
|
18
|
+
curveType: ICurveType;
|
|
19
|
+
length: number;
|
|
20
|
+
constructor(curveType: ICurveType, direction: Direction);
|
|
21
|
+
init(curveType: ICurveType, direction: Direction): void;
|
|
22
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, defined: boolean): void;
|
|
23
|
+
closePath(): void;
|
|
24
|
+
ellipse(): void;
|
|
25
|
+
lineTo(x: number, y: number, defined: boolean): void;
|
|
26
|
+
moveTo(x: number, y: number): ISegPath2D;
|
|
27
|
+
quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void;
|
|
28
|
+
clear(): void;
|
|
29
|
+
tryUpdateLength(direction?: Direction): number;
|
|
30
|
+
protected addLinearCurve(x: number, y: number, defined: boolean): LineCurve;
|
|
31
|
+
getPointAt(t: number): IPoint;
|
|
32
|
+
getCurveLengths(): number[];
|
|
33
|
+
getLength(direction?: Direction): number;
|
|
34
|
+
}
|
|
35
|
+
export declare class ReflectSegContext extends SegContext {
|
|
36
|
+
bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number, defined: boolean): void;
|
|
37
|
+
lineTo(x: number, y: number, defined: boolean): void;
|
|
38
|
+
moveTo(x: number, y: number): ISegPath2D;
|
|
39
|
+
clear(): void;
|
|
40
|
+
}
|