@visactor/vrender 0.15.0-alpha.2 → 0.15.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/allocator/allocator-modules.js.map +1 -1
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/constants.js.map +1 -1
- package/cjs/allocator/graphic-allocate.js.map +1 -1
- package/cjs/allocator/matrix-allocate.js.map +1 -1
- package/cjs/allocator/point-allocate.js.map +1 -1
- package/cjs/animate/Ticker/default-ticker.js.map +1 -1
- package/cjs/animate/Ticker/index.js.map +1 -1
- package/cjs/animate/animate.d.ts +1 -0
- package/cjs/animate/animate.js +3 -0
- package/cjs/animate/animate.js.map +1 -1
- package/cjs/animate/config.js.map +1 -1
- package/cjs/animate/custom-animate.js.map +1 -1
- package/cjs/animate/default-ticker.js +1 -1
- package/cjs/animate/default-ticker.js.map +1 -1
- package/cjs/animate/easing.js.map +1 -1
- package/cjs/animate/index.js.map +1 -1
- package/cjs/animate/morphing.js.map +1 -1
- package/cjs/animate/timeline.d.ts +1 -1
- package/cjs/animate/timeline.js +2 -2
- package/cjs/animate/timeline.js.map +1 -1
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/constants.js.map +1 -1
- package/cjs/canvas/contributions/browser/canvas.js +1 -1
- package/cjs/canvas/contributions/browser/canvas.js.map +1 -1
- package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/cjs/canvas/contributions/browser/context.d.ts +1 -0
- package/cjs/canvas/contributions/browser/context.js.map +1 -1
- package/cjs/canvas/contributions/browser/index.js.map +1 -1
- package/cjs/canvas/contributions/browser/modules.js.map +1 -1
- package/cjs/canvas/contributions/feishu/canvas.js.map +1 -1
- package/cjs/canvas/contributions/feishu/context.js.map +1 -1
- package/cjs/canvas/contributions/feishu/index.js.map +1 -1
- package/cjs/canvas/contributions/feishu/modules.js.map +1 -1
- package/cjs/canvas/contributions/lynx/canvas.js.map +1 -1
- package/cjs/canvas/contributions/lynx/context.js.map +1 -1
- package/cjs/canvas/contributions/lynx/index.js.map +1 -1
- package/cjs/canvas/contributions/lynx/modules.js.map +1 -1
- package/cjs/canvas/contributions/modules.js.map +1 -1
- package/cjs/canvas/contributions/node/canvas.js.map +1 -1
- package/cjs/canvas/contributions/node/context.js.map +1 -1
- package/cjs/canvas/contributions/node/index.js.map +1 -1
- package/cjs/canvas/contributions/node/modules.js.map +1 -1
- package/cjs/canvas/contributions/taro/canvas.js.map +1 -1
- package/cjs/canvas/contributions/taro/context.js.map +1 -1
- package/cjs/canvas/contributions/taro/index.js.map +1 -1
- package/cjs/canvas/contributions/taro/modules.js.map +1 -1
- package/cjs/canvas/contributions/tt/canvas.js.map +1 -1
- package/cjs/canvas/contributions/tt/context.js.map +1 -1
- package/cjs/canvas/contributions/tt/index.js.map +1 -1
- package/cjs/canvas/contributions/tt/modules.js.map +1 -1
- package/cjs/canvas/contributions/wx/canvas.js.map +1 -1
- package/cjs/canvas/contributions/wx/context.js.map +1 -1
- package/cjs/canvas/contributions/wx/index.js.map +1 -1
- package/cjs/canvas/contributions/wx/modules.js.map +1 -1
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/canvas/index.js.map +1 -1
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/color-string/colorName.js.map +1 -1
- package/cjs/color-string/index.js.map +1 -1
- package/cjs/color-string/interpolate.js.map +1 -1
- package/cjs/common/bezier-utils.js.map +1 -1
- package/cjs/common/bounds-context.js.map +1 -1
- package/cjs/common/canvas-utils.js.map +1 -1
- package/cjs/common/contribution-provider.d.ts +1 -0
- package/cjs/common/contribution-provider.js +7 -2
- package/cjs/common/contribution-provider.js.map +1 -1
- package/cjs/common/custom-path2d.js.map +1 -1
- package/cjs/common/enums.d.ts +4 -2
- package/cjs/common/enums.js +3 -2
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/generator.js.map +1 -1
- package/cjs/common/matrix.js.map +1 -1
- package/cjs/common/morphing-utils.js.map +1 -1
- package/cjs/common/path-svg.js.map +1 -1
- package/cjs/common/polygon.js.map +1 -1
- package/cjs/common/render-area.js.map +1 -1
- package/cjs/common/render-command-list.js.map +1 -1
- package/cjs/common/render-curve.js.map +1 -1
- package/cjs/common/seg-context.js.map +1 -1
- package/cjs/common/segment/basis.js.map +1 -1
- package/cjs/common/segment/common.js.map +1 -1
- package/cjs/common/segment/curve/arc.js.map +1 -1
- package/cjs/common/segment/curve/base.js.map +1 -1
- package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
- package/cjs/common/segment/curve/curve-context.js.map +1 -1
- package/cjs/common/segment/curve/ellipse.js.map +1 -1
- package/cjs/common/segment/curve/line.js.map +1 -1
- package/cjs/common/segment/curve/move.js.map +1 -1
- package/cjs/common/segment/curve/path.js.map +1 -1
- package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
- package/cjs/common/segment/index.js.map +1 -1
- package/cjs/common/segment/linear-closed.js.map +1 -1
- package/cjs/common/segment/linear.js.map +1 -1
- package/cjs/common/segment/monotone.js.map +1 -1
- package/cjs/common/segment/step.js.map +1 -1
- package/cjs/common/shape/arc.js.map +1 -1
- package/cjs/common/shape/rect.js.map +1 -1
- package/cjs/common/sort.js.map +1 -1
- package/cjs/common/split-path.js.map +1 -1
- package/cjs/common/store.js.map +1 -1
- package/cjs/common/text.js.map +1 -1
- package/cjs/common/utils.js.map +1 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/container.js.map +1 -1
- package/cjs/core/application.js.map +1 -1
- package/cjs/core/camera.js.map +1 -1
- package/cjs/core/constants.js.map +1 -1
- package/cjs/core/contributions/env/base-contribution.d.ts +6 -0
- package/cjs/core/contributions/env/base-contribution.js +12 -0
- package/cjs/core/contributions/env/base-contribution.js.map +1 -1
- package/cjs/core/contributions/env/browser-contribution.d.ts +6 -0
- package/cjs/core/contributions/env/browser-contribution.js +19 -0
- package/cjs/core/contributions/env/browser-contribution.js.map +1 -1
- package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/env/modules.js.map +1 -1
- package/cjs/core/contributions/env/node-contribution.js.map +1 -1
- package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/env/wx-contribution.d.ts +1 -0
- package/cjs/core/contributions/env/wx-contribution.js +5 -3
- package/cjs/core/contributions/env/wx-contribution.js.map +1 -1
- package/cjs/core/contributions/index.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.d.ts +1 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +3 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.d.ts +1 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +3 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/modules.js.map +1 -1
- package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/cjs/core/contributions/textMeasure/layout.js +1 -1
- package/cjs/core/contributions/textMeasure/layout.js.map +1 -1
- package/cjs/core/contributions/textMeasure/modules.js.map +1 -1
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
- package/cjs/core/contributions/window/base-contribution.d.ts +11 -5
- package/cjs/core/contributions/window/base-contribution.js +10 -0
- package/cjs/core/contributions/window/base-contribution.js.map +1 -1
- package/cjs/core/contributions/window/browser-contribution.d.ts +11 -0
- package/cjs/core/contributions/window/browser-contribution.js +33 -2
- package/cjs/core/contributions/window/browser-contribution.js.map +1 -1
- package/cjs/core/contributions/window/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/window/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/window/modules.js.map +1 -1
- package/cjs/core/contributions/window/native-contribution.js.map +1 -1
- package/cjs/core/contributions/window/node-contribution.js.map +1 -1
- package/cjs/core/contributions/window/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/window/wx-contribution.js.map +1 -1
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global-module.js.map +1 -1
- package/cjs/core/global.d.ts +6 -0
- package/cjs/core/global.js +9 -0
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +2 -0
- package/cjs/core/graphic-utils.js +13 -0
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.js +1 -1
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/light.js.map +1 -1
- package/cjs/core/stage.d.ts +7 -2
- package/cjs/core/stage.js +27 -12
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +6 -0
- package/cjs/core/window.js +10 -1
- package/cjs/core/window.js.map +1 -1
- package/cjs/create.js.map +1 -1
- package/cjs/event/constant.js.map +1 -1
- package/cjs/event/event-manager.js +13 -11
- package/cjs/event/event-manager.js.map +1 -1
- package/cjs/event/event-system.js.map +1 -1
- package/cjs/event/event-target.js.map +1 -1
- package/cjs/event/extension/drag.js.map +1 -1
- package/cjs/event/extension/gesture.js.map +1 -1
- package/cjs/event/extension/index.js.map +1 -1
- package/cjs/event/federated-event/base-event.js.map +1 -1
- package/cjs/event/federated-event/custom-event.js.map +1 -1
- package/cjs/event/federated-event/index.js.map +1 -1
- package/cjs/event/federated-event/mouse-event.js.map +1 -1
- package/cjs/event/federated-event/pointer-event.d.ts +1 -0
- package/cjs/event/federated-event/pointer-event.js.map +1 -1
- package/cjs/event/federated-event/wheel-event.js.map +1 -1
- package/cjs/event/index.js.map +1 -1
- package/cjs/event/util.js.map +1 -1
- package/cjs/export.js.map +1 -1
- package/cjs/graphic/arc.d.ts +7 -0
- package/cjs/graphic/arc.js +3 -1
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-down.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-left.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-up.js.map +1 -1
- package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/close.js.map +1 -1
- package/cjs/graphic/builtin-symbol/cross.js.map +1 -1
- package/cjs/graphic/builtin-symbol/diamond.js.map +1 -1
- package/cjs/graphic/builtin-symbol/index.js.map +1 -1
- package/cjs/graphic/builtin-symbol/line-h.js.map +1 -1
- package/cjs/graphic/builtin-symbol/line-v.js.map +1 -1
- package/cjs/graphic/builtin-symbol/rect.js.map +1 -1
- package/cjs/graphic/builtin-symbol/square.js.map +1 -1
- package/cjs/graphic/builtin-symbol/star.js.map +1 -1
- package/cjs/graphic/builtin-symbol/stroke.js.map +1 -1
- package/cjs/graphic/builtin-symbol/thin-triangle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-down.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-left.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-right.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle-up.js.map +1 -1
- package/cjs/graphic/builtin-symbol/triangle.js.map +1 -1
- package/cjs/graphic/builtin-symbol/utils.js.map +1 -1
- package/cjs/graphic/builtin-symbol/wedge.js.map +1 -1
- package/cjs/graphic/builtin-symbol/wye.js.map +1 -1
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +9 -4
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/constants.js.map +1 -1
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic-creator.js.map +1 -1
- package/cjs/graphic/graphic-service/arc-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/area-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/circle-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/common-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/default-theme.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic-service/path-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/rect-contribution.js.map +1 -1
- package/cjs/graphic/graphic-service/symbol-contribution.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +4 -1
- package/cjs/graphic/graphic.js +58 -23
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.js +1 -1
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.js.map +1 -1
- package/cjs/graphic/index.js.map +1 -1
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/node-tree.js.map +1 -1
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/rect3d.js.map +1 -1
- package/cjs/graphic/richtext/frame.js.map +1 -1
- package/cjs/graphic/richtext/icon.js.map +1 -1
- package/cjs/graphic/richtext/line.js.map +1 -1
- package/cjs/graphic/richtext/paragraph.js.map +1 -1
- package/cjs/graphic/richtext/utils.js.map +1 -1
- package/cjs/graphic/richtext/wrapper.js.map +1 -1
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/shadow-root.js.map +1 -1
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.js +35 -25
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/theme.js.map +1 -1
- package/cjs/graphic/tools.js.map +1 -1
- package/cjs/graphic/wrap-text.js +16 -10
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +2 -2
- package/cjs/index.js.map +1 -1
- package/cjs/interface/allocator.js.map +1 -1
- package/cjs/interface/animate.d.ts +3 -1
- package/cjs/interface/animate.js.map +1 -1
- package/cjs/interface/camera.js.map +1 -1
- package/cjs/interface/canvas.js.map +1 -1
- package/cjs/interface/color.js.map +1 -1
- package/cjs/interface/common.js.map +1 -1
- package/cjs/interface/context.js.map +1 -1
- package/cjs/interface/contribution.js.map +1 -1
- package/cjs/interface/core.d.ts +1 -0
- package/cjs/interface/core.js.map +1 -1
- package/cjs/interface/creator.js.map +1 -1
- package/cjs/interface/curve.js.map +1 -1
- package/cjs/interface/event.js.map +1 -1
- package/cjs/interface/global.d.ts +12 -0
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic/arc.d.ts +2 -0
- package/cjs/interface/graphic/arc.js.map +1 -1
- package/cjs/interface/graphic/arc3d.js.map +1 -1
- package/cjs/interface/graphic/area.js.map +1 -1
- package/cjs/interface/graphic/bounds.js.map +1 -1
- package/cjs/interface/graphic/circle.js.map +1 -1
- package/cjs/interface/graphic/creator.js.map +1 -1
- package/cjs/interface/graphic/dynamic-path.js.map +1 -1
- package/cjs/interface/graphic/ellipse.js.map +1 -1
- package/cjs/interface/graphic/face3d.js.map +1 -1
- package/cjs/interface/graphic/glyph.js.map +1 -1
- package/cjs/interface/graphic/group.js.map +1 -1
- package/cjs/interface/graphic/image.d.ts +1 -0
- package/cjs/interface/graphic/image.js.map +1 -1
- package/cjs/interface/graphic/index.js.map +1 -1
- package/cjs/interface/graphic/isogon.js.map +1 -1
- package/cjs/interface/graphic/line.d.ts +1 -0
- package/cjs/interface/graphic/line.js.map +1 -1
- package/cjs/interface/graphic/path.js.map +1 -1
- package/cjs/interface/graphic/polygon.js.map +1 -1
- package/cjs/interface/graphic/polyline.js.map +1 -1
- package/cjs/interface/graphic/pyramid3d.js.map +1 -1
- package/cjs/interface/graphic/rect.js.map +1 -1
- package/cjs/interface/graphic/rect3d.js.map +1 -1
- package/cjs/interface/graphic/richText.js.map +1 -1
- package/cjs/interface/graphic/shadow-root.js.map +1 -1
- package/cjs/interface/graphic/svg.js.map +1 -1
- package/cjs/interface/graphic/symbol.js.map +1 -1
- package/cjs/interface/graphic/text.d.ts +1 -0
- package/cjs/interface/graphic/text.js.map +1 -1
- package/cjs/interface/graphic/theme.js.map +1 -1
- package/cjs/interface/graphic/util.js.map +1 -1
- package/cjs/interface/graphic-service.js.map +1 -1
- package/cjs/interface/graphic-utils.js.map +1 -1
- package/cjs/interface/graphic.d.ts +15 -3
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/index.js.map +1 -1
- package/cjs/interface/layer.d.ts +1 -0
- package/cjs/interface/layer.js.map +1 -1
- package/cjs/interface/light.js.map +1 -1
- package/cjs/interface/loader.js.map +1 -1
- package/cjs/interface/matrix.js.map +1 -1
- package/cjs/interface/node-tree.js.map +1 -1
- package/cjs/interface/path.js.map +1 -1
- package/cjs/interface/picker.d.ts +9 -1
- package/cjs/interface/picker.js.map +1 -1
- package/cjs/interface/plugin.js.map +1 -1
- package/cjs/interface/render.js.map +1 -1
- package/cjs/interface/stage.d.ts +7 -2
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/interface/sync-hook.js.map +1 -1
- package/cjs/interface/text.js.map +1 -1
- package/cjs/interface/theme-service.js.map +1 -1
- package/cjs/interface/util.js.map +1 -1
- package/cjs/interface/window.d.ts +12 -0
- package/cjs/interface/window.js.map +1 -1
- package/cjs/jsx/graphicType.d.ts +96 -60
- package/cjs/jsx/graphicType.js.map +1 -1
- package/cjs/jsx/index.js.map +1 -1
- package/cjs/jsx/jsx-classic.d.ts +2 -4
- package/cjs/jsx/jsx-classic.js +7 -18
- package/cjs/jsx/jsx-classic.js.map +1 -1
- package/cjs/kits/env.js.map +1 -1
- package/cjs/kits/index.js.map +1 -1
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/canvas-picker-service.d.ts +2 -2
- package/cjs/picker/canvas-picker-service.js +20 -3
- package/cjs/picker/canvas-picker-service.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/base-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js +1 -1
- package/cjs/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
- package/cjs/picker/contributions/canvas-picker/group-picker.js +26 -0
- package/cjs/picker/contributions/canvas-picker/group-picker.js.map +1 -0
- package/cjs/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/module.js +3 -1
- package/cjs/picker/contributions/canvas-picker/module.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/constants.d.ts +1 -0
- package/cjs/picker/contributions/constants.js +9 -8
- package/cjs/picker/contributions/constants.js.map +1 -1
- package/cjs/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/glyph-picker.js +1 -1
- package/cjs/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/module.js.map +1 -1
- package/cjs/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/cjs/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/cjs/picker/contributions/modules.js.map +1 -1
- package/cjs/picker/contributions/old/circle-picker.js.map +1 -1
- package/cjs/picker/contributions/old/rect-picker.js.map +1 -1
- package/cjs/picker/global-picker-service.d.ts +1 -1
- package/cjs/picker/global-picker-service.js +12 -5
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/index.js.map +1 -1
- package/cjs/picker/math-picker-service.d.ts +2 -2
- package/cjs/picker/math-picker-service.js +1 -1
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/picker/pick-interceptor.d.ts +12 -0
- package/cjs/picker/pick-interceptor.js +30 -2
- package/cjs/picker/pick-interceptor.js.map +1 -1
- package/cjs/picker/pick-modules.js +2 -0
- package/cjs/picker/pick-modules.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +1 -1
- package/cjs/picker/picker-service.js +15 -6
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.d.ts +2 -0
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +42 -21
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -4
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/poptip-plugin.js.map +1 -1
- package/cjs/plugins/constants.js.map +1 -1
- package/cjs/plugins/plugin-modules.js +1 -1
- package/cjs/plugins/plugin-modules.js.map +1 -1
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/render/contributions/modules.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.js +9 -2
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.js +32 -22
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/clear-screen.js.map +1 -1
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js +9 -7
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +9 -7
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/constants.js.map +1 -1
- package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.js +23 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/index.js.map +1 -1
- package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +9 -7
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +24 -22
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.d.ts +2 -0
- package/cjs/render/contributions/render/draw-interceptor.js +8 -0
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-render.js.map +1 -1
- package/cjs/render/contributions/render/graphic-render.js.map +1 -1
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.js +7 -3
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
- package/cjs/render/contributions/render/index.js.map +1 -1
- package/cjs/render/contributions/render/line-render.js +50 -23
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/module.js.map +1 -1
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
- package/cjs/render/contributions/render/render-slector.js.map +1 -1
- package/cjs/render/contributions/render/richtext-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol.js.map +1 -1
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/contributions/render/utils.d.ts +2 -2
- package/cjs/render/contributions/render/utils.js.map +1 -1
- package/cjs/render/index.js.map +1 -1
- package/cjs/render/render-modules.js.map +1 -1
- package/cjs/render/render-service.js.map +1 -1
- package/cjs/resource-loader/loader.js.map +1 -1
- package/cjs/tapable/Hook.js.map +1 -1
- package/cjs/tapable/SyncHook.js.map +1 -1
- package/cjs/tapable/index.js.map +1 -1
- package/dist/index.js +1373 -933
- package/dist/index.min.js +1 -1
- package/es/allocator/allocator-modules.js.map +1 -1
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/constants.js.map +1 -1
- package/es/allocator/graphic-allocate.js.map +1 -1
- package/es/allocator/matrix-allocate.js.map +1 -1
- package/es/allocator/point-allocate.js.map +1 -1
- package/es/animate/Ticker/default-ticker.js.map +1 -1
- package/es/animate/Ticker/index.js.map +1 -1
- package/es/animate/animate.d.ts +1 -0
- package/es/animate/animate.js +3 -0
- package/es/animate/animate.js.map +1 -1
- package/es/animate/config.js.map +1 -1
- package/es/animate/custom-animate.js.map +1 -1
- package/es/animate/default-ticker.js +1 -1
- package/es/animate/default-ticker.js.map +1 -1
- package/es/animate/easing.js.map +1 -1
- package/es/animate/index.js.map +1 -1
- package/es/animate/morphing.js.map +1 -1
- package/es/animate/timeline.d.ts +1 -1
- package/es/animate/timeline.js +2 -2
- package/es/animate/timeline.js.map +1 -1
- package/es/application.js.map +1 -1
- package/es/canvas/constants.js.map +1 -1
- package/es/canvas/contributions/browser/canvas.js +1 -1
- package/es/canvas/contributions/browser/canvas.js.map +1 -1
- package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/es/canvas/contributions/browser/context.d.ts +1 -0
- package/es/canvas/contributions/browser/context.js.map +1 -1
- package/es/canvas/contributions/browser/index.js.map +1 -1
- package/es/canvas/contributions/browser/modules.js.map +1 -1
- package/es/canvas/contributions/feishu/canvas.js.map +1 -1
- package/es/canvas/contributions/feishu/context.js.map +1 -1
- package/es/canvas/contributions/feishu/index.js.map +1 -1
- package/es/canvas/contributions/feishu/modules.js.map +1 -1
- package/es/canvas/contributions/lynx/canvas.js.map +1 -1
- package/es/canvas/contributions/lynx/context.js.map +1 -1
- package/es/canvas/contributions/lynx/index.js.map +1 -1
- package/es/canvas/contributions/lynx/modules.js.map +1 -1
- package/es/canvas/contributions/modules.js.map +1 -1
- package/es/canvas/contributions/node/canvas.js.map +1 -1
- package/es/canvas/contributions/node/context.js.map +1 -1
- package/es/canvas/contributions/node/index.js.map +1 -1
- package/es/canvas/contributions/node/modules.js.map +1 -1
- package/es/canvas/contributions/taro/canvas.js.map +1 -1
- package/es/canvas/contributions/taro/context.js.map +1 -1
- package/es/canvas/contributions/taro/index.js.map +1 -1
- package/es/canvas/contributions/taro/modules.js.map +1 -1
- package/es/canvas/contributions/tt/canvas.js.map +1 -1
- package/es/canvas/contributions/tt/context.js.map +1 -1
- package/es/canvas/contributions/tt/index.js.map +1 -1
- package/es/canvas/contributions/tt/modules.js.map +1 -1
- package/es/canvas/contributions/wx/canvas.js.map +1 -1
- package/es/canvas/contributions/wx/context.js.map +1 -1
- package/es/canvas/contributions/wx/index.js.map +1 -1
- package/es/canvas/contributions/wx/modules.js.map +1 -1
- package/es/canvas/empty-context.js.map +1 -1
- package/es/canvas/index.js.map +1 -1
- package/es/canvas/util.js.map +1 -1
- package/es/color-string/colorName.js.map +1 -1
- package/es/color-string/index.js.map +1 -1
- package/es/color-string/interpolate.js.map +1 -1
- package/es/common/bezier-utils.js.map +1 -1
- package/es/common/bounds-context.js.map +1 -1
- package/es/common/canvas-utils.js.map +1 -1
- package/es/common/contribution-provider.d.ts +1 -0
- package/es/common/contribution-provider.js +4 -0
- package/es/common/contribution-provider.js.map +1 -1
- package/es/common/custom-path2d.js.map +1 -1
- package/es/common/enums.d.ts +4 -2
- package/es/common/enums.js +3 -2
- package/es/common/enums.js.map +1 -1
- package/es/common/generator.js.map +1 -1
- package/es/common/matrix.js.map +1 -1
- package/es/common/morphing-utils.js.map +1 -1
- package/es/common/path-svg.js.map +1 -1
- package/es/common/polygon.js.map +1 -1
- package/es/common/render-area.js.map +1 -1
- package/es/common/render-command-list.js.map +1 -1
- package/es/common/render-curve.js.map +1 -1
- package/es/common/seg-context.js.map +1 -1
- package/es/common/segment/basis.js.map +1 -1
- package/es/common/segment/common.js.map +1 -1
- package/es/common/segment/curve/arc.js.map +1 -1
- package/es/common/segment/curve/base.js.map +1 -1
- package/es/common/segment/curve/cubic-bezier.js.map +1 -1
- package/es/common/segment/curve/curve-context.js.map +1 -1
- package/es/common/segment/curve/ellipse.js.map +1 -1
- package/es/common/segment/curve/line.js.map +1 -1
- package/es/common/segment/curve/move.js.map +1 -1
- package/es/common/segment/curve/path.js.map +1 -1
- package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
- package/es/common/segment/index.js.map +1 -1
- package/es/common/segment/linear-closed.js.map +1 -1
- package/es/common/segment/linear.js.map +1 -1
- package/es/common/segment/monotone.js.map +1 -1
- package/es/common/segment/step.js.map +1 -1
- package/es/common/shape/arc.js.map +1 -1
- package/es/common/shape/rect.js.map +1 -1
- package/es/common/sort.js.map +1 -1
- package/es/common/split-path.js.map +1 -1
- package/es/common/store.js.map +1 -1
- package/es/common/text.js.map +1 -1
- package/es/common/utils.js.map +1 -1
- package/es/constants.js.map +1 -1
- package/es/container.js.map +1 -1
- package/es/core/application.js.map +1 -1
- package/es/core/camera.js.map +1 -1
- package/es/core/constants.js.map +1 -1
- package/es/core/contributions/env/base-contribution.d.ts +6 -0
- package/es/core/contributions/env/base-contribution.js +12 -0
- package/es/core/contributions/env/base-contribution.js.map +1 -1
- package/es/core/contributions/env/browser-contribution.d.ts +6 -0
- package/es/core/contributions/env/browser-contribution.js +19 -0
- package/es/core/contributions/env/browser-contribution.js.map +1 -1
- package/es/core/contributions/env/feishu-contribution.js.map +1 -1
- package/es/core/contributions/env/lynx-contribution.js.map +1 -1
- package/es/core/contributions/env/modules.js.map +1 -1
- package/es/core/contributions/env/node-contribution.js.map +1 -1
- package/es/core/contributions/env/taro-contribution.js.map +1 -1
- package/es/core/contributions/env/wx-contribution.d.ts +1 -0
- package/es/core/contributions/env/wx-contribution.js +5 -3
- package/es/core/contributions/env/wx-contribution.js.map +1 -1
- package/es/core/contributions/index.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.d.ts +1 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +3 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/modules.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.d.ts +1 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +3 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/modules.js.map +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/es/core/contributions/textMeasure/layout.js +1 -1
- package/es/core/contributions/textMeasure/layout.js.map +1 -1
- package/es/core/contributions/textMeasure/modules.js.map +1 -1
- package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
- package/es/core/contributions/window/base-contribution.d.ts +11 -5
- package/es/core/contributions/window/base-contribution.js +10 -0
- package/es/core/contributions/window/base-contribution.js.map +1 -1
- package/es/core/contributions/window/browser-contribution.d.ts +11 -0
- package/es/core/contributions/window/browser-contribution.js +33 -2
- package/es/core/contributions/window/browser-contribution.js.map +1 -1
- package/es/core/contributions/window/feishu-contribution.js.map +1 -1
- package/es/core/contributions/window/lynx-contribution.js.map +1 -1
- package/es/core/contributions/window/modules.js.map +1 -1
- package/es/core/contributions/window/native-contribution.js.map +1 -1
- package/es/core/contributions/window/node-contribution.js.map +1 -1
- package/es/core/contributions/window/taro-contribution.js.map +1 -1
- package/es/core/contributions/window/wx-contribution.js.map +1 -1
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global-module.js.map +1 -1
- package/es/core/global.d.ts +6 -0
- package/es/core/global.js +9 -0
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +2 -0
- package/es/core/graphic-utils.js +13 -0
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/index.js.map +1 -1
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.js +1 -1
- package/es/core/layer.js.map +1 -1
- package/es/core/light.js.map +1 -1
- package/es/core/stage.d.ts +7 -2
- package/es/core/stage.js +28 -11
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +6 -0
- package/es/core/window.js +10 -1
- package/es/core/window.js.map +1 -1
- package/es/create.js.map +1 -1
- package/es/event/constant.js.map +1 -1
- package/es/event/event-manager.js +13 -11
- package/es/event/event-manager.js.map +1 -1
- package/es/event/event-system.js.map +1 -1
- package/es/event/event-target.js.map +1 -1
- package/es/event/extension/drag.js.map +1 -1
- package/es/event/extension/gesture.js.map +1 -1
- package/es/event/extension/index.js.map +1 -1
- package/es/event/federated-event/base-event.js.map +1 -1
- package/es/event/federated-event/custom-event.js.map +1 -1
- package/es/event/federated-event/index.js.map +1 -1
- package/es/event/federated-event/mouse-event.js.map +1 -1
- package/es/event/federated-event/pointer-event.d.ts +1 -0
- package/es/event/federated-event/pointer-event.js.map +1 -1
- package/es/event/federated-event/wheel-event.js.map +1 -1
- package/es/event/index.js.map +1 -1
- package/es/event/util.js.map +1 -1
- package/es/export.js.map +1 -1
- package/es/graphic/arc.d.ts +7 -0
- package/es/graphic/arc.js +3 -1
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-down.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-left.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-up.js.map +1 -1
- package/es/graphic/builtin-symbol/circle.js.map +1 -1
- package/es/graphic/builtin-symbol/close.js.map +1 -1
- package/es/graphic/builtin-symbol/cross.js.map +1 -1
- package/es/graphic/builtin-symbol/diamond.js.map +1 -1
- package/es/graphic/builtin-symbol/index.js.map +1 -1
- package/es/graphic/builtin-symbol/line-h.js.map +1 -1
- package/es/graphic/builtin-symbol/line-v.js.map +1 -1
- package/es/graphic/builtin-symbol/rect.js.map +1 -1
- package/es/graphic/builtin-symbol/square.js.map +1 -1
- package/es/graphic/builtin-symbol/star.js.map +1 -1
- package/es/graphic/builtin-symbol/stroke.js.map +1 -1
- package/es/graphic/builtin-symbol/thin-triangle.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-down.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-left.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-right.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle-up.js.map +1 -1
- package/es/graphic/builtin-symbol/triangle.js.map +1 -1
- package/es/graphic/builtin-symbol/utils.js.map +1 -1
- package/es/graphic/builtin-symbol/wedge.js.map +1 -1
- package/es/graphic/builtin-symbol/wye.js.map +1 -1
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +9 -4
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/constants.js.map +1 -1
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic-creator.js.map +1 -1
- package/es/graphic/graphic-service/arc-contribution.js.map +1 -1
- package/es/graphic/graphic-service/area-contribution.js.map +1 -1
- package/es/graphic/graphic-service/circle-contribution.js.map +1 -1
- package/es/graphic/graphic-service/common-contribution.js.map +1 -1
- package/es/graphic/graphic-service/default-theme.js.map +1 -1
- package/es/graphic/graphic-service/graphic-module.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic-service/path-contribution.js.map +1 -1
- package/es/graphic/graphic-service/rect-contribution.js.map +1 -1
- package/es/graphic/graphic-service/symbol-contribution.js.map +1 -1
- package/es/graphic/graphic.d.ts +4 -1
- package/es/graphic/graphic.js +57 -23
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.js +1 -1
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.js.map +1 -1
- package/es/graphic/index.js.map +1 -1
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/node-tree.js.map +1 -1
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/rect3d.js.map +1 -1
- package/es/graphic/richtext/frame.js.map +1 -1
- package/es/graphic/richtext/icon.js.map +1 -1
- package/es/graphic/richtext/line.js.map +1 -1
- package/es/graphic/richtext/paragraph.js.map +1 -1
- package/es/graphic/richtext/utils.js.map +1 -1
- package/es/graphic/richtext/wrapper.js.map +1 -1
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/shadow-root.js.map +1 -1
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.js +34 -26
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/theme.js.map +1 -1
- package/es/graphic/tools.js.map +1 -1
- package/es/graphic/wrap-text.js +16 -10
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -1
- package/es/index.js.map +1 -1
- package/es/interface/allocator.js.map +1 -1
- package/es/interface/animate.d.ts +3 -1
- package/es/interface/animate.js.map +1 -1
- package/es/interface/camera.js.map +1 -1
- package/es/interface/canvas.js.map +1 -1
- package/es/interface/color.js.map +1 -1
- package/es/interface/common.js.map +1 -1
- package/es/interface/context.js.map +1 -1
- package/es/interface/contribution.js.map +1 -1
- package/es/interface/core.d.ts +1 -0
- package/es/interface/core.js.map +1 -1
- package/es/interface/creator.js.map +1 -1
- package/es/interface/curve.js.map +1 -1
- package/es/interface/event.js.map +1 -1
- package/es/interface/global.d.ts +12 -0
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic/arc.d.ts +2 -0
- package/es/interface/graphic/arc.js.map +1 -1
- package/es/interface/graphic/arc3d.js.map +1 -1
- package/es/interface/graphic/area.js.map +1 -1
- package/es/interface/graphic/bounds.js.map +1 -1
- package/es/interface/graphic/circle.js.map +1 -1
- package/es/interface/graphic/creator.js.map +1 -1
- package/es/interface/graphic/dynamic-path.js.map +1 -1
- package/es/interface/graphic/ellipse.js.map +1 -1
- package/es/interface/graphic/face3d.js.map +1 -1
- package/es/interface/graphic/glyph.js.map +1 -1
- package/es/interface/graphic/group.js.map +1 -1
- package/es/interface/graphic/image.d.ts +1 -0
- package/es/interface/graphic/image.js.map +1 -1
- package/es/interface/graphic/index.js.map +1 -1
- package/es/interface/graphic/isogon.js.map +1 -1
- package/es/interface/graphic/line.d.ts +1 -0
- package/es/interface/graphic/line.js.map +1 -1
- package/es/interface/graphic/path.js.map +1 -1
- package/es/interface/graphic/polygon.js.map +1 -1
- package/es/interface/graphic/polyline.js.map +1 -1
- package/es/interface/graphic/pyramid3d.js.map +1 -1
- package/es/interface/graphic/rect.js.map +1 -1
- package/es/interface/graphic/rect3d.js.map +1 -1
- package/es/interface/graphic/richText.js.map +1 -1
- package/es/interface/graphic/shadow-root.js.map +1 -1
- package/es/interface/graphic/svg.js.map +1 -1
- package/es/interface/graphic/symbol.js.map +1 -1
- package/es/interface/graphic/text.d.ts +1 -0
- package/es/interface/graphic/text.js.map +1 -1
- package/es/interface/graphic/theme.js.map +1 -1
- package/es/interface/graphic/util.js.map +1 -1
- package/es/interface/graphic-service.js.map +1 -1
- package/es/interface/graphic-utils.js.map +1 -1
- package/es/interface/graphic.d.ts +15 -3
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/index.js.map +1 -1
- package/es/interface/layer.d.ts +1 -0
- package/es/interface/layer.js.map +1 -1
- package/es/interface/light.js.map +1 -1
- package/es/interface/loader.js.map +1 -1
- package/es/interface/matrix.js.map +1 -1
- package/es/interface/node-tree.js.map +1 -1
- package/es/interface/path.js.map +1 -1
- package/es/interface/picker.d.ts +9 -1
- package/es/interface/picker.js.map +1 -1
- package/es/interface/plugin.js.map +1 -1
- package/es/interface/render.js.map +1 -1
- package/es/interface/stage.d.ts +7 -2
- package/es/interface/stage.js.map +1 -1
- package/es/interface/sync-hook.js.map +1 -1
- package/es/interface/text.js.map +1 -1
- package/es/interface/theme-service.js.map +1 -1
- package/es/interface/util.js.map +1 -1
- package/es/interface/window.d.ts +12 -0
- package/es/interface/window.js.map +1 -1
- package/es/jsx/graphicType.d.ts +96 -60
- package/es/jsx/graphicType.js.map +1 -1
- package/es/jsx/index.js.map +1 -1
- package/es/jsx/jsx-classic.d.ts +2 -4
- package/es/jsx/jsx-classic.js +8 -15
- package/es/jsx/jsx-classic.js.map +1 -1
- package/es/kits/env.js.map +1 -1
- package/es/kits/index.js.map +1 -1
- package/es/modules.js.map +1 -1
- package/es/picker/canvas-picker-service.d.ts +2 -2
- package/es/picker/canvas-picker-service.js +20 -3
- package/es/picker/canvas-picker-service.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/arc3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/base-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.js +1 -1
- package/es/picker/contributions/canvas-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/group-picker.d.ts +7 -0
- package/es/picker/contributions/canvas-picker/group-picker.js +23 -0
- package/es/picker/contributions/canvas-picker/group-picker.js.map +1 -0
- package/es/picker/contributions/canvas-picker/image-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/module.js +6 -2
- package/es/picker/contributions/canvas-picker/module.js.map +1 -1
- package/es/picker/contributions/canvas-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/pyramid3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/rect3d-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/richtext-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/canvas-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/constants.d.ts +1 -0
- package/es/picker/contributions/constants.js +2 -0
- package/es/picker/contributions/constants.js.map +1 -1
- package/es/picker/contributions/math-picker/arc-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/area-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/circle-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.js +1 -1
- package/es/picker/contributions/math-picker/glyph-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/line-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/module.js.map +1 -1
- package/es/picker/contributions/math-picker/path-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/polygon-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/rect-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/symbol-picker.js.map +1 -1
- package/es/picker/contributions/math-picker/text-picker.js.map +1 -1
- package/es/picker/contributions/modules.js.map +1 -1
- package/es/picker/contributions/old/circle-picker.js.map +1 -1
- package/es/picker/contributions/old/rect-picker.js.map +1 -1
- package/es/picker/global-picker-service.d.ts +1 -1
- package/es/picker/global-picker-service.js +12 -5
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/index.js.map +1 -1
- package/es/picker/math-picker-service.d.ts +2 -2
- package/es/picker/math-picker-service.js +1 -1
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/picker/pick-interceptor.d.ts +12 -0
- package/es/picker/pick-interceptor.js +32 -1
- package/es/picker/pick-interceptor.js.map +1 -1
- package/es/picker/pick-modules.js +4 -2
- package/es/picker/pick-modules.js.map +1 -1
- package/es/picker/picker-service.d.ts +1 -1
- package/es/picker/picker-service.js +15 -6
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/builtin-plugin/3dview-transform-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/flex-layout-plugin.d.ts +2 -0
- package/es/plugins/builtin-plugin/flex-layout-plugin.js +47 -20
- package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -4
- package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/poptip-plugin.js.map +1 -1
- package/es/plugins/constants.js.map +1 -1
- package/es/plugins/plugin-modules.js +2 -2
- package/es/plugins/plugin-modules.js.map +1 -1
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/render/contributions/modules.js.map +1 -1
- package/es/render/contributions/render/arc-render.js +10 -3
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-render.js.map +1 -1
- package/es/render/contributions/render/area-render.js +31 -21
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/clear-screen.js.map +1 -1
- package/es/render/contributions/render/contributions/arc-contribution-render.js +9 -7
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.js +9 -7
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/constants.js.map +1 -1
- package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/image-contribution-render.js +27 -0
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/index.js.map +1 -1
- package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.js +9 -7
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +22 -20
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.d.ts +2 -0
- package/es/render/contributions/render/draw-interceptor.js +8 -0
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-render.js.map +1 -1
- package/es/render/contributions/render/graphic-render.js.map +1 -1
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-render.js +10 -2
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/incremental-area-render.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/render/contributions/render/incremental-line-render.js.map +1 -1
- package/es/render/contributions/render/index.js.map +1 -1
- package/es/render/contributions/render/line-render.js +49 -22
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/module.js.map +1 -1
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-render.js.map +1 -1
- package/es/render/contributions/render/render-slector.js.map +1 -1
- package/es/render/contributions/render/richtext-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/symbol.js.map +1 -1
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/contributions/render/utils.d.ts +2 -2
- package/es/render/contributions/render/utils.js.map +1 -1
- package/es/render/index.js.map +1 -1
- package/es/render/render-modules.js.map +1 -1
- package/es/render/render-service.js.map +1 -1
- package/es/resource-loader/loader.js.map +1 -1
- package/es/tapable/Hook.js.map +1 -1
- package/es/tapable/SyncHook.js.map +1 -1
- package/es/tapable/index.js.map +1 -1
- package/package.json +7 -7
- package/es/tsconfig.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/line-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAY/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAGvD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAIhC,YAAgD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAH9E,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,gBAAgB,CAAC;IAE2C,CAAC;IAGlF,QAAQ,CAAC,IAAW,EAAE,KAAa,EAAE,MAAoB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,WAAW,EAAE;YAC3C,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAElE,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAErC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SACzD;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC9C,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,IAAI,EACJ,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,OAAO,CAAC,EAAE;YAER,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,eAA4D,EAC5D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACxE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YAClC,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA1EY,qBAAqB;IADjC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;;GAJpB,qBAAqB,CA0EjC;SA1EY,qBAAqB","file":"line-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type { IPoint } from '@visactor/vutils';\nimport type {\n ILine,\n IContext2d,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '../../../interface';\nimport { LineRender } from '../../../render';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultMathLinePicker implements IGraphicPicker {\n type: string = 'line';\n numberType: number = LINE_NUMBER_TYPE;\n\n constructor(@inject(LineRender) public readonly canvasRenderer: IGraphicRender) {}\n // numberType?: number = LINE_NUMBER_TYPE;\n\n contains(line: ILine, point: IPoint, params?: IPickParams): boolean {\n if (!line.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (line.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line).line;\n let { x = lineAttribute.x, y = lineAttribute.y } = line.attribute;\n\n pickContext.highPerformanceSave();\n if (!line.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(line.transMatrix, true);\n } else {\n const point = line.getOffsetXY(lineAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n line,\n pickContext,\n x,\n y,\n {} as any,\n null,\n context => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n circleAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = circleAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = lineWidth;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from 'inversify';\nimport { DefaultMathPathPicker } from './path-picker';\nimport {\n MathArcPicker,\n MathAreaPicker,\n MathCirclePicker,\n MathGlyphPicker,\n MathLinePicker,\n MathPathPicker,\n MathPickerContribution,\n MathPolygonPicker,\n MathRectPicker,\n MathSymbolPicker,\n MathTextPicker\n} from '../constants';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultMathCirclePicker } from './circle-picker';\nimport { DefaultMathRectPicker } from './rect-picker';\nimport { DefaultMathArcPicker } from './arc-picker';\nimport { DefaultMathAreaPicker } from './area-picker';\nimport { DefaultMathLinePicker } from './line-picker';\nimport { DefaultMathSymbolPicker } from './symbol-picker';\nimport { DefaultMathTextPicker } from './text-picker';\nimport { DefaultMathPolygonPicker } from './polygon-picker';\nimport { DefaultMathGlyphPicker } from './glyph-picker';\n\nexport default new ContainerModule(bind => {\n // circle picker\n bind(DefaultMathCirclePicker).toSelf().inSingletonScope();\n bind(MathCirclePicker).toService(DefaultMathCirclePicker);\n bind(MathPickerContribution).toService(MathCirclePicker);\n\n // rect picker\n bind(DefaultMathRectPicker).toSelf().inSingletonScope();\n bind(MathRectPicker).toService(DefaultMathRectPicker);\n bind(MathPickerContribution).toService(MathRectPicker);\n\n // arc picker\n bind(DefaultMathArcPicker).toSelf().inSingletonScope();\n bind(MathArcPicker).toService(DefaultMathArcPicker);\n bind(MathPickerContribution).toService(MathArcPicker);\n\n // area picker\n bind(DefaultMathAreaPicker).toSelf().inSingletonScope();\n bind(MathAreaPicker).toService(DefaultMathAreaPicker);\n bind(MathPickerContribution).toService(MathAreaPicker);\n\n // // image picker\n // bind(DefaultCanvasImagePicker).toSelf().inSingletonScope();\n // bind(ImagePicker).toService(DefaultCanvasImagePicker);\n // bind(PickerContribution).toService(ImagePicker);\n\n // line picker\n bind(DefaultMathLinePicker).toSelf().inSingletonScope();\n bind(MathLinePicker).toService(DefaultMathLinePicker);\n bind(MathPickerContribution).toService(MathLinePicker);\n\n // path picker\n bind(DefaultMathPathPicker).toSelf().inSingletonScope();\n bind(MathPathPicker).toService(DefaultMathPathPicker);\n bind(MathPickerContribution).toService(MathPathPicker);\n\n // symbol picker\n bind(DefaultMathSymbolPicker).toSelf().inSingletonScope();\n bind(MathSymbolPicker).toService(DefaultMathSymbolPicker);\n bind(MathPickerContribution).toService(MathSymbolPicker);\n\n // text picker\n bind(DefaultMathTextPicker).toSelf().inSingletonScope();\n bind(MathTextPicker).toService(DefaultMathTextPicker);\n bind(MathPickerContribution).toService(MathTextPicker);\n\n // polygon picker\n bind(DefaultMathPolygonPicker).toSelf().inSingletonScope();\n bind(MathPolygonPicker).toService(DefaultMathPolygonPicker);\n bind(MathPickerContribution).toService(MathPolygonPicker);\n\n // glyph picker\n bind(DefaultMathGlyphPicker).toSelf().inSingletonScope();\n bind(MathGlyphPicker).toService(DefaultMathGlyphPicker);\n bind(DefaultMathGlyphPicker).toService(MathGlyphPicker);\n\n bindContributionProvider(bind, MathPickerContribution);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/path-picker.ts"],"names":[],"mappings":"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","file":"path-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type { IPoint } from '@visactor/vutils';\nimport { getTheme } from '../../../graphic/theme';\nimport type {\n IContext2d,\n IPath,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '../../../interface';\nimport { PathRender } from '../../../render';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultMathPathPicker implements IGraphicPicker {\n type: string = 'path';\n numberType: number = PATH_NUMBER_TYPE;\n\n constructor(@inject(PathRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(path: IPath, point: IPoint, params?: IPickParams): boolean {\n if (!path.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (path.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path).path;\n let { x = pathAttribute.x, y = pathAttribute.y } = path.attribute;\n\n pickContext.highPerformanceSave();\n if (!path.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(path.transMatrix, true);\n } else {\n const point = path.getOffsetXY(pathAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n path,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = pathAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = lineWidth;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n\n return picked;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/polygon-picker.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAWlD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAG1D,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAInC,YAAmD,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAHjF,SAAI,GAAW,SAAS,CAAC;QACzB,eAAU,GAAW,mBAAmB,CAAC;IAE2C,CAAC;IAErF,QAAQ,CAAC,OAAiB,EAAE,KAAa,EAAE,MAAoB;QAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;YAClD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAChD,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;QAErE,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE;YAExC,CAAC,GAAG,CAAC,CAAC;YACN,CAAC,GAAG,CAAC,CAAC;YACN,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;SAC5D;aAAM;YACL,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YACjD,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAEb,WAAW,CAAC,sBAAsB,EAAE,CAAC;SACtC;QAGD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,CAC3B,OAAO,EACP,WAAW,EACX,CAAC,EACD,CAAC,EACD,EAAS,EACT,IAAI,EACJ,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CACE,OAAmB,EACnB,aAA0D,EAC1D,cAA+B,EAC/B,EAAE;YAEF,IAAI,MAAM,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC;YACtE,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;YAClC,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEF,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAErC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA1EY,wBAAwB;IADpC,UAAU,EAAE;IAKE,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;;GAJvB,wBAAwB,CA0EpC;SA1EY,wBAAwB","file":"polygon-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type { IPoint } from '@visactor/vutils';\nimport { getTheme } from '../../../graphic/theme';\nimport type {\n IContext2d,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IPolygon,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '../../../interface';\nimport { PolygonRender } from '../../../render';\nimport { POLYGON_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultMathPolygonPicker implements IGraphicPicker {\n type: string = 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(@inject(PolygonRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(polygon: IPolygon, point: IPoint, params?: IPickParams): boolean {\n if (!polygon.AABBBounds.contains(point.x, point.y)) {\n return false;\n }\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(polygon).polygon;\n let { x = pathAttribute.x, y = pathAttribute.y } = polygon.attribute;\n\n pickContext.highPerformanceSave();\n if (!polygon.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(polygon.transMatrix, true);\n } else {\n const point = polygon.getOffsetXY(pathAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n polygon,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n pathAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = pathAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = lineWidth;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n\n return picked;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/rect-picker.ts"],"names":[],"mappings":"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","file":"rect-picker.js","sourcesContent":["import type { IPoint } from '@visactor/vutils';\nimport { isArray, isNumber, AABBBounds } from '@visactor/vutils';\nimport { inject, injectable } from 'inversify';\nimport { getTheme } from '../../../graphic/theme';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '../../../interface';\nimport { RectRender } from '../../../render';\nimport { RECT_NUMBER_TYPE } from '../../../graphic/constants';\n\nconst _bounds = new AABBBounds();\n\n@injectable()\nexport class DefaultMathRectPicker implements IGraphicPicker {\n type: string = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n constructor(@inject(RectRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(rect: IRect, point: IPoint, params?: IPickParams): boolean {\n if (!rect.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (rect.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const { rectAttribute } = graphicService.themeService.getCurrentTheme();\n const rectAttribute = getTheme(rect).rect;\n const { cornerRadius = rectAttribute.cornerRadius } = rect.attribute;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n pickContext.highPerformanceSave();\n let onlyTranslate = true;\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n onlyTranslate = false;\n pickContext.transformFromMatrix(rect.transMatrix, true);\n } else {\n const point = rect.getOffsetXY(rectAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n let picked = true;\n // 处理圆角情况,无圆角直接使用bounds判断结果\n if (\n !onlyTranslate ||\n (isNumber(cornerRadius, true) && cornerRadius !== 0) ||\n (isArray(cornerRadius) && (<number[]>cornerRadius).some(num => num !== 0))\n ) {\n // 详细形状判断\n picked = false;\n this.canvasRenderer.drawShape(\n rect,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n rectAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = rectAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = lineWidth;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n } else if (picked) {\n // 如果只有描边那需要测试描边\n const {\n fill = rectAttribute.fill,\n stroke = rectAttribute.stroke,\n lineWidth = rectAttribute.lineWidth\n } = rect.attribute;\n if (fill) {\n picked = true;\n } else if (stroke) {\n const bounds = rect.AABBBounds;\n _bounds.setValue(bounds.x1, bounds.y1, bounds.x2, bounds.y2);\n _bounds.expand(-lineWidth / 2);\n picked = !_bounds.containsPoint(point);\n }\n }\n\n pickContext.highPerformanceRestore();\n return picked; // 无圆角形状判断通过\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/symbol-picker.ts"],"names":[],"mappings":"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","file":"symbol-picker.js","sourcesContent":["import { inject, injectable } from 'inversify';\nimport type { IPoint } from '@visactor/vutils';\nimport { getTheme } from '../../../graphic/theme';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n ISymbol,\n IThemeAttribute,\n IGraphicPicker,\n IGraphicRender,\n IPickParams\n} from '../../../interface';\nimport { SymbolRender } from '../../../render';\nimport { SYMBOL_NUMBER_TYPE } from '../../../graphic/constants';\n\n@injectable()\nexport class DefaultMathSymbolPicker implements IGraphicPicker {\n type: string = 'symbol';\n numberType: number = SYMBOL_NUMBER_TYPE;\n\n constructor(@inject(SymbolRender) public readonly canvasRenderer: IGraphicRender) {}\n\n contains(symbol: ISymbol, point: IPoint, params?: IPickParams): boolean {\n if (!symbol.AABBBounds.containsPoint(point)) {\n return false;\n }\n if (symbol.attribute.pickMode === 'imprecise') {\n return true;\n }\n\n const { pickContext } = params ?? {};\n if (!pickContext) {\n return false;\n }\n\n // const symbolAttribute = graphicService.themeService.getCurrentTheme().symbolAttribute;\n const symbolAttribute = getTheme(symbol).symbol;\n let { x = symbolAttribute.x, y = symbolAttribute.y } = symbol.attribute;\n\n pickContext.highPerformanceSave();\n if (!symbol.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n pickContext.transformFromMatrix(symbol.transMatrix, true);\n } else {\n const point = symbol.getOffsetXY(symbolAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n pickContext.setTransformForCurrent();\n }\n\n // 详细形状判断\n let picked = false;\n this.canvasRenderer.drawShape(\n symbol,\n pickContext,\n x,\n y,\n {} as any,\n null,\n (\n context: IContext2d,\n symbolAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n picked = context.isPointInPath(point.x, point.y);\n return picked;\n },\n (\n context: IContext2d,\n symbolAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => {\n // 选中后面就不需要再走逻辑了\n if (picked) {\n return true;\n }\n const lineWidth = symbolAttribute.lineWidth || themeAttribute.lineWidth;\n pickContext.lineWidth = lineWidth;\n picked = context.isPointInStroke(point.x, point.y);\n return picked;\n }\n );\n\n pickContext.highPerformanceRestore();\n return picked;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/math-picker/text-picker.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIvD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QACL,SAAI,GAAW,MAAM,CAAC;QACtB,eAAU,GAAW,gBAAgB,CAAC;IAexC,CAAC;IAbC,QAAQ,CAAC,IAAW,EAAE,KAAa,EAAE,MAAoB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC;SACd;QAQD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAjBY,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAiBjC;SAjBY,qBAAqB","file":"text-picker.js","sourcesContent":["import { injectable } from 'inversify';\nimport type { IPoint } from '@visactor/vutils';\nimport { TEXT_NUMBER_TYPE } from '../../../graphic/constants';\nimport type { IGraphicPicker, IPickParams, IText } from '../../../interface';\n\n@injectable()\nexport class DefaultMathTextPicker implements IGraphicPicker {\n type: string = 'text';\n numberType: number = TEXT_NUMBER_TYPE;\n\n contains(text: IText, point: IPoint, params?: IPickParams): boolean {\n if (!text.AABBBounds.containsPoint(point)) {\n return false;\n }\n\n // const { pickContext } = params ?? {};\n // if (!pickContext) {\n // return false;\n // }\n\n // TODO: 详细形状判断\n return true;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/modules.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AACtD,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAkClD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,SAAoB;IAE/C,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACjC,CAAC","file":"modules.js","sourcesContent":["import { Container } from 'inversify';\n// import { PickerContribution } from '../picker-service';\nimport canvasPickModule from './canvas-picker/module';\nimport mathPickModule from './math-picker/module';\n// import { ArcPicker, AreaPicker, CirclePicker, ImagePicker, LinePicker, PathPicker, RectPicker, SymbolPicker, TextPicker } from './constants';\n\n// const pickModule = new ContainerModule((bind, unbind, isBound, rebind) => {\n// // circle picker\n// bind(PickerContribution).toService(CirclePicker);\n\n// // reat picker\n// bind(PickerContribution).toService(RectPicker);\n\n// // arc picker\n// bind(PickerContribution).toService(ArcPicker);\n\n// // area picker\n// bind(PickerContribution).toService(AreaPicker);\n\n// // image picker\n// bind(PickerContribution).toService(ImagePicker);\n\n// // line picker\n// bind(PickerContribution).toService(LinePicker);\n\n// // path picker\n// bind(PickerContribution).toService(PathPicker);\n\n// // symbol picker\n// bind(PickerContribution).toService(SymbolPicker);\n\n// // text picker\n// bind(PickerContribution).toService(TextPicker);\n\n// bindContributionProvider(bind, PickerContribution);\n// });\n\nexport default function load(container: Container) {\n // container.load(pickModule);\n container.load(canvasPickModule);\n container.load(mathPickModule);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/old/circle-picker.ts"],"names":[],"mappings":"","file":"circle-picker.js","sourcesContent":["// import { tau } from '@visactor/vutils';\n// import { injectable } from 'inversify';\n// import { PointService, IPoint } from '../../../vutils';\n// import { ICircle } from '../../../export';\n// import { CIRCLE_NUMBER_TYPE } from '../../../graphic';\n// import { graphicService } from '../../../modules';\n// import { IGraphicPicker, IPickParams } from '../../picker-service';\n\n// export const CanvasCirclePicker = Symbol.for('CanvasCirclePicker');\n\n// @injectable()\n// export class DefaultCanvasCirclePicker implements IGraphicPicker {\n// type: string = 'circle';\n// numberType?: number = CIRCLE_NUMBER_TYPE;\n\n// contains(circle: ICircle, point: IPoint, params?: IPickParams): boolean {\n// const { circleAttribute } = graphicService.themeService.getCurrentTheme();\n// const {\n// x = circleAttribute.x,\n// y = circleAttribute.y,\n// startAngle = circleAttribute.startAngle,\n// endAngle = circleAttribute.endAngle,\n// lineWidth = circleAttribute.lineWidth,\n// stroke = circleAttribute.stroke\n// } = circle.attribute;\n// let { radius = circleAttribute.radius } = circle.attribute;\n\n// if (!stroke || (Array.isArray(stroke) && stroke.every(item => !item))) {\n// radius += lineWidth;\n// }\n\n// if (PointService.distancePN(point, x, y) > radius * radius) {\n// return false;\n// }\n\n// if (!circle.AABBBounds.contains(point.x, point.y)) {\n// return false;\n// }\n\n// if (endAngle - startAngle >= tau) {\n// return true;\n// }\n// // TODO: 判断不规范的圆形\n// return true;\n// }\n// }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/contributions/old/rect-picker.ts"],"names":[],"mappings":"","file":"rect-picker.js","sourcesContent":["// import { tau } from '@visactor/vutils';\n// import { injectable } from 'inversify';\n// import { pDistance2ToPoint } from '../../../common';\n// import { ICircle } from '../../../export';\n// import { CIRCLE_NUMBER_TYPE } from '../../../graphic/circle';\n// import { IPoint } from '../../../interface/util';\n// import { graphicService } from '../../../modules';\n// import { IGraphicPicker, IPickParams } from '../../picker-service';\n\n// export const CanvasCirclePicker = Symbol.for('CanvasCirclePicker');\n\n// @injectable()\n// export class DefaultCanvasCirclePicker implements IGraphicPicker {\n// type: string = 'circle';\n// numberType?: number = CIRCLE_NUMBER_TYPE;\n\n// contains(circle: ICircle, point: IPoint, params?: IPickParams): boolean {\n// const { circleAttribute } = graphicService.themeService.getCurrentTheme();\n// const {\n// x = circleAttribute.x,\n// y = circleAttribute.y,\n// startAngle = circleAttribute.startAngle,\n// endAngle = circleAttribute.endAngle,\n// lineWidth = circleAttribute.lineWidth,\n// stroke = circleAttribute.stroke\n// } = circle.attribute;\n// let { radius = circleAttribute.radius } = circle.attribute;\n\n// if (!stroke || (Array.isArray(stroke) && stroke.every(item => !item))) {\n// radius += lineWidth;\n// }\n\n// if (pDistance2ToPoint(point, x, y) > radius * radius) {\n// return false;\n// }\n\n// if (!circle.AABBBounds.contains(point.x, point.y)) {\n// return false;\n// }\n\n// if (endAngle - startAngle >= tau) {\n// return true;\n// }\n// // TODO: 判断不规范的圆形\n// return true;\n// }\n// }\n"]}
|
|
@@ -11,5 +11,5 @@ export declare class DefaultGlobalPickerService implements IPickerService {
|
|
|
11
11
|
pick(graphics: IGraphic[], point: IPointLike, params?: IPickParams): PickResult;
|
|
12
12
|
containsPoint(graphic: IGraphic, point: IPointLike, params?: IPickParams): boolean;
|
|
13
13
|
pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params?: IPickParams): PickResult;
|
|
14
|
-
pickItem(graphic: IGraphic, point: IPointLike, params?: IPickParams): IGraphic | null;
|
|
14
|
+
pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): IGraphic | null;
|
|
15
15
|
}
|
|
@@ -34,12 +34,19 @@ let DefaultGlobalPickerService = class {
|
|
|
34
34
|
};
|
|
35
35
|
const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);
|
|
36
36
|
let group;
|
|
37
|
-
for (let i = 0; i < graphics.length && (graphics[i].isContainer ? result = this.pickGroup(graphics[i], point, parentMatrix, params) : result.graphic = this.pickItem(graphics[i], point, params),
|
|
37
|
+
for (let i = 0; i < graphics.length && (graphics[i].isContainer ? result = this.pickGroup(graphics[i], point, parentMatrix, params) : result.graphic = this.pickItem(graphics[i], point, parentMatrix, params),
|
|
38
38
|
!result.graphic); i++) group || (group = result.group);
|
|
39
|
-
|
|
39
|
+
if (result.graphic || (result.group = group), result.graphic) {
|
|
40
|
+
let g = result.graphic;
|
|
41
|
+
for (;g.parent; ) g = g.parent;
|
|
42
|
+
g.shadowHost && (result.params = {
|
|
43
|
+
shadowTarget: result.graphic
|
|
44
|
+
}, result.graphic = g.shadowHost);
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
40
47
|
}
|
|
41
48
|
containsPoint(graphic, point, params) {
|
|
42
|
-
return !!this.pickItem(graphic, point, params);
|
|
49
|
+
return !!this.pickItem(graphic, point, null, params);
|
|
43
50
|
}
|
|
44
51
|
pickGroup(group, point, parentMatrix, params) {
|
|
45
52
|
let result = {
|
|
@@ -56,12 +63,12 @@ let DefaultGlobalPickerService = class {
|
|
|
56
63
|
!1 !== group.attribute.childrenPickable && group.forEachChildren((graphic => {
|
|
57
64
|
if (graphic.isContainer) result = this.pickGroup(graphic, point, parentMatrix, params); else {
|
|
58
65
|
const newPoint = new Point(point.x, point.y);
|
|
59
|
-
parentMatrix.transformPoint(newPoint, newPoint), result.graphic = this.pickItem(graphic, newPoint, params);
|
|
66
|
+
parentMatrix.transformPoint(newPoint, newPoint), result.graphic = this.pickItem(graphic, newPoint, parentMatrix, params);
|
|
60
67
|
}
|
|
61
68
|
return !!result.graphic || !!result.group;
|
|
62
69
|
})), result.graphic || result.group || !groupPicked || (result.group = group), result;
|
|
63
70
|
}
|
|
64
|
-
pickItem(graphic, point, params) {
|
|
71
|
+
pickItem(graphic, point, parentMatrix, params) {
|
|
65
72
|
return !1 === graphic.attribute.pickable ? null : graphic.AABBBounds.containsPoint(point) ? graphic : null;
|
|
66
73
|
}
|
|
67
74
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/global-picker-service.ts"],"names":[],"mappings":"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","file":"global-picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { Matrix, Point } from '@visactor/vutils';\nimport { inject, injectable } from 'inversify';\nimport type {\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult\n} from '../interface';\nimport { VGlobal } from '../constants';\n\nexport const BoundsPicker = Symbol.for('BoundsPicker');\n\nexport const GlobalPickerService = Symbol.for('GlobalPickerService');\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultGlobalPickerService implements IPickerService {\n type: 'global';\n\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(PickerContribution)\n // protected readonly contributions: ContributionProvider<IPickerContribution>,\n @inject(VGlobal) public readonly global: IGlobal\n ) {\n this.global.hooks.onSetEnv.tap('global-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n }\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPointLike, params?: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = 0; i < graphics.length; i++) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n result.graphic = this.pickItem(graphics[i], point, parentMatrix, params);\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n // 判断是否有shadow-dom\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params?: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params);\n }\n\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params?: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过\n if (!insideGroup) {\n return result;\n }\n // todo: 支持带有path的group的选中\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n parentMatrix.multiply(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);\n\n if (group.attribute.childrenPickable !== false) {\n group.forEachChildren((graphic: IGraphic) => {\n if (graphic.isContainer) {\n result = this.pickGroup(graphic as IGroup, point, parentMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n result.graphic = this.pickItem(graphic, newPoint, parentMatrix, params);\n }\n return !!result.graphic || !!result.group;\n });\n }\n\n if (!result.graphic && !result.group && groupPicked) {\n result.group = group;\n }\n\n return result;\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): IGraphic | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n if (graphic.AABBBounds.containsPoint(point)) {\n return graphic;\n }\n return null;\n }\n}\n"]}
|
package/es/picker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC","file":"index.js","sourcesContent":["export * from './picker-service';\nexport * from './canvas-picker-service';\nexport * from './math-picker-service';\nexport * from './global-picker-service';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IPointLike } from '@visactor/vutils';
|
|
1
|
+
import type { IMatrix, IPointLike } from '@visactor/vutils';
|
|
2
2
|
import type { ICanvas, IContext2d, IGraphic, EnvType, IGlobal, IGraphicPicker, IPickerService, IContributionProvider, IPickItemInterceptorContribution, IPickParams } from '../interface';
|
|
3
3
|
import { DefaultPickService } from './picker-service';
|
|
4
4
|
export declare class DefaultMathPickerService extends DefaultPickService implements IPickerService {
|
|
@@ -12,5 +12,5 @@ export declare class DefaultMathPickerService extends DefaultPickService impleme
|
|
|
12
12
|
constructor(contributions: IContributionProvider<IGraphicPicker>, global: IGlobal, pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>);
|
|
13
13
|
init(): void;
|
|
14
14
|
configure(global: IGlobal, env: EnvType): void;
|
|
15
|
-
pickItem(graphic: IGraphic, point: IPointLike, params?: IPickParams): IGraphic | null;
|
|
15
|
+
pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): IGraphic | null;
|
|
16
16
|
}
|
|
@@ -40,7 +40,7 @@ let DefaultMathPickerService = class extends DefaultPickService {
|
|
|
40
40
|
configure(global, env) {
|
|
41
41
|
this.pickContext = new EmptyContext2d(null, 1);
|
|
42
42
|
}
|
|
43
|
-
pickItem(graphic, point, params) {
|
|
43
|
+
pickItem(graphic, point, parentMatrix, params) {
|
|
44
44
|
if (!1 === graphic.attribute.pickable) return null;
|
|
45
45
|
const picker = this.pickerMap.get(graphic.numberType);
|
|
46
46
|
return picker && picker.contains(graphic, point, params) ? graphic : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/math-picker-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAarE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKlD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,kBAAkB;IAO9D,YAGqB,aAAoD,EACtC,MAAe,EAI7B,gCAAyF;QAE5G,KAAK,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QAP7B,kBAAa,GAAb,aAAa,CAAuC;QACtC,WAAM,GAAN,MAAM,CAAS;QAI7B,qCAAgC,GAAhC,gCAAgC,CAAyD;QAG5G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAGD,IAAI;QACF,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAe,EAAE,GAAY;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,QAAQ,CAAC,OAAiB,EAAE,KAAiB,EAAE,YAA4B,EAAE,MAAoB;QAC/F,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE;YACxC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;CACF,CAAA;AAvBC;IAAC,aAAa,EAAE;;;;oDAMf;AA/BU,wBAAwB;IADpC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAE7B,WAAA,MAAM,CAAC,OAAO,CAAC,CAAA;IAEf,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,mBAAmB,CAAC,CAAA;;GAdlB,wBAAwB,CAgDpC;SAhDY,wBAAwB","file":"math-picker-service.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line\nimport { ContributionProvider } from '../common/contribution-provider';\nimport { inject, injectable, named, postConstruct } from 'inversify';\nimport type {\n ICanvas,\n IContext2d,\n IGraphic,\n EnvType,\n IGlobal,\n IGraphicPicker,\n IPickerService,\n IContributionProvider,\n IPickItemInterceptorContribution,\n IPickParams\n} from '../interface';\nimport { DefaultPickService } from './picker-service';\nimport { EmptyContext2d } from '../canvas';\nimport { MathPickerContribution } from './contributions/constants';\nimport { VGlobal } from '../constants';\nimport { PickItemInterceptor } from './pick-interceptor';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\n@injectable()\nexport class DefaultMathPickerService extends DefaultPickService implements IPickerService {\n declare type: 'default';\n // pcik canvas\n declare pickCanvas: ICanvas;\n declare pickContext: IContext2d;\n declare pickerMap: Map<number, IGraphicPicker>;\n\n constructor(\n @inject(ContributionProvider)\n @named(MathPickerContribution)\n protected readonly contributions: IContributionProvider<IGraphicPicker>,\n @inject(VGlobal) public readonly global: IGlobal,\n // 拦截器\n @inject(ContributionProvider)\n @named(PickItemInterceptor)\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>\n ) {\n super(global, pickItemInterceptorContributions);\n this.global.hooks.onSetEnv.tap('math-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n this.pickerMap = new Map();\n }\n\n @postConstruct()\n init() {\n this.contributions.getContributions().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n super._init();\n }\n\n configure(global: IGlobal, env: EnvType) {\n this.pickContext = new EmptyContext2d(null, 1);\n }\n\n // todo: switch统一改为数字map\n pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params?: IPickParams): IGraphic | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker.contains(graphic, point, params) ? graphic : null;\n }\n}\n"]}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { IMatrix, IPointLike } from '@visactor/vutils';
|
|
2
2
|
import type { IContext2d, IGraphic, IPickItemInterceptorContribution, IPickParams, IPickerService, PickResult } from '../interface';
|
|
3
3
|
export declare const PickItemInterceptor: unique symbol;
|
|
4
|
+
export declare class ShadowRootPickItemInterceptorContribution implements IPickItemInterceptorContribution {
|
|
5
|
+
order: number;
|
|
6
|
+
afterPickItem(graphic: IGraphic, pickerService: IPickerService, point: IPointLike, pickParams: IPickParams, params?: {
|
|
7
|
+
parentMatrix: IMatrix;
|
|
8
|
+
}): boolean | PickResult;
|
|
9
|
+
beforePickItem(graphic: IGraphic, pickerService: IPickerService, point: IPointLike, pickParams: IPickParams, params?: {
|
|
10
|
+
parentMatrix: IMatrix;
|
|
11
|
+
}): boolean | PickResult;
|
|
12
|
+
protected _pickItem(graphic: IGraphic, pickerService: IPickerService, point: IPointLike, pickParams: IPickParams, params?: {
|
|
13
|
+
parentMatrix: IMatrix;
|
|
14
|
+
}): boolean | PickResult;
|
|
15
|
+
}
|
|
4
16
|
export declare class Canvas3DPickItemInterceptor implements IPickItemInterceptorContribution {
|
|
5
17
|
order: number;
|
|
6
18
|
beforePickItem(graphic: IGraphic, pickerService: IPickerService, point: IPointLike, pickParams: IPickParams, params?: {
|
|
@@ -4,14 +4,45 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
4
4
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
import { pi2 } from "@visactor/vutils";
|
|
7
|
+
import { Point, pi2 } from "@visactor/vutils";
|
|
8
8
|
|
|
9
9
|
import { injectable } from "inversify";
|
|
10
10
|
|
|
11
11
|
import { ARC3D_NUMBER_TYPE } from "../graphic/constants";
|
|
12
12
|
|
|
13
|
+
import { matrixAllocate } from "../allocator/matrix-allocate";
|
|
14
|
+
|
|
13
15
|
export const PickItemInterceptor = Symbol.for("PickItemInterceptor");
|
|
14
16
|
|
|
17
|
+
let ShadowRootPickItemInterceptorContribution = class {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.order = 1;
|
|
20
|
+
}
|
|
21
|
+
afterPickItem(graphic, pickerService, point, pickParams, params) {
|
|
22
|
+
return (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) && this._pickItem(graphic, pickerService, point, pickParams, params);
|
|
23
|
+
}
|
|
24
|
+
beforePickItem(graphic, pickerService, point, pickParams, params) {
|
|
25
|
+
return graphic.attribute.shadowRootIdx < 0 && this._pickItem(graphic, pickerService, point, pickParams, params);
|
|
26
|
+
}
|
|
27
|
+
_pickItem(graphic, pickerService, point, pickParams, params) {
|
|
28
|
+
if (!graphic.shadowRoot) return !1;
|
|
29
|
+
const {parentMatrix: parentMatrix} = params || {};
|
|
30
|
+
if (!parentMatrix) return !1;
|
|
31
|
+
const context = pickerService.pickContext;
|
|
32
|
+
context.highPerformanceSave();
|
|
33
|
+
const g = graphic.shadowRoot, currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix), newPoint = new Point(point.x, point.y);
|
|
34
|
+
parentMatrix.transformPoint(newPoint, newPoint);
|
|
35
|
+
const transMatrix = graphic.transMatrix;
|
|
36
|
+
currentGroupMatrix.multiply(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);
|
|
37
|
+
const result = pickerService.pickGroup(g, newPoint.clone(), currentGroupMatrix, pickParams);
|
|
38
|
+
return context.highPerformanceRestore(), result;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
ShadowRootPickItemInterceptorContribution = __decorate([ injectable() ], ShadowRootPickItemInterceptorContribution);
|
|
43
|
+
|
|
44
|
+
export { ShadowRootPickItemInterceptorContribution };
|
|
45
|
+
|
|
15
46
|
let Canvas3DPickItemInterceptor = class {
|
|
16
47
|
constructor() {
|
|
17
48
|
this.order = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/picker/pick-interceptor.ts"],"names":[],"mappings":"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","file":"pick-interceptor.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\nimport { pi2 } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport { ARC3D_NUMBER_TYPE } from '../graphic/constants';\nimport type {\n IArc,\n IContext2d,\n IGraphic,\n IGroup,\n IPickItemInterceptorContribution,\n IPickParams,\n IPickerService,\n PickResult\n} from '../interface';\n\n// 拦截器\nexport const PickItemInterceptor = Symbol.for('PickItemInterceptor');\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n@injectable()\nexport class Canvas3DPickItemInterceptor implements IPickItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ) {\n if (!graphic.in3dMode || pickParams.in3dInterceptor) {\n return null;\n }\n\n const context = pickerService.pickContext;\n const stage = graphic.stage;\n if (!(context && stage)) {\n return null;\n }\n pickParams.in3dInterceptor = true;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n // hack逻辑,如果是饼图的话,需要依次绘制不同的边\n let isPie: boolean = false;\n let is3d: boolean = false;\n graphic.forEachChildren((c: IGraphic) => {\n isPie = c.numberType === ARC3D_NUMBER_TYPE;\n return !isPie;\n });\n graphic.forEachChildren((c: IGraphic) => {\n is3d = !!c.findFace;\n return !is3d;\n });\n\n let result: PickResult;\n if (isPie) {\n const children = graphic.getChildren() as IArc[];\n // 绘制内层\n // drawContext.hack_pieFace = 'inside';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制底部\n // drawContext.hack_pieFace = 'bottom';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制外部\n // 排序一下\n const sortedChildren = [...children];\n sortedChildren.sort((a, b) => {\n let angle1 = (a.attribute.startAngle ?? 0 + a.attribute.endAngle ?? 0) / 2;\n let angle2 = (b.attribute.startAngle ?? 0 + b.attribute.endAngle ?? 0) / 2;\n while (angle1 < 0) {\n angle1 += pi2;\n }\n while (angle2 < 0) {\n angle2 += pi2;\n }\n return angle2 - angle1;\n });\n sortedChildren.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n graphic.removeAllChild();\n graphic.update();\n sortedChildren.forEach(c => {\n graphic.appendChild(c);\n });\n pickParams.hack_pieFace = 'outside';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n if (!result.graphic) {\n // 绘制内部\n pickParams.hack_pieFace = 'inside';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n if (!result.graphic) {\n // 绘制顶部\n pickParams.hack_pieFace = 'top';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n graphic.removeAllChild();\n children.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n children.forEach(c => {\n graphic.appendChild(c);\n });\n } else if (is3d) {\n // 排序这些图元\n const children = graphic.getChildren() as IGraphic[];\n const zChildren = children.map(g => {\n const face3d = g.findFace();\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2] + g.attribute.z ?? 0)[2];\n });\n const ave_z = viewdVerticesZ.reduce((a, b) => a + b, 0);\n return {\n ave_z,\n g\n };\n });\n zChildren.sort((a, b) => b.ave_z - a.ave_z);\n graphic.removeAllChild();\n zChildren.forEach(i => {\n i.g._next = null;\n i.g._prev = null;\n });\n graphic.update();\n zChildren.forEach(i => {\n graphic.add(i.g);\n });\n\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n\n graphic.removeAllChild();\n children.forEach(g => {\n g._next = null;\n g._prev = null;\n });\n graphic.update();\n children.forEach(g => {\n graphic.add(g);\n });\n } else {\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n\n context.camera = null;\n\n pickParams.in3dInterceptor = false;\n return result;\n }\n context.restore();\n return null;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/picker/pick-interceptor.ts"],"names":[],"mappings":"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","file":"pick-interceptor.js","sourcesContent":["import type { IMatrix, IPointLike } from '@visactor/vutils';\nimport { Point, pi2 } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport { ARC3D_NUMBER_TYPE } from '../graphic/constants';\nimport type {\n IArc,\n IContext2d,\n IGraphic,\n IGroup,\n IPickItemInterceptorContribution,\n IPickParams,\n IPickerService,\n PickResult\n} from '../interface';\nimport { matrixAllocate } from '../allocator/matrix-allocate';\n\n// 拦截器\nexport const PickItemInterceptor = Symbol.for('PickItemInterceptor');\n\n/**\n * 影子节点拦截器,用于渲染影子节点\n */\n@injectable()\nexport class ShadowRootPickItemInterceptorContribution implements IPickItemInterceptorContribution {\n order: number = 1;\n afterPickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): boolean | PickResult {\n if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return false;\n }\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): boolean | PickResult {\n if (graphic.attribute.shadowRootIdx < 0) {\n return this._pickItem(graphic, pickerService, point, pickParams, params);\n }\n return false;\n }\n\n protected _pickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ): boolean | PickResult {\n if (!graphic.shadowRoot) {\n return false;\n }\n const { parentMatrix } = params || {};\n if (!parentMatrix) {\n return false;\n }\n\n const context = pickerService.pickContext;\n context.highPerformanceSave();\n\n const g = graphic.shadowRoot;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const transMatrix = graphic.transMatrix;\n currentGroupMatrix.multiply(\n transMatrix.a,\n transMatrix.b,\n transMatrix.c,\n transMatrix.d,\n transMatrix.e,\n transMatrix.f\n );\n\n const result = pickerService.pickGroup(g, newPoint.clone(), currentGroupMatrix, pickParams);\n\n context.highPerformanceRestore();\n\n return result;\n }\n}\n\n/**\n * 3d拦截器,用于渲染3d视角\n */\n@injectable()\nexport class Canvas3DPickItemInterceptor implements IPickItemInterceptorContribution {\n // canvas?: ICanvas;\n order: number = 1;\n\n beforePickItem(\n graphic: IGraphic,\n pickerService: IPickerService,\n point: IPointLike,\n pickParams: IPickParams,\n params?: {\n parentMatrix: IMatrix;\n }\n ) {\n if (!graphic.in3dMode || pickParams.in3dInterceptor) {\n return null;\n }\n\n const context = pickerService.pickContext;\n const stage = graphic.stage;\n if (!(context && stage)) {\n return null;\n }\n pickParams.in3dInterceptor = true;\n\n // 使用3d模式渲染\n context.save();\n this.initCanvasCtx(context);\n context.camera = stage.camera;\n\n // 设置context的transform到上一个节点\n if (graphic.isContainer) {\n // hack逻辑,如果是饼图的话,需要依次绘制不同的边\n let isPie: boolean = false;\n let is3d: boolean = false;\n graphic.forEachChildren((c: IGraphic) => {\n isPie = c.numberType === ARC3D_NUMBER_TYPE;\n return !isPie;\n });\n graphic.forEachChildren((c: IGraphic) => {\n is3d = !!c.findFace;\n return !is3d;\n });\n\n let result: PickResult;\n if (isPie) {\n const children = graphic.getChildren() as IArc[];\n // 绘制内层\n // drawContext.hack_pieFace = 'inside';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制底部\n // drawContext.hack_pieFace = 'bottom';\n // drawContribution.renderGroup(graphic as IGroup, drawContext);\n // 绘制外部\n // 排序一下\n const sortedChildren = [...children];\n sortedChildren.sort((a, b) => {\n let angle1 = (a.attribute.startAngle ?? 0 + a.attribute.endAngle ?? 0) / 2;\n let angle2 = (b.attribute.startAngle ?? 0 + b.attribute.endAngle ?? 0) / 2;\n while (angle1 < 0) {\n angle1 += pi2;\n }\n while (angle2 < 0) {\n angle2 += pi2;\n }\n return angle2 - angle1;\n });\n sortedChildren.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n graphic.removeAllChild();\n graphic.update();\n sortedChildren.forEach(c => {\n graphic.appendChild(c);\n });\n pickParams.hack_pieFace = 'outside';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n if (!result.graphic) {\n // 绘制内部\n pickParams.hack_pieFace = 'inside';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n if (!result.graphic) {\n // 绘制顶部\n pickParams.hack_pieFace = 'top';\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n graphic.removeAllChild();\n children.forEach(c => {\n c._next = null;\n c._prev = null;\n });\n children.forEach(c => {\n graphic.appendChild(c);\n });\n } else if (is3d) {\n // 排序这些图元\n const children = graphic.getChildren() as IGraphic[];\n const zChildren = children.map(g => {\n const face3d = g.findFace();\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2] + g.attribute.z ?? 0)[2];\n });\n const ave_z = viewdVerticesZ.reduce((a, b) => a + b, 0);\n return {\n ave_z,\n g\n };\n });\n zChildren.sort((a, b) => b.ave_z - a.ave_z);\n graphic.removeAllChild();\n zChildren.forEach(i => {\n i.g._next = null;\n i.g._prev = null;\n });\n graphic.update();\n zChildren.forEach(i => {\n graphic.add(i.g);\n });\n\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n\n graphic.removeAllChild();\n children.forEach(g => {\n g._next = null;\n g._prev = null;\n });\n graphic.update();\n children.forEach(g => {\n graphic.add(g);\n });\n } else {\n result = pickerService.pickGroup(graphic as IGroup, point, params.parentMatrix, pickParams);\n }\n\n context.camera = null;\n\n pickParams.in3dInterceptor = false;\n return result;\n }\n context.restore();\n return null;\n }\n\n initCanvasCtx(context: IContext2d) {\n context.setTransformForCurrent();\n }\n}\n"]}
|
|
@@ -8,7 +8,7 @@ import { DefaultCanvasPickerService } from "./canvas-picker-service";
|
|
|
8
8
|
|
|
9
9
|
import { DefaultMathPickerService } from "./math-picker-service";
|
|
10
10
|
|
|
11
|
-
import { Canvas3DPickItemInterceptor, PickItemInterceptor } from "./pick-interceptor";
|
|
11
|
+
import { Canvas3DPickItemInterceptor, PickItemInterceptor, ShadowRootPickItemInterceptorContribution } from "./pick-interceptor";
|
|
12
12
|
|
|
13
13
|
import { bindContributionProvider } from "../common/contribution-provider";
|
|
14
14
|
|
|
@@ -16,6 +16,8 @@ export default new ContainerModule((bind => {
|
|
|
16
16
|
bind(DefaultCanvasPickerService).toSelf().inSingletonScope(), bind(DefaultMathPickerService).toSelf().inSingletonScope(),
|
|
17
17
|
bind(PickerService).toService(DefaultCanvasPickerService), bind(DefaultGlobalPickerService).toSelf().inSingletonScope(),
|
|
18
18
|
bind(GlobalPickerService).toService(DefaultGlobalPickerService), bind(Canvas3DPickItemInterceptor).toSelf().inSingletonScope(),
|
|
19
|
-
bind(PickItemInterceptor).toService(Canvas3DPickItemInterceptor),
|
|
19
|
+
bind(PickItemInterceptor).toService(Canvas3DPickItemInterceptor), bind(ShadowRootPickItemInterceptorContribution).toSelf().inSingletonScope(),
|
|
20
|
+
bind(PickItemInterceptor).toService(ShadowRootPickItemInterceptorContribution),
|
|
21
|
+
bindContributionProvider(bind, PickItemInterceptor);
|
|
20
22
|
}));
|
|
21
23
|
//# sourceMappingURL=pick-modules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../src/picker/pick-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,yCAAyC,EAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;IACxC,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAE3D,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAE1D,IAAI,CAAC,0BAA0B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7D,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAGhE,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAEjE,IAAI,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAC/E,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC","file":"pick-modules.js","sourcesContent":["import { ContainerModule } from 'inversify';\nimport { PickerService } from './picker-service';\nimport { DefaultGlobalPickerService, GlobalPickerService } from './global-picker-service';\nimport { DefaultCanvasPickerService } from './canvas-picker-service';\nimport { DefaultMathPickerService } from './math-picker-service';\nimport {\n Canvas3DPickItemInterceptor,\n PickItemInterceptor,\n ShadowRootPickItemInterceptorContribution\n} from './pick-interceptor';\nimport { bindContributionProvider } from '../common/contribution-provider';\n\nexport default new ContainerModule(bind => {\n bind(DefaultCanvasPickerService).toSelf().inSingletonScope();\n bind(DefaultMathPickerService).toSelf().inSingletonScope();\n\n bind(PickerService).toService(DefaultCanvasPickerService);\n\n bind(DefaultGlobalPickerService).toSelf().inSingletonScope();\n bind(GlobalPickerService).toService(DefaultGlobalPickerService);\n\n // interceptor\n bind(Canvas3DPickItemInterceptor).toSelf().inSingletonScope();\n bind(PickItemInterceptor).toService(Canvas3DPickItemInterceptor);\n\n bind(ShadowRootPickItemInterceptorContribution).toSelf().inSingletonScope();\n bind(PickItemInterceptor).toService(ShadowRootPickItemInterceptorContribution);\n bindContributionProvider(bind, PickItemInterceptor);\n});\n"]}
|
|
@@ -15,6 +15,6 @@ export declare abstract class DefaultPickService implements IPickerService {
|
|
|
15
15
|
pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult;
|
|
16
16
|
containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean;
|
|
17
17
|
pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult;
|
|
18
|
-
abstract pickItem(graphic: IGraphic, point: IPointLike, params: IPickParams): IGraphic | null;
|
|
18
|
+
abstract pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): IGraphic | null;
|
|
19
19
|
protected selectPicker(graphic: IGraphic): IGraphicPicker | null;
|
|
20
20
|
}
|