@visactor/vrender 0.9.0 → 0.9.1-circular.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/cjs/allocator/allocator-modules.d.ts +1 -3
- package/cjs/allocator/allocator-modules.js +1 -22
- package/cjs/allocator/allocator-modules.js.map +1 -1
- package/cjs/allocator/canvas-allocate.d.ts +2 -5
- package/cjs/allocator/canvas-allocate.js +11 -27
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/constants.d.ts +0 -2
- package/cjs/allocator/constants.js +3 -5
- package/cjs/allocator/constants.js.map +1 -1
- package/cjs/allocator/graphic-allocate.d.ts +1 -58
- package/cjs/allocator/graphic-allocate.js +1 -160
- package/cjs/allocator/graphic-allocate.js.map +1 -1
- package/cjs/allocator/interface.d.ts +10 -0
- package/cjs/allocator/interface.js.map +1 -1
- package/cjs/allocator/matrix-allocate.d.ts +2 -0
- package/cjs/allocator/matrix-allocate.js +9 -16
- package/cjs/allocator/matrix-allocate.js.map +1 -1
- package/cjs/animate/Ticker/default-ticker.js +5 -5
- package/cjs/animate/Ticker/default-ticker.js.map +1 -1
- package/cjs/animate/animate.d.ts +1 -1
- package/cjs/animate/animate.js +15 -15
- package/cjs/animate/animate.js.map +1 -1
- package/cjs/animate/custom-animate.d.ts +3 -3
- package/cjs/animate/custom-animate.js +23 -25
- package/cjs/animate/custom-animate.js.map +1 -1
- package/cjs/animate/default-ticker.d.ts +2 -0
- package/cjs/animate/default-ticker.js +14 -0
- package/cjs/animate/default-ticker.js.map +1 -0
- package/cjs/animate/morphing.d.ts +1 -1
- package/cjs/animate/morphing.js +15 -17
- package/cjs/animate/morphing.js.map +1 -1
- package/cjs/animate/timeline.js +6 -5
- package/cjs/animate/timeline.js.map +1 -1
- package/cjs/application.d.ts +11 -0
- package/cjs/application.js +9 -0
- package/cjs/application.js.map +1 -0
- package/cjs/canvas/contributions/browser/canvas.js +2 -2
- package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
- package/cjs/canvas/contributions/browser/conical-gradient.js +2 -2
- package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/cjs/canvas/contributions/browser/context.d.ts +2 -4
- package/cjs/canvas/contributions/browser/context.js +13 -13
- package/cjs/canvas/contributions/browser/context.js.map +1 -1
- package/cjs/canvas/contributions/taro/context.js +8 -8
- package/cjs/canvas/contributions/taro/context.js.map +1 -1
- package/cjs/canvas/empty-context.d.ts +1 -1
- package/cjs/canvas/empty-context.js +7 -7
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/canvas/index.d.ts +0 -3
- package/cjs/canvas/index.js +2 -14
- package/cjs/canvas/index.js.map +1 -1
- package/cjs/canvas/util.d.ts +3 -0
- package/cjs/canvas/util.js +22 -10
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/color-string/colorName.js +1 -1
- package/cjs/color-string/index.js +1 -1
- package/cjs/color-string/interpolate.js +1 -1
- package/cjs/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
- package/cjs/common/bezier-utils.js +35 -0
- package/cjs/common/bezier-utils.js.map +1 -0
- package/cjs/common/canvas-utils.d.ts +1 -1
- package/cjs/common/canvas-utils.js +11 -7
- package/cjs/common/canvas-utils.js.map +1 -1
- package/cjs/common/custom-path2d.d.ts +47 -0
- package/cjs/common/{path.js → custom-path2d.js} +11 -230
- package/cjs/common/custom-path2d.js.map +1 -0
- package/cjs/common/enums.d.ts +12 -0
- package/cjs/common/enums.js +10 -3
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/generator.js +1 -2
- package/cjs/common/morphing-utils.d.ts +1 -2
- package/cjs/common/morphing-utils.js +8 -11
- package/cjs/common/morphing-utils.js.map +1 -1
- package/cjs/common/polygon.js +1 -0
- package/cjs/common/render-area.d.ts +2 -3
- package/cjs/common/render-area.js +8 -8
- package/cjs/common/render-area.js.map +1 -1
- package/cjs/common/render-curve.d.ts +1 -2
- package/cjs/common/render-curve.js +3 -3
- package/cjs/common/render-curve.js.map +1 -1
- package/cjs/common/seg-context.d.ts +7 -13
- package/cjs/common/seg-context.js +7 -13
- package/cjs/common/seg-context.js.map +1 -1
- package/cjs/common/{curve → segment}/basis.d.ts +12 -5
- package/cjs/common/{curve → segment}/basis.js +4 -4
- package/cjs/common/segment/basis.js.map +1 -0
- package/cjs/common/segment/common.d.ts +3 -0
- package/cjs/common/segment/common.js.map +1 -0
- package/cjs/common/segment/curve/arc.d.ts +14 -0
- package/cjs/common/segment/curve/arc.js +29 -0
- package/cjs/common/segment/curve/arc.js.map +1 -0
- package/cjs/common/segment/curve/base.d.ts +13 -0
- package/cjs/common/segment/curve/base.js +15 -0
- package/cjs/common/segment/curve/base.js.map +1 -0
- package/cjs/common/segment/curve/cubic-bezier.d.ts +17 -0
- package/cjs/common/segment/curve/cubic-bezier.js +42 -0
- package/cjs/common/segment/curve/cubic-bezier.js.map +1 -0
- package/cjs/common/segment/curve/curve-context.d.ts +19 -0
- package/cjs/common/segment/curve/curve-context.js +48 -0
- package/cjs/common/segment/curve/curve-context.js.map +1 -0
- package/cjs/common/segment/curve/ellipse.d.ts +18 -0
- package/cjs/common/segment/curve/ellipse.js +30 -0
- package/cjs/common/segment/curve/ellipse.js.map +1 -0
- package/cjs/common/segment/curve/line.d.ts +16 -0
- package/cjs/common/segment/curve/line.js +41 -0
- package/cjs/common/segment/curve/line.js.map +1 -0
- package/cjs/common/segment/curve/move.d.ts +13 -0
- package/cjs/common/segment/curve/move.js +28 -0
- package/cjs/common/segment/curve/move.js.map +1 -0
- package/cjs/common/segment/curve/path.d.ts +11 -0
- package/cjs/common/segment/curve/path.js +31 -0
- package/cjs/common/segment/curve/path.js.map +1 -0
- package/cjs/common/segment/curve/quadratic-bezier.d.ts +14 -0
- package/cjs/common/segment/curve/quadratic-bezier.js +29 -0
- package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -0
- package/{es/common/curve → cjs/common/segment}/index.d.ts +2 -4
- package/cjs/common/{curve → segment}/index.js +1 -2
- package/cjs/common/segment/index.js.map +1 -0
- package/cjs/common/segment/linear-closed.d.ts +24 -0
- package/cjs/common/{curve → segment}/linear-closed.js +4 -4
- package/cjs/common/segment/linear-closed.js.map +1 -0
- package/cjs/common/segment/linear.d.ts +24 -0
- package/cjs/common/{curve → segment}/linear.js +4 -4
- package/cjs/common/segment/linear.js.map +1 -0
- package/{es/common/curve → cjs/common/segment}/monotone.d.ts +12 -5
- package/cjs/common/{curve → segment}/monotone.js +5 -5
- package/cjs/common/segment/monotone.js.map +1 -0
- package/cjs/common/segment/step.d.ts +25 -0
- package/cjs/common/{curve → segment}/step.js +4 -4
- package/cjs/common/segment/step.js.map +1 -0
- package/cjs/common/shape/arc.d.ts +3 -0
- package/cjs/common/shape/arc.js +17 -2
- package/cjs/common/shape/arc.js.map +1 -1
- package/cjs/common/shape/rect.d.ts +1 -1
- package/cjs/common/sort.js +1 -1
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/split-path.js.map +1 -1
- package/cjs/common/store.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/common/utils.d.ts +2 -1
- package/cjs/common/utils.js +16 -7
- package/cjs/common/utils.js.map +1 -1
- package/cjs/container.js +2 -1
- package/cjs/container.js.map +1 -1
- package/cjs/core/application.js +1 -1
- package/cjs/core/camera.js +8 -8
- package/cjs/core/camera.js.map +1 -1
- package/cjs/core/constants.d.ts +1 -5
- package/cjs/core/constants.js +3 -20
- package/cjs/core/constants.js.map +1 -1
- package/cjs/core/contributions/env/browser-contribution.js +2 -2
- package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
- package/cjs/core/contributions/env/modules.js +2 -2
- package/cjs/core/contributions/env/modules.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/modules.js +2 -2
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
- package/cjs/core/contributions/textMeasure/AtextMeasure.js +4 -4
- package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/cjs/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
- package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
- package/cjs/core/contributions/textMeasure/modules.js +2 -2
- package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
- package/cjs/core/contributions/window/base-contribution.js +2 -2
- package/cjs/core/contributions/window/base-contribution.js.map +1 -1
- package/cjs/core/contributions/window/browser-contribution.js +2 -2
- package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
- package/cjs/core/contributions/window/feishu-contribution.js +2 -2
- package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/window/lynx-contribution.js +2 -2
- package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/window/modules.js +5 -5
- package/cjs/core/contributions/window/modules.js.map +1 -1
- package/cjs/core/contributions/window/node-contribution.js.map +1 -1
- package/cjs/core/contributions/window/taro-contribution.js +2 -2
- package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
- package/cjs/core/core-modules.js +5 -5
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global-module.d.ts +5 -0
- package/cjs/core/global-module.js +19 -0
- package/cjs/core/global-module.js.map +1 -0
- package/cjs/core/global.d.ts +3 -3
- package/cjs/core/global.js +3 -3
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +3 -25
- package/cjs/core/graphic-utils.js +10 -11
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/index.d.ts +2 -0
- package/cjs/core/index.js +3 -2
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +30 -0
- package/cjs/core/interface.js +6 -0
- package/cjs/core/interface.js.map +1 -0
- package/cjs/core/layer-service.d.ts +1 -8
- package/cjs/core/layer-service.js +2 -4
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.d.ts +1 -1
- package/cjs/core/layer.js +8 -7
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/light.js +1 -1
- package/cjs/core/stage.js +8 -8
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.js +4 -4
- package/cjs/core/window.js.map +1 -1
- package/cjs/create.d.ts +1 -1
- package/cjs/create.js +4 -3
- package/cjs/create.js.map +1 -1
- package/cjs/event/constant.js +1 -1
- package/cjs/event/event-manager.js +1 -1
- package/cjs/event/event-system.js +1 -1
- package/cjs/event/event-target.js +1 -1
- package/cjs/event/extension/gesture.js +2 -2
- package/cjs/event/extension/gesture.js.map +1 -1
- package/cjs/event/index.js +1 -1
- package/cjs/event/interface.js +1 -1
- package/cjs/event/type.js +2 -1
- package/cjs/event/util.js +1 -1
- package/cjs/graphic/arc.d.ts +1 -2
- package/cjs/graphic/arc.js +7 -11
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.d.ts +0 -1
- package/cjs/graphic/arc3d.js +6 -8
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.d.ts +1 -2
- package/cjs/graphic/area.js +8 -12
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.js +1 -1
- package/cjs/graphic/builtin-symbol/utils.js +3 -3
- package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
- package/cjs/graphic/circle.d.ts +1 -2
- package/cjs/graphic/circle.js +7 -11
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +5 -7
- package/cjs/graphic/config.js.map +1 -1
- package/{es/graphic/constant.d.ts → cjs/graphic/constants.d.ts} +2 -1
- package/cjs/graphic/constants.js +21 -0
- package/cjs/graphic/constants.js.map +1 -0
- package/cjs/graphic/glyph.d.ts +0 -1
- package/cjs/graphic/glyph.js +4 -6
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-module.js +8 -7
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.d.ts +4 -60
- package/cjs/graphic/graphic-service/graphic-service.js +48 -48
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +0 -1
- package/cjs/graphic/graphic.js +14 -23
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.d.ts +0 -1
- package/cjs/graphic/group.js +16 -15
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.d.ts +0 -1
- package/cjs/graphic/image.js +5 -9
- package/cjs/graphic/image.js.map +1 -1
- package/cjs/graphic/index.d.ts +1 -0
- package/cjs/graphic/index.js +2 -1
- package/cjs/graphic/index.js.map +1 -1
- package/cjs/graphic/line.d.ts +1 -2
- package/cjs/graphic/line.js +7 -11
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/node-tree.js +2 -2
- package/cjs/graphic/node-tree.js.map +1 -1
- package/cjs/graphic/path.d.ts +1 -2
- package/cjs/graphic/path.js +9 -13
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.d.ts +1 -2
- package/cjs/graphic/polygon.js +5 -9
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.d.ts +0 -1
- package/cjs/graphic/pyramid3d.js +5 -7
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.d.ts +1 -2
- package/cjs/graphic/rect.js +6 -10
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/rect3d.d.ts +0 -1
- package/cjs/graphic/rect3d.js +3 -7
- package/cjs/graphic/rect3d.js.map +1 -1
- package/cjs/graphic/richtext/icon.js +3 -3
- package/cjs/graphic/richtext/icon.js.map +1 -1
- package/cjs/graphic/richtext/paragraph.d.ts +1 -0
- package/cjs/graphic/richtext/paragraph.js +7 -2
- package/cjs/graphic/richtext/paragraph.js.map +1 -1
- package/cjs/graphic/richtext/utils.d.ts +0 -2
- package/cjs/graphic/richtext/utils.js +12 -25
- package/cjs/graphic/richtext/utils.js.map +1 -1
- package/cjs/graphic/richtext/wrapper.js +2 -2
- package/cjs/graphic/richtext/wrapper.js.map +1 -1
- package/cjs/graphic/richtext.d.ts +0 -1
- package/cjs/graphic/richtext.js +5 -9
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/symbol.d.ts +1 -2
- package/cjs/graphic/symbol.js +7 -11
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.d.ts +0 -1
- package/cjs/graphic/text.js +12 -15
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/tools.d.ts +1 -0
- package/cjs/graphic/tools.js +11 -3
- package/cjs/graphic/tools.js.map +1 -1
- package/cjs/graphic/wrap-text.js +2 -2
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +21 -3
- package/cjs/index.js +14 -12
- package/cjs/index.js.map +1 -1
- package/cjs/interface/common.d.ts +1 -0
- package/cjs/interface/common.js.map +1 -1
- package/cjs/interface/context.d.ts +3 -3
- package/cjs/interface/context.js.map +1 -1
- package/{es/common/curve/interface.d.ts → cjs/interface/curve.d.ts} +19 -19
- package/cjs/interface/curve.js +6 -0
- package/cjs/interface/curve.js.map +1 -0
- package/cjs/interface/graphic/area.d.ts +2 -2
- package/cjs/interface/graphic/area.js.map +1 -1
- package/cjs/interface/graphic/creator.js.map +1 -1
- package/cjs/interface/graphic/line.d.ts +2 -2
- package/cjs/interface/graphic/line.js.map +1 -1
- package/cjs/interface/graphic/path.d.ts +1 -2
- package/cjs/interface/graphic/path.js.map +1 -1
- package/cjs/interface/graphic/richText.d.ts +2 -4
- package/cjs/interface/graphic/richText.js.map +1 -1
- package/cjs/interface/graphic-service.d.ts +58 -0
- package/cjs/interface/graphic-service.js +6 -0
- package/cjs/interface/graphic-service.js.map +1 -0
- package/cjs/interface/graphic.d.ts +4 -4
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/index.d.ts +2 -0
- package/cjs/interface/index.js +2 -1
- package/cjs/interface/index.js.map +1 -1
- package/cjs/interface/path.d.ts +11 -19
- package/cjs/interface/path.js +1 -8
- package/cjs/interface/path.js.map +1 -1
- package/cjs/kits/env.js +3 -3
- package/cjs/kits/env.js.map +1 -1
- package/cjs/modules.d.ts +2 -19
- package/cjs/modules.js +12 -17
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/canvas-picker-service.d.ts +1 -1
- package/cjs/picker/canvas-picker-service.js +10 -9
- package/cjs/picker/canvas-picker-service.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/area-picker.js +3 -3
- package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/circle-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js +2 -2
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/image-picker.js +2 -2
- package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/line-picker.js +5 -5
- package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/module.js +2 -2
- package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/path-picker.js +5 -5
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js +3 -3
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js +4 -4
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js +2 -2
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js +5 -5
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/text-picker.js +5 -5
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/arc-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/area-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/circle-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/glyph-picker.js +2 -2
- package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/line-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/module.js +2 -2
- package/cjs/picker/contributions/math-picker/module.js.map +1 -1
- package/cjs/picker/contributions/math-picker/path-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/polygon-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/rect-picker.js +4 -4
- package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/symbol-picker.js +3 -3
- package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/text-picker.js +2 -2
- package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/modules.js.map +1 -1
- package/cjs/picker/math-picker-service.d.ts +1 -1
- package/cjs/picker/math-picker-service.js +4 -3
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/picker/pick-interceptor.js +2 -2
- package/cjs/picker/pick-interceptor.js.map +1 -1
- package/cjs/picker/pick-modules.js +2 -2
- package/cjs/picker/pick-modules.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +1 -1
- package/cjs/picker/picker-service.js +10 -10
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js +2 -2
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js +6 -6
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.d.ts +1 -2
- package/cjs/render/contributions/render/arc-render.js +22 -117
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-render.js +10 -10
- package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.d.ts +2 -2
- package/cjs/render/contributions/render/area-render.js +18 -17
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.js +3 -3
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.d.ts +1 -1
- package/cjs/render/contributions/render/circle-render.js +6 -5
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/area-contribution-render.js +6 -2
- package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +7 -7
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +2 -2
- package/cjs/render/contributions/render/draw-contribution.js +6 -6
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +5 -5
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-render.js +3 -3
- package/cjs/render/contributions/render/glyph-render.js.map +1 -1
- package/cjs/render/contributions/render/group-render.d.ts +1 -1
- package/cjs/render/contributions/render/group-render.js +9 -8
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.d.ts +1 -1
- package/cjs/render/contributions/render/image-render.js +6 -5
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-area-render.js +4 -4
- package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
- package/cjs/render/contributions/render/incremental-draw-contribution.js +4 -4
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/incremental-line-render.js +4 -4
- package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
- package/cjs/render/contributions/render/index.d.ts +1 -0
- package/cjs/render/contributions/render/index.js +1 -1
- package/cjs/render/contributions/render/index.js.map +1 -1
- package/cjs/render/contributions/render/line-render.d.ts +1 -2
- package/cjs/render/contributions/render/line-render.js +11 -11
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/module.js +12 -12
- package/cjs/render/contributions/render/module.js.map +1 -1
- package/cjs/render/contributions/render/path-render.d.ts +1 -1
- package/cjs/render/contributions/render/path-render.js +9 -8
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.d.ts +1 -1
- package/cjs/render/contributions/render/polygon-render.js +6 -5
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-render.js +7 -7
- package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.d.ts +1 -1
- package/cjs/render/contributions/render/rect-render.js +7 -6
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-render.js +7 -7
- package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
- package/cjs/render/contributions/render/richtext-render.js +6 -6
- package/cjs/render/contributions/render/richtext-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.d.ts +1 -1
- package/cjs/render/contributions/render/symbol-render.js +7 -6
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/text-render.js +10 -10
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/contributions/render/utils.d.ts +13 -3
- package/cjs/render/contributions/render/utils.js +105 -7
- package/cjs/render/contributions/render/utils.js.map +1 -1
- package/cjs/resource-loader/loader.d.ts +1 -1
- package/cjs/resource-loader/loader.js +8 -8
- package/cjs/resource-loader/loader.js.map +1 -1
- package/cjs/{common → tapable}/interface.js +2 -0
- package/cjs/tapable/interface.js.map +1 -0
- package/dist/vrender.js.js +1 -1
- package/dist/vrender.js.min.js +1 -1
- package/es/allocator/allocator-modules.d.ts +1 -3
- package/es/allocator/allocator-modules.js +1 -22
- package/es/allocator/allocator-modules.js.map +1 -1
- package/es/allocator/canvas-allocate.d.ts +2 -5
- package/es/allocator/canvas-allocate.js +9 -27
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/constants.d.ts +0 -2
- package/es/allocator/constants.js +1 -6
- package/es/allocator/constants.js.map +1 -1
- package/es/allocator/graphic-allocate.d.ts +1 -58
- package/es/allocator/graphic-allocate.js +1 -181
- package/es/allocator/graphic-allocate.js.map +1 -1
- package/es/allocator/interface.d.ts +10 -0
- package/es/allocator/interface.js.map +1 -1
- package/es/allocator/matrix-allocate.d.ts +2 -0
- package/es/allocator/matrix-allocate.js +7 -19
- package/es/allocator/matrix-allocate.js.map +1 -1
- package/es/animate/Ticker/default-ticker.js +5 -5
- package/es/animate/Ticker/default-ticker.js.map +1 -1
- package/es/animate/animate.d.ts +1 -1
- package/es/animate/animate.js +3 -1
- package/es/animate/animate.js.map +1 -1
- package/es/animate/custom-animate.d.ts +3 -3
- package/es/animate/custom-animate.js +20 -20
- package/es/animate/custom-animate.js.map +1 -1
- package/es/animate/default-ticker.d.ts +2 -0
- package/es/animate/default-ticker.js +12 -0
- package/es/animate/default-ticker.js.map +1 -0
- package/es/animate/morphing.d.ts +1 -1
- package/es/animate/morphing.js +15 -16
- package/es/animate/morphing.js.map +1 -1
- package/es/animate/timeline.js +5 -2
- package/es/animate/timeline.js.map +1 -1
- package/es/application.d.ts +11 -0
- package/es/application.js +3 -0
- package/es/application.js.map +1 -0
- package/es/canvas/contributions/browser/canvas.js +2 -2
- package/es/canvas/contributions/browser/canvas.js.map +1 -1
- package/es/canvas/contributions/browser/conical-gradient.js +4 -4
- package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/es/canvas/contributions/browser/context.d.ts +2 -4
- package/es/canvas/contributions/browser/context.js +12 -11
- package/es/canvas/contributions/browser/context.js.map +1 -1
- package/es/canvas/contributions/taro/context.js +8 -7
- package/es/canvas/contributions/taro/context.js.map +1 -1
- package/es/canvas/empty-context.d.ts +1 -1
- package/es/canvas/empty-context.js +5 -3
- package/es/canvas/empty-context.js.map +1 -1
- package/es/canvas/index.d.ts +0 -3
- package/es/canvas/index.js +0 -12
- package/es/canvas/index.js.map +1 -1
- package/es/canvas/util.d.ts +3 -0
- package/es/canvas/util.js +15 -1
- package/es/canvas/util.js.map +1 -1
- package/es/color-string/colorName.js +1 -1
- package/es/color-string/index.js +1 -1
- package/es/color-string/interpolate.js +1 -1
- package/es/common/{bezier.d.ts → bezier-utils.d.ts} +0 -3
- package/es/common/{bezier.js → bezier-utils.js} +1 -13
- package/es/common/bezier-utils.js.map +1 -0
- package/es/common/canvas-utils.d.ts +1 -1
- package/es/common/canvas-utils.js +6 -3
- package/es/common/canvas-utils.js.map +1 -1
- package/es/common/custom-path2d.d.ts +47 -0
- package/es/common/{path.js → custom-path2d.js} +7 -207
- package/es/common/custom-path2d.js.map +1 -0
- package/es/common/enums.d.ts +12 -0
- package/es/common/enums.js +14 -0
- package/es/common/enums.js.map +1 -1
- package/es/common/generator.js +1 -2
- package/es/common/morphing-utils.d.ts +1 -2
- package/es/common/morphing-utils.js +3 -6
- package/es/common/morphing-utils.js.map +1 -1
- package/es/common/polygon.js +2 -1
- package/es/common/render-area.d.ts +2 -3
- package/es/common/render-area.js +5 -1
- package/es/common/render-area.js.map +1 -1
- package/es/common/render-curve.d.ts +1 -2
- package/es/common/render-curve.js +2 -2
- package/es/common/render-curve.js.map +1 -1
- package/es/common/seg-context.d.ts +7 -13
- package/es/common/seg-context.js +4 -6
- package/es/common/seg-context.js.map +1 -1
- package/es/common/{curve → segment}/basis.d.ts +12 -5
- package/es/common/{curve → segment}/basis.js +4 -4
- package/es/common/segment/basis.js.map +1 -0
- package/es/common/segment/common.d.ts +3 -0
- package/es/common/segment/common.js.map +1 -0
- package/es/common/segment/curve/arc.d.ts +14 -0
- package/es/common/segment/curve/arc.js +22 -0
- package/es/common/segment/curve/arc.js.map +1 -0
- package/es/common/segment/curve/base.d.ts +13 -0
- package/es/common/segment/curve/base.js +7 -0
- package/es/common/segment/curve/base.js.map +1 -0
- package/es/common/segment/curve/cubic-bezier.d.ts +17 -0
- package/es/common/segment/curve/cubic-bezier.js +37 -0
- package/es/common/segment/curve/cubic-bezier.js.map +1 -0
- package/es/common/segment/curve/curve-context.d.ts +19 -0
- package/es/common/segment/curve/curve-context.js +44 -0
- package/es/common/segment/curve/curve-context.js.map +1 -0
- package/es/common/segment/curve/ellipse.d.ts +18 -0
- package/es/common/segment/curve/ellipse.js +24 -0
- package/es/common/segment/curve/ellipse.js.map +1 -0
- package/es/common/segment/curve/line.d.ts +16 -0
- package/es/common/segment/curve/line.js +34 -0
- package/es/common/segment/curve/line.js.map +1 -0
- package/es/common/segment/curve/move.d.ts +13 -0
- package/es/common/segment/curve/move.js +22 -0
- package/es/common/segment/curve/move.js.map +1 -0
- package/es/common/segment/curve/path.d.ts +11 -0
- package/es/common/segment/curve/path.js +23 -0
- package/es/common/segment/curve/path.js.map +1 -0
- package/es/common/segment/curve/quadratic-bezier.d.ts +14 -0
- package/es/common/segment/curve/quadratic-bezier.js +23 -0
- package/es/common/segment/curve/quadratic-bezier.js.map +1 -0
- package/{cjs/common/curve → es/common/segment}/index.d.ts +2 -4
- package/es/common/{curve → segment}/index.js +0 -2
- package/es/common/segment/index.js.map +1 -0
- package/es/common/segment/linear-closed.d.ts +24 -0
- package/es/common/{curve → segment}/linear-closed.js +4 -4
- package/es/common/segment/linear-closed.js.map +1 -0
- package/es/common/segment/linear.d.ts +24 -0
- package/es/common/{curve → segment}/linear.js +4 -4
- package/es/common/segment/linear.js.map +1 -0
- package/{cjs/common/curve → es/common/segment}/monotone.d.ts +12 -5
- package/es/common/{curve → segment}/monotone.js +4 -4
- package/es/common/segment/monotone.js.map +1 -0
- package/es/common/segment/step.d.ts +25 -0
- package/es/common/{curve → segment}/step.js +4 -4
- package/es/common/segment/step.js.map +1 -0
- package/es/common/shape/arc.d.ts +3 -0
- package/es/common/shape/arc.js +13 -0
- package/es/common/shape/arc.js.map +1 -1
- package/es/common/shape/rect.d.ts +1 -1
- package/es/common/sort.js +1 -1
- package/es/common/split-path.js +1 -1
- package/es/common/split-path.js.map +1 -1
- package/es/common/store.js +1 -1
- package/es/common/text.js +1 -1
- package/es/common/utils.d.ts +2 -1
- package/es/common/utils.js +15 -6
- package/es/common/utils.js.map +1 -1
- package/es/container.js +2 -1
- package/es/container.js.map +1 -1
- package/es/core/application.js +1 -1
- package/es/core/camera.js +2 -2
- package/es/core/camera.js.map +1 -1
- package/es/core/constants.d.ts +1 -5
- package/es/core/constants.js +2 -10
- package/es/core/constants.js.map +1 -1
- package/es/core/contributions/env/browser-contribution.js +1 -1
- package/es/core/contributions/env/browser-contribution.js.map +1 -1
- package/es/core/contributions/env/modules.js +1 -1
- package/es/core/contributions/env/modules.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/modules.js +1 -1
- package/es/core/contributions/layerHandler/modules.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.d.ts +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.js +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/es/core/contributions/textMeasure/ITextMeasure.d.ts +1 -1
- package/es/core/contributions/textMeasure/ITextMeasure.js.map +1 -1
- package/es/core/contributions/textMeasure/modules.js +1 -1
- package/es/core/contributions/textMeasure/modules.js.map +1 -1
- package/es/core/contributions/window/base-contribution.js +1 -1
- package/es/core/contributions/window/base-contribution.js.map +1 -1
- package/es/core/contributions/window/browser-contribution.js +1 -1
- package/es/core/contributions/window/browser-contribution.js.map +1 -1
- package/es/core/contributions/window/feishu-contribution.js +1 -1
- package/es/core/contributions/window/feishu-contribution.js.map +1 -1
- package/es/core/contributions/window/lynx-contribution.js +1 -1
- package/es/core/contributions/window/lynx-contribution.js.map +1 -1
- package/es/core/contributions/window/modules.js +1 -1
- package/es/core/contributions/window/modules.js.map +1 -1
- package/es/core/contributions/window/node-contribution.js.map +1 -1
- package/es/core/contributions/window/taro-contribution.js +1 -1
- package/es/core/contributions/window/taro-contribution.js.map +1 -1
- package/es/core/core-modules.js +5 -3
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global-module.d.ts +5 -0
- package/es/core/global-module.js +19 -0
- package/es/core/global-module.js.map +1 -0
- package/es/core/global.d.ts +3 -3
- package/es/core/global.js +2 -2
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +3 -25
- package/es/core/graphic-utils.js +4 -8
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/index.d.ts +2 -0
- package/es/core/index.js +5 -1
- package/es/core/index.js.map +1 -1
- package/es/core/interface.d.ts +30 -0
- package/es/core/interface.js +2 -0
- package/es/core/interface.js.map +1 -0
- package/es/core/layer-service.d.ts +1 -8
- package/es/core/layer-service.js +1 -3
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.d.ts +1 -1
- package/es/core/layer.js +9 -5
- package/es/core/layer.js.map +1 -1
- package/es/core/light.js +1 -1
- package/es/core/stage.js +3 -3
- package/es/core/stage.js.map +1 -1
- package/es/core/window.js +3 -3
- package/es/core/window.js.map +1 -1
- package/es/create.d.ts +1 -1
- package/es/create.js +3 -2
- package/es/create.js.map +1 -1
- package/es/event/constant.js +1 -1
- package/es/event/event-manager.js +1 -1
- package/es/event/event-system.js +1 -1
- package/es/event/event-target.js +1 -1
- package/es/event/extension/gesture.js +2 -2
- package/es/event/extension/gesture.js.map +1 -1
- package/es/event/index.js +1 -1
- package/es/event/interface.js +1 -1
- package/es/event/type.js +2 -1
- package/es/event/util.js +1 -1
- package/es/graphic/arc.d.ts +1 -2
- package/es/graphic/arc.js +8 -6
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.d.ts +0 -1
- package/es/graphic/arc3d.js +5 -7
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.d.ts +1 -2
- package/es/graphic/area.js +8 -6
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.js +1 -1
- package/es/graphic/builtin-symbol/utils.js +1 -1
- package/es/graphic/builtin-symbol/utils.js.map +1 -1
- package/es/graphic/circle.d.ts +1 -2
- package/es/graphic/circle.js +8 -6
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +4 -6
- package/es/graphic/config.js.map +1 -1
- package/{cjs/graphic/constant.d.ts → es/graphic/constants.d.ts} +2 -1
- package/es/graphic/{constant.js → constants.js} +6 -6
- package/es/graphic/constants.js.map +1 -0
- package/es/graphic/glyph.d.ts +0 -1
- package/es/graphic/glyph.js +4 -4
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic-service/graphic-module.js +7 -3
- package/es/graphic/graphic-service/graphic-module.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.d.ts +4 -60
- package/es/graphic/graphic-service/graphic-service.js +42 -40
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic.d.ts +0 -1
- package/es/graphic/graphic.js +13 -20
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.d.ts +0 -1
- package/es/graphic/group.js +13 -13
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.d.ts +0 -1
- package/es/graphic/image.js +5 -5
- package/es/graphic/image.js.map +1 -1
- package/es/graphic/index.d.ts +1 -0
- package/es/graphic/index.js +2 -0
- package/es/graphic/index.js.map +1 -1
- package/es/graphic/line.d.ts +1 -2
- package/es/graphic/line.js +8 -6
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/node-tree.js +1 -1
- package/es/graphic/node-tree.js.map +1 -1
- package/es/graphic/path.d.ts +1 -2
- package/es/graphic/path.js +7 -5
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.d.ts +1 -2
- package/es/graphic/polygon.js +5 -5
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.d.ts +0 -1
- package/es/graphic/pyramid3d.js +4 -6
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.d.ts +1 -2
- package/es/graphic/rect.js +7 -5
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/rect3d.d.ts +0 -1
- package/es/graphic/rect3d.js +1 -3
- package/es/graphic/rect3d.js.map +1 -1
- package/es/graphic/richtext/icon.js +1 -1
- package/es/graphic/richtext/icon.js.map +1 -1
- package/es/graphic/richtext/paragraph.d.ts +1 -0
- package/es/graphic/richtext/paragraph.js +5 -0
- package/es/graphic/richtext/paragraph.js.map +1 -1
- package/es/graphic/richtext/utils.d.ts +0 -2
- package/es/graphic/richtext/utils.js +9 -18
- package/es/graphic/richtext/utils.js.map +1 -1
- package/es/graphic/richtext/wrapper.js +3 -1
- package/es/graphic/richtext/wrapper.js.map +1 -1
- package/es/graphic/richtext.d.ts +0 -1
- package/es/graphic/richtext.js +5 -5
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/symbol.d.ts +1 -2
- package/es/graphic/symbol.js +7 -5
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.d.ts +0 -1
- package/es/graphic/text.js +10 -8
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/tools.d.ts +1 -0
- package/es/graphic/tools.js +8 -2
- package/es/graphic/tools.js.map +1 -1
- package/es/graphic/wrap-text.js +3 -3
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +21 -3
- package/es/index.js +38 -8
- package/es/index.js.map +1 -1
- package/es/interface/common.d.ts +1 -0
- package/es/interface/common.js.map +1 -1
- package/es/interface/context.d.ts +3 -3
- package/es/interface/context.js.map +1 -1
- package/{cjs/common/curve/interface.d.ts → es/interface/curve.d.ts} +19 -19
- package/es/interface/curve.js +2 -0
- package/es/interface/curve.js.map +1 -0
- package/es/interface/graphic/area.d.ts +2 -2
- package/es/interface/graphic/area.js.map +1 -1
- package/es/interface/graphic/creator.js.map +1 -1
- package/es/interface/graphic/line.d.ts +2 -2
- package/es/interface/graphic/line.js.map +1 -1
- package/es/interface/graphic/path.d.ts +1 -2
- package/es/interface/graphic/path.js.map +1 -1
- package/es/interface/graphic/richText.d.ts +2 -4
- package/es/interface/graphic/richText.js.map +1 -1
- package/es/interface/graphic-service.d.ts +58 -0
- package/es/interface/graphic-service.js +2 -0
- package/es/interface/graphic-service.js.map +1 -0
- package/es/interface/graphic.d.ts +4 -4
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/index.d.ts +2 -0
- package/es/interface/index.js +4 -0
- package/es/interface/index.js.map +1 -1
- package/es/interface/path.d.ts +11 -19
- package/es/interface/path.js +0 -8
- package/es/interface/path.js.map +1 -1
- package/es/kits/env.js +1 -1
- package/es/kits/env.js.map +1 -1
- package/es/modules.d.ts +2 -19
- package/es/modules.js +18 -37
- package/es/modules.js.map +1 -1
- package/es/picker/canvas-picker-service.d.ts +1 -1
- package/es/picker/canvas-picker-service.js +1 -1
- package/es/picker/canvas-picker-service.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc-picker.js +4 -2
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc3d-picker.js +4 -2
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/area-picker.js +3 -1
- package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/circle-picker.js +4 -2
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.js +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/image-picker.js +1 -1
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/line-picker.js +5 -3
- package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/module.js +1 -1
- package/es/picker/contributions/canvas-picker/module.js.map +1 -1
- package/es/picker/contributions/canvas-picker/path-picker.js +5 -3
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/polygon-picker.js +3 -1
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js +4 -2
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect-picker.js +5 -3
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect3d-picker.js +4 -2
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/richtext-picker.js +1 -1
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/symbol-picker.js +5 -3
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/text-picker.js +5 -3
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/arc-picker.js +3 -1
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/area-picker.js +3 -1
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/circle-picker.js +3 -1
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.js +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/line-picker.js +3 -1
- package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/module.js +1 -1
- package/es/picker/contributions/math-picker/module.js.map +1 -1
- package/es/picker/contributions/math-picker/path-picker.js +3 -1
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/polygon-picker.js +3 -1
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/rect-picker.js +4 -2
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/symbol-picker.js +3 -1
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/text-picker.js +1 -1
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/modules.js.map +1 -1
- package/es/picker/math-picker-service.d.ts +1 -1
- package/es/picker/math-picker-service.js +1 -1
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/picker/pick-interceptor.js +1 -1
- package/es/picker/pick-interceptor.js.map +1 -1
- package/es/picker/pick-modules.js +1 -1
- package/es/picker/pick-modules.js.map +1 -1
- package/es/picker/picker-service.d.ts +1 -1
- package/es/picker/picker-service.js +4 -2
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js +1 -1
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.js +6 -6
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +8 -8
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +7 -7
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/render/contributions/render/arc-render.d.ts +1 -2
- package/es/render/contributions/render/arc-render.js +10 -76
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-render.js +10 -8
- package/es/render/contributions/render/arc3d-render.js.map +1 -1
- package/es/render/contributions/render/area-render.d.ts +2 -2
- package/es/render/contributions/render/area-render.js +12 -6
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.js +1 -1
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-render.d.ts +1 -1
- package/es/render/contributions/render/circle-render.js +5 -3
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -3
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/area-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.js +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.js +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.js +5 -3
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +2 -2
- package/es/render/contributions/render/draw-contribution.js +7 -3
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +4 -2
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-render.js +3 -1
- package/es/render/contributions/render/glyph-render.js.map +1 -1
- package/es/render/contributions/render/group-render.d.ts +1 -1
- package/es/render/contributions/render/group-render.js +8 -4
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-render.d.ts +1 -1
- package/es/render/contributions/render/image-render.js +4 -2
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/incremental-area-render.js +5 -3
- package/es/render/contributions/render/incremental-area-render.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.d.ts +2 -2
- package/es/render/contributions/render/incremental-draw-contribution.js +5 -3
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/render/contributions/render/incremental-line-render.js +5 -3
- package/es/render/contributions/render/incremental-line-render.js.map +1 -1
- package/es/render/contributions/render/index.d.ts +1 -0
- package/es/render/contributions/render/index.js +2 -0
- package/es/render/contributions/render/index.js.map +1 -1
- package/es/render/contributions/render/line-render.d.ts +1 -2
- package/es/render/contributions/render/line-render.js +11 -7
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/module.js +1 -1
- package/es/render/contributions/render/module.js.map +1 -1
- package/es/render/contributions/render/path-render.d.ts +1 -1
- package/es/render/contributions/render/path-render.js +8 -4
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.d.ts +1 -1
- package/es/render/contributions/render/polygon-render.js +5 -3
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-render.js +7 -5
- package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.d.ts +1 -1
- package/es/render/contributions/render/rect-render.js +7 -3
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-render.js +7 -5
- package/es/render/contributions/render/rect3d-render.js.map +1 -1
- package/es/render/contributions/render/richtext-render.js +4 -2
- package/es/render/contributions/render/richtext-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.d.ts +1 -1
- package/es/render/contributions/render/symbol-render.js +6 -4
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/text-render.js +9 -7
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/contributions/render/utils.d.ts +13 -3
- package/es/render/contributions/render/utils.js +76 -5
- package/es/render/contributions/render/utils.js.map +1 -1
- package/es/resource-loader/loader.d.ts +1 -1
- package/es/resource-loader/loader.js +8 -8
- package/es/resource-loader/loader.js.map +1 -1
- package/es/{common → tapable}/interface.js +2 -0
- package/es/tapable/interface.js.map +1 -0
- package/es/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -3
- package/cjs/allocator/index.d.ts +0 -3
- package/cjs/allocator/index.js +0 -21
- package/cjs/allocator/index.js.map +0 -1
- package/cjs/canvas/constants.d.ts +0 -2
- package/cjs/canvas/constants.js +0 -7
- package/cjs/canvas/constants.js.map +0 -1
- package/cjs/canvas/creator.d.ts +0 -3
- package/cjs/canvas/creator.js +0 -18
- package/cjs/canvas/creator.js.map +0 -1
- package/cjs/common/bezier.js +0 -45
- package/cjs/common/bezier.js.map +0 -1
- package/cjs/common/curve/basis.js.map +0 -1
- package/cjs/common/curve/common.d.ts +0 -3
- package/cjs/common/curve/common.js.map +0 -1
- package/cjs/common/curve/index.js.map +0 -1
- package/cjs/common/curve/interface.js +0 -18
- package/cjs/common/curve/interface.js.map +0 -1
- package/cjs/common/curve/linear-closed.d.ts +0 -17
- package/cjs/common/curve/linear-closed.js.map +0 -1
- package/cjs/common/curve/linear.d.ts +0 -17
- package/cjs/common/curve/linear.js.map +0 -1
- package/cjs/common/curve/monotone.js.map +0 -1
- package/cjs/common/curve/step.d.ts +0 -18
- package/cjs/common/curve/step.js.map +0 -1
- package/cjs/common/index.d.ts +0 -20
- package/cjs/common/index.js +0 -30
- package/cjs/common/index.js.map +0 -1
- package/cjs/common/interface.js.map +0 -1
- package/cjs/common/path.d.ts +0 -160
- package/cjs/common/path.js.map +0 -1
- package/cjs/core/contributions/constants.d.ts +0 -1
- package/cjs/core/contributions/constants.js +0 -6
- package/cjs/core/contributions/constants.js.map +0 -1
- package/cjs/graphic/constant.js +0 -22
- package/cjs/graphic/constant.js.map +0 -1
- package/cjs/graphic/graphic-service/index.d.ts +0 -1
- package/cjs/graphic/graphic-service/index.js +0 -21
- package/cjs/graphic/graphic-service/index.js.map +0 -1
- package/cjs/interface/graphic-creator.d.ts +0 -39
- package/cjs/interface/graphic-creator.js +0 -6
- package/cjs/interface/graphic-creator.js.map +0 -1
- package/es/allocator/index.d.ts +0 -3
- package/es/allocator/index.js +0 -5
- package/es/allocator/index.js.map +0 -1
- package/es/canvas/constants.d.ts +0 -2
- package/es/canvas/constants.js +0 -4
- package/es/canvas/constants.js.map +0 -1
- package/es/canvas/creator.d.ts +0 -3
- package/es/canvas/creator.js +0 -14
- package/es/canvas/creator.js.map +0 -1
- package/es/common/bezier.js.map +0 -1
- package/es/common/curve/basis.js.map +0 -1
- package/es/common/curve/common.d.ts +0 -3
- package/es/common/curve/common.js.map +0 -1
- package/es/common/curve/index.js.map +0 -1
- package/es/common/curve/interface.js +0 -6
- package/es/common/curve/interface.js.map +0 -1
- package/es/common/curve/linear-closed.d.ts +0 -17
- package/es/common/curve/linear-closed.js.map +0 -1
- package/es/common/curve/linear.d.ts +0 -17
- package/es/common/curve/linear.js.map +0 -1
- package/es/common/curve/monotone.js.map +0 -1
- package/es/common/curve/step.d.ts +0 -18
- package/es/common/curve/step.js.map +0 -1
- package/es/common/index.d.ts +0 -20
- package/es/common/index.js +0 -40
- package/es/common/index.js.map +0 -1
- package/es/common/interface.js.map +0 -1
- package/es/common/path.d.ts +0 -160
- package/es/common/path.js.map +0 -1
- package/es/core/contributions/constants.d.ts +0 -1
- package/es/core/contributions/constants.js +0 -2
- package/es/core/contributions/constants.js.map +0 -1
- package/es/graphic/constant.js.map +0 -1
- package/es/graphic/graphic-service/index.d.ts +0 -1
- package/es/graphic/graphic-service/index.js +0 -2
- package/es/graphic/graphic-service/index.js.map +0 -1
- package/es/interface/graphic-creator.d.ts +0 -39
- package/es/interface/graphic-creator.js +0 -2
- package/es/interface/graphic-creator.js.map +0 -1
- /package/cjs/common/{curve → segment}/common.js +0 -0
- /package/cjs/{common → tapable}/interface.d.ts +0 -0
- /package/es/common/{curve → segment}/common.js +0 -0
- /package/es/{common → tapable}/interface.d.ts +0 -0
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
10
10
|
value: !0
|
|
11
11
|
}), exports.Canvas3DDrawItemInterceptor = exports.ShadowRootDrawItemInterceptorContribution = exports.DrawItemInterceptor = void 0;
|
|
12
12
|
|
|
13
|
-
const inversify_1 = require("inversify"), vutils_1 = require("@visactor/vutils"), graphic_1 = require("../../../graphic"),
|
|
13
|
+
const inversify_1 = require("inversify"), vutils_1 = require("@visactor/vutils"), graphic_1 = require("../../../graphic"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), constants_1 = require("../../../graphic/constants");
|
|
14
14
|
|
|
15
15
|
exports.DrawItemInterceptor = Symbol.for("DrawItemInterceptor");
|
|
16
16
|
|
|
@@ -51,18 +51,18 @@ let Canvas3DDrawItemInterceptor = class {
|
|
|
51
51
|
const m = context.currentMatrix;
|
|
52
52
|
m.a /= context.dpr, m.b /= context.dpr, m.c /= context.dpr, m.d /= context.dpr,
|
|
53
53
|
m.e /= context.dpr, m.f /= context.dpr;
|
|
54
|
-
const matrix =
|
|
54
|
+
const matrix = matrix_allocate_1.mat4Allocate.allocate();
|
|
55
55
|
(0, graphic_1.mat3Tomat4)(matrix, m);
|
|
56
56
|
const lastModelMatrix = context.modelMatrix;
|
|
57
57
|
if (lastModelMatrix) {
|
|
58
58
|
if (matrix) {
|
|
59
|
-
const m =
|
|
59
|
+
const m = matrix_allocate_1.mat4Allocate.allocate();
|
|
60
60
|
context.modelMatrix = (0, graphic_1.multiplyMat4Mat4)(m, lastModelMatrix, matrix);
|
|
61
61
|
}
|
|
62
62
|
} else context.modelMatrix = matrix;
|
|
63
63
|
if (context.setTransform(1, 0, 0, 1, 0, 0, !0), graphic.isContainer) {
|
|
64
64
|
let isPie = !1, is3d = !1;
|
|
65
|
-
if (graphic.forEachChildren((c => (isPie = c.numberType ===
|
|
65
|
+
if (graphic.forEachChildren((c => (isPie = c.numberType === constants_1.ARC3D_NUMBER_TYPE,
|
|
66
66
|
!isPie))), graphic.forEachChildren((c => (is3d = !!c.findFace, !is3d))), isPie) {
|
|
67
67
|
const children = graphic.getChildren(), sortedChildren = [ ...children ];
|
|
68
68
|
sortedChildren.sort(((a, b) => {
|
|
@@ -103,7 +103,7 @@ let Canvas3DDrawItemInterceptor = class {
|
|
|
103
103
|
}));
|
|
104
104
|
} else drawContribution.renderGroup(graphic, drawContext);
|
|
105
105
|
} else drawContribution.renderItem(graphic, drawContext);
|
|
106
|
-
return context.camera = null, context.restore(), context.modelMatrix !== lastModelMatrix &&
|
|
106
|
+
return context.camera = null, context.restore(), context.modelMatrix !== lastModelMatrix && matrix_allocate_1.mat4Allocate.free(context.modelMatrix),
|
|
107
107
|
context.modelMatrix = lastModelMatrix, drawContext.in3dInterceptor = !1, !0;
|
|
108
108
|
}
|
|
109
109
|
initCanvasCtx(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/draw-interceptor.ts"],"names":[],"mappings":"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","file":"draw-interceptor.js","sourcesContent":["import { injectable } from 'inversify';\nimport { AABBBounds, pi2 } from '@visactor/vutils';\nimport { ARC3D_NUMBER_TYPE, mat3Tomat4, multiplyMat4Mat4 } from '../../../graphic';\nimport { IArc, IContext2d, IGraphic, IGroup } from '../../../interface';\nimport { IDrawContext, IDrawContribution, IRenderService } from '../../render-service';\nimport { IGraphicRenderDrawParams } from './graphic-render';\nimport { mat4Allocate } from '../../../modules';\n\n// 拦截器\nexport const DrawItemInterceptor = Symbol.for('DrawItemInterceptor');\n\nexport interface IDrawItemInterceptorContribution {\n order: number;\n beforeDrawItem?: (\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) => boolean;\n afterDrawItem?: (\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) => boolean;\n}\n\n// @injectable()\n// export class DefaultDrawItemInterceptor implements IDrawItemInterceptor {\n// drawItem(graphic: IGraphic, renderService: IRenderService, params?: IGraphicRenderDrawParams): boolean {\n// return false;\n// }\n// }\n\nconst tempDirtyBounds = new AABBBounds();\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n@injectable()\nexport class ShadowRootDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.shadowRoot) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.transformFromMatrix(graphic.transMatrix, true);\n\n // 变换dirtyBounds\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n tempDirtyBounds.copy(drawContribution.dirtyBounds);\n const m = graphic.globalTransMatrix.getInverse();\n drawContribution.dirtyBounds.copy(drawContribution.backupDirtyBounds).transformWithMatrix(m);\n }\n\n // 设置context的transform到上一个节点\n drawContribution.renderGroup(graphic.shadowRoot, drawContext);\n\n context.highPerformanceRestore();\n\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n drawContribution.dirtyBounds.copy(tempDirtyBounds);\n }\n\n return true;\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n@injectable()\nexport class Canvas3DDrawItemInterceptor implements IDrawItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) {\n if (!graphic.in3dMode || drawContext.in3dInterceptor) {\n return false;\n }\n\n drawContext.in3dInterceptor = true;\n const { context, stage } = renderService.drawParams;\n const canvas = context.canvas;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 将三维矩阵换成四维矩阵\n const m = context.currentMatrix;\n m.a /= context.dpr;\n m.b /= context.dpr;\n m.c /= context.dpr;\n m.d /= context.dpr;\n m.e /= context.dpr;\n m.f /= context.dpr;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n const lastModelMatrix = context.modelMatrix;\n if (lastModelMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n }\n } else {\n context.modelMatrix = matrix;\n }\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n // hack逻辑,如果是饼图的话,需要依次绘制不同的边\n let isPie: boolean = false;\n let is3d: boolean = false;\n graphic.forEachChildren((c: IGraphic) => {\n isPie = c.numberType === ARC3D_NUMBER_TYPE;\n return !isPie;\n });\n graphic.forEachChildren((c: IGraphic) => {\n is3d = !!c.findFace;\n return !is3d;\n });\n if (isPie) {\n const children = graphic.getChildren() as IArc[];\n // 绘制内层\n // drawContext.hack_pieFace = 'inside';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制底部\n // drawContext.hack_pieFace = 'bottom';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制外部\n // 排序一下\n const sortedChildren = [...children];\n sortedChildren.sort((a, b) => {\n let angle1 = ((a.attribute.startAngle ?? 0) + (a.attribute.endAngle ?? 0)) / 2;\n let angle2 = ((b.attribute.startAngle ?? 0) + (b.attribute.endAngle ?? 0)) / 2;\n while (angle1 < 0) {\n angle1 += pi2;\n }\n while (angle2 < 0) {\n angle2 += pi2;\n }\n return angle2 - angle1;\n });\n sortedChildren.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n graphic.removeAllChild();\n graphic.update();\n sortedChildren.forEach(c => {\n graphic.appendChild(c);\n });\n drawContext.hack_pieFace = 'outside';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制内部\n drawContext.hack_pieFace = 'inside';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制顶部\n drawContext.hack_pieFace = 'top';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n graphic.removeAllChild();\n children.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n children.forEach(c => {\n graphic.appendChild(c);\n });\n } else if (is3d) {\n // 排序这些图元\n const children = graphic.getChildren() as IGraphic[];\n const zChildren = children.map(g => {\n const face3d = g.findFace();\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2] + g.attribute.z ?? 0)[2];\n });\n const ave_z = viewdVerticesZ.reduce((a, b) => a + b, 0);\n return {\n ave_z,\n g\n };\n });\n zChildren.sort((a, b) => b.ave_z - a.ave_z);\n graphic.removeAllChild();\n zChildren.forEach(i => {\n i.g._next = null;\n i.g._prev = null;\n });\n graphic.update();\n zChildren.forEach(i => {\n graphic.add(i.g);\n });\n\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n\n graphic.removeAllChild();\n children.forEach(g => {\n g._next = null;\n g._prev = null;\n });\n graphic.update();\n children.forEach(g => {\n graphic.add(g);\n });\n } else {\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n }\n } else {\n drawContribution.renderItem(graphic, drawContext);\n }\n context.camera = null;\n context.restore();\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n drawContext.in3dInterceptor = false;\n return true;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/draw-interceptor.ts"],"names":[],"mappings":"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","file":"draw-interceptor.js","sourcesContent":["import { injectable } from 'inversify';\nimport { AABBBounds, pi2 } from '@visactor/vutils';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../../../graphic';\nimport { IArc, IContext2d, IGraphic, IGroup } from '../../../interface';\nimport { IDrawContext, IDrawContribution, IRenderService } from '../../render-service';\nimport { IGraphicRenderDrawParams } from './graphic-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { ARC3D_NUMBER_TYPE } from '../../../graphic/constants';\n\n// 拦截器\nexport const DrawItemInterceptor = Symbol.for('DrawItemInterceptor');\n\nexport interface IDrawItemInterceptorContribution {\n order: number;\n beforeDrawItem?: (\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) => boolean;\n afterDrawItem?: (\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) => boolean;\n}\n\n// @injectable()\n// export class DefaultDrawItemInterceptor implements IDrawItemInterceptor {\n// drawItem(graphic: IGraphic, renderService: IRenderService, params?: IGraphicRenderDrawParams): boolean {\n// return false;\n// }\n// }\n\nconst tempDirtyBounds = new AABBBounds();\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n@injectable()\nexport class ShadowRootDrawItemInterceptorContribution implements IDrawItemInterceptorContribution {\n order: number = 1;\n afterDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ): boolean {\n if (!graphic.shadowRoot) {\n return false;\n }\n\n const { context } = drawContext;\n context.highPerformanceSave();\n // 直接transform\n context.transformFromMatrix(graphic.transMatrix, true);\n\n // 变换dirtyBounds\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n tempDirtyBounds.copy(drawContribution.dirtyBounds);\n const m = graphic.globalTransMatrix.getInverse();\n drawContribution.dirtyBounds.copy(drawContribution.backupDirtyBounds).transformWithMatrix(m);\n }\n\n // 设置context的transform到上一个节点\n drawContribution.renderGroup(graphic.shadowRoot, drawContext);\n\n context.highPerformanceRestore();\n\n if (drawContribution.dirtyBounds && drawContribution.backupDirtyBounds) {\n drawContribution.dirtyBounds.copy(tempDirtyBounds);\n }\n\n return true;\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n@injectable()\nexport class Canvas3DDrawItemInterceptor implements IDrawItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforeDrawItem(\n graphic: IGraphic,\n renderService: IRenderService,\n drawContext: IDrawContext,\n drawContribution: IDrawContribution,\n params?: IGraphicRenderDrawParams\n ) {\n if (!graphic.in3dMode || drawContext.in3dInterceptor) {\n return false;\n }\n\n drawContext.in3dInterceptor = true;\n const { context, stage } = renderService.drawParams;\n const canvas = context.canvas;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 将三维矩阵换成四维矩阵\n const m = context.currentMatrix;\n m.a /= context.dpr;\n m.b /= context.dpr;\n m.c /= context.dpr;\n m.d /= context.dpr;\n m.e /= context.dpr;\n m.f /= context.dpr;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n const lastModelMatrix = context.modelMatrix;\n if (lastModelMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n }\n } else {\n context.modelMatrix = matrix;\n }\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n // hack逻辑,如果是饼图的话,需要依次绘制不同的边\n let isPie: boolean = false;\n let is3d: boolean = false;\n graphic.forEachChildren((c: IGraphic) => {\n isPie = c.numberType === ARC3D_NUMBER_TYPE;\n return !isPie;\n });\n graphic.forEachChildren((c: IGraphic) => {\n is3d = !!c.findFace;\n return !is3d;\n });\n if (isPie) {\n const children = graphic.getChildren() as IArc[];\n // 绘制内层\n // drawContext.hack_pieFace = 'inside';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制底部\n // drawContext.hack_pieFace = 'bottom';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制外部\n // 排序一下\n const sortedChildren = [...children];\n sortedChildren.sort((a, b) => {\n let angle1 = ((a.attribute.startAngle ?? 0) + (a.attribute.endAngle ?? 0)) / 2;\n let angle2 = ((b.attribute.startAngle ?? 0) + (b.attribute.endAngle ?? 0)) / 2;\n while (angle1 < 0) {\n angle1 += pi2;\n }\n while (angle2 < 0) {\n angle2 += pi2;\n }\n return angle2 - angle1;\n });\n sortedChildren.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n graphic.removeAllChild();\n graphic.update();\n sortedChildren.forEach(c => {\n graphic.appendChild(c);\n });\n drawContext.hack_pieFace = 'outside';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制内部\n drawContext.hack_pieFace = 'inside';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制顶部\n drawContext.hack_pieFace = 'top';\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n graphic.removeAllChild();\n children.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n children.forEach(c => {\n graphic.appendChild(c);\n });\n } else if (is3d) {\n // 排序这些图元\n const children = graphic.getChildren() as IGraphic[];\n const zChildren = children.map(g => {\n const face3d = g.findFace();\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2] + g.attribute.z ?? 0)[2];\n });\n const ave_z = viewdVerticesZ.reduce((a, b) => a + b, 0);\n return {\n ave_z,\n g\n };\n });\n zChildren.sort((a, b) => b.ave_z - a.ave_z);\n graphic.removeAllChild();\n zChildren.forEach(i => {\n i.g._next = null;\n i.g._prev = null;\n });\n graphic.update();\n zChildren.forEach(i => {\n graphic.add(i.g);\n });\n\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n\n graphic.removeAllChild();\n children.forEach(g => {\n g._next = null;\n g._prev = null;\n });\n graphic.update();\n children.forEach(g => {\n graphic.add(g);\n });\n } else {\n drawContribution.renderGroup(graphic as IGroup, drawContext);\n }\n } else {\n drawContribution.renderItem(graphic, drawContext);\n }\n context.camera = null;\n context.restore();\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n drawContext.in3dInterceptor = false;\n return true;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
|
|
@@ -10,11 +10,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
10
10
|
value: !0
|
|
11
11
|
}), exports.DefaultCanvasGlyphRender = void 0;
|
|
12
12
|
|
|
13
|
-
const inversify_1 = require("inversify"),
|
|
13
|
+
const inversify_1 = require("inversify"), theme_1 = require("../../../graphic/theme"), constants_1 = require("../../../graphic/constants");
|
|
14
14
|
|
|
15
15
|
let DefaultCanvasGlyphRender = class {
|
|
16
16
|
constructor() {
|
|
17
|
-
this.numberType =
|
|
17
|
+
this.numberType = constants_1.GLYPH_NUMBER_TYPE;
|
|
18
18
|
}
|
|
19
19
|
drawShape(glyph, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
20
20
|
drawContext.drawContribution && glyph.getSubGraphic().forEach((item => {
|
|
@@ -26,7 +26,7 @@ let DefaultCanvasGlyphRender = class {
|
|
|
26
26
|
const {context: context} = drawContext;
|
|
27
27
|
if (!context) return;
|
|
28
28
|
if (context.highPerformanceSave(), !drawContext.drawContribution) return;
|
|
29
|
-
const glyphTheme = (0,
|
|
29
|
+
const glyphTheme = (0, theme_1.getTheme)(glyph), subGraphic = glyph.getSubGraphic();
|
|
30
30
|
subGraphic.length && subGraphic.forEach((g => {
|
|
31
31
|
drawContext.drawContribution.renderItem(g, drawContext, {
|
|
32
32
|
theme: glyphTheme
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/glyph-render.ts"],"names":[],"mappings":";;;;;;;;;AACA,yCAAsD;AACtD,
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/glyph-render.ts"],"names":[],"mappings":";;;;;;;;;AACA,yCAAsD;AACtD,kDAAkD;AAClD,0DAA+D;AAMxD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAA9B;QAEL,eAAU,GAAW,6BAAiB,CAAC;IAqDzC,CAAC;IAjDC,SAAS,CACP,KAAa,EACb,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAEZ,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC1E,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAClC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;aAChF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC7G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACjC,OAAO;SACR;QACD,MAAM,UAAU,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,UAAU,CAAC,MAAM;YACf,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACrB,WAAW,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAvDY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;GACA,wBAAwB,CAuDpC;AAvDY,4DAAwB","file":"glyph-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from 'inversify';\nimport { getTheme } from '../../../graphic/theme';\nimport { GLYPH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { IGraphicAttribute, IContext2d, IGlyph, IMarkAttribute, IRect, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\n\n@injectable()\nexport class DefaultCanvasGlyphRender implements IGraphicRender {\n type: 'glyph';\n numberType: number = GLYPH_NUMBER_TYPE;\n\n // constructor() {}\n\n drawShape(\n glyph: IGlyph,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (!drawContext.drawContribution) {\n return;\n }\n glyph.getSubGraphic().forEach(item => {\n const renderer = drawContext.drawContribution.getRenderContribution(item);\n if (renderer && renderer.drawShape) {\n renderer.drawShape(item, context, x, y, drawContext, params, fillCb, strokeCb);\n }\n });\n }\n\n draw(glyph: IGlyph, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n if (!drawContext.drawContribution) {\n return;\n }\n const glyphTheme = getTheme(glyph);\n const subGraphic = glyph.getSubGraphic();\n subGraphic.length &&\n subGraphic.forEach(g => {\n drawContext.drawContribution.renderItem(g, drawContext, { theme: glyphTheme });\n });\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IGraphicAttribute, IContext2d, IGroup, IMarkAttribute, IThemeAttribute } from '../../../interface';
|
|
2
2
|
import { IDrawContext, IRenderService } from '../../render-service';
|
|
3
3
|
import { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';
|
|
4
|
-
import { ContributionProvider } from '../../../common';
|
|
4
|
+
import { ContributionProvider } from '../../../common/contribution-provider';
|
|
5
5
|
import { IGroupRenderContribution } from './contributions/group-contribution-render';
|
|
6
6
|
export declare class DefaultCanvasGroupRender implements IGraphicRender {
|
|
7
7
|
protected readonly groupRenderContribitions: ContributionProvider<IGroupRenderContribution>;
|
|
@@ -16,14 +16,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
16
|
value: !0
|
|
17
17
|
}), exports.DefaultCanvasGroupRender = void 0;
|
|
18
18
|
|
|
19
|
-
const inversify_1 = require("inversify"), graphic_1 = require("../../../graphic"), vutils_1 = require("@visactor/vutils"),
|
|
19
|
+
const inversify_1 = require("inversify"), graphic_1 = require("../../../graphic"), vutils_1 = require("@visactor/vutils"), contribution_provider_1 = require("../../../common/contribution-provider"), rect_1 = require("../../../common/shape/rect"), utils_1 = require("./utils"), group_contribution_render_1 = require("./contributions/group-contribution-render"), base_contribution_render_1 = require("./contributions/base-contribution-render"), matrix_allocate_1 = require("../../../allocator/matrix-allocate"), constants_1 = require("../../../graphic/constants");
|
|
20
20
|
|
|
21
21
|
let DefaultCanvasGroupRender = class {
|
|
22
22
|
constructor(groupRenderContribitions) {
|
|
23
|
-
this.groupRenderContribitions = groupRenderContribitions, this.numberType =
|
|
23
|
+
this.groupRenderContribitions = groupRenderContribitions, this.numberType = constants_1.GROUP_NUMBER_TYPE;
|
|
24
24
|
}
|
|
25
25
|
drawShape(group, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
26
|
-
const groupAttribute = (0, graphic_1.getTheme)(group, null == params ? void 0 : params.theme).group, {fill: fill =
|
|
26
|
+
const groupAttribute = (0, graphic_1.getTheme)(group, null == params ? void 0 : params.theme).group, {fill: fill = groupAttribute.fill, background: background, stroke: stroke = groupAttribute.stroke, opacity: opacity = groupAttribute.opacity, width: width = groupAttribute.width, height: height = groupAttribute.height, clip: clip = groupAttribute.clip, fillOpacity: fillOpacity = groupAttribute.fillOpacity, strokeOpacity: strokeOpacity = groupAttribute.strokeOpacity, borderRadius: borderRadius = groupAttribute.borderRadius, path: path = groupAttribute.path, lineWidth: lineWidth = groupAttribute.lineWidth, visible: visible = groupAttribute.visible} = group.attribute, fVisible = (0,
|
|
27
27
|
utils_1.rectFillVisible)(opacity, fillOpacity, width, height), sVisible = (0, utils_1.rectStrokeVisible)(opacity, strokeOpacity, width, height), doFill = (0,
|
|
28
28
|
utils_1.runFill)(fill), doStroke = (0, utils_1.runStroke)(stroke, lineWidth);
|
|
29
29
|
if (!group.valid || !visible) return;
|
|
@@ -38,7 +38,7 @@ let DefaultCanvasGroupRender = class {
|
|
|
38
38
|
drawContext.drawContribution.getRenderContribution(g).draw(g, drawContext.renderService, drawContext, params);
|
|
39
39
|
})), context.disableFill = disableFill, context.disableStroke = disableStroke, context.disableBeginPath = disableBeginPath;
|
|
40
40
|
} else 0 === borderRadius || (0, vutils_1.isArray)(borderRadius) && borderRadius.every((num => 0 === num)) ? (context.beginPath(),
|
|
41
|
-
context.rect(x, y, width, height)) : (context.beginPath(), (0,
|
|
41
|
+
context.rect(x, y, width, height)) : (context.beginPath(), (0, rect_1.createRectPath)(context, x, y, width, height, borderRadius));
|
|
42
42
|
this._groupRenderContribitions || (this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || []);
|
|
43
43
|
const doFillOrStroke = {
|
|
44
44
|
doFill: doFill,
|
|
@@ -60,17 +60,17 @@ let DefaultCanvasGroupRender = class {
|
|
|
60
60
|
clip ? context.save() : context.highPerformanceSave();
|
|
61
61
|
const groupAttribute = (0, graphic_1.getTheme)(group, null == params ? void 0 : params.theme).group, lastModelMatrix = context.modelMatrix;
|
|
62
62
|
if (context.camera) {
|
|
63
|
-
const nextModelMatrix =
|
|
63
|
+
const nextModelMatrix = matrix_allocate_1.mat4Allocate.allocate(), modelMatrix = matrix_allocate_1.mat4Allocate.allocate();
|
|
64
64
|
(0, graphic_1.getModelMatrix)(modelMatrix, group, groupAttribute), lastModelMatrix ? (0,
|
|
65
65
|
graphic_1.multiplyMat4Mat4)(nextModelMatrix, lastModelMatrix, modelMatrix) : (0,
|
|
66
66
|
graphic_1.multiplyMat4Mat4)(nextModelMatrix, nextModelMatrix, modelMatrix), context.modelMatrix = nextModelMatrix,
|
|
67
|
-
|
|
67
|
+
matrix_allocate_1.mat4Allocate.free(modelMatrix), context.setTransform(1, 0, 0, 1, 0, 0, !0);
|
|
68
68
|
} else context.transformFromMatrix(group.transMatrix, !0);
|
|
69
69
|
context.beginPath(), params.skipDraw ? this.drawShape(group, context, 0, 0, drawContext, params, (() => !1), (() => !1)) : this.drawShape(group, context, 0, 0, drawContext);
|
|
70
70
|
const {scrollX: scrollX = groupAttribute.scrollX, scrollY: scrollY = groupAttribute.scrollY} = group.attribute;
|
|
71
71
|
let p;
|
|
72
72
|
(scrollX || scrollY) && context.translate(scrollX, scrollY), params && params.drawingCb && (p = params.drawingCb()),
|
|
73
|
-
context.modelMatrix !== lastModelMatrix &&
|
|
73
|
+
context.modelMatrix !== lastModelMatrix && matrix_allocate_1.mat4Allocate.free(context.modelMatrix),
|
|
74
74
|
context.modelMatrix = lastModelMatrix, p && p.then ? p.then((() => {
|
|
75
75
|
clip ? context.restore() : context.highPerformanceRestore();
|
|
76
76
|
})) : clip ? context.restore() : context.highPerformanceRestore();
|
|
@@ -78,6 +78,7 @@ let DefaultCanvasGroupRender = class {
|
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
DefaultCanvasGroupRender = __decorate([ (0, inversify_1.injectable)(), __param(0, (0,
|
|
81
|
-
inversify_1.inject)(
|
|
81
|
+
inversify_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
|
|
82
|
+
inversify_1.named)(group_contribution_render_1.GroupRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasGroupRender),
|
|
82
83
|
exports.DefaultCanvasGroupRender = DefaultCanvasGroupRender;
|
|
83
84
|
//# sourceMappingURL=group-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/group-render.ts"],"names":[],"mappings":"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","file":"group-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { IGraphicAttribute, IContext2d, IGroup, IMarkAttribute, IThemeAttribute, mat4 } from '../../../interface';\nimport { getModelMatrix, getTheme, GROUP_NUMBER_TYPE, multiplyMat4Mat4 } from '../../../graphic';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { isArray } from '@visactor/vutils';\nimport { ContributionProvider, createRectPath } from '../../../common';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { GroupRenderContribution, IGroupRenderContribution } from './contributions/group-contribution-render';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\nimport { mat4Allocate } from '../../../modules';\n\n@injectable()\nexport class DefaultCanvasGroupRender implements IGraphicRender {\n type: 'group';\n numberType: number = GROUP_NUMBER_TYPE;\n\n _groupRenderContribitions: IGroupRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(GroupRenderContribution)\n protected readonly groupRenderContribitions: ContributionProvider<IGroupRenderContribution>\n ) {}\n\n drawShape(\n group: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const groupAttribute = graphicService.themeService.getCurrentTheme().groupAttribute;\n const groupAttribute = getTheme(group, params?.theme).group;\n const {\n fill = groupAttribute.fill == null ? !!group.attribute.fillColor : groupAttribute.fill,\n background,\n stroke = groupAttribute.stroke == null ? !!group.attribute.strokeColor : groupAttribute.stroke,\n opacity = groupAttribute.opacity,\n width = groupAttribute.width,\n height = groupAttribute.height,\n clip = groupAttribute.clip,\n fillOpacity = groupAttribute.fillOpacity,\n strokeOpacity = groupAttribute.strokeOpacity,\n borderRadius = groupAttribute.borderRadius,\n path = groupAttribute.path,\n lineWidth = groupAttribute.lineWidth,\n visible = groupAttribute.visible\n } = group.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(group.valid && visible)) {\n return;\n }\n\n if (!clip) {\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n }\n\n if (path && path.length && drawContext.drawContribution) {\n // 禁用fill和stroke\n const disableFill = context.disableFill;\n const disableStroke = context.disableStroke;\n const disableBeginPath = context.disableBeginPath;\n context.disableFill = true;\n context.disableStroke = true;\n context.disableBeginPath = true;\n path.forEach(g => {\n const rc = drawContext.drawContribution.getRenderContribution(g);\n rc.draw(g, drawContext.renderService, drawContext, params);\n });\n context.disableFill = disableFill;\n context.disableStroke = disableStroke;\n context.disableBeginPath = disableBeginPath;\n } else if (borderRadius === 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, borderRadius);\n }\n\n if (!this._groupRenderContribitions) {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // beforeFillStroke contribition可以操作clip范围\n if (clip) {\n context.clip();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(group, group.attribute, groupAttribute);\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, group.attribute, groupAttribute);\n } else if (fVisible) {\n context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, group.attribute, groupAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(group, group.attribute, x, y, groupAttribute);\n context.stroke();\n }\n }\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(group: IGroup, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // debugger;\n const { clip } = group.attribute;\n if (clip) {\n context.save();\n } else {\n context.highPerformanceSave();\n }\n\n const groupAttribute = getTheme(group, params?.theme).group;\n\n // const lastMatrix = context.modelMatrix;\n // if (context.camera) {\n // const m = group.transMatrix;\n // const matrix = createMat4();\n // mat3Tomat4(matrix, m);\n // const lastModelMatrix = context.modelMatrix;\n // if (lastModelMatrix) {\n // if (matrix) {\n // const m = createMat4();\n // context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n // }\n // } else {\n // context.modelMatrix = matrix;\n // }\n // } else {\n // // group直接transform\n // context.transformFromMatrix(group.transMatrix, true);\n // }\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n if (camera) {\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, group, groupAttribute);\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n context.modelMatrix = nextModelMatrix;\n mat4Allocate.free(modelMatrix);\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n // group直接transform\n context.transformFromMatrix(group.transMatrix, true);\n }\n\n context.beginPath();\n // 如果跳过绘制,那就不绘制\n if (params.skipDraw) {\n this.drawShape(\n group,\n context,\n 0,\n 0,\n drawContext,\n params,\n () => false,\n () => false\n );\n } else {\n this.drawShape(group, context, 0, 0, drawContext);\n }\n\n // 绘制子元素的时候要添加scroll\n const { scrollX = groupAttribute.scrollX, scrollY = groupAttribute.scrollY } = group.attribute;\n if (scrollX || scrollY) {\n context.translate(scrollX, scrollY);\n }\n let p: any;\n if (params && params.drawingCb) {\n p = params.drawingCb();\n }\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n if (p && p.then) {\n p.then(() => {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n });\n } else {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/group-render.ts"],"names":[],"mappings":"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","file":"group-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { IGraphicAttribute, IContext2d, IGroup, IMarkAttribute, IThemeAttribute, mat4 } from '../../../interface';\nimport { getModelMatrix, getTheme, multiplyMat4Mat4 } from '../../../graphic';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { isArray } from '@visactor/vutils';\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { createRectPath } from '../../../common/shape/rect';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { GroupRenderContribution, IGroupRenderContribution } from './contributions/group-contribution-render';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { GROUP_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultCanvasGroupRender implements IGraphicRender {\n type: 'group';\n numberType: number = GROUP_NUMBER_TYPE;\n\n _groupRenderContribitions: IGroupRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(GroupRenderContribution)\n protected readonly groupRenderContribitions: ContributionProvider<IGroupRenderContribution>\n ) {}\n\n drawShape(\n group: IGroup,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const groupAttribute = graphicService.themeService.getCurrentTheme().groupAttribute;\n const groupAttribute = getTheme(group, params?.theme).group;\n const {\n fill = groupAttribute.fill,\n background,\n stroke = groupAttribute.stroke,\n opacity = groupAttribute.opacity,\n width = groupAttribute.width,\n height = groupAttribute.height,\n clip = groupAttribute.clip,\n fillOpacity = groupAttribute.fillOpacity,\n strokeOpacity = groupAttribute.strokeOpacity,\n borderRadius = groupAttribute.borderRadius,\n path = groupAttribute.path,\n lineWidth = groupAttribute.lineWidth,\n visible = groupAttribute.visible\n } = group.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(group.valid && visible)) {\n return;\n }\n\n if (!clip) {\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n }\n\n if (path && path.length && drawContext.drawContribution) {\n // 禁用fill和stroke\n const disableFill = context.disableFill;\n const disableStroke = context.disableStroke;\n const disableBeginPath = context.disableBeginPath;\n context.disableFill = true;\n context.disableStroke = true;\n context.disableBeginPath = true;\n path.forEach(g => {\n const rc = drawContext.drawContribution.getRenderContribution(g);\n rc.draw(g, drawContext.renderService, drawContext, params);\n });\n context.disableFill = disableFill;\n context.disableStroke = disableStroke;\n context.disableBeginPath = disableBeginPath;\n } else if (borderRadius === 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, borderRadius);\n }\n\n if (!this._groupRenderContribitions) {\n this._groupRenderContribitions = this.groupRenderContribitions.getContributions() || [];\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(\n group,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n groupAttribute,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // beforeFillStroke contribition可以操作clip范围\n if (clip) {\n context.clip();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(group, group.attribute, groupAttribute);\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, group.attribute, groupAttribute);\n } else if (fVisible) {\n context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, group.attribute, groupAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(group, group.attribute, x, y, groupAttribute);\n context.stroke();\n }\n }\n\n this._groupRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(group, group.attribute, x, y, groupAttribute);\n c.drawShape(group, context, x, y, doFill, doStroke, fVisible, sVisible, groupAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(group: IGroup, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // debugger;\n const { clip } = group.attribute;\n if (clip) {\n context.save();\n } else {\n context.highPerformanceSave();\n }\n\n const groupAttribute = getTheme(group, params?.theme).group;\n\n // const lastMatrix = context.modelMatrix;\n // if (context.camera) {\n // const m = group.transMatrix;\n // const matrix = createMat4();\n // mat3Tomat4(matrix, m);\n // const lastModelMatrix = context.modelMatrix;\n // if (lastModelMatrix) {\n // if (matrix) {\n // const m = createMat4();\n // context.modelMatrix = multiplyMat4Mat4(m, lastModelMatrix, matrix);\n // }\n // } else {\n // context.modelMatrix = matrix;\n // }\n // } else {\n // // group直接transform\n // context.transformFromMatrix(group.transMatrix, true);\n // }\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n if (camera) {\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, group, groupAttribute);\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n context.modelMatrix = nextModelMatrix;\n mat4Allocate.free(modelMatrix);\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n // group直接transform\n context.transformFromMatrix(group.transMatrix, true);\n }\n\n context.beginPath();\n // 如果跳过绘制,那就不绘制\n if (params.skipDraw) {\n this.drawShape(\n group,\n context,\n 0,\n 0,\n drawContext,\n params,\n () => false,\n () => false\n );\n } else {\n this.drawShape(group, context, 0, 0, drawContext);\n }\n\n // 绘制子元素的时候要添加scroll\n const { scrollX = groupAttribute.scrollX, scrollY = groupAttribute.scrollY } = group.attribute;\n if (scrollX || scrollY) {\n context.translate(scrollX, scrollY);\n }\n let p: any;\n if (params && params.drawingCb) {\n p = params.drawingCb();\n }\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n if (p && p.then) {\n p.then(() => {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n });\n } else {\n if (clip) {\n context.restore();\n } else {\n context.highPerformanceRestore();\n }\n }\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContributionProvider } from '../../../common';
|
|
1
|
+
import { ContributionProvider } from '../../../common/contribution-provider';
|
|
2
2
|
import { IGraphicAttribute, IContext2d, IMarkAttribute, IImage, IThemeAttribute } from '../../../interface';
|
|
3
3
|
import { IDrawContext, IRenderService } from '../../render-service';
|
|
4
4
|
import { IImageRenderContribution } from './contributions/image-contribution-render';
|
|
@@ -16,14 +16,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
16
|
value: !0
|
|
17
17
|
}), exports.DefaultCanvasImageRender = void 0;
|
|
18
18
|
|
|
19
|
-
const inversify_1 = require("inversify"),
|
|
19
|
+
const inversify_1 = require("inversify"), contribution_provider_1 = require("../../../common/contribution-provider"), theme_1 = require("../../../graphic/theme"), base_contribution_render_1 = require("./contributions/base-contribution-render"), image_contribution_render_1 = require("./contributions/image-contribution-render"), utils_1 = require("./utils"), constants_1 = require("../../../graphic/constants");
|
|
20
20
|
|
|
21
21
|
let DefaultCanvasImageRender = class {
|
|
22
22
|
constructor(imageRenderContribitions) {
|
|
23
|
-
this.imageRenderContribitions = imageRenderContribitions, this.numberType =
|
|
23
|
+
this.imageRenderContribitions = imageRenderContribitions, this.numberType = constants_1.IMAGE_NUMBER_TYPE;
|
|
24
24
|
}
|
|
25
25
|
drawShape(image, context, x, y, drawContext, params, fillCb) {
|
|
26
|
-
const imageAttribute = (0,
|
|
26
|
+
const imageAttribute = (0, theme_1.getTheme)(image).image, {fill: fill = imageAttribute.fill, width: width = imageAttribute.width, height: height = imageAttribute.height, opacity: opacity = imageAttribute.opacity, fillOpacity: fillOpacity = imageAttribute.fillOpacity, visible: visible = imageAttribute.visible, image: url} = image.attribute, fVisible = (0,
|
|
27
27
|
utils_1.fillVisible)(opacity, fillOpacity), doFill = (0, utils_1.runFill)(fill);
|
|
28
28
|
if (image.valid && visible && doFill && (fVisible || fillCb)) {
|
|
29
29
|
if (this._imageRenderContribitions || (this._imageRenderContribitions = this.imageRenderContribitions.getContributions() || []),
|
|
@@ -43,7 +43,7 @@ let DefaultCanvasImageRender = class {
|
|
|
43
43
|
draw(image, renderService, drawContext) {
|
|
44
44
|
const {context: context} = renderService.drawParams;
|
|
45
45
|
if (!context) return;
|
|
46
|
-
const imageAttribute = (0,
|
|
46
|
+
const imageAttribute = (0, theme_1.getTheme)(image).image;
|
|
47
47
|
let {x: x = imageAttribute.x, y: y = imageAttribute.y} = image.attribute;
|
|
48
48
|
const {image: url} = image.attribute;
|
|
49
49
|
if (!url || !image.resources) return;
|
|
@@ -58,6 +58,7 @@ let DefaultCanvasImageRender = class {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
DefaultCanvasImageRender = __decorate([ (0, inversify_1.injectable)(), __param(0, (0,
|
|
61
|
-
inversify_1.inject)(
|
|
61
|
+
inversify_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
|
|
62
|
+
inversify_1.named)(image_contribution_render_1.ImageRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasImageRender),
|
|
62
63
|
exports.DefaultCanvasImageRender = DefaultCanvasImageRender;
|
|
63
64
|
//# sourceMappingURL=image-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/image-render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAsD;AACtD,
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/image-render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAsD;AACtD,iFAA6E;AAC7E,kDAAkD;AAGlD,uFAAsF;AACtF,yFAA8G;AAE9G,mCAA+C;AAC/C,0DAA+D;AAGxD,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAMnC,YAGqB,wBAAwE;QAAxE,6BAAwB,GAAxB,wBAAwB,CAAgD;QAP7F,eAAU,GAAW,6BAAiB,CAAC;IAQpC,CAAC;IAEJ,SAAS,CACP,KAAa,EACb,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY;QAGZ,MAAM,cAAc,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QAC7C,MAAM,EACJ,IAAI,GAAG,cAAc,CAAC,IAAI,EAC1B,KAAK,GAAG,cAAc,CAAC,KAAK,EAC5B,MAAM,GAAG,cAAc,CAAC,MAAM,EAC9B,OAAO,GAAG,cAAc,CAAC,OAAO,EAChC,WAAW,GAAG,cAAc,CAAC,WAAW,EACxC,OAAO,GAAG,cAAc,CAAC,OAAO,EAChC,KAAK,EAAE,GAAG,EACX,GAAG,KAAK,CAAC,SAAS,CAAC;QAGpB,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE;YAC7B,OAAO;SACR;QAED,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAGD,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YACzB,OAAO;SACR;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACnC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;SACzF;QACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,CAAC,IAAI,KAAK,qDAA0B,CAAC,gBAAgB,EAAE;gBAE1D,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;aAC3F;QACH,CAAC,CAAC,CAAC;QAMH,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAExE,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBAC5B,OAAO;iBACR;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;oBAC3B,OAAO;iBACR;gBACD,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC;gBACrE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aAClD;SACF;QAED,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACzC,IAAI,CAAC,CAAC,IAAI,KAAK,qDAA0B,CAAC,eAAe,EAAE;gBAEzD,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;aAC3F;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,aAA6B,EAAE,WAAyB;QAC1E,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAGD,MAAM,cAAc,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QAC7C,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QACrE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;YAC3B,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAEtC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACtD;aAAM;YACL,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,OAAO,CAAC,sBAAsB,EAAE,CAAC;SAClC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;QAElD,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;CACF,CAAA;AAlIY,wBAAwB;IADpC,IAAA,sBAAU,GAAE;IAQR,WAAA,IAAA,kBAAM,EAAC,4CAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,iBAAK,EAAC,mDAAuB,CAAC,CAAA;;GARtB,wBAAwB,CAkIpC;AAlIY,4DAAwB","file":"image-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { getTheme } from '../../../graphic/theme';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IImage, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\nimport { IImageRenderContribution, ImageRenderContribution } from './contributions/image-contribution-render';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { fillVisible, runFill } from './utils';\nimport { IMAGE_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultCanvasImageRender implements IGraphicRender {\n type: 'image';\n numberType: number = IMAGE_NUMBER_TYPE;\n\n protected _imageRenderContribitions: IImageRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(ImageRenderContribution)\n protected readonly imageRenderContribitions: ContributionProvider<IImageRenderContribution>\n ) {}\n\n drawShape(\n image: IImage,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const imageAttribute = graphicService.themeService.getCurrentTheme().imageAttribute;\n const imageAttribute = getTheme(image).image;\n const {\n fill = imageAttribute.fill,\n width = imageAttribute.width,\n height = imageAttribute.height,\n opacity = imageAttribute.opacity,\n fillOpacity = imageAttribute.fillOpacity,\n visible = imageAttribute.visible,\n image: url\n } = image.attribute;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const doFill = runFill(fill);\n\n if (!(image.valid && visible)) {\n return;\n }\n\n if (!doFill) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || fillCb)) {\n return;\n }\n\n if (!this._imageRenderContribitions) {\n this._imageRenderContribitions = this.imageRenderContribitions.getContributions() || [];\n }\n this._imageRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(image, image.attribute, x, y, imageAttribute);\n c.drawShape(image, context, x, y, doFill, false, fVisible, false, imageAttribute, fillCb);\n }\n });\n\n // context.beginPath();\n // context.image(x, y, width, height);\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(image, imageAttribute);\n\n if (doFill) {\n if (fillCb) {\n fillCb(context, image.attribute, imageAttribute);\n } else if (fVisible) {\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n if (res.state !== 'success') {\n return;\n }\n context.setCommonStyle(image, image.attribute, x, y, imageAttribute);\n context.drawImage(res.data, x, y, width, height);\n }\n }\n\n this._imageRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(image, image.attribute, x, y, imageAttribute);\n c.drawShape(image, context, x, y, doFill, false, fVisible, false, imageAttribute, fillCb);\n }\n });\n }\n\n draw(image: IImage, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = renderService.drawParams;\n if (!context) {\n return;\n }\n\n // const imageAttribute = graphicService.themeService.getCurrentTheme().imageAttribute;\n const imageAttribute = getTheme(image).image;\n let { x = imageAttribute.x, y = imageAttribute.y } = image.attribute;\n const { image: url } = image.attribute;\n if (!url || !image.resources) {\n return;\n }\n const res = image.resources.get(url);\n if (res.state !== 'success') {\n return;\n }\n\n context.highPerformanceSave();\n if (!image.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(image.transMatrix, true);\n } else {\n const point = image.getOffsetXY(imageAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n }\n\n this.drawShape(image, context, x, y, drawContext);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -10,17 +10,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
10
10
|
value: !0
|
|
11
11
|
}), exports.DefaultIncrementalCanvasAreaRender = void 0;
|
|
12
12
|
|
|
13
|
-
const inversify_1 = require("inversify"),
|
|
13
|
+
const inversify_1 = require("inversify"), constants_1 = require("../../../graphic/constants"), theme_1 = require("../../../graphic/theme"), utils_1 = require("./utils"), area_render_1 = require("./area-render"), render_curve_1 = require("../../../common/render-curve");
|
|
14
14
|
|
|
15
15
|
let DefaultIncrementalCanvasAreaRender = class extends area_render_1.DefaultCanvasAreaRender {
|
|
16
16
|
constructor() {
|
|
17
|
-
super(...arguments), this.numberType =
|
|
17
|
+
super(...arguments), this.numberType = constants_1.AREA_NUMBER_TYPE;
|
|
18
18
|
}
|
|
19
19
|
drawShape(area, context, x, y, drawContext, params, fillCb) {
|
|
20
20
|
if (area.incremental && drawContext.multiGraphicOptions) {
|
|
21
21
|
const {startAtIdx: startAtIdx, length: length} = drawContext.multiGraphicOptions, {segments: segments = []} = area.attribute;
|
|
22
22
|
if (startAtIdx > segments.length) return;
|
|
23
|
-
const areaAttribute = (0,
|
|
23
|
+
const areaAttribute = (0, theme_1.getTheme)(area).area, {fill: fill = areaAttribute.fill, fillOpacity: fillOpacity = areaAttribute.fillOpacity, opacity: opacity = areaAttribute.opacity, visible: visible = areaAttribute.visible} = area.attribute, fVisible = (0,
|
|
24
24
|
utils_1.fillVisible)(opacity, fillOpacity), doFill = (0, utils_1.runFill)(fill);
|
|
25
25
|
if (!area.valid || !visible) return;
|
|
26
26
|
if (!doFill) return;
|
|
@@ -29,7 +29,7 @@ let DefaultIncrementalCanvasAreaRender = class extends area_render_1.DefaultCanv
|
|
|
29
29
|
} else super.drawShape(area, context, x, y, drawContext, params, fillCb);
|
|
30
30
|
}
|
|
31
31
|
drawIncreaseSegment(area, context, lastSeg, seg, attribute, defaultAttribute, offsetX, offsetY) {
|
|
32
|
-
seg && (context.beginPath(), (0,
|
|
32
|
+
seg && (context.beginPath(), (0, render_curve_1.drawIncrementalAreaSegments)(context.camera ? context : context.nativeContext, lastSeg, seg, {
|
|
33
33
|
offsetX: offsetX,
|
|
34
34
|
offsetY: offsetY
|
|
35
35
|
}), context.setShadowStyle && context.setShadowStyle(area, attribute, defaultAttribute),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/incremental-area-render.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/incremental-area-render.ts"],"names":[],"mappings":"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","file":"incremental-area-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport {\n IArea,\n IAreaGraphicAttribute,\n IAreaSegment,\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute\n} from '../../../interface';\nimport { AREA_NUMBER_TYPE } from '../../../graphic/constants';\nimport { getTheme } from '../../../graphic/theme';\nimport { IDrawContext } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { fillVisible, runFill } from './utils';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { drawIncrementalAreaSegments } from '../../../common/render-curve';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultIncrementalCanvasAreaRender extends DefaultCanvasAreaRender implements IGraphicRender {\n declare type: 'area';\n numberType: number = AREA_NUMBER_TYPE;\n\n drawShape(\n area: IArea,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (area.incremental && drawContext.multiGraphicOptions) {\n const { startAtIdx, length } = drawContext.multiGraphicOptions;\n const { segments = [] } = area.attribute;\n if (startAtIdx > segments.length) {\n return;\n }\n const areaAttribute = getTheme(area).area;\n const {\n fill = areaAttribute.fill,\n fillOpacity = areaAttribute.fillOpacity,\n opacity = areaAttribute.opacity,\n visible = areaAttribute.visible\n } = area.attribute;\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const doFill = runFill(fill);\n\n if (!(area.valid && visible)) {\n return;\n }\n\n if (!doFill) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || fillCb)) {\n return;\n }\n\n // 不支持clipRange,不支持pick,仅支持最基础的线段绘制\n for (let i = startAtIdx; i < startAtIdx + length; i++) {\n this.drawIncreaseSegment(\n area,\n context,\n segments[i - 1],\n segments[i],\n area.attribute.segments[i],\n [areaAttribute, area.attribute],\n x,\n y\n );\n }\n } else {\n super.drawShape(area, context, x, y, drawContext, params, fillCb);\n }\n }\n\n drawIncreaseSegment(\n area: IArea,\n context: IContext2d,\n lastSeg: IAreaSegment,\n seg: IAreaSegment,\n attribute: Partial<IAreaGraphicAttribute>,\n defaultAttribute: Required<IAreaGraphicAttribute> | Partial<IAreaGraphicAttribute>[],\n offsetX: number,\n offsetY: number\n ) {\n if (!seg) {\n return;\n }\n\n context.beginPath();\n drawIncrementalAreaSegments(context.camera ? context : context.nativeContext, lastSeg, seg, {\n offsetX,\n offsetY\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(area, attribute, defaultAttribute);\n context.setCommonStyle(area, attribute, offsetX, offsetY, defaultAttribute);\n context.fill();\n }\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IDrawContribution, IDrawContext, IRenderService } from '../../render-service';
|
|
2
2
|
import { IGroup, IGlobal } from '../../../interface';
|
|
3
|
-
import { ContributionProvider } from '../../../common';
|
|
4
|
-
import { ILayerService } from '../../../core';
|
|
5
3
|
import { DefaultDrawContribution } from './draw-contribution';
|
|
6
4
|
import { SyncHook } from '../../../tapable';
|
|
7
5
|
import { IRenderSelector } from './render-slector';
|
|
8
6
|
import { IGraphicRender } from './graphic-render';
|
|
9
7
|
import { IDrawItemInterceptorContribution } from './draw-interceptor';
|
|
8
|
+
import { ContributionProvider } from '../../../common/contribution-provider';
|
|
9
|
+
import { ILayerService } from '../../../core/interface';
|
|
10
10
|
declare enum STATUS {
|
|
11
11
|
NORMAL = 0,
|
|
12
12
|
STOP = 1
|
|
@@ -40,7 +40,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
40
40
|
value: !0
|
|
41
41
|
}), exports.DefaultIncrementalDrawContribution = void 0;
|
|
42
42
|
|
|
43
|
-
const inversify_1 = require("inversify"), interface_1 = require("../../../interface"),
|
|
43
|
+
const inversify_1 = require("inversify"), interface_1 = require("../../../interface"), graphic_1 = require("../../../graphic"), constants_1 = require("../../../core/constants"), draw_contribution_1 = require("./draw-contribution"), tapable_1 = require("../../../tapable"), symbol_1 = require("./symbol"), incremental_line_render_1 = require("./incremental-line-render"), incremental_area_render_1 = require("./incremental-area-render"), draw_interceptor_1 = require("./draw-interceptor"), contribution_provider_1 = require("../../../common/contribution-provider"), sort_1 = require("../../../common/sort");
|
|
44
44
|
|
|
45
45
|
var STATUS;
|
|
46
46
|
|
|
@@ -92,7 +92,7 @@ let DefaultIncrementalDrawContribution = class extends draw_contribution_1.Defau
|
|
|
92
92
|
this.count = group.count, yield new Promise((resolve => {
|
|
93
93
|
this.renderItem(group, drawContext, {
|
|
94
94
|
drawingCb: () => __awaiter(this, void 0, void 0, (function*() {
|
|
95
|
-
if (2 !== group.count) yield (0,
|
|
95
|
+
if (2 !== group.count) yield (0, sort_1.foreachAsync)(group, graphic_1.DefaultAttribute.zIndex, ((item, i) => {
|
|
96
96
|
if (this.status === STATUS.STOP) return !0;
|
|
97
97
|
if (item.isContainer) return !1;
|
|
98
98
|
if (i < this.currentIdx) return !1;
|
|
@@ -148,7 +148,7 @@ let DefaultIncrementalDrawContribution = class extends draw_contribution_1.Defau
|
|
|
148
148
|
void (drawContext.break = !0)) : void (yield new Promise((resolve => {
|
|
149
149
|
this.renderItem(group, drawContext, {
|
|
150
150
|
drawingCb: () => __awaiter(this, void 0, void 0, (function*() {
|
|
151
|
-
yield (0,
|
|
151
|
+
yield (0, sort_1.foreachAsync)(group, graphic_1.DefaultAttribute.zIndex, (item => __awaiter(this, void 0, void 0, (function*() {
|
|
152
152
|
drawContext.break || item.isContainer && (yield this.renderGroup(item, drawContext));
|
|
153
153
|
})))), resolve(!1);
|
|
154
154
|
}))
|
|
@@ -163,7 +163,7 @@ DefaultIncrementalDrawContribution = __decorate([ (0, inversify_1.injectable)(),
|
|
|
163
163
|
inversify_1.multiInject)(symbol_1.GraphicRender)), __param(1, (0, inversify_1.inject)(symbol_1.RenderSelector)), __param(2, (0,
|
|
164
164
|
inversify_1.inject)(incremental_line_render_1.DefaultIncrementalCanvasLineRender)), __param(3, (0,
|
|
165
165
|
inversify_1.inject)(incremental_area_render_1.DefaultIncrementalCanvasAreaRender)), __param(4, (0,
|
|
166
|
-
inversify_1.inject)(
|
|
166
|
+
inversify_1.inject)(constants_1.LayerService)), __param(5, (0, inversify_1.inject)(contribution_provider_1.ContributionProvider)), __param(5, (0,
|
|
167
167
|
inversify_1.named)(draw_interceptor_1.DrawItemInterceptor)), __metadata("design:paramtypes", [ Array, Object, Object, Object, Object, Object ]) ], DefaultIncrementalDrawContribution),
|
|
168
168
|
exports.DefaultIncrementalDrawContribution = DefaultIncrementalDrawContribution;
|
|
169
169
|
//# sourceMappingURL=incremental-draw-contribution.js.map
|