@visactor/vrender 0.11.1 → 0.12.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/canvas-allocate.d.ts +1 -2
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/matrix-allocate.d.ts +3 -5
- package/cjs/allocator/matrix-allocate.js.map +1 -1
- package/cjs/animate/Ticker/default-ticker.d.ts +1 -15
- package/cjs/animate/Ticker/default-ticker.js.map +1 -1
- package/cjs/animate/Ticker/index.d.ts +0 -1
- package/cjs/animate/Ticker/index.js +1 -1
- package/cjs/animate/Ticker/index.js.map +1 -1
- package/cjs/animate/animate.d.ts +1 -2
- package/cjs/animate/animate.js.map +1 -1
- package/cjs/animate/custom-animate.d.ts +3 -3
- package/cjs/animate/custom-animate.js +1 -1
- package/cjs/animate/custom-animate.js.map +1 -1
- package/cjs/animate/easing.d.ts +6 -0
- package/cjs/animate/easing.js +18 -0
- package/cjs/animate/easing.js.map +1 -1
- package/cjs/animate/timeline.d.ts +1 -11
- package/cjs/animate/timeline.js.map +1 -1
- package/cjs/application.d.ts +3 -3
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/constants.d.ts +2 -0
- package/cjs/canvas/{interface.js → constants.js} +1 -1
- package/cjs/canvas/constants.js.map +1 -0
- package/cjs/canvas/contributions/browser/conical-gradient.js +19 -18
- package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/cjs/canvas/contributions/browser/modules.js +3 -3
- package/cjs/canvas/contributions/browser/modules.js.map +1 -1
- package/cjs/canvas/contributions/feishu/modules.js +3 -3
- package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
- package/cjs/canvas/contributions/lynx/context.d.ts +2 -1
- package/cjs/canvas/contributions/lynx/context.js +8 -0
- package/cjs/canvas/contributions/lynx/context.js.map +1 -1
- package/cjs/canvas/contributions/lynx/modules.js +3 -3
- package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
- package/cjs/canvas/contributions/node/canvas.js +2 -2
- package/cjs/canvas/contributions/node/canvas.js.map +1 -1
- package/cjs/canvas/contributions/node/modules.js +3 -3
- package/cjs/canvas/contributions/node/modules.js.map +1 -1
- package/cjs/canvas/contributions/taro/modules.js +3 -3
- package/cjs/canvas/contributions/taro/modules.js.map +1 -1
- package/cjs/canvas/contributions/tt/modules.js +3 -3
- package/cjs/canvas/contributions/tt/modules.js.map +1 -1
- package/cjs/canvas/index.d.ts +1 -1
- package/cjs/canvas/index.js +1 -1
- package/cjs/canvas/index.js.map +1 -1
- package/cjs/canvas/util.d.ts +3 -3
- package/cjs/canvas/util.js +3 -3
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/common/contribution-provider.d.ts +1 -4
- package/cjs/common/contribution-provider.js.map +1 -1
- package/cjs/common/enums.d.ts +4 -0
- package/cjs/common/enums.js +6 -3
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/text.d.ts +5 -12
- package/cjs/common/text.js.map +1 -1
- package/cjs/constants.d.ts +2 -0
- package/cjs/constants.js +7 -0
- package/cjs/constants.js.map +1 -0
- package/cjs/core/application.d.ts +0 -6
- package/cjs/core/application.js.map +1 -1
- package/cjs/core/contributions/env/feishu-contribution.d.ts +1 -13
- package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/env/lynx-contribution.d.ts +1 -13
- package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/env/modules.js +7 -7
- package/cjs/core/contributions/env/modules.js.map +1 -1
- package/cjs/core/contributions/env/taro-contribution.d.ts +1 -30
- package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/index.d.ts +1 -1
- package/cjs/core/contributions/index.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -4
- 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/offscreen2d-contribution.d.ts +2 -3
- 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/modules.d.ts +1 -1
- package/cjs/core/contributions/modules.js.map +1 -1
- package/cjs/core/contributions/textMeasure/AtextMeasure.d.ts +4 -3
- package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/cjs/core/contributions/textMeasure/layout.d.ts +4 -30
- package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
- package/cjs/core/contributions/window/base-contribution.d.ts +3 -3
- package/cjs/core/contributions/window/base-contribution.js +3 -0
- package/cjs/core/contributions/window/base-contribution.js.map +1 -1
- package/cjs/core/contributions/window/browser-contribution.d.ts +2 -3
- 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.d.ts +2 -3
- 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.d.ts +2 -3
- 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/node-contribution.d.ts +2 -3
- package/cjs/core/contributions/window/node-contribution.js +2 -2
- package/cjs/core/contributions/window/node-contribution.js.map +1 -1
- package/cjs/core/contributions/window/taro-contribution.d.ts +2 -3
- 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 +2 -2
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global-module.d.ts +1 -1
- package/cjs/core/global-module.js +4 -4
- package/cjs/core/global-module.js.map +1 -1
- package/cjs/core/global.d.ts +4 -6
- package/cjs/core/global.js +2 -2
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +7 -7
- package/cjs/core/graphic-utils.js +2 -2
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/layer-service.d.ts +2 -2
- package/cjs/core/layer-service.js +2 -2
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.d.ts +2 -32
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/stage.d.ts +27 -10
- package/cjs/core/stage.js +18 -12
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +3 -68
- package/cjs/core/window.js +2 -2
- package/cjs/core/window.js.map +1 -1
- package/cjs/event/event-manager.d.ts +2 -2
- package/cjs/event/event-manager.js.map +1 -1
- package/cjs/event/event-system.d.ts +1 -1
- package/cjs/event/event-system.js.map +1 -1
- package/cjs/event/event-target.d.ts +1 -1
- package/cjs/event/event-target.js.map +1 -1
- package/cjs/event/extension/drag.d.ts +1 -1
- package/cjs/event/extension/drag.js.map +1 -1
- package/cjs/event/extension/gesture.d.ts +3 -25
- package/cjs/event/extension/gesture.js.map +1 -1
- package/cjs/event/federated-event/base-event.d.ts +1 -1
- package/cjs/event/federated-event/base-event.js.map +1 -1
- package/cjs/event/index.d.ts +1 -1
- package/cjs/event/index.js +1 -1
- package/cjs/event/index.js.map +1 -1
- package/cjs/graphic/arc.d.ts +3 -3
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.d.ts +2 -2
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.d.ts +2 -2
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.d.ts +1 -1
- package/cjs/graphic/bounds.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-left.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-right.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/cjs/graphic/builtin-symbol/circle.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/cross.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
- package/cjs/graphic/builtin-symbol/diamond.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
- package/cjs/graphic/builtin-symbol/index.d.ts +1 -2
- package/cjs/graphic/builtin-symbol/index.js +1 -1
- package/cjs/graphic/builtin-symbol/index.js.map +1 -1
- package/cjs/graphic/builtin-symbol/rect.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
- package/cjs/graphic/builtin-symbol/square.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/square.js.map +1 -1
- package/cjs/graphic/builtin-symbol/star.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/star.js.map +1 -1
- package/cjs/graphic/builtin-symbol/stroke.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
- package/cjs/graphic/builtin-symbol/thin-triangle.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-down.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-left.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-right.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-up.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle.d.ts +1 -2
- package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/utils.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
- package/cjs/graphic/builtin-symbol/wedge.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
- package/cjs/graphic/builtin-symbol/wye.d.ts +2 -3
- package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
- package/cjs/graphic/circle.d.ts +2 -2
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.d.ts +1 -1
- package/cjs/graphic/config.js +3 -2
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/glyph.d.ts +2 -2
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic-creator.d.ts +1 -1
- package/cjs/graphic/graphic-creator.js.map +1 -1
- package/cjs/graphic/graphic-service/arc-contribution.d.ts +1 -5
- package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/area-contribution.d.ts +0 -5
- package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/circle-contribution.d.ts +1 -5
- package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.d.ts +17 -23
- package/cjs/graphic/graphic-service/graphic-service.js +46 -29
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic-service/path-contribution.d.ts +1 -5
- package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/rect-contribution.d.ts +1 -5
- package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/symbol-contribution.d.ts +2 -5
- package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +5 -6
- package/cjs/graphic/graphic.js +1 -1
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.d.ts +3 -3
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.d.ts +2 -2
- package/cjs/graphic/image.js +2 -2
- package/cjs/graphic/image.js.map +1 -1
- package/cjs/graphic/line.d.ts +2 -2
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/node-tree.d.ts +3 -2
- package/cjs/graphic/node-tree.js +1 -1
- package/cjs/graphic/node-tree.js.map +1 -1
- package/cjs/graphic/path.d.ts +2 -2
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.d.ts +3 -3
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.d.ts +3 -3
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.d.ts +2 -2
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/rect3d.d.ts +1 -1
- package/cjs/graphic/rect3d.js.map +1 -1
- package/cjs/graphic/richtext/wrapper.d.ts +2 -2
- package/cjs/graphic/richtext/wrapper.js +2 -2
- package/cjs/graphic/richtext/wrapper.js.map +1 -1
- package/cjs/graphic/richtext.d.ts +2 -2
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/shadow-root.d.ts +2 -2
- package/cjs/graphic/shadow-root.js.map +1 -1
- package/cjs/graphic/symbol.d.ts +2 -3
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.d.ts +2 -3
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/theme.d.ts +1 -1
- package/cjs/graphic/theme.js.map +1 -1
- package/cjs/graphic/tools.d.ts +3 -3
- package/cjs/graphic/tools.js +2 -2
- package/cjs/graphic/tools.js.map +1 -1
- package/cjs/graphic/wrap-text.d.ts +1 -1
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/{allocator/interface.d.ts → interface/allocator.d.ts} +12 -1
- package/cjs/{animate/Ticker/interface.js → interface/allocator.js} +1 -1
- package/cjs/interface/allocator.js.map +1 -0
- package/cjs/interface/animate.d.ts +36 -1
- package/cjs/interface/animate.js.map +1 -1
- package/cjs/interface/canvas.d.ts +7 -1
- package/cjs/interface/canvas.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 +6 -6
- package/cjs/interface/context.js.map +1 -1
- package/cjs/interface/contribution.d.ts +105 -1
- package/cjs/interface/contribution.js.map +1 -1
- package/{es/core/interface.d.ts → cjs/interface/core.d.ts} +8 -3
- package/cjs/{event/type.js → interface/core.js} +1 -1
- package/cjs/interface/core.js.map +1 -0
- package/cjs/interface/creator.d.ts +2 -2
- package/cjs/interface/creator.js.map +1 -1
- package/cjs/interface/event.d.ts +193 -0
- package/cjs/{allocator/interface.js → interface/event.js} +1 -1
- package/cjs/interface/event.js.map +1 -0
- package/cjs/interface/global.d.ts +6 -8
- package/cjs/interface/global.js +1 -2
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic/arc.d.ts +1 -1
- package/cjs/interface/graphic/arc.js.map +1 -1
- package/cjs/interface/graphic/arc3d.d.ts +2 -1
- package/cjs/interface/graphic/arc3d.js.map +1 -1
- package/cjs/interface/graphic/creator.d.ts +16 -16
- package/cjs/interface/graphic/creator.js.map +1 -1
- package/cjs/interface/graphic/group.d.ts +2 -1
- package/cjs/interface/graphic/group.js.map +1 -1
- package/cjs/interface/graphic/image.d.ts +1 -1
- package/cjs/interface/graphic/image.js.map +1 -1
- package/cjs/interface/graphic/index.d.ts +24 -0
- package/cjs/interface/graphic/index.js +13 -1
- package/cjs/interface/graphic/index.js.map +1 -1
- package/cjs/interface/graphic/line.d.ts +1 -1
- package/cjs/interface/graphic/line.js.map +1 -1
- package/cjs/interface/graphic/rect.d.ts +1 -1
- package/cjs/interface/graphic/rect.js.map +1 -1
- package/cjs/interface/graphic/rect3d.d.ts +2 -1
- package/cjs/interface/graphic/rect3d.js.map +1 -1
- package/cjs/interface/graphic/richText.d.ts +90 -2
- package/cjs/interface/graphic/richText.js.map +1 -1
- package/cjs/interface/graphic/symbol.d.ts +10 -1
- package/cjs/interface/graphic/symbol.js.map +1 -1
- package/cjs/interface/graphic/text.d.ts +25 -1
- package/cjs/interface/graphic/text.js.map +1 -1
- package/cjs/interface/graphic-service.d.ts +30 -10
- package/cjs/interface/graphic-service.js.map +1 -1
- package/cjs/interface/graphic.d.ts +1 -0
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/index.d.ts +11 -18
- package/cjs/interface/index.js +8 -11
- package/cjs/interface/index.js.map +1 -1
- package/cjs/interface/layer.d.ts +37 -6
- package/cjs/interface/layer.js.map +1 -1
- package/cjs/interface/light.d.ts +1 -1
- package/cjs/interface/light.js.map +1 -1
- package/cjs/interface/loader.d.ts +17 -0
- package/cjs/{core/interface.js → interface/loader.js} +1 -1
- package/cjs/interface/loader.js.map +1 -0
- package/cjs/interface/node-tree.d.ts +1 -1
- package/cjs/interface/node-tree.js.map +1 -1
- package/cjs/interface/path.d.ts +1 -1
- package/cjs/interface/path.js.map +1 -1
- package/cjs/interface/picker.d.ts +48 -0
- package/cjs/interface/picker.js +6 -0
- package/cjs/interface/picker.js.map +1 -0
- package/cjs/interface/plugin.d.ts +15 -0
- package/cjs/interface/plugin.js +6 -0
- package/cjs/interface/plugin.js.map +1 -0
- package/cjs/interface/render.d.ts +89 -0
- package/cjs/interface/render.js +6 -0
- package/cjs/interface/render.js.map +1 -0
- package/cjs/interface/stage.d.ts +25 -18
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/interface/sync-hook.d.ts +26 -0
- package/cjs/{core/contributions/interface.js → interface/sync-hook.js} +1 -1
- package/cjs/interface/sync-hook.js.map +1 -0
- package/cjs/{core/contributions/textMeasure/ITextMeasure.d.ts → interface/text.d.ts} +2 -2
- package/cjs/{picker/type.js → interface/text.js} +1 -1
- package/cjs/interface/text.js.map +1 -0
- package/cjs/interface/theme-service.js.map +1 -0
- package/cjs/interface/window.d.ts +72 -0
- package/cjs/interface/window.js +6 -0
- package/cjs/interface/window.js.map +1 -0
- package/cjs/modules.d.ts +2 -3
- package/cjs/modules.js +2 -2
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/canvas-picker-service.d.ts +6 -9
- package/cjs/picker/canvas-picker-service.js +2 -2
- package/cjs/picker/canvas-picker-service.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/area-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/base-picker.d.ts +1 -1
- package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/circle-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/glyph-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/image-picker.d.ts +2 -3
- package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/line-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/path-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/path-picker.js +3 -1
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/polygon-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/richtext-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/symbol-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/text-picker.d.ts +2 -4
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/arc-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/area-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/circle-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/glyph-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/line-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/path-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/polygon-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/rect-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/symbol-picker.d.ts +2 -4
- package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/text-picker.d.ts +2 -3
- package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/cjs/picker/global-picker-service.d.ts +2 -9
- package/cjs/picker/global-picker-service.js +2 -2
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/math-picker-service.d.ts +6 -8
- package/cjs/picker/math-picker-service.js +2 -2
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/picker/pick-interceptor.d.ts +2 -12
- package/cjs/picker/pick-interceptor.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +4 -33
- package/cjs/picker/picker-service.js +2 -2
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.d.ts +1 -2
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.d.ts +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.d.ts +1 -3
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/plugin-service.d.ts +1 -14
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.d.ts +3 -7
- package/cjs/render/contributions/render/arc-render.js +3 -3
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-render.d.ts +1 -3
- package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.d.ts +3 -7
- package/cjs/render/contributions/render/area-render.js +3 -3
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.d.ts +2 -2
- package/cjs/render/contributions/render/base-render.js +1 -1
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.d.ts +3 -7
- package/cjs/render/contributions/render/circle-render.js +3 -3
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +3 -5
- 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.d.ts +3 -7
- package/cjs/render/contributions/render/contributions/area-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +2 -10
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +6 -11
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +3 -5
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +3 -8
- package/cjs/render/contributions/render/contributions/group-contribution-render.js +2 -2
- package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +3 -5
- package/cjs/render/contributions/render/contributions/image-contribution-render.js +2 -2
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +3 -5
- package/cjs/render/contributions/render/contributions/path-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +3 -5
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +3 -3
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +3 -8
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +9 -9
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +3 -5
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +6 -11
- package/cjs/render/contributions/render/draw-contribution.js +4 -2
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.d.ts +1 -8
- package/cjs/render/contributions/render/draw-interceptor.js +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-render.d.ts +1 -3
- package/cjs/render/contributions/render/glyph-render.js.map +1 -1
- package/cjs/render/contributions/render/graphic-render.d.ts +1 -17
- package/cjs/render/contributions/render/graphic-render.js.map +1 -1
- package/cjs/render/contributions/render/group-render.d.ts +3 -7
- package/cjs/render/contributions/render/group-render.js +3 -3
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.d.ts +3 -7
- package/cjs/render/contributions/render/image-render.js +11 -5
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-area-render.d.ts +1 -3
- package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +5 -10
- package/cjs/render/contributions/render/incremental-draw-contribution.js +2 -2
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/incremental-line-render.d.ts +1 -3
- package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
- package/cjs/render/contributions/render/line-render.d.ts +1 -3
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/path-render.d.ts +3 -7
- package/cjs/render/contributions/render/path-render.js +3 -3
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.d.ts +3 -7
- package/cjs/render/contributions/render/polygon-render.js +3 -3
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-render.d.ts +1 -3
- package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.d.ts +3 -7
- package/cjs/render/contributions/render/rect-render.js +3 -3
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-render.d.ts +1 -3
- package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
- package/cjs/render/contributions/render/render-slector.d.ts +1 -5
- package/cjs/render/contributions/render/render-slector.js.map +1 -1
- package/cjs/render/contributions/render/richtext-render.d.ts +1 -3
- package/cjs/render/contributions/render/richtext-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.d.ts +3 -7
- package/cjs/render/contributions/render/symbol-render.js +3 -3
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/text-render.d.ts +2 -4
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/contributions/render/utils.d.ts +1 -3
- package/cjs/render/contributions/render/utils.js.map +1 -1
- package/cjs/render/render-service.d.ts +2 -56
- package/cjs/render/render-service.js.map +1 -1
- package/cjs/resource-loader/loader.d.ts +2 -20
- package/cjs/resource-loader/loader.js.map +1 -1
- package/cjs/tapable/Hook.d.ts +5 -22
- package/cjs/tapable/Hook.js.map +1 -1
- package/cjs/tapable/SyncHook.d.ts +3 -2
- package/cjs/tapable/SyncHook.js.map +1 -1
- package/dist/index.js +696 -592
- package/dist/index.min.js +1 -1
- package/es/allocator/canvas-allocate.d.ts +1 -2
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/matrix-allocate.d.ts +3 -5
- package/es/allocator/matrix-allocate.js.map +1 -1
- package/es/animate/Ticker/default-ticker.d.ts +1 -15
- package/es/animate/Ticker/default-ticker.js.map +1 -1
- package/es/animate/Ticker/index.d.ts +0 -1
- package/es/animate/Ticker/index.js +0 -2
- package/es/animate/Ticker/index.js.map +1 -1
- package/es/animate/animate.d.ts +1 -2
- package/es/animate/animate.js.map +1 -1
- package/es/animate/custom-animate.d.ts +3 -3
- package/es/animate/custom-animate.js +1 -1
- package/es/animate/custom-animate.js.map +1 -1
- package/es/animate/easing.d.ts +6 -0
- package/es/animate/easing.js +18 -0
- package/es/animate/easing.js.map +1 -1
- package/es/animate/timeline.d.ts +1 -11
- package/es/animate/timeline.js.map +1 -1
- package/es/application.d.ts +3 -3
- package/es/application.js.map +1 -1
- package/es/canvas/constants.d.ts +2 -0
- package/es/canvas/{interface.js → constants.js} +1 -1
- package/es/canvas/constants.js.map +1 -0
- package/es/canvas/contributions/browser/conical-gradient.js +19 -18
- package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/es/canvas/contributions/browser/modules.js +1 -1
- package/es/canvas/contributions/browser/modules.js.map +1 -1
- package/es/canvas/contributions/feishu/modules.js +1 -1
- package/es/canvas/contributions/feishu/modules.js.map +1 -1
- package/es/canvas/contributions/lynx/context.d.ts +2 -1
- package/es/canvas/contributions/lynx/context.js +8 -0
- package/es/canvas/contributions/lynx/context.js.map +1 -1
- package/es/canvas/contributions/lynx/modules.js +1 -1
- package/es/canvas/contributions/lynx/modules.js.map +1 -1
- package/es/canvas/contributions/node/canvas.js +3 -1
- package/es/canvas/contributions/node/canvas.js.map +1 -1
- package/es/canvas/contributions/node/modules.js +1 -1
- package/es/canvas/contributions/node/modules.js.map +1 -1
- package/es/canvas/contributions/taro/modules.js +1 -1
- package/es/canvas/contributions/taro/modules.js.map +1 -1
- package/es/canvas/contributions/tt/modules.js +1 -1
- package/es/canvas/contributions/tt/modules.js.map +1 -1
- package/es/canvas/index.d.ts +1 -1
- package/es/canvas/index.js +1 -1
- package/es/canvas/index.js.map +1 -1
- package/es/canvas/util.d.ts +3 -3
- package/es/canvas/util.js +1 -1
- package/es/canvas/util.js.map +1 -1
- package/es/common/contribution-provider.d.ts +1 -4
- package/es/common/contribution-provider.js.map +1 -1
- package/es/common/enums.d.ts +4 -0
- package/es/common/enums.js +7 -0
- package/es/common/enums.js.map +1 -1
- package/es/common/text.d.ts +5 -12
- package/es/common/text.js.map +1 -1
- package/es/constants.d.ts +2 -0
- package/es/constants.js +4 -0
- package/es/constants.js.map +1 -0
- package/es/core/application.d.ts +0 -6
- package/es/core/application.js.map +1 -1
- package/es/core/contributions/env/feishu-contribution.d.ts +1 -13
- package/es/core/contributions/env/feishu-contribution.js.map +1 -1
- package/es/core/contributions/env/lynx-contribution.d.ts +1 -13
- package/es/core/contributions/env/lynx-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/env/taro-contribution.d.ts +1 -30
- package/es/core/contributions/env/taro-contribution.js.map +1 -1
- package/es/core/contributions/index.d.ts +1 -1
- package/es/core/contributions/index.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +2 -4
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +2 -3
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/modules.d.ts +1 -1
- package/es/core/contributions/modules.js.map +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.d.ts +4 -3
- package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/es/core/contributions/textMeasure/layout.d.ts +4 -30
- package/es/core/contributions/textMeasure/layout.js.map +1 -1
- package/es/core/contributions/window/base-contribution.d.ts +3 -3
- package/es/core/contributions/window/base-contribution.js +3 -0
- package/es/core/contributions/window/base-contribution.js.map +1 -1
- package/es/core/contributions/window/browser-contribution.d.ts +2 -3
- 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.d.ts +2 -3
- 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.d.ts +2 -3
- 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/node-contribution.d.ts +2 -3
- package/es/core/contributions/window/node-contribution.js +1 -1
- package/es/core/contributions/window/node-contribution.js.map +1 -1
- package/es/core/contributions/window/taro-contribution.d.ts +2 -3
- 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 +2 -2
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global-module.d.ts +1 -1
- package/es/core/global-module.js +2 -2
- package/es/core/global-module.js.map +1 -1
- package/es/core/global.d.ts +4 -6
- package/es/core/global.js +3 -3
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +7 -7
- package/es/core/graphic-utils.js +2 -2
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/index.d.ts +1 -1
- package/es/core/index.js +1 -1
- package/es/core/index.js.map +1 -1
- package/es/core/layer-service.d.ts +2 -2
- package/es/core/layer-service.js +2 -2
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.d.ts +2 -32
- package/es/core/layer.js.map +1 -1
- package/es/core/stage.d.ts +27 -10
- package/es/core/stage.js +18 -12
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +3 -68
- package/es/core/window.js +2 -2
- package/es/core/window.js.map +1 -1
- package/es/event/event-manager.d.ts +2 -2
- package/es/event/event-manager.js.map +1 -1
- package/es/event/event-system.d.ts +1 -1
- package/es/event/event-system.js.map +1 -1
- package/es/event/event-target.d.ts +1 -1
- package/es/event/event-target.js.map +1 -1
- package/es/event/extension/drag.d.ts +1 -1
- package/es/event/extension/drag.js.map +1 -1
- package/es/event/extension/gesture.d.ts +3 -25
- package/es/event/extension/gesture.js.map +1 -1
- package/es/event/federated-event/base-event.d.ts +1 -1
- package/es/event/federated-event/base-event.js.map +1 -1
- package/es/event/index.d.ts +1 -1
- package/es/event/index.js +1 -1
- package/es/event/index.js.map +1 -1
- package/es/graphic/arc.d.ts +3 -3
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.d.ts +2 -2
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.d.ts +2 -2
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.d.ts +1 -1
- package/es/graphic/bounds.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow.d.ts +2 -3
- package/es/graphic/builtin-symbol/arrow.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-left.d.ts +2 -3
- package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-right.d.ts +2 -3
- package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/es/graphic/builtin-symbol/circle.d.ts +2 -3
- package/es/graphic/builtin-symbol/circle.js.map +1 -1
- package/es/graphic/builtin-symbol/cross.d.ts +2 -3
- package/es/graphic/builtin-symbol/cross.js.map +1 -1
- package/es/graphic/builtin-symbol/diamond.d.ts +2 -3
- package/es/graphic/builtin-symbol/diamond.js.map +1 -1
- package/es/graphic/builtin-symbol/index.d.ts +1 -2
- package/es/graphic/builtin-symbol/index.js +0 -2
- package/es/graphic/builtin-symbol/index.js.map +1 -1
- package/es/graphic/builtin-symbol/rect.d.ts +2 -3
- package/es/graphic/builtin-symbol/rect.js.map +1 -1
- package/es/graphic/builtin-symbol/square.d.ts +2 -3
- package/es/graphic/builtin-symbol/square.js.map +1 -1
- package/es/graphic/builtin-symbol/star.d.ts +2 -3
- package/es/graphic/builtin-symbol/star.js.map +1 -1
- package/es/graphic/builtin-symbol/stroke.d.ts +2 -3
- package/es/graphic/builtin-symbol/stroke.js.map +1 -1
- package/es/graphic/builtin-symbol/thin-triangle.d.ts +2 -3
- package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-down.d.ts +2 -3
- package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-left.d.ts +2 -3
- package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-right.d.ts +2 -3
- package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-up.d.ts +2 -3
- package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle.d.ts +1 -2
- package/es/graphic/builtin-symbol/triangle.js.map +1 -1
- package/es/graphic/builtin-symbol/utils.d.ts +2 -3
- package/es/graphic/builtin-symbol/utils.js.map +1 -1
- package/es/graphic/builtin-symbol/wedge.d.ts +2 -3
- package/es/graphic/builtin-symbol/wedge.js.map +1 -1
- package/es/graphic/builtin-symbol/wye.d.ts +2 -3
- package/es/graphic/builtin-symbol/wye.js.map +1 -1
- package/es/graphic/circle.d.ts +2 -2
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.d.ts +1 -1
- package/es/graphic/config.js +3 -2
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/glyph.d.ts +2 -2
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic-creator.d.ts +1 -1
- package/es/graphic/graphic-creator.js.map +1 -1
- package/es/graphic/graphic-service/arc-contribution.d.ts +1 -5
- package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
- package/es/graphic/graphic-service/area-contribution.d.ts +0 -5
- package/es/graphic/graphic-service/area-contribution.js.map +1 -1
- package/es/graphic/graphic-service/circle-contribution.d.ts +1 -5
- package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.d.ts +17 -23
- package/es/graphic/graphic-service/graphic-service.js +46 -29
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic-service/path-contribution.d.ts +1 -5
- package/es/graphic/graphic-service/path-contribution.js.map +1 -1
- package/es/graphic/graphic-service/rect-contribution.d.ts +1 -5
- package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
- package/es/graphic/graphic-service/symbol-contribution.d.ts +2 -5
- package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
- package/es/graphic/graphic.d.ts +5 -6
- package/es/graphic/graphic.js +1 -1
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.d.ts +3 -3
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.d.ts +2 -2
- package/es/graphic/image.js +2 -2
- package/es/graphic/image.js.map +1 -1
- package/es/graphic/line.d.ts +2 -2
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/node-tree.d.ts +3 -2
- package/es/graphic/node-tree.js +1 -1
- package/es/graphic/node-tree.js.map +1 -1
- package/es/graphic/path.d.ts +2 -2
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.d.ts +3 -3
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.d.ts +3 -3
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.d.ts +2 -2
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/rect3d.d.ts +1 -1
- package/es/graphic/rect3d.js.map +1 -1
- package/es/graphic/richtext/wrapper.d.ts +2 -2
- package/es/graphic/richtext/wrapper.js +2 -2
- package/es/graphic/richtext/wrapper.js.map +1 -1
- package/es/graphic/richtext.d.ts +2 -2
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/shadow-root.d.ts +2 -2
- package/es/graphic/shadow-root.js.map +1 -1
- package/es/graphic/symbol.d.ts +2 -3
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.d.ts +2 -3
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/theme.d.ts +1 -1
- package/es/graphic/theme.js.map +1 -1
- package/es/graphic/tools.d.ts +3 -3
- package/es/graphic/tools.js +2 -2
- package/es/graphic/tools.js.map +1 -1
- package/es/graphic/wrap-text.d.ts +1 -1
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/{allocator/interface.d.ts → interface/allocator.d.ts} +12 -1
- package/es/interface/allocator.js +2 -0
- package/es/interface/allocator.js.map +1 -0
- package/es/interface/animate.d.ts +36 -1
- package/es/interface/animate.js.map +1 -1
- package/es/interface/canvas.d.ts +7 -1
- package/es/interface/canvas.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 +6 -6
- package/es/interface/context.js.map +1 -1
- package/es/interface/contribution.d.ts +105 -1
- package/es/interface/contribution.js.map +1 -1
- package/{cjs/core/interface.d.ts → es/interface/core.d.ts} +8 -3
- package/es/interface/core.js +2 -0
- package/es/interface/core.js.map +1 -0
- package/es/interface/creator.d.ts +2 -2
- package/es/interface/creator.js.map +1 -1
- package/es/interface/event.d.ts +193 -0
- package/es/interface/event.js +2 -0
- package/es/interface/event.js.map +1 -0
- package/es/interface/global.d.ts +6 -8
- package/es/interface/global.js +1 -3
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic/arc.d.ts +1 -1
- package/es/interface/graphic/arc.js.map +1 -1
- package/es/interface/graphic/arc3d.d.ts +2 -1
- package/es/interface/graphic/arc3d.js.map +1 -1
- package/es/interface/graphic/creator.d.ts +16 -16
- package/es/interface/graphic/creator.js.map +1 -1
- package/es/interface/graphic/group.d.ts +2 -1
- package/es/interface/graphic/group.js.map +1 -1
- package/es/interface/graphic/image.d.ts +1 -1
- package/es/interface/graphic/image.js.map +1 -1
- package/es/interface/graphic/index.d.ts +24 -0
- package/es/interface/graphic/index.js +48 -0
- package/es/interface/graphic/index.js.map +1 -1
- package/es/interface/graphic/line.d.ts +1 -1
- package/es/interface/graphic/line.js.map +1 -1
- package/es/interface/graphic/rect.d.ts +1 -1
- package/es/interface/graphic/rect.js.map +1 -1
- package/es/interface/graphic/rect3d.d.ts +2 -1
- package/es/interface/graphic/rect3d.js.map +1 -1
- package/es/interface/graphic/richText.d.ts +90 -2
- package/es/interface/graphic/richText.js.map +1 -1
- package/es/interface/graphic/symbol.d.ts +10 -1
- package/es/interface/graphic/symbol.js.map +1 -1
- package/es/interface/graphic/text.d.ts +25 -1
- package/es/interface/graphic/text.js.map +1 -1
- package/es/interface/graphic-service.d.ts +30 -10
- package/es/interface/graphic-service.js.map +1 -1
- package/es/interface/graphic.d.ts +1 -0
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/index.d.ts +11 -18
- package/es/interface/index.js +22 -36
- package/es/interface/index.js.map +1 -1
- package/es/interface/layer.d.ts +37 -6
- package/es/interface/layer.js.map +1 -1
- package/es/interface/light.d.ts +1 -1
- package/es/interface/light.js.map +1 -1
- package/es/interface/loader.d.ts +17 -0
- package/es/interface/loader.js +2 -0
- package/es/interface/loader.js.map +1 -0
- package/es/interface/node-tree.d.ts +1 -1
- package/es/interface/node-tree.js.map +1 -1
- package/es/interface/path.d.ts +1 -1
- package/es/interface/path.js.map +1 -1
- package/es/interface/picker.d.ts +48 -0
- package/es/interface/picker.js +2 -0
- package/es/interface/picker.js.map +1 -0
- package/es/interface/plugin.d.ts +15 -0
- package/es/interface/plugin.js +2 -0
- package/es/interface/plugin.js.map +1 -0
- package/es/interface/render.d.ts +89 -0
- package/es/interface/render.js +2 -0
- package/es/interface/render.js.map +1 -0
- package/es/interface/stage.d.ts +25 -18
- package/es/interface/stage.js.map +1 -1
- package/es/interface/sync-hook.d.ts +26 -0
- package/es/interface/sync-hook.js +2 -0
- package/es/interface/sync-hook.js.map +1 -0
- package/es/{core/contributions/textMeasure/ITextMeasure.d.ts → interface/text.d.ts} +2 -2
- package/es/interface/text.js +2 -0
- package/es/interface/text.js.map +1 -0
- package/es/interface/theme-service.js.map +1 -0
- package/es/interface/window.d.ts +72 -0
- package/es/interface/window.js +2 -0
- package/es/interface/window.js.map +1 -0
- package/es/modules.d.ts +2 -3
- package/es/modules.js +2 -2
- package/es/modules.js.map +1 -1
- package/es/picker/canvas-picker-service.d.ts +6 -9
- package/es/picker/canvas-picker-service.js +2 -2
- package/es/picker/canvas-picker-service.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc3d-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/area-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/base-picker.d.ts +1 -1
- package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/circle-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/image-picker.d.ts +2 -3
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/line-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/path-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/path-picker.js +3 -1
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/polygon-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect3d-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/richtext-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/symbol-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/text-picker.d.ts +2 -4
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/arc-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/area-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/circle-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/line-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/path-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/polygon-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/rect-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/symbol-picker.d.ts +2 -4
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/text-picker.d.ts +2 -3
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/es/picker/global-picker-service.d.ts +2 -9
- package/es/picker/global-picker-service.js +1 -1
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/math-picker-service.d.ts +6 -8
- package/es/picker/math-picker-service.js +2 -2
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/picker/pick-interceptor.d.ts +2 -12
- package/es/picker/pick-interceptor.js.map +1 -1
- package/es/picker/picker-service.d.ts +4 -33
- package/es/picker/picker-service.js +2 -2
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/builtin-plugin/3dview-transform-plugin.d.ts +1 -2
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.d.ts +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.d.ts +1 -3
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/plugin-service.d.ts +1 -14
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/render/contributions/render/arc-render.d.ts +3 -7
- package/es/render/contributions/render/arc-render.js +1 -1
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-render.d.ts +1 -3
- package/es/render/contributions/render/arc3d-render.js.map +1 -1
- package/es/render/contributions/render/area-render.d.ts +3 -7
- package/es/render/contributions/render/area-render.js +1 -1
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.d.ts +2 -2
- 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 +3 -7
- package/es/render/contributions/render/circle-render.js +1 -1
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/area-contribution-render.d.ts +3 -7
- 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.d.ts +2 -10
- package/es/render/contributions/render/contributions/base-contribution-render.js +1 -6
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/circle-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/group-contribution-render.d.ts +3 -8
- package/es/render/contributions/render/contributions/group-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/image-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/image-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/path-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/path-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/polygon-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +3 -8
- package/es/render/contributions/render/contributions/rect-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +3 -5
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +3 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +6 -11
- package/es/render/contributions/render/draw-contribution.js +4 -2
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.d.ts +1 -8
- package/es/render/contributions/render/draw-interceptor.js +1 -1
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-render.d.ts +1 -3
- package/es/render/contributions/render/glyph-render.js.map +1 -1
- package/es/render/contributions/render/graphic-render.d.ts +1 -17
- package/es/render/contributions/render/graphic-render.js.map +1 -1
- package/es/render/contributions/render/group-render.d.ts +3 -7
- package/es/render/contributions/render/group-render.js +2 -2
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-render.d.ts +3 -7
- package/es/render/contributions/render/image-render.js +12 -4
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/incremental-area-render.d.ts +1 -3
- package/es/render/contributions/render/incremental-area-render.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.d.ts +5 -10
- package/es/render/contributions/render/incremental-draw-contribution.js +2 -2
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/render/contributions/render/incremental-line-render.d.ts +1 -3
- package/es/render/contributions/render/incremental-line-render.js.map +1 -1
- package/es/render/contributions/render/line-render.d.ts +1 -3
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/path-render.d.ts +3 -7
- package/es/render/contributions/render/path-render.js +1 -1
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.d.ts +3 -7
- package/es/render/contributions/render/polygon-render.js +1 -1
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-render.d.ts +1 -3
- package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.d.ts +3 -7
- package/es/render/contributions/render/rect-render.js +1 -1
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-render.d.ts +1 -3
- package/es/render/contributions/render/rect3d-render.js.map +1 -1
- package/es/render/contributions/render/render-slector.d.ts +1 -5
- package/es/render/contributions/render/render-slector.js.map +1 -1
- package/es/render/contributions/render/richtext-render.d.ts +1 -3
- package/es/render/contributions/render/richtext-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.d.ts +3 -7
- package/es/render/contributions/render/symbol-render.js +1 -1
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/text-render.d.ts +2 -4
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/contributions/render/utils.d.ts +1 -3
- package/es/render/contributions/render/utils.js.map +1 -1
- package/es/render/render-service.d.ts +2 -56
- package/es/render/render-service.js.map +1 -1
- package/es/resource-loader/loader.d.ts +2 -20
- package/es/resource-loader/loader.js.map +1 -1
- package/es/tapable/Hook.d.ts +5 -22
- package/es/tapable/Hook.js.map +1 -1
- package/es/tapable/SyncHook.d.ts +3 -2
- package/es/tapable/SyncHook.js.map +1 -1
- package/es/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/cjs/allocator/interface.js.map +0 -1
- package/cjs/animate/Ticker/interface.d.ts +0 -12
- package/cjs/animate/Ticker/interface.js.map +0 -1
- package/cjs/canvas/interface.d.ts +0 -9
- package/cjs/canvas/interface.js.map +0 -1
- package/cjs/core/contributions/interface.d.ts +0 -3
- package/cjs/core/contributions/interface.js.map +0 -1
- package/cjs/core/contributions/textMeasure/ITextMeasure.js +0 -6
- package/cjs/core/contributions/textMeasure/ITextMeasure.js.map +0 -1
- package/cjs/core/interface.js.map +0 -1
- package/cjs/event/interface.d.ts +0 -26
- package/cjs/event/interface.js +0 -6
- package/cjs/event/interface.js.map +0 -1
- package/cjs/event/type.d.ts +0 -24
- package/cjs/event/type.js.map +0 -1
- package/cjs/graphic/builtin-symbol/interface.d.ts +0 -10
- package/cjs/graphic/builtin-symbol/interface.js +0 -6
- package/cjs/graphic/builtin-symbol/interface.js.map +0 -1
- package/cjs/graphic/graphic-service/theme-service.js.map +0 -1
- package/cjs/picker/type.d.ts +0 -5
- package/cjs/picker/type.js.map +0 -1
- package/cjs/plugins/interface.d.ts +0 -1
- package/cjs/plugins/interface.js +0 -3
- package/cjs/plugins/interface.js.map +0 -1
- package/cjs/render/contributions/interface.d.ts +0 -3
- package/cjs/render/contributions/interface.js +0 -6
- package/cjs/render/contributions/interface.js.map +0 -1
- package/cjs/tapable/interface.d.ts +0 -1
- package/cjs/tapable/interface.js +0 -3
- package/cjs/tapable/interface.js.map +0 -1
- package/es/allocator/interface.js +0 -2
- package/es/allocator/interface.js.map +0 -1
- package/es/animate/Ticker/interface.d.ts +0 -12
- package/es/animate/Ticker/interface.js +0 -2
- package/es/animate/Ticker/interface.js.map +0 -1
- package/es/canvas/interface.d.ts +0 -9
- package/es/canvas/interface.js.map +0 -1
- package/es/core/contributions/interface.d.ts +0 -3
- package/es/core/contributions/interface.js +0 -2
- package/es/core/contributions/interface.js.map +0 -1
- package/es/core/contributions/textMeasure/ITextMeasure.js +0 -2
- package/es/core/contributions/textMeasure/ITextMeasure.js.map +0 -1
- package/es/core/interface.js +0 -2
- package/es/core/interface.js.map +0 -1
- package/es/event/interface.d.ts +0 -26
- package/es/event/interface.js +0 -2
- package/es/event/interface.js.map +0 -1
- package/es/event/type.d.ts +0 -24
- package/es/event/type.js +0 -2
- package/es/event/type.js.map +0 -1
- package/es/graphic/builtin-symbol/interface.d.ts +0 -10
- package/es/graphic/builtin-symbol/interface.js +0 -2
- package/es/graphic/builtin-symbol/interface.js.map +0 -1
- package/es/graphic/graphic-service/theme-service.js.map +0 -1
- package/es/picker/type.d.ts +0 -5
- package/es/picker/type.js +0 -2
- package/es/picker/type.js.map +0 -1
- package/es/plugins/interface.d.ts +0 -1
- package/es/plugins/interface.js +0 -3
- package/es/plugins/interface.js.map +0 -1
- package/es/render/contributions/interface.d.ts +0 -3
- package/es/render/contributions/interface.js +0 -2
- package/es/render/contributions/interface.js.map +0 -1
- package/es/tapable/interface.d.ts +0 -1
- package/es/tapable/interface.js +0 -3
- package/es/tapable/interface.js.map +0 -1
- /package/cjs/{graphic/graphic-service → interface}/theme-service.d.ts +0 -0
- /package/cjs/{graphic/graphic-service → interface}/theme-service.js +0 -0
- /package/es/{graphic/graphic-service → interface}/theme-service.d.ts +0 -0
- /package/es/{graphic/graphic-service → interface}/theme-service.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/node-tree.ts"],"names":[],"mappings":"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","file":"node-tree.js","sourcesContent":["import { Dict, EventEmitter, isBoolean, isFunction, isObject, LooseFunction } from '@visactor/vutils';\nimport { Generator } from '../common/generator';\nimport { INode, IGroup } from '../interface';\n\nexport class Node extends EventEmitter<any, any> implements INode {\n parent: any;\n declare name: string;\n declare id: string | number;\n\n declare _uid: number;\n _prev?: INode;\n _next?: INode;\n protected _firstChild: INode | null;\n protected _lastChild: INode | null;\n protected _idMap?: Map<number, INode>;\n protected _count: number;\n // protected _dirty?: boolean; // dirty表示属性是否有修改\n protected _structEdit?: boolean; // 树的结构是否发生修改\n protected _nodeList?: INode[]; // 用于有顺序的插入(正常情况用不到)\n\n get previousSibling(): INode | null {\n return this._prev;\n }\n\n get nextSibling(): INode | null {\n return this._next;\n }\n\n get children(): INode[] {\n return this.getChildren();\n }\n get firstChild(): INode | null {\n return this._firstChild;\n }\n get lastChild(): INode | null {\n return this._lastChild;\n }\n get count(): number {\n return this._count;\n }\n get childrenCount(): number {\n if (!this._idMap) {\n return 0;\n }\n return this._idMap.size;\n }\n // get dirty(): boolean {\n // return !!this._dirty;\n // }\n\n constructor() {\n super();\n this._uid = Generator.GenAutoIncrementId();\n this._firstChild = null;\n this._lastChild = null;\n this.parent = null;\n this._count = 1;\n }\n\n forEachChildren<T extends INode = INode>(cb: (item: T, index: number) => void | boolean, reverse: boolean = false) {\n if (reverse) {\n let child = this._lastChild;\n let i = 0;\n while (child) {\n const breakTag = cb(child as T, i++);\n if (breakTag) {\n return;\n }\n child = child._prev;\n }\n } else {\n let child = this._firstChild;\n let i = 0;\n while (child) {\n const breakTag = cb(child as T, i++);\n if (breakTag) {\n return;\n }\n child = child._next;\n }\n }\n }\n\n async forEachChildrenAsync<T extends INode = INode>(\n cb: (item: T, index: number) => Promise<void | boolean> | void | boolean,\n reverse: boolean = false\n ) {\n if (reverse) {\n let child = this._lastChild;\n let i = 0;\n while (child) {\n let breakTag = cb(child as T, i++);\n if ((breakTag as any).then) {\n breakTag = await breakTag;\n }\n if (breakTag) {\n return;\n }\n child = child._prev;\n }\n } else {\n let child = this._firstChild;\n let i = 0;\n while (child) {\n let breakTag = cb(child as T, i++);\n if ((breakTag as any).then) {\n breakTag = await breakTag;\n }\n if (breakTag) {\n return;\n }\n child = child._next;\n }\n }\n }\n\n forEach<T extends INode = INode>(cb: (item: T, index: number) => void): void {\n return this.forEachChildren<T>(cb);\n }\n\n /**\n * 方法将一个节点附加到指定父节点的子节点列表的末尾处。\n * 如果将被插入的节点已经存在于当前文档的文档树中,那么 appendChild() 只会将它从原先的位置移动到新的位置(不需要事先移除要移动的节点)。\n * 不能append父级元素\n * @param node 要插入的节点\n */\n appendChild(node: INode): INode | null {\n if (this._uid === node._uid) {\n return null;\n }\n if (node.isAncestorsOf(this)) {\n throw new Error('【Node::appendChild】不能将父辈元素append为子元素');\n }\n\n // 清理该节点的上次关系\n node.parent && node.parent.removeChild(node);\n node.parent = this as unknown as Node;\n\n if (!this._lastChild) {\n this._firstChild = this._lastChild = node;\n node._prev = node._next = null;\n } else {\n this._lastChild._next = node;\n node._prev = this._lastChild;\n this._lastChild = node;\n }\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(node._uid, node);\n\n this.setCount(node.count);\n\n this._structEdit = true;\n return node;\n }\n\n /**\n * 方法将一个节点数组附加到指定父节点的子节点列表的末尾处。\n * 不会判断元素是否是自身以及是否是父元素或者是否是其他节点的子元素\n * @param nodes 要插入的节点数组\n */\n appendChildArrHighPerformance(nodes: INode[], replace: boolean = false): INode[] | null {\n console.error('暂不支持该函数');\n\n return nodes;\n }\n\n /**\n * 方法在参考节点之前插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertBefore() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之前\n */\n insertBefore(newNode: INode, referenceNode: INode): INode | null {\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertBefore】不能将父辈元素insert为子元素');\n }\n if (referenceNode.parent !== (this as unknown as Node)) {\n return null;\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n newNode._prev = referenceNode._prev;\n if (!referenceNode._prev) {\n this._firstChild = newNode;\n } else {\n referenceNode._prev._next = newNode;\n }\n referenceNode._prev = newNode;\n newNode._next = referenceNode;\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 方法在参考节点之后插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertAfter() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之后\n */\n insertAfter(newNode: INode, referenceNode: INode): INode | null {\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertAfter】不能将父辈元素insert为子元素');\n }\n if (referenceNode.parent !== (this as unknown as Node)) {\n return null;\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n if (!referenceNode._next) {\n this._lastChild = newNode;\n } else {\n referenceNode._next._prev = newNode;\n newNode._next = referenceNode._next;\n }\n referenceNode._next = newNode;\n newNode._prev = referenceNode;\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 方法在参考节点之前插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertBefore() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之前\n */\n insertInto(newNode: INode, idx: number): INode | null {\n if (idx >= this.childrenCount) {\n return this.appendChild(newNode);\n }\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertBefore】不能将父辈元素insert为子元素');\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n if (idx === 0) {\n newNode._next = this._firstChild;\n this._firstChild && (this._firstChild._prev = newNode);\n newNode._prev = null;\n this._firstChild = newNode;\n } else {\n let child = this._firstChild;\n for (let i = 0; i < idx; i++) {\n if (!child) {\n return null;\n }\n if (i > 0) {\n child = child._next;\n }\n }\n if (!child) {\n return null;\n }\n newNode._next = child._next;\n newNode._prev = child;\n child._next = newNode;\n if (newNode._next) {\n newNode._next._prev = newNode;\n }\n }\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n // // 预期不会执行\n // if (idx === this.childrenCount) {\n // this._lastChild = newNode;\n // }\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 相比于insertInto,会保持idx顺序,举例:\n * 先插入idx:6的元素,再插入idx:2的元素,此时idx:2的元素会放置在idx为6的元素之前\n */\n insertIntoKeepIdx(newNode: INode, idx: number): INode | null {\n if (!this._nodeList) {\n this._nodeList = this.children;\n }\n // 如果这个位置有了,那就将这个位置之前的元素向后移动\n if (this._nodeList[idx]) {\n const node = this._nodeList[idx];\n this._nodeList.splice(idx, 0, newNode);\n return this.insertBefore(newNode, node);\n }\n // 查找idx之前的元素,插入到其后面\n this._nodeList[idx] = newNode;\n let node: INode | undefined;\n for (let i = idx - 1; i >= 0; i--) {\n node = this._nodeList[i];\n if (node) {\n break;\n }\n }\n if (node) {\n return node._next ? this.insertBefore(newNode, node._next) : this.appendChild(newNode);\n }\n return this.insertInto(newNode, 0);\n }\n\n /**\n * 方法从DOM中删除一个子节点。返回删除的节点。\n * @param child 要删除的子节点\n */\n removeChild(child: INode): INode | null {\n if (!this._idMap) {\n return null;\n }\n if (!this._idMap.has(child._uid)) {\n return null;\n }\n this._idMap.delete(child._uid);\n if (this._nodeList) {\n // 找到idx\n const idx = this._nodeList.findIndex(n => n === child);\n if (idx > 0) {\n this._nodeList.splice(idx, 1);\n }\n }\n\n if (!child._prev) {\n this._firstChild = child._next;\n } else {\n child._prev._next = child._next;\n }\n if (child._next) {\n child._next._prev = child._prev;\n } else {\n this._lastChild = child._prev;\n }\n\n // 重置属性\n child.parent = null;\n child._prev = null;\n child._next = null;\n\n this._structEdit = true;\n this.setCount(-child.count);\n\n return child;\n }\n\n /**\n * 从当前节点的父节点删除当前节点\n */\n delete() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n }\n\n /**\n * 删除所有的孩子节点\n */\n removeAllChild() {\n if (!this._idMap) {\n return;\n }\n let child = this._firstChild;\n while (child) {\n child.parent = null;\n // child._rootNode = child;\n child._prev = null;\n child._next = null;\n child = child._next;\n }\n\n this._firstChild = null;\n this._lastChild = null;\n this._idMap.clear();\n\n this._structEdit = true;\n this.setCount(-this._count + 1);\n }\n\n /**\n * 方法用指定的节点替换当前节点的一个子节点,并返回被替换掉的节点。\n * 如果该节点已经存在于DOM树中,则它首先会被从原始位置删除。\n * 不能replace父级元素\n * @param newChild 新节点\n * @param oldChild 旧节点\n */\n replaceChild(newChild: INode, oldChild: INode): INode | null {\n throw new Error('暂不支持');\n }\n\n /**\n * 根据自定义逻辑查找元素,返回单一图形元素\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素\n */\n find<T extends INode = INode>(callback: (node: T, index: number) => boolean, deep: boolean = false): T | null {\n let target: T | null = null;\n this.forEachChildren((node: T, index: number) => {\n if (node !== (this as unknown as INode) && callback(node, index)) {\n target = node;\n return true; // 提前退出循环\n }\n return false;\n });\n\n if (deep) {\n this.forEachChildren(child => {\n if ((child as IGroup).isContainer) {\n const node = (child as IGroup).find(callback, true) as T;\n if (node) {\n target = node;\n return true; // 提前退出循环\n }\n }\n return false;\n });\n }\n\n return target;\n }\n\n /**\n * 根据自定义逻辑查找元素,返回匹配的元素集合\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素集合\n */\n findAll<T extends INode = INode>(callback: (node: T, index: number) => boolean, deep: boolean = false): T[] {\n let nodes: T[] = [];\n this.forEachChildren((node: T, index) => {\n if (node !== (this as unknown as INode) && callback(node, index)) {\n nodes.push(node);\n }\n });\n\n if (deep) {\n this.forEachChildren(child => {\n if ((child as IGroup).isContainer) {\n const targets = (child as IGroup).findAll(callback, true) as T[];\n if (targets.length) {\n nodes = nodes.concat(targets);\n }\n }\n });\n }\n return nodes;\n }\n\n /**\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n getElementById(id: string | number): INode | null {\n return this.find(node => node.id === id, true);\n }\n\n /**\n * @alias getElementById\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n findChildById(id: string | number): INode | null {\n return this.getElementById(id);\n }\n\n /**\n * 通过内部生成的节点 id:_uid 查找对应的图形元素\n * @param id 子节点的key\n */\n findChildByUid(uid: number): INode | null {\n if (!this._idMap) {\n return null;\n }\n return this._idMap.get(uid) || null;\n }\n\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByName(name: string) {\n return this.findAll(node => node.name === name, true);\n }\n\n /**\n * @alias getElementsByName\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n findChildrenByName(name: string) {\n return this.getElementsByName(name);\n }\n /**\n * 根据用户传入的 type 查找元素,返回匹配的元素集合\n * @param type 用户设置的图形类型\n * @returns 匹配 type 的元素集合\n */\n getElementsByType(type: string) {\n return this.findAll(node => node.type === type, true);\n }\n\n /**\n * 根据名字查找元素,只返回第一个查找到的元素\n * @deprecated 待 vis-component & chartspace 修改之后删除\n * @param name\n * @param deep\n * @returns\n */\n getChildByName(name: string, deep: boolean = false) {\n return this.find(node => node.name === name, deep);\n }\n\n getChildAt(idx: number): INode | null {\n let c = this._firstChild;\n if (!c) {\n return null;\n }\n for (let i = 0; i < idx; i++) {\n if (!c._next) {\n return null;\n }\n c = c._next;\n }\n return c;\n }\n\n at(idx: number): INode | null {\n return this.getChildAt(idx);\n }\n\n /**\n * 返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。\n * @param node 判断是否包含的节点\n */\n containNode(node: INode): boolean {\n if (!this._idMap) {\n return false;\n }\n if (this._idMap.has(node._uid)) {\n return true;\n }\n let child = this._firstChild;\n while (child) {\n if (child.containNode(node)) {\n return true;\n }\n child = child._next;\n }\n return false;\n }\n\n /**\n * 方法返回上下文中的根节点,不常用\n */\n getRootNode(): INode {\n let parent = this.parent;\n while (parent?.parent) {\n parent = parent.parent;\n }\n return parent || this;\n }\n\n /**\n * 方法返回一个布尔值,表明当前节点是否包含有子节点.\n */\n hasChildNodes(): boolean {\n return this._firstChild !== null;\n }\n\n /* 语法糖 */\n addChild(node: INode): INode | null {\n return this.appendChild(node);\n }\n add(node: INode): INode | null {\n return this.appendChild(node);\n }\n getChildren(): INode[] {\n const nodes: INode[] = [];\n let child = this._firstChild;\n while (child) {\n nodes.push(child);\n child = child._next;\n }\n return nodes;\n }\n\n /**\n * 判断该节点是否是node的子节点\n * @param node\n */\n isChildOf(node: INode): boolean {\n if (!this.parent) {\n return false;\n }\n return this.parent._uid === node._uid;\n }\n\n /**\n * 判断该节点是否是node的父节点\n * @param node\n */\n isParentOf(node: INode): boolean {\n return node.isChildOf(this);\n }\n\n /**\n * 判断节点是否是node的后代节点\n * @param node\n */\n isDescendantsOf(node: INode): boolean {\n let parent = this.parent;\n if (!parent) {\n return false;\n }\n do {\n if (parent._uid === node._uid) {\n return true;\n }\n parent = parent.parent;\n } while (parent !== null);\n\n return false;\n }\n\n /**\n * 判断节点是否是node的祖先节点\n * @param node\n */\n isAncestorsOf(node: INode): boolean {\n return node.isDescendantsOf(this);\n }\n\n getAncestor(idx: number): INode {\n throw new Error('暂不支持');\n }\n\n /**\n * 设置该节点的所有后代节点某个属性\n * @param propsName 属性名\n * @param propsValue 属性值\n */\n setAllDescendantsProps(propsName: string, propsValue: any) {\n let child = this._firstChild;\n while (child) {\n child[propsName] = propsValue;\n child.setAllDescendantsProps(propsName, propsValue);\n child = child._next;\n }\n }\n /**\n * 设置当前节点的count属性,会更改父节点的count属性\n * @param deltaCount delta count\n */\n private setCount(deltaCount: number): void {\n this._count += deltaCount;\n let parent = this.parent;\n if (!parent) {\n return;\n }\n do {\n parent._count += deltaCount;\n parent = parent.parent;\n } while (parent !== null);\n }\n\n clone(): INode {\n throw new Error('暂不支持');\n }\n\n /**\n * clone to node\n * @param node\n */\n cloneTo(node: INode): void {\n throw new Error('暂不支持');\n }\n\n /***************语法糖***************/\n getParent(): INode | null {\n return this.parent;\n }\n\n del(child: INode): INode | null {\n return this.removeChild(child);\n }\n\n // 事件相关别名\n /**\n * @alias on\n * @param type\n * @param listener\n * @param options\n */\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n const capture =\n (isBoolean(options, true) && options) || (isObject(options) && (options as AddEventListenerOptions).capture);\n const once = isObject(options) && (options as AddEventListenerOptions).once;\n const context = isFunction(listener) ? undefined : listener;\n\n type = capture ? `${type}capture` : type;\n listener = isFunction(listener) ? (listener as LooseFunction) : (listener as EventListenerObject).handleEvent;\n\n if (once) {\n super.once(type, listener, context);\n } else {\n super.on(type, listener, context);\n }\n return this;\n }\n\n on(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n return this.addEventListener(type, listener, options);\n }\n\n /**\n * @alias off\n * @param type\n * @param listener\n * @param options\n * @returns\n */\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n const capture =\n (isBoolean(options, true) && options) || (isObject(options) && (options as AddEventListenerOptions).capture);\n const context = isFunction(listener) ? undefined : listener;\n\n type = capture ? `${type}capture` : type;\n listener = isFunction(listener) ? (listener as LooseFunction) : (listener as EventListenerObject).handleEvent;\n\n const once = isObject(options) && (options as AddEventListenerOptions).once;\n super.off(type, listener, context, once);\n\n return this;\n }\n\n /**\n * @alias off\n * @param type\n * @param listener\n * @param options\n * @returns\n */\n off(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n return this.removeEventListener(type, listener, options);\n }\n\n once(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n if (isObject(options)) {\n options.once = true;\n return this.addEventListener(type, listener, options);\n }\n return this.addEventListener(type, listener, { once: true });\n }\n\n removeAllEventListeners() {\n super.removeAllListeners();\n return this;\n }\n\n removeAllListeners(): this {\n return this.removeAllEventListeners();\n }\n\n dispatchEvent(event: any, ...args: any) {\n super.emit(event.type, event, ...args);\n return !event.defaultPrevented;\n }\n\n emit(event: any, data?: Dict<any>) {\n return this.dispatchEvent(event, data);\n }\n\n release() {\n // 卸载事件\n this.removeAllListeners();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/node-tree.ts"],"names":[],"mappings":"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","file":"node-tree.js","sourcesContent":["import type { Dict, LooseFunction } from '@visactor/vutils';\nimport { EventEmitter, isBoolean, isFunction, isObject } from '@visactor/vutils';\nimport { Generator } from '../common/generator';\nimport type { INode, IGroup } from '../interface';\n\nexport class Node extends EventEmitter<any, any> implements INode {\n parent: any;\n declare name: string;\n declare id: string | number;\n\n declare _uid: number;\n _prev?: INode;\n _next?: INode;\n protected _firstChild: INode | null;\n protected _lastChild: INode | null;\n protected _idMap?: Map<number, INode>;\n protected _count: number;\n // protected _dirty?: boolean; // dirty表示属性是否有修改\n protected _structEdit?: boolean; // 树的结构是否发生修改\n protected _nodeList?: INode[]; // 用于有顺序的插入(正常情况用不到)\n\n get previousSibling(): INode | null {\n return this._prev;\n }\n\n get nextSibling(): INode | null {\n return this._next;\n }\n\n get children(): INode[] {\n return this.getChildren();\n }\n get firstChild(): INode | null {\n return this._firstChild;\n }\n get lastChild(): INode | null {\n return this._lastChild;\n }\n get count(): number {\n return this._count;\n }\n get childrenCount(): number {\n if (!this._idMap) {\n return 0;\n }\n return this._idMap.size;\n }\n // get dirty(): boolean {\n // return !!this._dirty;\n // }\n\n constructor() {\n super();\n this._uid = Generator.GenAutoIncrementId();\n this._firstChild = null;\n this._lastChild = null;\n this.parent = null;\n this._count = 1;\n }\n\n forEachChildren<T extends INode = INode>(cb: (item: T, index: number) => void | boolean, reverse: boolean = false) {\n if (reverse) {\n let child = this._lastChild;\n let i = 0;\n while (child) {\n const breakTag = cb(child as T, i++);\n if (breakTag) {\n return;\n }\n child = child._prev;\n }\n } else {\n let child = this._firstChild;\n let i = 0;\n while (child) {\n const breakTag = cb(child as T, i++);\n if (breakTag) {\n return;\n }\n child = child._next;\n }\n }\n }\n\n async forEachChildrenAsync<T extends INode = INode>(\n cb: (item: T, index: number) => Promise<void | boolean> | void | boolean,\n reverse: boolean = false\n ) {\n if (reverse) {\n let child = this._lastChild;\n let i = 0;\n while (child) {\n let breakTag = cb(child as T, i++);\n if ((breakTag as any).then) {\n breakTag = await breakTag;\n }\n if (breakTag) {\n return;\n }\n child = child._prev;\n }\n } else {\n let child = this._firstChild;\n let i = 0;\n while (child) {\n let breakTag = cb(child as T, i++);\n if ((breakTag as any).then) {\n breakTag = await breakTag;\n }\n if (breakTag) {\n return;\n }\n child = child._next;\n }\n }\n }\n\n forEach<T extends INode = INode>(cb: (item: T, index: number) => void): void {\n return this.forEachChildren<T>(cb);\n }\n\n /**\n * 方法将一个节点附加到指定父节点的子节点列表的末尾处。\n * 如果将被插入的节点已经存在于当前文档的文档树中,那么 appendChild() 只会将它从原先的位置移动到新的位置(不需要事先移除要移动的节点)。\n * 不能append父级元素\n * @param node 要插入的节点\n */\n appendChild(node: INode): INode | null {\n if (this._uid === node._uid) {\n return null;\n }\n if (node.isAncestorsOf(this)) {\n throw new Error('【Node::appendChild】不能将父辈元素append为子元素');\n }\n\n // 清理该节点的上次关系\n node.parent && node.parent.removeChild(node);\n node.parent = this as unknown as Node;\n\n if (!this._lastChild) {\n this._firstChild = this._lastChild = node;\n node._prev = node._next = null;\n } else {\n this._lastChild._next = node;\n node._prev = this._lastChild;\n this._lastChild = node;\n }\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(node._uid, node);\n\n this.setCount(node.count);\n\n this._structEdit = true;\n return node;\n }\n\n /**\n * 方法将一个节点数组附加到指定父节点的子节点列表的末尾处。\n * 不会判断元素是否是自身以及是否是父元素或者是否是其他节点的子元素\n * @param nodes 要插入的节点数组\n */\n appendChildArrHighPerformance(nodes: INode[], replace: boolean = false): INode[] | null {\n console.error('暂不支持该函数');\n\n return nodes;\n }\n\n /**\n * 方法在参考节点之前插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertBefore() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之前\n */\n insertBefore(newNode: INode, referenceNode: INode): INode | null {\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertBefore】不能将父辈元素insert为子元素');\n }\n if (referenceNode.parent !== (this as unknown as Node)) {\n return null;\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n newNode._prev = referenceNode._prev;\n if (!referenceNode._prev) {\n this._firstChild = newNode;\n } else {\n referenceNode._prev._next = newNode;\n }\n referenceNode._prev = newNode;\n newNode._next = referenceNode;\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 方法在参考节点之后插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertAfter() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之后\n */\n insertAfter(newNode: INode, referenceNode: INode): INode | null {\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertAfter】不能将父辈元素insert为子元素');\n }\n if (referenceNode.parent !== (this as unknown as Node)) {\n return null;\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n if (!referenceNode._next) {\n this._lastChild = newNode;\n } else {\n referenceNode._next._prev = newNode;\n newNode._next = referenceNode._next;\n }\n referenceNode._next = newNode;\n newNode._prev = referenceNode;\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 方法在参考节点之前插入一个拥有指定父节点的子节点。\n * 如果给定的子节点是对文档中现有节点的引用,\n * insertBefore() 会将其从当前位置移动到新位置(在将节点附加到其他节点之前,不需要从其父节点删除该节点)。\n * 不能insert父级元素\n * @param newNode 要插入的节点\n * @param referenceNode 插入到referenceNode之前\n */\n insertInto(newNode: INode, idx: number): INode | null {\n if (this._nodeList) {\n console.warn('insertIntoKeepIdx和insertInto混用可能会存在错误');\n }\n if (idx >= this.childrenCount) {\n return this.appendChild(newNode);\n }\n if (this._uid === newNode._uid) {\n return null;\n }\n if (newNode.isAncestorsOf(this)) {\n throw new Error('【Node::insertBefore】不能将父辈元素insert为子元素');\n }\n\n newNode.parent && newNode.parent.removeChild(newNode);\n newNode.parent = this as unknown as Node;\n\n if (idx === 0) {\n newNode._next = this._firstChild;\n this._firstChild && (this._firstChild._prev = newNode);\n newNode._prev = null;\n this._firstChild = newNode;\n } else {\n let child = this._firstChild;\n for (let i = 0; i < idx; i++) {\n if (!child) {\n return null;\n }\n if (i > 0) {\n child = child._next;\n }\n }\n if (!child) {\n return null;\n }\n newNode._next = child._next;\n newNode._prev = child;\n child._next = newNode;\n if (newNode._next) {\n newNode._next._prev = newNode;\n }\n }\n if (!this._idMap) {\n this._idMap = new Map();\n }\n this._idMap.set(newNode._uid, newNode);\n\n // // 预期不会执行\n // if (idx === this.childrenCount) {\n // this._lastChild = newNode;\n // }\n this._structEdit = true;\n this.setCount(newNode.count);\n\n return newNode;\n }\n\n /**\n * 相比于insertInto,会保持idx顺序,举例:\n * 先插入idx:6的元素,再插入idx:2的元素,此时idx:2的元素会放置在idx为6的元素之前\n */\n insertIntoKeepIdx(newNode: INode, idx: number): INode | null {\n if (!this._nodeList) {\n this._nodeList = this.children;\n }\n // 如果这个位置有了,那就将这个位置之前的元素向后移动\n if (this._nodeList[idx]) {\n const node = this._nodeList[idx];\n this._nodeList.splice(idx, 0, newNode);\n return this.insertBefore(newNode, node);\n }\n // 查找idx之前的元素,插入到其后面\n this._nodeList[idx] = newNode;\n let node: INode | undefined;\n for (let i = idx - 1; i >= 0; i--) {\n node = this._nodeList[i];\n if (node) {\n break;\n }\n }\n if (node) {\n return node._next ? this.insertBefore(newNode, node._next) : this.appendChild(newNode);\n }\n return this.insertInto(newNode, 0);\n }\n\n /**\n * 方法从DOM中删除一个子节点。返回删除的节点。\n * @param child 要删除的子节点\n */\n removeChild(child: INode): INode | null {\n if (!this._idMap) {\n return null;\n }\n if (!this._idMap.has(child._uid)) {\n return null;\n }\n this._idMap.delete(child._uid);\n if (this._nodeList) {\n // 找到idx\n const idx = this._nodeList.findIndex(n => n === child);\n if (idx > 0) {\n this._nodeList.splice(idx, 1);\n }\n }\n\n if (!child._prev) {\n this._firstChild = child._next;\n } else {\n child._prev._next = child._next;\n }\n if (child._next) {\n child._next._prev = child._prev;\n } else {\n this._lastChild = child._prev;\n }\n\n // 重置属性\n child.parent = null;\n child._prev = null;\n child._next = null;\n\n this._structEdit = true;\n this.setCount(-child.count);\n\n return child;\n }\n\n /**\n * 从当前节点的父节点删除当前节点\n */\n delete() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n }\n\n /**\n * 删除所有的孩子节点\n */\n removeAllChild() {\n if (!this._idMap) {\n return;\n }\n let child = this._firstChild;\n while (child) {\n child.parent = null;\n // child._rootNode = child;\n child._prev = null;\n child._next = null;\n child = child._next;\n }\n\n this._firstChild = null;\n this._lastChild = null;\n this._idMap.clear();\n\n this._structEdit = true;\n this.setCount(-this._count + 1);\n }\n\n /**\n * 方法用指定的节点替换当前节点的一个子节点,并返回被替换掉的节点。\n * 如果该节点已经存在于DOM树中,则它首先会被从原始位置删除。\n * 不能replace父级元素\n * @param newChild 新节点\n * @param oldChild 旧节点\n */\n replaceChild(newChild: INode, oldChild: INode): INode | null {\n throw new Error('暂不支持');\n }\n\n /**\n * 根据自定义逻辑查找元素,返回单一图形元素\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素\n */\n find<T extends INode = INode>(callback: (node: T, index: number) => boolean, deep: boolean = false): T | null {\n let target: T | null = null;\n this.forEachChildren((node: T, index: number) => {\n if (node !== (this as unknown as INode) && callback(node, index)) {\n target = node;\n return true; // 提前退出循环\n }\n return false;\n });\n\n if (deep) {\n this.forEachChildren(child => {\n if ((child as IGroup).isContainer) {\n const node = (child as IGroup).find(callback, true) as T;\n if (node) {\n target = node;\n return true; // 提前退出循环\n }\n }\n return false;\n });\n }\n\n return target;\n }\n\n /**\n * 根据自定义逻辑查找元素,返回匹配的元素集合\n * @param callback 自定义查找过滤器\n * @param deep 是否进行深度查找,默认为 false\n * @returns 返回匹配的图形元素集合\n */\n findAll<T extends INode = INode>(callback: (node: T, index: number) => boolean, deep: boolean = false): T[] {\n let nodes: T[] = [];\n this.forEachChildren((node: T, index) => {\n if (node !== (this as unknown as INode) && callback(node, index)) {\n nodes.push(node);\n }\n });\n\n if (deep) {\n this.forEachChildren(child => {\n if ((child as IGroup).isContainer) {\n const targets = (child as IGroup).findAll(callback, true) as T[];\n if (targets.length) {\n nodes = nodes.concat(targets);\n }\n }\n });\n }\n return nodes;\n }\n\n /**\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n getElementById(id: string | number): INode | null {\n return this.find(node => node.id === id, true);\n }\n\n /**\n * @alias getElementById\n * 通过用户设置的 id 查找对应的图形元素\n * @param id 子节点的 id\n */\n findChildById(id: string | number): INode | null {\n return this.getElementById(id);\n }\n\n /**\n * 通过内部生成的节点 id:_uid 查找对应的图形元素\n * @param id 子节点的key\n */\n findChildByUid(uid: number): INode | null {\n if (!this._idMap) {\n return null;\n }\n return this._idMap.get(uid) || null;\n }\n\n /**\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n getElementsByName(name: string) {\n return this.findAll(node => node.name === name, true);\n }\n\n /**\n * @alias getElementsByName\n * 根据用户传入的 name 查找元素,返回匹配的元素集合\n * @param name 用户设置的图形名称\n * @returns 匹配 name 的元素集合\n */\n findChildrenByName(name: string) {\n return this.getElementsByName(name);\n }\n /**\n * 根据用户传入的 type 查找元素,返回匹配的元素集合\n * @param type 用户设置的图形类型\n * @returns 匹配 type 的元素集合\n */\n getElementsByType(type: string) {\n return this.findAll(node => node.type === type, true);\n }\n\n /**\n * 根据名字查找元素,只返回第一个查找到的元素\n * @deprecated 待 vis-component & chartspace 修改之后删除\n * @param name\n * @param deep\n * @returns\n */\n getChildByName(name: string, deep: boolean = false) {\n return this.find(node => node.name === name, deep);\n }\n\n getChildAt(idx: number): INode | null {\n let c = this._firstChild;\n if (!c) {\n return null;\n }\n for (let i = 0; i < idx; i++) {\n if (!c._next) {\n return null;\n }\n c = c._next;\n }\n return c;\n }\n\n at(idx: number): INode | null {\n return this.getChildAt(idx);\n }\n\n /**\n * 返回的是一个布尔值,来表示传入的节点是否为该节点的后代节点。\n * @param node 判断是否包含的节点\n */\n containNode(node: INode): boolean {\n if (!this._idMap) {\n return false;\n }\n if (this._idMap.has(node._uid)) {\n return true;\n }\n let child = this._firstChild;\n while (child) {\n if (child.containNode(node)) {\n return true;\n }\n child = child._next;\n }\n return false;\n }\n\n /**\n * 方法返回上下文中的根节点,不常用\n */\n getRootNode(): INode {\n let parent = this.parent;\n while (parent?.parent) {\n parent = parent.parent;\n }\n return parent || this;\n }\n\n /**\n * 方法返回一个布尔值,表明当前节点是否包含有子节点.\n */\n hasChildNodes(): boolean {\n return this._firstChild !== null;\n }\n\n /* 语法糖 */\n addChild(node: INode): INode | null {\n return this.appendChild(node);\n }\n add(node: INode): INode | null {\n return this.appendChild(node);\n }\n getChildren(): INode[] {\n const nodes: INode[] = [];\n let child = this._firstChild;\n while (child) {\n nodes.push(child);\n child = child._next;\n }\n return nodes;\n }\n\n /**\n * 判断该节点是否是node的子节点\n * @param node\n */\n isChildOf(node: INode): boolean {\n if (!this.parent) {\n return false;\n }\n return this.parent._uid === node._uid;\n }\n\n /**\n * 判断该节点是否是node的父节点\n * @param node\n */\n isParentOf(node: INode): boolean {\n return node.isChildOf(this);\n }\n\n /**\n * 判断节点是否是node的后代节点\n * @param node\n */\n isDescendantsOf(node: INode): boolean {\n let parent = this.parent;\n if (!parent) {\n return false;\n }\n do {\n if (parent._uid === node._uid) {\n return true;\n }\n parent = parent.parent;\n } while (parent !== null);\n\n return false;\n }\n\n /**\n * 判断节点是否是node的祖先节点\n * @param node\n */\n isAncestorsOf(node: INode): boolean {\n return node.isDescendantsOf(this);\n }\n\n getAncestor(idx: number): INode {\n throw new Error('暂不支持');\n }\n\n /**\n * 设置该节点的所有后代节点某个属性\n * @param propsName 属性名\n * @param propsValue 属性值\n */\n setAllDescendantsProps(propsName: string, propsValue: any) {\n let child = this._firstChild;\n while (child) {\n child[propsName] = propsValue;\n child.setAllDescendantsProps(propsName, propsValue);\n child = child._next;\n }\n }\n /**\n * 设置当前节点的count属性,会更改父节点的count属性\n * @param deltaCount delta count\n */\n private setCount(deltaCount: number): void {\n this._count += deltaCount;\n let parent = this.parent;\n if (!parent) {\n return;\n }\n do {\n parent._count += deltaCount;\n parent = parent.parent;\n } while (parent !== null);\n }\n\n clone(): INode {\n throw new Error('暂不支持');\n }\n\n /**\n * clone to node\n * @param node\n */\n cloneTo(node: INode): void {\n throw new Error('暂不支持');\n }\n\n /***************语法糖***************/\n getParent(): INode | null {\n return this.parent;\n }\n\n del(child: INode): INode | null {\n return this.removeChild(child);\n }\n\n // 事件相关别名\n /**\n * @alias on\n * @param type\n * @param listener\n * @param options\n */\n addEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n const capture =\n (isBoolean(options, true) && options) || (isObject(options) && (options as AddEventListenerOptions).capture);\n const once = isObject(options) && (options as AddEventListenerOptions).once;\n const context = isFunction(listener) ? undefined : listener;\n\n type = capture ? `${type}capture` : type;\n listener = isFunction(listener) ? (listener as LooseFunction) : (listener as EventListenerObject).handleEvent;\n\n if (once) {\n super.once(type, listener, context);\n } else {\n super.on(type, listener, context);\n }\n return this;\n }\n\n on(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n return this.addEventListener(type, listener, options);\n }\n\n /**\n * @alias off\n * @param type\n * @param listener\n * @param options\n * @returns\n */\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n const capture =\n (isBoolean(options, true) && options) || (isObject(options) && (options as AddEventListenerOptions).capture);\n const context = isFunction(listener) ? undefined : listener;\n\n type = capture ? `${type}capture` : type;\n listener = isFunction(listener) ? (listener as LooseFunction) : (listener as EventListenerObject).handleEvent;\n\n const once = isObject(options) && (options as AddEventListenerOptions).once;\n super.off(type, listener, context, once);\n\n return this;\n }\n\n /**\n * @alias off\n * @param type\n * @param listener\n * @param options\n * @returns\n */\n off(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n return this.removeEventListener(type, listener, options);\n }\n\n once(\n type: string,\n listener: EventListenerOrEventListenerObject | LooseFunction,\n options?: AddEventListenerOptions | boolean\n ) {\n if (isObject(options)) {\n options.once = true;\n return this.addEventListener(type, listener, options);\n }\n return this.addEventListener(type, listener, { once: true });\n }\n\n removeAllEventListeners() {\n super.removeAllListeners();\n return this;\n }\n\n removeAllListeners(): this {\n return this.removeAllEventListeners();\n }\n\n dispatchEvent(event: any, ...args: any) {\n super.emit(event.type, event, ...args);\n return !event.defaultPrevented;\n }\n\n emit(event: any, data?: Dict<any>) {\n return this.dispatchEvent(event, data);\n }\n\n release() {\n // 卸载事件\n this.removeAllListeners();\n }\n}\n"]}
|
package/es/graphic/path.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
1
|
+
import type { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
2
2
|
import { Graphic } from './graphic';
|
|
3
|
-
import { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';
|
|
3
|
+
import type { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';
|
|
4
4
|
import { CustomPath2D } from '../common/custom-path2d';
|
|
5
5
|
export declare class Path extends Graphic<IPathGraphicAttribute> implements IPath {
|
|
6
6
|
type: 'path';
|
package/es/graphic/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/path.ts"],"names":[],"mappings":"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","file":"path.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { isString, isNil } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport type { ICustomPath2D, IPath, IPathGraphicAttribute } from '../interface';\nimport { parsePadding } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { PATH_NUMBER_TYPE } from './constants';\n\nconst PATH_UPDATE_TAG_KEY = ['path', 'customPath', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Path extends Graphic<IPathGraphicAttribute> implements IPath {\n type: 'path' = 'path';\n cache?: ICustomPath2D;\n\n constructor(params: IPathGraphicAttribute) {\n super(params);\n this.numberType = PATH_NUMBER_TYPE;\n }\n\n get pathShape(): ICustomPath2D {\n this.tryUpdateAABBBounds();\n return this.getParsedPathShape();\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { path } = this.attribute;\n return path != null && path !== '';\n }\n\n getParsedPathShape(): CustomPath2D {\n const pathTheme = getTheme(this).path;\n if (!this.valid) {\n return pathTheme.path as CustomPath2D;\n }\n const attribute = this.attribute;\n if (attribute.path instanceof CustomPath2D) {\n return attribute.path;\n }\n\n if (isNil(this.cache)) {\n this.doUpdatePathShape();\n }\n\n if (this.cache instanceof CustomPath2D) {\n return this.cache;\n }\n return pathTheme.path as CustomPath2D;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const pathTheme = getTheme(this).path;\n this.doUpdatePathShape();\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePathAABBBounds(\n attribute,\n getTheme(this).path,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = pathTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected doUpdatePathShape() {\n const attribute = this.attribute;\n if (isString(attribute.path, true)) {\n this.cache = new CustomPath2D().fromString(attribute.path as string);\n } else if (attribute.customPath) {\n this.cache = new CustomPath2D();\n attribute.customPath(this.cache, this);\n }\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const pathTheme = getTheme(this).path;\n return pathTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < PATH_UPDATE_TAG_KEY.length; i++) {\n const attrKey = PATH_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < PATH_UPDATE_TAG_KEY.length; i++) {\n const attrKey = PATH_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const x = 0;\n const y = 0;\n\n return new CustomPath2D().fromCustomPath2D(this.getParsedPathShape(), x, y);\n }\n\n clone() {\n return new Path({ ...this.attribute });\n }\n}\n"]}
|
package/es/graphic/polygon.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
1
|
+
import type { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
2
2
|
import { Graphic } from './graphic';
|
|
3
|
-
import { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';
|
|
3
|
+
import type { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';
|
|
4
4
|
import { CustomPath2D } from '../common/custom-path2d';
|
|
5
|
-
import { GraphicType } from '../interface';
|
|
5
|
+
import type { GraphicType } from '../interface';
|
|
6
6
|
export declare class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {
|
|
7
7
|
type: GraphicType;
|
|
8
8
|
constructor(params: IPolygonGraphicAttribute);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/polygon.ts"],"names":[],"mappings":"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","file":"polygon.js","sourcesContent":["import { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';\nimport { getTheme } from './theme';\nimport { parsePadding, pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { application } from '../application';\nimport { GraphicType } from '../interface';\nimport { POLYGON_NUMBER_TYPE } from './constants';\n\nconst POLYGON_UPDATE_TAG_KEY = ['points', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {\n type: GraphicType = 'polygon';\n\n constructor(params: IPolygonGraphicAttribute) {\n super(params);\n this.numberType = POLYGON_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n protected _isValid(): boolean {\n const { points } = this.attribute;\n return points && points.length >= 2;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).polygon;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePolygonAABBBounds(\n attribute,\n getTheme(this).polygon,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n getDefaultAttribute(name: string) {\n const polygonTheme = getTheme(this).polygon;\n return polygonTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const points = this.attribute.points;\n const path = new CustomPath2D();\n\n points.forEach((point, index) => {\n if (index === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n });\n path.closePath();\n\n return path;\n }\n\n clone() {\n return new Polygon({ ...this.attribute });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/polygon.ts"],"names":[],"mappings":"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","file":"polygon.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport type { IPolygon, IPolygonGraphicAttribute } from '../interface/graphic/polygon';\nimport { getTheme } from './theme';\nimport { parsePadding, pointsInterpolation } from '../common/utils';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { application } from '../application';\nimport type { GraphicType } from '../interface';\nimport { POLYGON_NUMBER_TYPE } from './constants';\n\nconst POLYGON_UPDATE_TAG_KEY = ['points', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Polygon extends Graphic<IPolygonGraphicAttribute> implements IPolygon {\n type: GraphicType = 'polygon';\n\n constructor(params: IPolygonGraphicAttribute) {\n super(params);\n this.numberType = POLYGON_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n protected _isValid(): boolean {\n const { points } = this.attribute;\n return points && points.length >= 2;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).polygon;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePolygonAABBBounds(\n attribute,\n getTheme(this).polygon,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n protected _interpolate(key: string, ratio: number, lastStepVal: any, nextStepVal: any, nextAttributes: any): void {\n if (key === 'points') {\n (nextAttributes as any).points = pointsInterpolation(lastStepVal, nextStepVal, ratio);\n }\n }\n\n getDefaultAttribute(name: string) {\n const polygonTheme = getTheme(this).polygon;\n return polygonTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < POLYGON_UPDATE_TAG_KEY.length; i++) {\n const attrKey = POLYGON_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const points = this.attribute.points;\n const path = new CustomPath2D();\n\n points.forEach((point, index) => {\n if (index === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n });\n path.closePath();\n\n return path;\n }\n\n clone() {\n return new Polygon({ ...this.attribute });\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AABBBounds } from '@visactor/vutils';
|
|
2
|
-
import { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';
|
|
3
|
-
import { IFace3d } from '../interface/graphic/face3d';
|
|
1
|
+
import type { AABBBounds } from '@visactor/vutils';
|
|
2
|
+
import type { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';
|
|
3
|
+
import type { IFace3d } from '../interface/graphic/face3d';
|
|
4
4
|
import { Polygon } from './polygon';
|
|
5
5
|
export declare class Pyramid3d extends Polygon implements IPyramid3d {
|
|
6
6
|
type: GraphicType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/pyramid3d.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/pyramid3d.ts"],"names":[],"mappings":"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","file":"pyramid3d.js","sourcesContent":["import type { AABBBounds, IPointLike } from '@visactor/vutils';\nimport { max, PointService } from '@visactor/vutils';\nimport { parsePadding } from '../common/utils';\nimport type { GraphicType, IPyramid3d, IPyramid3dGraphicAttribute } from '../interface';\nimport type { IFace3d } from '../interface/graphic/face3d';\nimport { application } from '../application';\nimport { Polygon } from './polygon';\nimport { getTheme } from './theme';\nimport { PYRAMID3D_NUMBER_TYPE } from './constants';\n\nexport class Pyramid3d extends Polygon implements IPyramid3d {\n type: GraphicType = 'pyramid3d';\n declare attribute: IPyramid3dGraphicAttribute;\n\n constructor(params: IPyramid3dGraphicAttribute) {\n super(params);\n this.numberType = PYRAMID3D_NUMBER_TYPE;\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const polygonTheme = getTheme(this).polygon;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n\n const attribute = this.attribute;\n const bounds = application.graphicService.updatePyramid3dAABBBounds(\n attribute,\n getTheme(this).polygon as any,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = polygonTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n\n return this._AABBBounds;\n }\n\n findFace(): IFace3d {\n const { points } = this.attribute;\n // 找到斜率相同的两条边\n const kList = points.map((p, i) => {\n const p1 = i === 3 ? points[0] : points[i + 1];\n const dx = p.x - p1.x;\n if (dx === 0) {\n return 0;\n }\n return (p.y - p1.y) / dx;\n });\n\n const pointsMap: { p: IPointLike; d: number }[] = points.map(p => ({ p, d: 0 }));\n let find = false;\n let maxD = 0;\n for (let i = 0; i < kList.length - 1; i++) {\n for (let j = i + 1; j < kList.length; j++) {\n if (kList[i] === kList[j]) {\n find = true;\n const d1 = PointService.distancePP(pointsMap[i].p, pointsMap[i + 1].p);\n pointsMap[i].d = d1;\n pointsMap[i + 1].d = d1;\n maxD = max(maxD, d1);\n const d2 = PointService.distancePP(pointsMap[j].p, pointsMap[j + 1].p);\n pointsMap[j].d = d2;\n pointsMap[j + 1].d = d2;\n maxD = max(maxD, d2);\n }\n if (find) {\n break;\n }\n }\n if (find) {\n break;\n }\n }\n\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n pointsMap.unshift({\n p,\n d: 0\n });\n }\n\n for (let i = 0; i < points.length; i++) {\n const delta = (maxD - pointsMap[i + points.length].d) / 2;\n pointsMap[i].d += delta;\n pointsMap[i + points.length].d += delta;\n }\n\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n\n pointsMap.forEach(p => {\n faces.vertices.push([p.p.x, p.p.y, p.d]);\n });\n\n // 上\n faces.polygons.push({ polygon: [0, 4, 5, 1], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [7, 6, 2, 3], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [0, 4, 7, 3], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 5, 6, 2], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n\n protected _isValid(): boolean {\n return super._isValid() && this.attribute.points.length === 4;\n }\n}\n"]}
|
package/es/graphic/rect.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
1
|
+
import type { AABBBounds, OBBBounds } from '@visactor/vutils';
|
|
2
2
|
import { Graphic } from './graphic';
|
|
3
|
-
import { GraphicType, IRect, IRectGraphicAttribute } from '../interface';
|
|
3
|
+
import type { GraphicType, IRect, IRectGraphicAttribute } from '../interface';
|
|
4
4
|
import { CustomPath2D } from '../common/custom-path2d';
|
|
5
5
|
export declare class Rect extends Graphic<IRectGraphicAttribute> implements IRect {
|
|
6
6
|
type: GraphicType;
|
package/es/graphic/rect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport { GraphicType, IRect, IRectGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { parsePadding } from '../common/utils';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { RECT_NUMBER_TYPE } from './constants';\n\nconst RECT_UPDATE_TAG_KEY = ['width', 'height', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Rect extends Graphic<IRectGraphicAttribute> implements IRect {\n type: GraphicType = 'rect';\n\n constructor(params: IRectGraphicAttribute) {\n super(params);\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { width, height } = this.attribute;\n return this._validNumber(width) && this._validNumber(height);\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const rectTheme = getTheme(this).rect;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateRectAABBBounds(\n attribute,\n getTheme(this).rect,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = rectTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const rectTheme = getTheme(this).rect;\n return rectTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const attribute = this.attribute;\n const width = attribute.width;\n const height = attribute.height;\n const x = 0;\n const y = 0;\n\n const path = new CustomPath2D();\n path.moveTo(x, y);\n path.rect(x, y, width, height);\n\n return path;\n }\n\n clone() {\n return new Rect({ ...this.attribute });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/rect.ts"],"names":[],"mappings":"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","file":"rect.js","sourcesContent":["import type { AABBBounds, OBBBounds } from '@visactor/vutils';\nimport { Graphic, GRAPHIC_UPDATE_TAG_KEY } from './graphic';\nimport type { GraphicType, IRect, IRectGraphicAttribute } from '../interface';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { parsePadding } from '../common/utils';\nimport { getTheme } from './theme';\nimport { application } from '../application';\nimport { RECT_NUMBER_TYPE } from './constants';\n\nconst RECT_UPDATE_TAG_KEY = ['width', 'height', 'cornerRadius', ...GRAPHIC_UPDATE_TAG_KEY];\n\nexport class Rect extends Graphic<IRectGraphicAttribute> implements IRect {\n type: GraphicType = 'rect';\n\n constructor(params: IRectGraphicAttribute) {\n super(params);\n this.numberType = RECT_NUMBER_TYPE;\n }\n\n isValid(): boolean {\n return super.isValid() && this._isValid();\n }\n private _isValid(): boolean {\n const { width, height } = this.attribute;\n return this._validNumber(width) && this._validNumber(height);\n }\n\n protected doUpdateAABBBounds(): AABBBounds {\n const rectTheme = getTheme(this).rect;\n this._AABBBounds.setValue(Infinity, Infinity, -Infinity, -Infinity);\n const attribute = this.attribute;\n const bounds = application.graphicService.updateRectAABBBounds(\n attribute,\n getTheme(this).rect,\n this._AABBBounds,\n this\n ) as AABBBounds;\n\n const { boundsPadding = rectTheme.boundsPadding } = attribute;\n const paddingArray = parsePadding(boundsPadding);\n if (paddingArray) {\n bounds.expand(paddingArray);\n }\n\n this.clearUpdateBoundTag();\n return bounds;\n }\n\n protected tryUpdateOBBBounds(): OBBBounds {\n throw new Error('暂不支持');\n }\n\n getDefaultAttribute(name: string) {\n const rectTheme = getTheme(this).rect;\n return rectTheme[name];\n }\n\n needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return false;\n }\n needUpdateTag(key: string): boolean {\n for (let i = 0; i < RECT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = RECT_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return false;\n }\n\n toCustomPath() {\n const attribute = this.attribute;\n const width = attribute.width;\n const height = attribute.height;\n const x = 0;\n const y = 0;\n\n const path = new CustomPath2D();\n path.moveTo(x, y);\n path.rect(x, y, width, height);\n\n return path;\n }\n\n clone() {\n return new Rect({ ...this.attribute });\n }\n}\n"]}
|
package/es/graphic/rect3d.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GraphicType, IFace3d, IRect3d, IRect3dGraphicAttribute } from '../interface';
|
|
1
|
+
import type { GraphicType, IFace3d, IRect3d, IRect3dGraphicAttribute } from '../interface';
|
|
2
2
|
import { Rect } from './rect';
|
|
3
3
|
export declare class Rect3d extends Rect implements IRect3d {
|
|
4
4
|
type: GraphicType;
|
package/es/graphic/rect3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/rect3d.ts"],"names":[],"mappings":"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","file":"rect3d.js","sourcesContent":["import { min } from '@visactor/vutils';\nimport { GraphicType, IFace3d, IRect3d, IRect3dGraphicAttribute } from '../interface';\nimport { Rect } from './rect';\nimport { getTheme } from './theme';\nimport { RECT3D_NUMBER_TYPE } from './constants';\n\nconst CUBE_VERTICES = [\n [0, 0, 0],\n [1, 0, 0],\n [1, 1, 0],\n [0, 1, 0],\n [0, 0, 1],\n [1, 0, 1],\n [1, 1, 1],\n [0, 1, 1]\n];\n\nexport class Rect3d extends Rect implements IRect3d {\n type: GraphicType = 'rect3d';\n declare attribute: IRect3dGraphicAttribute;\n\n constructor(params: IRect3dGraphicAttribute) {\n super(params);\n this.numberType = RECT3D_NUMBER_TYPE;\n }\n\n findFace(): IFace3d {\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n const rectTheme = getTheme(this).rect3d;\n const {\n width = rectTheme.width,\n height = rectTheme.width,\n length = min(rectTheme.width, rectTheme.height)\n } = this.attribute;\n for (let i = 0; i < CUBE_VERTICES.length; i++) {\n const v = CUBE_VERTICES[i];\n faces.vertices.push([v[0] * width, v[1] * height, v[2] * length]);\n }\n\n // 上\n faces.polygons.push({ polygon: [0, 1, 5, 4], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [2, 3, 7, 6], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [4, 7, 3, 0], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 2, 6, 5], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/rect3d.ts"],"names":[],"mappings":"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","file":"rect3d.js","sourcesContent":["import { min } from '@visactor/vutils';\nimport type { GraphicType, IFace3d, IRect3d, IRect3dGraphicAttribute } from '../interface';\nimport { Rect } from './rect';\nimport { getTheme } from './theme';\nimport { RECT3D_NUMBER_TYPE } from './constants';\n\nconst CUBE_VERTICES = [\n [0, 0, 0],\n [1, 0, 0],\n [1, 1, 0],\n [0, 1, 0],\n [0, 0, 1],\n [1, 0, 1],\n [1, 1, 1],\n [0, 1, 1]\n];\n\nexport class Rect3d extends Rect implements IRect3d {\n type: GraphicType = 'rect3d';\n declare attribute: IRect3dGraphicAttribute;\n\n constructor(params: IRect3dGraphicAttribute) {\n super(params);\n this.numberType = RECT3D_NUMBER_TYPE;\n }\n\n findFace(): IFace3d {\n const faces: IFace3d = { polygons: [], vertices: [], edges: [] };\n const rectTheme = getTheme(this).rect3d;\n const {\n width = rectTheme.width,\n height = rectTheme.width,\n length = min(rectTheme.width, rectTheme.height)\n } = this.attribute;\n for (let i = 0; i < CUBE_VERTICES.length; i++) {\n const v = CUBE_VERTICES[i];\n faces.vertices.push([v[0] * width, v[1] * height, v[2] * length]);\n }\n\n // 上\n faces.polygons.push({ polygon: [0, 1, 5, 4], normal: [0, -1, 0] });\n // 下\n faces.polygons.push({ polygon: [2, 3, 7, 6], normal: [0, 1, 0] });\n // 左\n faces.polygons.push({ polygon: [4, 7, 3, 0], normal: [-1, 0, 0] });\n // 右\n faces.polygons.push({ polygon: [1, 2, 6, 5], normal: [1, 0, 0] });\n // 前\n faces.polygons.push({ polygon: [0, 1, 2, 3], normal: [0, 0, -1] });\n // 后\n faces.polygons.push({ polygon: [4, 5, 6, 7], normal: [0, 0, 1] });\n\n faces.edges = [\n [0, 1],\n [1, 2],\n [2, 3],\n [3, 0],\n [4, 5],\n [5, 6],\n [6, 7],\n [7, 4],\n [0, 4],\n [3, 7],\n [1, 5],\n [2, 6]\n ];\n\n return faces;\n }\n}\n"]}
|
|
@@ -32,8 +32,8 @@ export default class Wrapper {
|
|
|
32
32
|
this.lineBuffer.length = 0, this.lineWidth = this.maxAscent = this.maxDescent = this.maxAscentForBlank = this.maxDescentForBlank = 0;
|
|
33
33
|
}
|
|
34
34
|
deal(paragraph) {
|
|
35
|
-
paragraph instanceof RichTextIcon ? "horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : (this.
|
|
36
|
-
this.deal(paragraph)) : "number" != typeof this.width || this.width < 0 || (paragraph.newLine && this.send(),
|
|
35
|
+
paragraph instanceof RichTextIcon ? "horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : 0 === this.lineBuffer.length ? (this.store(paragraph),
|
|
36
|
+
this.send()) : (this.send(), this.deal(paragraph)) : "number" != typeof this.width || this.width < 0 || (paragraph.newLine && this.send(),
|
|
37
37
|
0 !== paragraph.text.length && ("horizontal" === this.direction && 0 === this.width || "vertical" === this.direction && 0 === this.height || this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width] ? this.store(paragraph) : this.lineWidth === this[this.directionKey.width] ? (this.send(),
|
|
38
38
|
this.deal(paragraph)) : this.cut(paragraph)));
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/graphic/richtext/wrapper.ts"],"names":[],"mappings":"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","file":"wrapper.js","sourcesContent":["import Line from './line';\nimport Frame from './frame';\nimport Paragraph, { seperateParagraph } from './paragraph';\nimport { DIRECTION_KEY, getStrByWithCanvas } from './utils';\nimport { RichTextIcon } from './icon';\n\n/**\n * 部分代码参考 https://github.com/danielearwicker/carota/\n * The MIT License (MIT)\n\n \"Carota\" - Copyright (c) 2013 Daniel Earwicker\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n// 布局器\n// 参考carota\n// https://github.com/danielearwicker/carota/blob/master/src/wrap.js\nexport default class Wrapper {\n frame: Frame;\n\n lineWidth: number;\n width: number;\n height: number;\n y: number;\n maxAscent: number;\n maxDescent: number;\n maxAscentForBlank: number;\n maxDescentForBlank: number;\n lineBuffer: (Paragraph | RichTextIcon)[];\n direction: 'horizontal' | 'vertical';\n directionKey: { width: string; height: string };\n\n constructor(frame: Frame) {\n this.frame = frame;\n this.width = this.frame.width;\n this.height = this.frame.height;\n\n this.lineWidth = 0;\n this.y = this.frame.top;\n this.maxAscent = 0;\n this.maxDescent = 0;\n // 空字符串测量出的Ascent和Descent和文字不一致(空字符串测量结果ascent和descent一半一半),需要特殊处理\n this.maxAscentForBlank = 0;\n this.maxDescentForBlank = 0;\n this.lineBuffer = [];\n\n this.direction = frame.layoutDirection;\n this.directionKey = DIRECTION_KEY[this.direction];\n }\n\n // 不满一行,存储\n store(paragraph: Paragraph | RichTextIcon) {\n if (paragraph instanceof RichTextIcon) {\n this.frame.icons.set(paragraph.richtextId, paragraph);\n this.lineBuffer.push(paragraph);\n this.lineWidth += paragraph[this.directionKey.width];\n\n // 处理icon textBaseline ascent descent\n let iconAscent = 0;\n let iconDescent = 0;\n if (paragraph.attribute.textBaseline === 'top') {\n iconAscent = 0;\n iconDescent = paragraph.height;\n } else if (paragraph.attribute.textBaseline === 'bottom') {\n iconAscent = paragraph.height;\n iconDescent = 0;\n } else {\n iconAscent = paragraph.height / 2;\n iconDescent = paragraph.height / 2;\n }\n this.maxAscent = Math.max(this.maxAscent, iconAscent);\n this.maxDescent = Math.max(this.maxDescent, iconDescent);\n } else {\n this.lineBuffer.push(paragraph);\n if (paragraph.text.length !== 0) {\n this.lineWidth += paragraph[this.directionKey.width];\n this.maxAscent = Math.max(this.maxAscent, paragraph.ascent);\n this.maxDescent = Math.max(this.maxDescent, paragraph.descent);\n } else {\n this.maxAscentForBlank = Math.max(this.maxAscentForBlank, paragraph.ascent);\n this.maxDescentForBlank = Math.max(this.maxDescentForBlank, paragraph.descent);\n }\n }\n }\n\n // 满一行,生成line\n send() {\n if (this.lineBuffer.length === 0) {\n return;\n }\n // 当一行中有文字和空白时,不考虑空白的ascent和descent;如果只有空白(\\n引起的空行),取空白部分的ascent和descent\n const maxAscent = this.maxAscent === 0 ? this.maxAscentForBlank : this.maxAscent;\n const maxDescent = this.maxDescent === 0 ? this.maxDescentForBlank : this.maxDescent;\n const line = new Line(\n this.frame.left,\n this[this.directionKey.width],\n this.y + maxAscent,\n maxAscent,\n maxDescent,\n this.lineBuffer,\n this.direction,\n this.direction === 'horizontal' ? this.frame.isWidthMax : this.frame.isHeightMax\n );\n this.frame.lines.push(line);\n this.frame.actualHeight += line.height;\n\n // this.y += maxAscent + maxDescent;\n this.y += line.height;\n\n this.lineBuffer.length = 0;\n this.lineWidth = this.maxAscent = this.maxDescent = this.maxAscentForBlank = this.maxDescentForBlank = 0;\n }\n\n // 处理paragraph\n deal(paragraph: Paragraph | RichTextIcon) {\n if (paragraph instanceof RichTextIcon) {\n if (\n (this.direction === 'horizontal' && this.width === 0) ||\n (this.direction === 'vertical' && this.height === 0)\n ) {\n // width为0时,宽度不设限制,不主动换行\n this.store(paragraph);\n } else {\n if (this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width]) {\n this.store(paragraph);\n } else {\n this.send();\n this.deal(paragraph);\n }\n }\n\n return;\n }\n\n // 可能会出现宽度为负的情况,此时不处理数据\n if (typeof this.width !== 'number' || this.width < 0) {\n return;\n }\n\n if (paragraph.newLine) {\n // 需要换行前,先完成上一行绘制\n this.send();\n }\n\n if (paragraph.text.length === 0) {\n return;\n } // 换行符分割出的Paragraph不进入line\n\n if ((this.direction === 'horizontal' && this.width === 0) || (this.direction === 'vertical' && this.height === 0)) {\n // width为0时,宽度不设限制,不主动换行\n this.store(paragraph);\n } else {\n // // width为有效值时,按照宽度限制,主动换行\n // if (this.lineWidth + paragraph.width <= this.width) {\n // this.store(paragraph);\n // } else if (this.lineWidth === this.width) {\n // this.send();\n // // this.store(paragraph);\n // this.deal(paragraph);\n // } else {\n // this.cut(paragraph);\n // }\n if (this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width]) {\n this.store(paragraph);\n } else if (this.lineWidth === this[this.directionKey.width]) {\n this.send();\n this.deal(paragraph);\n } else {\n this.cut(paragraph);\n }\n }\n }\n\n // 文字超长,按需截断\n cut(paragraph: Paragraph) {\n // if (this.direction === 'vertical' && this.lineBuffer.length) {\n // // 纵排不做paragraph内截断\n // this.send();\n // this.deal(paragraph);\n // return;\n // } else if (this.direction === 'vertical') {\n // // 超长不处理?\n // this.store(paragraph);\n // this.send();\n // return;\n // }\n const availableWidth = this[this.directionKey.width] - this.lineWidth || 0;\n const guessIndex = Math.ceil((availableWidth / paragraph[this.directionKey.width]) * paragraph.length) || 0;\n // const index = getStrByWith(paragraph.text, availableWidth, paragraph.style, guessIndex, true);\n const index = getStrByWithCanvas(\n paragraph.text,\n availableWidth,\n paragraph.character,\n guessIndex,\n this.frame.wordBreak === 'break-word'\n );\n if (index !== 0) {\n const [p1, p2] = seperateParagraph(paragraph, index);\n this.store(p1);\n this.deal(p2);\n } else if (this.lineBuffer.length !== 0) {\n // 当前行无法容纳,转下一行处理\n this.send();\n this.deal(paragraph);\n }\n // 宽度过低,无法截断(容不下第一个字符的宽度),不处理\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/graphic/richtext/wrapper.ts"],"names":[],"mappings":"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","file":"wrapper.js","sourcesContent":["import Line from './line';\nimport type Frame from './frame';\nimport type Paragraph from './paragraph';\nimport { seperateParagraph } from './paragraph';\nimport { DIRECTION_KEY, getStrByWithCanvas } from './utils';\nimport { RichTextIcon } from './icon';\n\n/**\n * 部分代码参考 https://github.com/danielearwicker/carota/\n * The MIT License (MIT)\n\n \"Carota\" - Copyright (c) 2013 Daniel Earwicker\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n */\n\n// 布局器\n// 参考carota\n// https://github.com/danielearwicker/carota/blob/master/src/wrap.js\nexport default class Wrapper {\n frame: Frame;\n\n lineWidth: number;\n width: number;\n height: number;\n y: number;\n maxAscent: number;\n maxDescent: number;\n maxAscentForBlank: number;\n maxDescentForBlank: number;\n lineBuffer: (Paragraph | RichTextIcon)[];\n direction: 'horizontal' | 'vertical';\n directionKey: { width: string; height: string };\n\n constructor(frame: Frame) {\n this.frame = frame;\n this.width = this.frame.width;\n this.height = this.frame.height;\n\n this.lineWidth = 0;\n this.y = this.frame.top;\n this.maxAscent = 0;\n this.maxDescent = 0;\n // 空字符串测量出的Ascent和Descent和文字不一致(空字符串测量结果ascent和descent一半一半),需要特殊处理\n this.maxAscentForBlank = 0;\n this.maxDescentForBlank = 0;\n this.lineBuffer = [];\n\n this.direction = frame.layoutDirection;\n this.directionKey = DIRECTION_KEY[this.direction];\n }\n\n // 不满一行,存储\n store(paragraph: Paragraph | RichTextIcon) {\n if (paragraph instanceof RichTextIcon) {\n this.frame.icons.set(paragraph.richtextId, paragraph);\n this.lineBuffer.push(paragraph);\n this.lineWidth += paragraph[this.directionKey.width];\n\n // 处理icon textBaseline ascent descent\n let iconAscent = 0;\n let iconDescent = 0;\n if (paragraph.attribute.textBaseline === 'top') {\n iconAscent = 0;\n iconDescent = paragraph.height;\n } else if (paragraph.attribute.textBaseline === 'bottom') {\n iconAscent = paragraph.height;\n iconDescent = 0;\n } else {\n iconAscent = paragraph.height / 2;\n iconDescent = paragraph.height / 2;\n }\n this.maxAscent = Math.max(this.maxAscent, iconAscent);\n this.maxDescent = Math.max(this.maxDescent, iconDescent);\n } else {\n this.lineBuffer.push(paragraph);\n if (paragraph.text.length !== 0) {\n this.lineWidth += paragraph[this.directionKey.width];\n this.maxAscent = Math.max(this.maxAscent, paragraph.ascent);\n this.maxDescent = Math.max(this.maxDescent, paragraph.descent);\n } else {\n this.maxAscentForBlank = Math.max(this.maxAscentForBlank, paragraph.ascent);\n this.maxDescentForBlank = Math.max(this.maxDescentForBlank, paragraph.descent);\n }\n }\n }\n\n // 满一行,生成line\n send() {\n if (this.lineBuffer.length === 0) {\n return;\n }\n // 当一行中有文字和空白时,不考虑空白的ascent和descent;如果只有空白(\\n引起的空行),取空白部分的ascent和descent\n const maxAscent = this.maxAscent === 0 ? this.maxAscentForBlank : this.maxAscent;\n const maxDescent = this.maxDescent === 0 ? this.maxDescentForBlank : this.maxDescent;\n const line = new Line(\n this.frame.left,\n this[this.directionKey.width],\n this.y + maxAscent,\n maxAscent,\n maxDescent,\n this.lineBuffer,\n this.direction,\n this.direction === 'horizontal' ? this.frame.isWidthMax : this.frame.isHeightMax\n );\n this.frame.lines.push(line);\n this.frame.actualHeight += line.height;\n\n // this.y += maxAscent + maxDescent;\n this.y += line.height;\n\n this.lineBuffer.length = 0;\n this.lineWidth = this.maxAscent = this.maxDescent = this.maxAscentForBlank = this.maxDescentForBlank = 0;\n }\n\n // 处理paragraph\n deal(paragraph: Paragraph | RichTextIcon) {\n if (paragraph instanceof RichTextIcon) {\n if (\n (this.direction === 'horizontal' && this.width === 0) ||\n (this.direction === 'vertical' && this.height === 0)\n ) {\n // width为0时,宽度不设限制,不主动换行\n this.store(paragraph);\n } else {\n if (this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width]) {\n this.store(paragraph);\n } else if (this.lineBuffer.length === 0) {\n this.store(paragraph);\n this.send();\n } else {\n this.send();\n this.deal(paragraph);\n }\n }\n\n return;\n }\n\n // 可能会出现宽度为负的情况,此时不处理数据\n if (typeof this.width !== 'number' || this.width < 0) {\n return;\n }\n\n if (paragraph.newLine) {\n // 需要换行前,先完成上一行绘制\n this.send();\n }\n\n if (paragraph.text.length === 0) {\n return;\n } // 换行符分割出的Paragraph不进入line\n\n if ((this.direction === 'horizontal' && this.width === 0) || (this.direction === 'vertical' && this.height === 0)) {\n // width为0时,宽度不设限制,不主动换行\n this.store(paragraph);\n } else {\n // // width为有效值时,按照宽度限制,主动换行\n // if (this.lineWidth + paragraph.width <= this.width) {\n // this.store(paragraph);\n // } else if (this.lineWidth === this.width) {\n // this.send();\n // // this.store(paragraph);\n // this.deal(paragraph);\n // } else {\n // this.cut(paragraph);\n // }\n if (this.lineWidth + paragraph[this.directionKey.width] <= this[this.directionKey.width]) {\n this.store(paragraph);\n } else if (this.lineWidth === this[this.directionKey.width]) {\n this.send();\n this.deal(paragraph);\n } else {\n this.cut(paragraph);\n }\n }\n }\n\n // 文字超长,按需截断\n cut(paragraph: Paragraph) {\n // if (this.direction === 'vertical' && this.lineBuffer.length) {\n // // 纵排不做paragraph内截断\n // this.send();\n // this.deal(paragraph);\n // return;\n // } else if (this.direction === 'vertical') {\n // // 超长不处理?\n // this.store(paragraph);\n // this.send();\n // return;\n // }\n const availableWidth = this[this.directionKey.width] - this.lineWidth || 0;\n const guessIndex = Math.ceil((availableWidth / paragraph[this.directionKey.width]) * paragraph.length) || 0;\n // const index = getStrByWith(paragraph.text, availableWidth, paragraph.style, guessIndex, true);\n const index = getStrByWithCanvas(\n paragraph.text,\n availableWidth,\n paragraph.character,\n guessIndex,\n this.frame.wordBreak === 'break-word'\n );\n if (index !== 0) {\n const [p1, p2] = seperateParagraph(paragraph, index);\n this.store(p1);\n this.deal(p2);\n } else if (this.lineBuffer.length !== 0) {\n // 当前行无法容纳,转下一行处理\n this.send();\n this.deal(paragraph);\n }\n // 宽度过低,无法截断(容不下第一个字符的宽度),不处理\n }\n}\n"]}
|
package/es/graphic/richtext.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AABBBounds, IPoint, OBBBounds } from '@visactor/vutils';
|
|
2
|
-
import { IRichText, IRichTextCharacter, RichTextGlobalAlignType, RichTextGlobalBaselineType, RichTextVerticalDirection, RichTextWordBreak, IRichTextGraphicAttribute, IStage, ILayer, IRichTextIcon } from '../interface';
|
|
1
|
+
import type { AABBBounds, IPoint, OBBBounds } from '@visactor/vutils';
|
|
2
|
+
import type { IRichText, IRichTextCharacter, RichTextGlobalAlignType, RichTextGlobalBaselineType, RichTextVerticalDirection, RichTextWordBreak, IRichTextGraphicAttribute, IStage, ILayer, IRichTextIcon } from '../interface';
|
|
3
3
|
import { Graphic } from './graphic';
|
|
4
4
|
import Frame from './richtext/frame';
|
|
5
5
|
export declare class RichText extends Graphic<IRichTextGraphicAttribute> implements IRichText {
|