@visactor/vrender 0.9.0-alpha.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/allocator/allocator-modules.js.map +1 -1
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/constants.d.ts +11 -0
- package/cjs/allocator/constants.js +12 -0
- package/cjs/allocator/constants.js.map +1 -0
- package/cjs/allocator/graphic-allocate.js.map +1 -1
- package/cjs/allocator/index.d.ts +3 -0
- package/cjs/allocator/index.js +21 -0
- package/cjs/allocator/index.js.map +1 -0
- package/cjs/allocator/interface.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/Ticker/interface.js.map +1 -1
- 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/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.js.map +1 -1
- package/cjs/canvas/constants.d.ts +2 -0
- package/cjs/canvas/constants.js +7 -0
- package/cjs/canvas/constants.js.map +1 -0
- 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.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/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/creator.d.ts +3 -0
- package/cjs/canvas/creator.js +18 -0
- package/cjs/canvas/creator.js.map +1 -0
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/canvas/index.js.map +1 -1
- package/cjs/canvas/interface.js.map +1 -1
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/color-string/colorName.js +1 -1
- package/cjs/color-string/colorName.js.map +1 -1
- package/cjs/color-string/index.js +1 -1
- package/cjs/color-string/index.js.map +1 -1
- package/cjs/color-string/interpolate.js +1 -1
- package/cjs/color-string/interpolate.js.map +1 -1
- package/cjs/common/bezier.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.js.map +1 -1
- package/cjs/common/curve/basis.js.map +1 -1
- package/cjs/common/curve/common.js.map +1 -1
- package/cjs/common/curve/index.js.map +1 -1
- package/cjs/common/curve/interface.js.map +1 -1
- package/cjs/common/curve/linear-closed.js.map +1 -1
- package/cjs/common/curve/linear.js.map +1 -1
- package/cjs/common/curve/monotone.js.map +1 -1
- package/cjs/common/curve/step.js.map +1 -1
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/generator.js.map +1 -1
- package/cjs/common/index.js.map +1 -1
- package/cjs/common/interface.d.ts +1 -0
- package/cjs/common/interface.js +1 -0
- package/cjs/common/interface.js.map +1 -0
- package/cjs/common/matrix.js.map +1 -1
- package/cjs/common/morphing-utils.js +2 -1
- package/cjs/common/morphing-utils.js.map +1 -1
- package/cjs/common/path-svg.js.map +1 -1
- package/cjs/common/path.js.map +1 -1
- package/cjs/common/polygon.js +0 -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/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/container.d.ts +2 -0
- package/cjs/container.js +9 -0
- package/cjs/container.js.map +1 -0
- package/cjs/core/application.js +1 -1
- package/cjs/core/application.js.map +1 -1
- package/cjs/core/camera.js +1 -1
- package/cjs/core/camera.js.map +1 -1
- package/cjs/core/constants.d.ts +7 -0
- package/cjs/core/constants.js +25 -0
- package/cjs/core/constants.js.map +1 -0
- package/cjs/core/contributions/constants.d.ts +1 -0
- package/cjs/core/contributions/constants.js +6 -0
- package/cjs/core/contributions/constants.js.map +1 -0
- package/cjs/core/contributions/env/base-contribution.js.map +1 -1
- 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/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/index.js.map +1 -1
- package/cjs/core/contributions/interface.js.map +1 -1
- 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.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/ITextMeasure.js.map +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.js.map +1 -1
- 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/core-modules.js +1 -1
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global.js +2 -1
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.js +1 -1
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/layer-service.js +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 +1 -1
- package/cjs/core/light.js.map +1 -1
- package/cjs/core/stage.js +1 -1
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.js +1 -1
- package/cjs/core/window.js.map +1 -1
- package/cjs/create.js.map +1 -1
- package/cjs/event/constant.js +1 -1
- package/cjs/event/constant.js.map +1 -1
- package/cjs/event/event-manager.js +1 -1
- package/cjs/event/event-manager.js.map +1 -1
- package/cjs/event/event-system.js +1 -1
- package/cjs/event/event-system.js.map +1 -1
- package/cjs/event/event-target.js +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.js.map +1 -1
- package/cjs/event/federated-event/wheel-event.js.map +1 -1
- package/cjs/event/index.js +1 -1
- package/cjs/event/index.js.map +1 -1
- package/cjs/event/interface.js +1 -1
- package/cjs/event/interface.js.map +1 -1
- package/cjs/event/type.js +1 -2
- package/cjs/event/type.js.map +1 -1
- package/cjs/event/util.js +1 -1
- package/cjs/event/util.js.map +1 -1
- package/cjs/export.js.map +1 -1
- package/cjs/graphic/arc.js +1 -1
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.js +1 -1
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.js +1 -1
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.js +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-left.js.map +1 -1
- package/cjs/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/cjs/graphic/builtin-symbol/circle.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/interface.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 +1 -1
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +1 -1
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/constant.d.ts +17 -0
- package/cjs/graphic/constant.js +22 -0
- package/cjs/graphic/constant.js.map +1 -0
- 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/index.d.ts +1 -0
- package/cjs/graphic/graphic-service/index.js +21 -0
- package/cjs/graphic/graphic-service/index.js.map +1 -0
- 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-service/theme-service.js.map +1 -1
- package/cjs/graphic/graphic.js.map +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.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.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -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/creator.js.map +1 -1
- package/cjs/interface/global.js.map +1 -1
- 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.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.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.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-creator.d.ts +39 -0
- package/cjs/interface/graphic-creator.js +6 -0
- package/cjs/interface/graphic-creator.js.map +1 -0
- package/cjs/interface/graphic-utils.js.map +1 -1
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/index.js.map +1 -1
- package/cjs/interface/layer.js.map +1 -1
- package/cjs/interface/light.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/stage.js.map +1 -1
- package/cjs/interface/util.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.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.map +1 -1
- 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.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.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.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.js.map +1 -1
- package/cjs/picker/index.js.map +1 -1
- package/cjs/picker/math-picker-service.js.map +1 -1
- package/cjs/picker/pick-interceptor.js.map +1 -1
- package/cjs/picker/pick-modules.js.map +1 -1
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/picker/type.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/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/interface.js.map +1 -1
- package/cjs/plugins/plugin-modules.js.map +1 -1
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/render/contributions/interface.js.map +1 -1
- package/cjs/render/contributions/modules.js.map +1 -1
- 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.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.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.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.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.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- 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.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.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.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/es/allocator/allocator-modules.js.map +1 -1
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/constants.d.ts +11 -0
- package/es/allocator/constants.js +22 -0
- package/es/allocator/constants.js.map +1 -0
- package/es/allocator/graphic-allocate.js.map +1 -1
- package/es/allocator/index.d.ts +3 -0
- package/es/allocator/index.js +5 -0
- package/es/allocator/index.js.map +1 -0
- package/es/allocator/interface.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/Ticker/interface.js.map +1 -1
- 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/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.js.map +1 -1
- package/es/canvas/constants.d.ts +2 -0
- package/es/canvas/constants.js +4 -0
- package/es/canvas/constants.js.map +1 -0
- 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.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/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/creator.d.ts +3 -0
- package/es/canvas/creator.js +14 -0
- package/es/canvas/creator.js.map +1 -0
- package/es/canvas/empty-context.js.map +1 -1
- package/es/canvas/index.js.map +1 -1
- package/es/canvas/interface.js.map +1 -1
- package/es/canvas/util.js.map +1 -1
- package/es/color-string/colorName.js +1 -1
- package/es/color-string/colorName.js.map +1 -1
- package/es/color-string/index.js +1 -1
- package/es/color-string/index.js.map +1 -1
- package/es/color-string/interpolate.js +1 -1
- package/es/color-string/interpolate.js.map +1 -1
- package/es/common/bezier.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.js.map +1 -1
- package/es/common/curve/basis.js.map +1 -1
- package/es/common/curve/common.js.map +1 -1
- package/es/common/curve/index.js.map +1 -1
- package/es/common/curve/interface.js.map +1 -1
- package/es/common/curve/linear-closed.js.map +1 -1
- package/es/common/curve/linear.js.map +1 -1
- package/es/common/curve/monotone.js.map +1 -1
- package/es/common/curve/step.js.map +1 -1
- package/es/common/enums.js.map +1 -1
- package/es/common/generator.js.map +1 -1
- package/es/common/index.js.map +1 -1
- package/es/common/interface.d.ts +1 -0
- package/es/common/interface.js +1 -0
- package/es/common/interface.js.map +1 -0
- package/es/common/matrix.js.map +1 -1
- package/es/common/morphing-utils.js +2 -1
- package/es/common/morphing-utils.js.map +1 -1
- package/es/common/path-svg.js.map +1 -1
- package/es/common/path.js.map +1 -1
- package/es/common/polygon.js +1 -2
- 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/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/container.d.ts +2 -0
- package/es/container.js +3 -0
- package/es/container.js.map +1 -0
- package/es/core/application.js +1 -1
- package/es/core/application.js.map +1 -1
- package/es/core/camera.js +1 -1
- package/es/core/camera.js.map +1 -1
- package/es/core/constants.d.ts +7 -0
- package/es/core/constants.js +14 -0
- package/es/core/constants.js.map +1 -0
- package/es/core/contributions/constants.d.ts +1 -0
- package/es/core/contributions/constants.js +2 -0
- package/es/core/contributions/constants.js.map +1 -0
- package/es/core/contributions/env/base-contribution.js.map +1 -1
- 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/taro-contribution.js.map +1 -1
- package/es/core/contributions/index.js.map +1 -1
- package/es/core/contributions/interface.js.map +1 -1
- 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.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/ITextMeasure.js.map +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.js.map +1 -1
- 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/core-modules.js +1 -1
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global.js +2 -1
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.js +1 -1
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/index.js +1 -1
- package/es/core/index.js.map +1 -1
- package/es/core/layer-service.js +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 +1 -1
- package/es/core/light.js.map +1 -1
- package/es/core/stage.js +1 -1
- package/es/core/stage.js.map +1 -1
- package/es/core/window.js +1 -1
- package/es/core/window.js.map +1 -1
- package/es/create.js.map +1 -1
- package/es/event/constant.js +1 -1
- package/es/event/constant.js.map +1 -1
- package/es/event/event-manager.js +1 -1
- package/es/event/event-manager.js.map +1 -1
- package/es/event/event-system.js +1 -1
- package/es/event/event-system.js.map +1 -1
- package/es/event/event-target.js +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.js.map +1 -1
- package/es/event/federated-event/wheel-event.js.map +1 -1
- package/es/event/index.js +1 -1
- package/es/event/index.js.map +1 -1
- package/es/event/interface.js +1 -1
- package/es/event/interface.js.map +1 -1
- package/es/event/type.js +1 -2
- package/es/event/type.js.map +1 -1
- package/es/event/util.js +1 -1
- package/es/event/util.js.map +1 -1
- package/es/export.js.map +1 -1
- package/es/graphic/arc.js +1 -1
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.js +1 -1
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.js +1 -1
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.js +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-left.js.map +1 -1
- package/es/graphic/builtin-symbol/arrow2-right.js.map +1 -1
- package/es/graphic/builtin-symbol/circle.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/interface.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 +1 -1
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +1 -1
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/constant.d.ts +17 -0
- package/es/graphic/constant.js +38 -0
- package/es/graphic/constant.js.map +1 -0
- 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/index.d.ts +1 -0
- package/es/graphic/graphic-service/index.js +2 -0
- package/es/graphic/graphic-service/index.js.map +1 -0
- 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-service/theme-service.js.map +1 -1
- package/es/graphic/graphic.js.map +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.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.map +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -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/creator.js.map +1 -1
- package/es/interface/global.js.map +1 -1
- 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.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.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.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-creator.d.ts +39 -0
- package/es/interface/graphic-creator.js +2 -0
- package/es/interface/graphic-creator.js.map +1 -0
- package/es/interface/graphic-utils.js.map +1 -1
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/index.js.map +1 -1
- package/es/interface/layer.js.map +1 -1
- package/es/interface/light.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/stage.js.map +1 -1
- package/es/interface/util.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.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.map +1 -1
- 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.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.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.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.js.map +1 -1
- package/es/picker/index.js.map +1 -1
- package/es/picker/math-picker-service.js.map +1 -1
- package/es/picker/pick-interceptor.js.map +1 -1
- package/es/picker/pick-modules.js.map +1 -1
- package/es/picker/picker-service.js.map +1 -1
- package/es/picker/type.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/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/interface.js.map +1 -1
- package/es/plugins/plugin-modules.js.map +1 -1
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/render/contributions/interface.js.map +1 -1
- package/es/render/contributions/modules.js.map +1 -1
- 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.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.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.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.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.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- 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.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.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.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/es/tsconfig.tsbuildinfo +1 -0
- package/package.json +21 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/line-render.ts"],"names":[],"mappings":"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","file":"line-render.js","sourcesContent":["import { min, IPointLike, isArray } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport { ISegPath2D, drawSegments, calcLineCache } from '../../../common';\nimport {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType\n} from '../../../interface';\nimport { getTheme, LINE_NUMBER_TYPE } from '../../../graphic';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../modules';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultCanvasLineRender extends BaseRender<ILine> implements IGraphicRender {\n type: 'line';\n numberType: number = LINE_NUMBER_TYPE;\n declare z: number;\n\n draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n\n context.highPerformanceSave();\n\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n const data = this.transform(line, lineAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n\n if (drawPathProxy(line, context, x, y, drawContext)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(line, context, x, y, drawContext, params);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,需要close\n if (line.cache && !isArray(line.cache) && line.attribute.curveType && line.attribute.curveType.includes('Closed')) {\n context.closePath();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(line, attribute, defaultAttribute);\n\n const ret: boolean = false;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, attribute, offsetX, offsetY, defaultAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, attribute, offsetX, offsetY, defaultAttribute);\n context.stroke();\n }\n }\n return !!ret;\n }\n\n drawShape(\n line: ILine,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n\n const {\n fill = lineAttribute.fill == null ? !!line.attribute.fillColor : lineAttribute.fill,\n stroke = lineAttribute.stroke == null ? !!line.attribute.strokeColor : lineAttribute.stroke,\n opacity = lineAttribute.opacity,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity,\n lineWidth = lineAttribute.lineWidth,\n visible = lineAttribute.visible\n } = line.attribute;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(line.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments, curveType = lineAttribute.curveType } = line.attribute;\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: ISegPath2D;\n line.cache = segments.map((seg, index) => {\n // 添加上一个segment结束的点作为这个segment的起始点\n if (index === 1) {\n startPoint = {\n x: lastSeg.endX,\n y: lastSeg.endY,\n defined: lastSeg.curves[lastSeg.curves.length - 1].defined\n };\n } else if (index > 1) {\n startPoint.x = lastSeg.endX;\n startPoint.y = lastSeg.endY;\n startPoint.defined = lastSeg.curves[lastSeg.curves.length - 1].defined;\n }\n lastSeg = calcLineCache(seg.points, curveType, {\n startPoint\n });\n return lastSeg;\n });\n } else if (points && points.length) {\n line.cache = calcLineCache(_points, curveType);\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (Array.isArray(line.cache)) {\n if (clipRange === 1) {\n let skip = false;\n // 性能优化,不需要clip的线段不需要计算长度\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n skip = this.drawSegmentItem(\n context,\n cache,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute.segments[index],\n [lineAttribute, line.attribute],\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n });\n } else {\n // 如果是segments的话,每个clipRange需要重新计算\n // 整个线段的总长度\n const totalLength = line.cache.reduce((l, c) => l + c.getLength(), 0);\n // 总需要绘制的长度\n const totalDrawLength = clipRange * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n let skip = false;\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n const curSegLength = cache.getLength();\n const _cr = (totalDrawLength - drawedLengthUntilLast) / curSegLength;\n drawedLengthUntilLast += curSegLength;\n if (_cr > 0) {\n skip = this.drawSegmentItem(\n context,\n cache,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute.segments[index],\n [lineAttribute, line.attribute],\n min(_cr, 1),\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n });\n }\n } else {\n this.drawSegmentItem(\n context,\n line.cache as ISegPath2D,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute,\n lineAttribute,\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/line-render.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAc,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAc,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAU1E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOzC,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAiB;IAAvD;;QAEL,eAAU,GAAW,gBAAgB,CAAC;IAwRxC,CAAC;IArRC,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAEhC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAG9B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE;YACnD,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,OAAO,CAAC,WAAW,KAAK,eAAe,EAAE;YAC3C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAEtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;IAiBS,eAAe,CACvB,OAAmB,EACnB,KAAiB,EACjB,IAAa,EACb,MAAe,EACf,WAAmB,EACnB,aAAqB,EACrB,SAAyC,EACzC,gBAAoF,EACpF,SAAiB,EACjB,oBAA+C,EAC/C,OAAe,EACf,OAAe,EACf,IAAW,EACX,MAIY,EACZ,QAIY;;QAEZ,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QAEtB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACrG,OAAO;YACP,OAAO;YACP,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAGH,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjH,OAAO,CAAC,SAAS,EAAE,CAAC;SACrB;QAGD,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAEpF,MAAM,GAAG,GAAY,KAAK,CAAC;QAC3B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;aAC9C;iBAAM,IAAI,WAAW,EAAE;gBACtB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC5E,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;QACD,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;aAChD;iBAAM,IAAI,aAAa,EAAE;gBACxB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAC5E,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;QACD,OAAO,CAAC,CAAC,GAAG,CAAC;IACf,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;QAGZ,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QAEzD,MAAM,EACJ,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EACnF,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAC3F,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,aAAa,GAAG,aAAa,CAAC,aAAa,EAC3C,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,OAAO,GAAG,aAAa,CAAC,OAAO,EAChC,GAAG,IAAI,CAAC,SAAS,CAAC;QAGnB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE;YACzB,OAAO;SACR;QAGD,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC,EAAE;YACjD,OAAO;SACR;QAGD,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YACjF,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC/B,IAAI,UAAsB,CAAC;gBAC3B,IAAI,OAAmB,CAAC;gBACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAEvC,IAAI,KAAK,KAAK,CAAC,EAAE;wBACf,UAAU,GAAG;4BACX,CAAC,EAAE,OAAO,CAAC,IAAI;4BACf,CAAC,EAAE,OAAO,CAAC,IAAI;4BACf,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO;yBAC3D,CAAC;qBACH;yBAAM,IAAI,KAAK,GAAG,CAAC,EAAE;wBACpB,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC5B,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC5B,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;qBACxE;oBACD,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE;wBAC7C,UAAU;qBACX,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,OAAO;aACR;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QAED,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,EAAE,GACtG,IAAI,CAAC,SAAS,CAAC;QAEjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,IAAI,SAAS,KAAK,CAAC,EAAE;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAC;gBAEjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,IAAI,IAAI,EAAE;wBACR,OAAO;qBACR;oBACD,IAAI,GAAG,IAAI,CAAC,eAAe,CACzB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC/B,SAAS,EACT,oBAAoB,EACpB,CAAC,EACD,CAAC,EACD,IAAI,EACJ,MAAM,EACN,QAAQ,CACT,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;iBAAM;gBAGL,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;gBAEtE,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,CAAC;gBAEhD,IAAI,qBAAqB,GAAG,CAAC,CAAC;gBAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAClC,IAAI,IAAI,EAAE;wBACR,OAAO;qBACR;oBACD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,CAAC,eAAe,GAAG,qBAAqB,CAAC,GAAG,YAAY,CAAC;oBACrE,qBAAqB,IAAI,YAAY,CAAC;oBACtC,IAAI,GAAG,GAAG,CAAC,EAAE;wBACX,IAAI,GAAG,IAAI,CAAC,eAAe,CACzB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,EAC/B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EACX,oBAAoB,EACpB,CAAC,EACD,CAAC,EACD,IAAI,EACJ,MAAM,EACN,QAAQ,CACT,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,CAAC,eAAe,CAClB,OAAO,EACP,IAAI,CAAC,KAAmB,EACxB,IAAI,EACJ,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,IAAI,CAAC,SAAS,EACd,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,CAAC,EACD,CAAC,EACD,IAAI,EACJ,MAAM,EACN,QAAQ,CACT,CAAC;SACH;IACH,CAAC;CACF,CAAA;AA1RY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CA0RnC;SA1RY,uBAAuB","file":"line-render.js","sourcesContent":["import { min, IPointLike, isArray } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport { ISegPath2D, drawSegments, calcLineCache } from '../../../common';\nimport {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType\n} from '../../../interface';\nimport { getTheme, LINE_NUMBER_TYPE } from '../../../graphic';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../modules';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\n@injectable()\nexport class DefaultCanvasLineRender extends BaseRender<ILine> implements IGraphicRender {\n type: 'line';\n numberType: number = LINE_NUMBER_TYPE;\n declare z: number;\n\n draw(line: ILine, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n\n context.highPerformanceSave();\n\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n const data = this.transform(line, lineAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n\n if (drawPathProxy(line, context, x, y, drawContext)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(line, context, x, y, drawContext, params);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n /**\n * 绘制segment\n * @param context\n * @param cache\n * @param fill\n * @param stroke\n * @param attribute\n * @param defaultAttribute\n * @param clipRange\n * @param offsetX\n * @param offsetY\n * @param fillCb\n * @param strokeCb\n * @returns 返回true代表跳过后续绘制\n */\n protected drawSegmentItem(\n context: IContext2d,\n cache: ISegPath2D,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n clipRange: number,\n clipRangeByDimension: IClipRangeByDimensionType,\n offsetX: number,\n offsetY: number,\n line: ILine,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute | IThemeAttribute[]\n ) => boolean\n ): boolean {\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context.camera ? context : context.nativeContext, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,需要close\n if (line.cache && !isArray(line.cache) && line.attribute.curveType && line.attribute.curveType.includes('Closed')) {\n context.closePath();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(line, attribute, defaultAttribute);\n\n const ret: boolean = false;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, attribute, defaultAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, attribute, offsetX, offsetY, defaultAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, attribute, defaultAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, attribute, offsetX, offsetY, defaultAttribute);\n context.stroke();\n }\n }\n return !!ret;\n }\n\n drawShape(\n line: ILine,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n lineAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const lineAttribute = graphicService.themeService.getCurrentTheme().lineAttribute;\n const lineAttribute = getTheme(line, params?.theme).line;\n\n const {\n fill = lineAttribute.fill == null ? !!line.attribute.fillColor : lineAttribute.fill,\n stroke = lineAttribute.stroke == null ? !!line.attribute.strokeColor : lineAttribute.stroke,\n opacity = lineAttribute.opacity,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity,\n lineWidth = lineAttribute.lineWidth,\n visible = lineAttribute.visible\n } = line.attribute;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(line.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments, curveType = lineAttribute.curveType } = line.attribute;\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: ISegPath2D;\n line.cache = segments.map((seg, index) => {\n // 添加上一个segment结束的点作为这个segment的起始点\n if (index === 1) {\n startPoint = {\n x: lastSeg.endX,\n y: lastSeg.endY,\n defined: lastSeg.curves[lastSeg.curves.length - 1].defined\n };\n } else if (index > 1) {\n startPoint.x = lastSeg.endX;\n startPoint.y = lastSeg.endY;\n startPoint.defined = lastSeg.curves[lastSeg.curves.length - 1].defined;\n }\n lastSeg = calcLineCache(seg.points, curveType, {\n startPoint\n });\n return lastSeg;\n });\n } else if (points && points.length) {\n line.cache = calcLineCache(_points, curveType);\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (Array.isArray(line.cache)) {\n if (clipRange === 1) {\n let skip = false;\n // 性能优化,不需要clip的线段不需要计算长度\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n skip = this.drawSegmentItem(\n context,\n cache,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute.segments[index],\n [lineAttribute, line.attribute],\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n });\n } else {\n // 如果是segments的话,每个clipRange需要重新计算\n // 整个线段的总长度\n const totalLength = line.cache.reduce((l, c) => l + c.getLength(), 0);\n // 总需要绘制的长度\n const totalDrawLength = clipRange * totalLength;\n // 直到上次绘制的长度\n let drawedLengthUntilLast = 0;\n let skip = false;\n line.cache.forEach((cache, index) => {\n if (skip) {\n return;\n }\n const curSegLength = cache.getLength();\n const _cr = (totalDrawLength - drawedLengthUntilLast) / curSegLength;\n drawedLengthUntilLast += curSegLength;\n if (_cr > 0) {\n skip = this.drawSegmentItem(\n context,\n cache,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute.segments[index],\n [lineAttribute, line.attribute],\n min(_cr, 1),\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n });\n }\n } else {\n this.drawSegmentItem(\n context,\n line.cache as ISegPath2D,\n fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n line.attribute,\n lineAttribute,\n clipRange,\n clipRangeByDimension,\n x,\n y,\n line,\n fillCb,\n strokeCb\n );\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from 'inversify';\nimport { bindContributionProvider } from '../../../common';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n DrawItemInterceptor,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport {\n DefaultRectBackgroundRenderContribution,\n DefaultRectRenderContribution,\n DefaultRectTextureRenderContribution,\n RectRenderContribution,\n SplitRectAfterRenderContribution,\n SplitRectBeforeRenderContribution\n} from './contributions/rect-contribution-render';\nimport {\n DefaultSymbolBackgroundRenderContribution,\n DefaultSymbolRenderContribution,\n DefaultSymbolTextureRenderContribution,\n SymbolRenderContribution\n} from './contributions/symbol-contribution-render';\nimport {\n CircleRenderContribution,\n DefaultCircleBackgroundRenderContribution,\n DefaultCircleRenderContribution,\n DefaultCircleTextureRenderContribution\n} from './contributions/circle-contribution-render';\nimport {\n ArcRenderContribution,\n DefaultArcBackgroundRenderContribution,\n DefaultArcRenderContribution,\n DefaultArcTextureRenderContribution\n} from './contributions/arc-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport {\n DefaultImageBackgroundRenderContribution,\n ImageRenderContribution\n} from './contributions/image-contribution-render';\nimport {\n DefaultGroupBackgroundRenderContribution,\n GroupRenderContribution\n} from './contributions/group-contribution-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n DefaultPolygonBackgroundRenderContribution,\n DefaultPolygonTextureRenderContribution,\n PolygonRenderContribution\n} from './contributions/polygon-contribution-render';\nimport {\n DefaultPathBackgroundRenderContribution,\n DefaultPathTextureRenderContribution,\n PathRenderContribution\n} from './contributions/path-contribution-render';\nimport {\n AreaRenderContribution,\n DefaultAreaBackgroundRenderContribution,\n DefaultAreaTextureRenderContribution\n} from './contributions/area-contribution-render';\n\nexport default new ContainerModule(bind => {\n bind(DefaultDrawContribution).toSelf();\n bind(DrawContribution).toService(DefaultDrawContribution);\n bind(DefaultIncrementalDrawContribution).toSelf();\n bind(IncrementalDrawContribution).toService(DefaultIncrementalDrawContribution);\n\n bind(DefaultRenderSelector).toSelf();\n bind(RenderSelector).toService(DefaultRenderSelector);\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender);\n bind(GraphicRender).to(DefaultCanvasCircleRender);\n\n // circle 渲染器注入contributions\n bind(DefaultCircleRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleTextureRenderContribution).toSelf().inSingletonScope();\n bind(CircleRenderContribution).toService(DefaultCircleRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleBackgroundRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleTextureRenderContribution);\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender);\n bind(GraphicRender).to(DefaultCanvasRectRender);\n\n // rect3d 渲染器\n bind(DefaultCanvasRect3dRender).toSelf().inSingletonScope();\n bind(Rect3DRender).toService(DefaultCanvasRect3dRender);\n bind(GraphicRender).toService(Rect3DRender);\n // rect 渲染器注入contributions\n bind(DefaultRectRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectTextureRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(DefaultRectRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectBackgroundRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectTextureRenderContribution);\n bind(RectRenderContribution).toService(SplitRectBeforeRenderContribution);\n bind(RectRenderContribution).toService(SplitRectAfterRenderContribution);\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(DefaultCanvasTextRender).toSelf().inSingletonScope();\n bind(TextRender).to(DefaultCanvasTextRender);\n bind(GraphicRender).to(DefaultCanvasTextRender);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender);\n bind(GraphicRender).to(DefaultCanvasPathRender);\n\n // path 渲染器注入contributions\n bind(DefaultPathBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPathTextureRenderContribution).toSelf().inSingletonScope();\n bind(PathRenderContribution).toService(DefaultPathBackgroundRenderContribution);\n bind(PathRenderContribution).toService(DefaultPathTextureRenderContribution);\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender);\n bind(GraphicRender).to(DefaultCanvasSymbolRender);\n\n // symbol 渲染器注入contributions\n bind(DefaultSymbolRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolTextureRenderContribution).toSelf().inSingletonScope();\n bind(SymbolRenderContribution).toService(DefaultSymbolRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolBackgroundRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolTextureRenderContribution);\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender);\n bind(GraphicRender).to(DefaultCanvasArcRender);\n\n // arc3d 渲染器\n bind(DefaultCanvasArc3DRender).toSelf().inSingletonScope();\n bind(Arc3dRender).toService(DefaultCanvasArc3DRender);\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bind(DefaultArcRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcTextureRenderContribution).toSelf().inSingletonScope();\n bind(ArcRenderContribution).toService(DefaultArcRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcBackgroundRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcTextureRenderContribution);\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender);\n bind(GraphicRender).to(DefaultCanvasLineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender);\n bind(GraphicRender).to(DefaultCanvasAreaRender);\n\n // area 渲染器注入contributions\n bind(DefaultAreaBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultAreaTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(AreaRenderContribution).toService(DefaultAreaBackgroundRenderContribution);\n bind(AreaRenderContribution).toService(DefaultAreaTextureRenderContribution);\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(DefaultCanvasGroupRender).toSelf().inSingletonScope();\n bind(GroupRender).to(DefaultCanvasGroupRender);\n bind(GraphicRender).to(DefaultCanvasGroupRender);\n\n // group 渲染器注入contributions\\\n bind(DefaultGroupBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DefaultGroupBackgroundRenderContribution);\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(DefaultCanvasPolygonRender).toSelf().inSingletonScope();\n bind(PolygonRender).to(DefaultCanvasPolygonRender);\n bind(GraphicRender).to(DefaultCanvasPolygonRender);\n\n // polygon 渲染器注入contributions\n bind(DefaultPolygonBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPolygonTextureRenderContribution).toSelf().inSingletonScope();\n bind(PolygonRenderContribution).toService(DefaultPolygonBackgroundRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultPolygonTextureRenderContribution);\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(DefaultCanvasGlyphRender).toSelf().inSingletonScope();\n bind(GlyphRender).toService(DefaultCanvasGlyphRender);\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(DefaultCanvasImageRender).toSelf().inSingletonScope();\n bind(ImageRender).toService(DefaultCanvasImageRender);\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bind(DefaultImageBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(DefaultImageBackgroundRenderContribution);\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(DefaultCanvasRichTextRender).toSelf().inSingletonScope();\n bind(RichTextRender).toService(DefaultCanvasRichTextRender);\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(DefaultCanvasPyramid3dRender).toSelf().inSingletonScope();\n bind(Pyramid3dRender).toService(DefaultCanvasPyramid3dRender);\n bind(GraphicRender).toService(Pyramid3dRender);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from 'inversify';\nimport { bindContributionProvider } from '../../../common';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n DrawItemInterceptor,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport {\n DefaultRectBackgroundRenderContribution,\n DefaultRectRenderContribution,\n DefaultRectTextureRenderContribution,\n RectRenderContribution,\n SplitRectAfterRenderContribution,\n SplitRectBeforeRenderContribution\n} from './contributions/rect-contribution-render';\nimport {\n DefaultSymbolBackgroundRenderContribution,\n DefaultSymbolRenderContribution,\n DefaultSymbolTextureRenderContribution,\n SymbolRenderContribution\n} from './contributions/symbol-contribution-render';\nimport {\n CircleRenderContribution,\n DefaultCircleBackgroundRenderContribution,\n DefaultCircleRenderContribution,\n DefaultCircleTextureRenderContribution\n} from './contributions/circle-contribution-render';\nimport {\n ArcRenderContribution,\n DefaultArcBackgroundRenderContribution,\n DefaultArcRenderContribution,\n DefaultArcTextureRenderContribution\n} from './contributions/arc-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport {\n DefaultImageBackgroundRenderContribution,\n ImageRenderContribution\n} from './contributions/image-contribution-render';\nimport {\n DefaultGroupBackgroundRenderContribution,\n GroupRenderContribution\n} from './contributions/group-contribution-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n DefaultPolygonBackgroundRenderContribution,\n DefaultPolygonTextureRenderContribution,\n PolygonRenderContribution\n} from './contributions/polygon-contribution-render';\nimport {\n DefaultPathBackgroundRenderContribution,\n DefaultPathTextureRenderContribution,\n PathRenderContribution\n} from './contributions/path-contribution-render';\nimport {\n AreaRenderContribution,\n DefaultAreaBackgroundRenderContribution,\n DefaultAreaTextureRenderContribution\n} from './contributions/area-contribution-render';\n\nexport default new ContainerModule(bind => {\n bind(DefaultDrawContribution).toSelf();\n bind(DrawContribution).toService(DefaultDrawContribution);\n bind(DefaultIncrementalDrawContribution).toSelf();\n bind(IncrementalDrawContribution).toService(DefaultIncrementalDrawContribution);\n\n bind(DefaultRenderSelector).toSelf();\n bind(RenderSelector).toService(DefaultRenderSelector);\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender);\n bind(GraphicRender).to(DefaultCanvasCircleRender);\n\n // circle 渲染器注入contributions\n bind(DefaultCircleRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultCircleTextureRenderContribution).toSelf().inSingletonScope();\n bind(CircleRenderContribution).toService(DefaultCircleRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleBackgroundRenderContribution);\n bind(CircleRenderContribution).toService(DefaultCircleTextureRenderContribution);\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender);\n bind(GraphicRender).to(DefaultCanvasRectRender);\n\n // rect3d 渲染器\n bind(DefaultCanvasRect3dRender).toSelf().inSingletonScope();\n bind(Rect3DRender).toService(DefaultCanvasRect3dRender);\n bind(GraphicRender).toService(Rect3DRender);\n // rect 渲染器注入contributions\n bind(DefaultRectRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultRectTextureRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectBeforeRenderContribution).toSelf().inSingletonScope();\n bind(SplitRectAfterRenderContribution).toSelf().inSingletonScope();\n bind(RectRenderContribution).toService(DefaultRectRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectBackgroundRenderContribution);\n bind(RectRenderContribution).toService(DefaultRectTextureRenderContribution);\n bind(RectRenderContribution).toService(SplitRectBeforeRenderContribution);\n bind(RectRenderContribution).toService(SplitRectAfterRenderContribution);\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(DefaultCanvasTextRender).toSelf().inSingletonScope();\n bind(TextRender).to(DefaultCanvasTextRender);\n bind(GraphicRender).to(DefaultCanvasTextRender);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender);\n bind(GraphicRender).to(DefaultCanvasPathRender);\n\n // path 渲染器注入contributions\n bind(DefaultPathBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPathTextureRenderContribution).toSelf().inSingletonScope();\n bind(PathRenderContribution).toService(DefaultPathBackgroundRenderContribution);\n bind(PathRenderContribution).toService(DefaultPathTextureRenderContribution);\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender);\n bind(GraphicRender).to(DefaultCanvasSymbolRender);\n\n // symbol 渲染器注入contributions\n bind(DefaultSymbolRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultSymbolTextureRenderContribution).toSelf().inSingletonScope();\n bind(SymbolRenderContribution).toService(DefaultSymbolRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolBackgroundRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultSymbolTextureRenderContribution);\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender);\n bind(GraphicRender).to(DefaultCanvasArcRender);\n\n // arc3d 渲染器\n bind(DefaultCanvasArc3DRender).toSelf().inSingletonScope();\n bind(Arc3dRender).toService(DefaultCanvasArc3DRender);\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bind(DefaultArcRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultArcTextureRenderContribution).toSelf().inSingletonScope();\n bind(ArcRenderContribution).toService(DefaultArcRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcBackgroundRenderContribution);\n bind(ArcRenderContribution).toService(DefaultArcTextureRenderContribution);\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender);\n bind(GraphicRender).to(DefaultCanvasLineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender);\n bind(GraphicRender).to(DefaultCanvasAreaRender);\n\n // area 渲染器注入contributions\n bind(DefaultAreaBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultAreaTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(AreaRenderContribution).toService(DefaultAreaBackgroundRenderContribution);\n bind(AreaRenderContribution).toService(DefaultAreaTextureRenderContribution);\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(DefaultCanvasGroupRender).toSelf().inSingletonScope();\n bind(GroupRender).to(DefaultCanvasGroupRender);\n bind(GraphicRender).to(DefaultCanvasGroupRender);\n\n // group 渲染器注入contributions\\\n bind(DefaultGroupBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(GroupRenderContribution).toService(DefaultGroupBackgroundRenderContribution);\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(DefaultCanvasPolygonRender).toSelf().inSingletonScope();\n bind(PolygonRender).to(DefaultCanvasPolygonRender);\n bind(GraphicRender).to(DefaultCanvasPolygonRender);\n\n // polygon 渲染器注入contributions\n bind(DefaultPolygonBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultPolygonTextureRenderContribution).toSelf().inSingletonScope();\n bind(PolygonRenderContribution).toService(DefaultPolygonBackgroundRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultPolygonTextureRenderContribution);\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(DefaultCanvasGlyphRender).toSelf().inSingletonScope();\n bind(GlyphRender).toService(DefaultCanvasGlyphRender);\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(DefaultCanvasImageRender).toSelf().inSingletonScope();\n bind(ImageRender).toService(DefaultCanvasImageRender);\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bind(DefaultImageBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(ImageRenderContribution).toService(DefaultImageBackgroundRenderContribution);\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(DefaultCanvasRichTextRender).toSelf().inSingletonScope();\n bind(RichTextRender).toService(DefaultCanvasRichTextRender);\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(DefaultCanvasPyramid3dRender).toSelf().inSingletonScope();\n bind(Pyramid3dRender).toService(DefaultCanvasPyramid3dRender);\n bind(GraphicRender).toService(Pyramid3dRender);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":"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","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { ContributionProvider, renderCommandList } from '../../../common';\nimport {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { getModelMatrix, getTheme, multiplyMat4Mat4, PATH_NUMBER_TYPE, shouldUseMat4 } from '../../../graphic';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { IPathRenderContribution, PathRenderContribution } from './contributions/path-contribution-render';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../modules';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n declare z: number;\n\n protected _pathRenderContribitions: IPathRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly pathRenderContribitions: ContributionProvider<IPathRenderContribution>\n ) {\n super();\n }\n\n drawShape(\n path: IPath,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path, params?.theme).path;\n const {\n fill = pathAttribute.fill == null ? !!path.attribute.fillColor : pathAttribute.fill,\n stroke = pathAttribute.stroke == null ? !!path.attribute.strokeColor : pathAttribute.stroke,\n fillOpacity = pathAttribute.fillOpacity,\n strokeOpacity = pathAttribute.strokeOpacity,\n opacity = pathAttribute.opacity,\n background,\n lineWidth = pathAttribute.lineWidth,\n visible = pathAttribute.visible\n } = path.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(path.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n if (!this._pathRenderContribitions) {\n this._pathRenderContribitions = this.pathRenderContribitions.getContributions() || [];\n this._pathRenderContribitions.sort((a, b) => b.order - a.order);\n }\n this._pathRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(path, context, x, y, doFill, doStroke, fVisible, sVisible, pathAttribute, fillCb, strokeCb);\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(path, path.attribute, pathAttribute);\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, x, y, pathAttribute);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, x, y, pathAttribute);\n context.fill();\n }\n }\n\n this._pathRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(path, context, x, y, doFill, doStroke, fVisible, sVisible, pathAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path, params?.theme).path;\n\n const data = this.transform(path, pathAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n if (drawPathProxy(path, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(path, context, x, y, drawContext, params);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/path-render.ts"],"names":[],"mappings":"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","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { ContributionProvider, renderCommandList } from '../../../common';\nimport {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { getModelMatrix, getTheme, multiplyMat4Mat4, PATH_NUMBER_TYPE, shouldUseMat4 } from '../../../graphic';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { IPathRenderContribution, PathRenderContribution } from './contributions/path-contribution-render';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../modules';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n declare z: number;\n\n protected _pathRenderContribitions: IPathRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly pathRenderContribitions: ContributionProvider<IPathRenderContribution>\n ) {\n super();\n }\n\n drawShape(\n path: IPath,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path, params?.theme).path;\n const {\n fill = pathAttribute.fill == null ? !!path.attribute.fillColor : pathAttribute.fill,\n stroke = pathAttribute.stroke == null ? !!path.attribute.strokeColor : pathAttribute.stroke,\n fillOpacity = pathAttribute.fillOpacity,\n strokeOpacity = pathAttribute.strokeOpacity,\n opacity = pathAttribute.opacity,\n background,\n lineWidth = pathAttribute.lineWidth,\n visible = pathAttribute.visible\n } = path.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(path.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n if (!this._pathRenderContribitions) {\n this._pathRenderContribitions = this.pathRenderContribitions.getContributions() || [];\n this._pathRenderContribitions.sort((a, b) => b.order - a.order);\n }\n this._pathRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(path, context, x, y, doFill, doStroke, fVisible, sVisible, pathAttribute, fillCb, strokeCb);\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(path, path.attribute, pathAttribute);\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, x, y, pathAttribute);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, x, y, pathAttribute);\n context.fill();\n }\n }\n\n this._pathRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(path, context, x, y, doFill, doStroke, fVisible, sVisible, pathAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path, params?.theme).path;\n\n const data = this.transform(path, pathAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n if (drawPathProxy(path, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(path, context, x, y, drawContext, params);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":"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","file":"polygon-render.js","sourcesContent":["import { isArray, isNumber } from '@visactor/vutils';\nimport { inject, injectable, named } from 'inversify';\nimport { getTheme, POLYGON_NUMBER_TYPE } from '../../../graphic';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IPolygon, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { IPolygonRenderContribution, PolygonRenderContribution } from './contributions/polygon-contribution-render';\nimport { ContributionProvider } from '../../../common';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPolygonRender implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n protected _polygonRenderContribitions: IPolygonRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(PolygonRenderContribution)\n protected readonly polygonRenderContribitions: ContributionProvider<IPolygonRenderContribution>\n ) {}\n\n drawShape(\n polygon: IPolygon,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n fill = polygonAttribute.fill == null ? !!polygon.attribute.fillColor : polygonAttribute.fill,\n stroke = polygonAttribute.stroke == null ? !!polygon.attribute.strokeColor : polygonAttribute.stroke,\n borderRadius = polygonAttribute.borderRadius,\n fillOpacity = polygonAttribute.fillOpacity,\n background,\n strokeOpacity = polygonAttribute.strokeOpacity,\n lineWidth = polygonAttribute.lineWidth,\n opacity = polygonAttribute.opacity,\n visible = polygonAttribute.visible\n } = polygon.attribute;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(polygon.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n context.beginPath();\n\n if ((borderRadius as number) <= 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, borderRadius);\n }\n // polygon 默认闭合\n context.closePath();\n\n if (!this._polygonRenderContribitions) {\n this._polygonRenderContribitions = this.polygonRenderContribitions.getContributions() || [];\n this._polygonRenderContribitions.sort((a, b) => b.order - a.order);\n }\n this._polygonRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(polygon, context, x, y, doFill, doStroke, fVisible, sVisible, polygonAttribute, fillCb, strokeCb);\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(polygon, polygon.attribute, polygonAttribute);\n\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fillOpacity) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, x, y, polygonAttribute);\n context.fill();\n }\n }\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (strokeOpacity) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, x, y, polygonAttribute);\n context.stroke();\n }\n }\n\n this._polygonRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(polygon, context, x, y, doFill, doStroke, fVisible, sVisible, polygonAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n let { x = polygonAttribute.x, y = polygonAttribute.y } = polygon.attribute;\n\n if (!polygon.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(polygon.transMatrix, true);\n } else {\n const point = polygon.getOffsetXY(polygonAttribute);\n x += point.x;\n y += point.y;\n context.setTransformForCurrent();\n }\n if (drawPathProxy(polygon, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(polygon, context, x, y, drawContext, params);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":"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","file":"polygon-render.js","sourcesContent":["import { isArray, isNumber } from '@visactor/vutils';\nimport { inject, injectable, named } from 'inversify';\nimport { getTheme, POLYGON_NUMBER_TYPE } from '../../../graphic';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IPolygon, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { IPolygonRenderContribution, PolygonRenderContribution } from './contributions/polygon-contribution-render';\nimport { ContributionProvider } from '../../../common';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPolygonRender implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n protected _polygonRenderContribitions: IPolygonRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(PolygonRenderContribution)\n protected readonly polygonRenderContribitions: ContributionProvider<IPolygonRenderContribution>\n ) {}\n\n drawShape(\n polygon: IPolygon,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n fill = polygonAttribute.fill == null ? !!polygon.attribute.fillColor : polygonAttribute.fill,\n stroke = polygonAttribute.stroke == null ? !!polygon.attribute.strokeColor : polygonAttribute.stroke,\n borderRadius = polygonAttribute.borderRadius,\n fillOpacity = polygonAttribute.fillOpacity,\n background,\n strokeOpacity = polygonAttribute.strokeOpacity,\n lineWidth = polygonAttribute.lineWidth,\n opacity = polygonAttribute.opacity,\n visible = polygonAttribute.visible\n } = polygon.attribute;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(polygon.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n context.beginPath();\n\n if ((borderRadius as number) <= 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, borderRadius);\n }\n // polygon 默认闭合\n context.closePath();\n\n if (!this._polygonRenderContribitions) {\n this._polygonRenderContribitions = this.polygonRenderContribitions.getContributions() || [];\n this._polygonRenderContribitions.sort((a, b) => b.order - a.order);\n }\n this._polygonRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(polygon, context, x, y, doFill, doStroke, fVisible, sVisible, polygonAttribute, fillCb, strokeCb);\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(polygon, polygon.attribute, polygonAttribute);\n\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fillOpacity) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, x, y, polygonAttribute);\n context.fill();\n }\n }\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (strokeOpacity) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, x, y, polygonAttribute);\n context.stroke();\n }\n }\n\n this._polygonRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(polygon, context, x, y, doFill, doStroke, fVisible, sVisible, polygonAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n let { x = polygonAttribute.x, y = polygonAttribute.y } = polygon.attribute;\n\n if (!polygon.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(polygon.transMatrix, true);\n } else {\n const point = polygon.getOffsetXY(polygonAttribute);\n x += point.x;\n y += point.y;\n context.setTransformForCurrent();\n }\n if (drawPathProxy(polygon, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(polygon, context, x, y, drawContext, params);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/pyramid3d-render.ts"],"names":[],"mappings":"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","file":"pyramid3d-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport {\n getExtraModelMatrix,\n getTheme,\n multiplyMat4Mat3,\n multiplyMat4Mat4,\n PYRAMID3D_NUMBER_TYPE\n} from '../../../graphic';\nimport {\n IGraphicAttribute,\n IContext2d,\n IDirectionLight,\n IMarkAttribute,\n IPyramid3d,\n IFace3d,\n IThemeAttribute,\n vec3,\n ICamera,\n IPolygonItem\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { colorString } from '../../../color-string';\nimport { max, min } from '@visactor/vutils';\nimport { mat4Allocate } from '../../../modules';\nimport { BaseRender } from './base-render';\n\n@injectable()\nexport class DefaultCanvasPyramid3dRender extends BaseRender<IPyramid3d> implements IGraphicRender {\n type = 'pyramid3d';\n numberType: number = PYRAMID3D_NUMBER_TYPE;\n declare z: number;\n\n drawShape(\n pyramid3d: IPyramid3d,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const pyramidAttribute = getTheme(pyramid3d, params?.theme).polygon;\n const {\n fill = pyramidAttribute.fill == null ? !!pyramid3d.attribute.fillColor : pyramidAttribute.fill,\n stroke = pyramidAttribute.stroke == null ? !!pyramid3d.attribute.strokeColor : pyramidAttribute.stroke,\n opacity = pyramidAttribute.opacity,\n fillOpacity = pyramidAttribute.fillOpacity,\n lineWidth = pyramidAttribute.lineWidth,\n strokeOpacity = pyramidAttribute.strokeOpacity,\n visible = pyramidAttribute.visible,\n points,\n face = [true, true, true, true, true, true]\n } = pyramid3d.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(pyramid3d.valid && visible && points.length === 4)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n const { light, camera } = drawContext.stage || {};\n\n const face3d = pyramid3d.findFace();\n\n if (fill !== false) {\n context.setCommonStyle(pyramid3d, pyramid3d.attribute, x, y, pyramidAttribute);\n let { fillColor = pyramidAttribute.fillColor } = pyramid3d.attribute;\n if (typeof fillColor !== 'string') {\n fillColor = 'black';\n }\n this.fill(x, y, z, face3d, face, fillColor, context, light, camera, pyramid3d, pyramidAttribute, fillCb);\n }\n if (stroke !== false) {\n context.setStrokeStyle(pyramid3d, pyramid3d.attribute, x, y, pyramidAttribute);\n this.stroke(x, y, z, face3d, context);\n }\n }\n\n stroke(x: number, y: number, z: number, face3d: IFace3d, context: IContext2d) {\n const vertices = face3d.vertices;\n face3d.edges.forEach(p => {\n const p1 = vertices[p[0]];\n const p2 = vertices[p[1]];\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.stroke();\n });\n }\n fill(\n x: number,\n y: number,\n z: number,\n face3d: IFace3d,\n faces: [boolean, boolean, boolean, boolean, boolean, boolean],\n fillColor: string,\n context: IContext2d,\n light: IDirectionLight,\n camera: ICamera,\n pyramid3d: IPyramid3d,\n pyramid3dAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const rgbArray = colorString.get(fillColor).value;\n\n // 上下左右前后\n // 0,1,2,3,4,5\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2])[2];\n });\n // 排序\n const sortFace: { faceIdx: number; polygon: IPolygonItem }[] = [];\n face3d.polygons.forEach((p, i) => {\n if (!faces[i]) {\n return;\n }\n sortFace.push({\n faceIdx: i,\n polygon: p\n });\n // 设置ave_z进行排序\n const { polygon, normal } = p;\n\n const z1 = viewdVerticesZ[polygon[0]];\n const z2 = viewdVerticesZ[polygon[1]];\n const z3 = viewdVerticesZ[polygon[2]];\n const z4 = viewdVerticesZ[polygon[3]];\n\n p.ave_z = z1 + z2 + z3 + z4;\n });\n sortFace.sort((a, b) => b.polygon.ave_z - a.polygon.ave_z);\n sortFace.forEach(item => {\n const { polygon, normal } = item.polygon;\n\n const p1 = vertices[polygon[0]];\n const p2 = vertices[polygon[1]];\n const p3 = vertices[polygon[2]];\n const p4 = vertices[polygon[3]];\n\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n const v3 = {\n x: x + p3[0],\n y: y + p3[1],\n z: z + p3[2]\n };\n const v4 = {\n x: x + p4[0],\n y: y + p4[1],\n z: z + p4[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.lineTo(v3.x, v3.y, v3.z);\n context.lineTo(v4.x, v4.y, v4.z);\n context.closePath();\n if (fillCb) {\n fillCb(context, pyramid3d.attribute, pyramid3dAttribute);\n } else {\n context.fillStyle = light ? light.computeColor(normal, rgbArray) : fillColor;\n context.fill();\n }\n });\n }\n\n draw(pyramid3d: IPyramid3d, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n context.highPerformanceSave();\n const pyramid3dAttribute = getTheme(pyramid3d).polygon;\n const data = this.transform(pyramid3d, pyramid3dAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(pyramid3d, context, x, y, drawContext);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/pyramid3d-render.ts"],"names":[],"mappings":"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","file":"pyramid3d-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport {\n getExtraModelMatrix,\n getTheme,\n multiplyMat4Mat3,\n multiplyMat4Mat4,\n PYRAMID3D_NUMBER_TYPE\n} from '../../../graphic';\nimport {\n IGraphicAttribute,\n IContext2d,\n IDirectionLight,\n IMarkAttribute,\n IPyramid3d,\n IFace3d,\n IThemeAttribute,\n vec3,\n ICamera,\n IPolygonItem\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { colorString } from '../../../color-string';\nimport { max, min } from '@visactor/vutils';\nimport { mat4Allocate } from '../../../modules';\nimport { BaseRender } from './base-render';\n\n@injectable()\nexport class DefaultCanvasPyramid3dRender extends BaseRender<IPyramid3d> implements IGraphicRender {\n type = 'pyramid3d';\n numberType: number = PYRAMID3D_NUMBER_TYPE;\n declare z: number;\n\n drawShape(\n pyramid3d: IPyramid3d,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const pyramidAttribute = getTheme(pyramid3d, params?.theme).polygon;\n const {\n fill = pyramidAttribute.fill == null ? !!pyramid3d.attribute.fillColor : pyramidAttribute.fill,\n stroke = pyramidAttribute.stroke == null ? !!pyramid3d.attribute.strokeColor : pyramidAttribute.stroke,\n opacity = pyramidAttribute.opacity,\n fillOpacity = pyramidAttribute.fillOpacity,\n lineWidth = pyramidAttribute.lineWidth,\n strokeOpacity = pyramidAttribute.strokeOpacity,\n visible = pyramidAttribute.visible,\n points,\n face = [true, true, true, true, true, true]\n } = pyramid3d.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(pyramid3d.valid && visible && points.length === 4)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n const { light, camera } = drawContext.stage || {};\n\n const face3d = pyramid3d.findFace();\n\n if (fill !== false) {\n context.setCommonStyle(pyramid3d, pyramid3d.attribute, x, y, pyramidAttribute);\n let { fillColor = pyramidAttribute.fillColor } = pyramid3d.attribute;\n if (typeof fillColor !== 'string') {\n fillColor = 'black';\n }\n this.fill(x, y, z, face3d, face, fillColor, context, light, camera, pyramid3d, pyramidAttribute, fillCb);\n }\n if (stroke !== false) {\n context.setStrokeStyle(pyramid3d, pyramid3d.attribute, x, y, pyramidAttribute);\n this.stroke(x, y, z, face3d, context);\n }\n }\n\n stroke(x: number, y: number, z: number, face3d: IFace3d, context: IContext2d) {\n const vertices = face3d.vertices;\n face3d.edges.forEach(p => {\n const p1 = vertices[p[0]];\n const p2 = vertices[p[1]];\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.stroke();\n });\n }\n fill(\n x: number,\n y: number,\n z: number,\n face3d: IFace3d,\n faces: [boolean, boolean, boolean, boolean, boolean, boolean],\n fillColor: string,\n context: IContext2d,\n light: IDirectionLight,\n camera: ICamera,\n pyramid3d: IPyramid3d,\n pyramid3dAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const rgbArray = colorString.get(fillColor).value;\n\n // 上下左右前后\n // 0,1,2,3,4,5\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2])[2];\n });\n // 排序\n const sortFace: { faceIdx: number; polygon: IPolygonItem }[] = [];\n face3d.polygons.forEach((p, i) => {\n if (!faces[i]) {\n return;\n }\n sortFace.push({\n faceIdx: i,\n polygon: p\n });\n // 设置ave_z进行排序\n const { polygon, normal } = p;\n\n const z1 = viewdVerticesZ[polygon[0]];\n const z2 = viewdVerticesZ[polygon[1]];\n const z3 = viewdVerticesZ[polygon[2]];\n const z4 = viewdVerticesZ[polygon[3]];\n\n p.ave_z = z1 + z2 + z3 + z4;\n });\n sortFace.sort((a, b) => b.polygon.ave_z - a.polygon.ave_z);\n sortFace.forEach(item => {\n const { polygon, normal } = item.polygon;\n\n const p1 = vertices[polygon[0]];\n const p2 = vertices[polygon[1]];\n const p3 = vertices[polygon[2]];\n const p4 = vertices[polygon[3]];\n\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n const v3 = {\n x: x + p3[0],\n y: y + p3[1],\n z: z + p3[2]\n };\n const v4 = {\n x: x + p4[0],\n y: y + p4[1],\n z: z + p4[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.lineTo(v3.x, v3.y, v3.z);\n context.lineTo(v4.x, v4.y, v4.z);\n context.closePath();\n if (fillCb) {\n fillCb(context, pyramid3d.attribute, pyramid3dAttribute);\n } else {\n context.fillStyle = light ? light.computeColor(normal, rgbArray) : fillColor;\n context.fill();\n }\n });\n }\n\n draw(pyramid3d: IPyramid3d, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n context.highPerformanceSave();\n const pyramid3dAttribute = getTheme(pyramid3d).polygon;\n const data = this.transform(pyramid3d, pyramid3dAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(pyramid3d, context, x, y, drawContext);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":"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","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from 'inversify';\nimport { getTheme, RECT_NUMBER_TYPE } from '../../../graphic';\nimport { ContributionProvider, createRectPath } from '../../../common';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IRect, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { IRectRenderContribution, RectRenderContribution } from './contributions/rect-contribution-render';\nimport { drawPathProxy, rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\n\n@injectable()\nexport class DefaultCanvasRectRender implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n protected _rectRenderContribitions: IRectRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly rectRenderContribitions: ContributionProvider<IRectRenderContribution>\n ) {}\n\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill == null ? !!rect.attribute.fillColor : rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke == null ? !!rect.attribute.strokeColor : rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n borderRadius = rectAttribute.borderRadius,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible\n } = rect.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (borderRadius === 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, borderRadius);\n }\n\n if (!this._rectRenderContribitions) {\n this._rectRenderContribitions = this.rectRenderContribitions.getContributions() || [];\n this._rectRenderContribitions.sort((a, b) => b.order - a.order);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n this._rectRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n context.stroke();\n }\n }\n\n this._rectRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.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 context.setTransformForCurrent();\n }\n\n if (drawPathProxy(rect, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(rect, context, x, y, drawContext, params);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":"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","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from 'inversify';\nimport { getTheme, RECT_NUMBER_TYPE } from '../../../graphic';\nimport { ContributionProvider, createRectPath } from '../../../common';\nimport { IGraphicAttribute, IContext2d, IMarkAttribute, IRect, IThemeAttribute } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { IRectRenderContribution, RectRenderContribution } from './contributions/rect-contribution-render';\nimport { drawPathProxy, rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRenderContributionTime } from './contributions/base-contribution-render';\n\n@injectable()\nexport class DefaultCanvasRectRender implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n protected _rectRenderContribitions: IRectRenderContribution[];\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly rectRenderContribitions: ContributionProvider<IRectRenderContribution>\n ) {}\n\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill == null ? !!rect.attribute.fillColor : rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke == null ? !!rect.attribute.strokeColor : rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n borderRadius = rectAttribute.borderRadius,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible\n } = rect.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || background)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (borderRadius === 0 || (isArray(borderRadius) && (<number[]>borderRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, borderRadius);\n }\n\n if (!this._rectRenderContribitions) {\n this._rectRenderContribitions = this.rectRenderContribitions.getContributions() || [];\n this._rectRenderContribitions.sort((a, b) => b.order - a.order);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n this._rectRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n }\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n context.stroke();\n }\n }\n\n this._rectRenderContribitions.forEach(c => {\n if (c.time === BaseRenderContributionTime.afterFillStroke) {\n // c.useStyle && context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n c.drawShape(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, fillCb, strokeCb);\n }\n });\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect;\n let { x = rectAttribute.x, y = rectAttribute.y } = rect.attribute;\n\n if (!rect.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.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 context.setTransformForCurrent();\n }\n\n if (drawPathProxy(rect, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(rect, context, x, y, drawContext, params);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/rect3d-render.ts"],"names":[],"mappings":"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","file":"rect3d-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport {\n getExtraModelMatrix,\n getTheme,\n multiplyMat4Mat3,\n multiplyMat4Mat4,\n RECT3D_NUMBER_TYPE\n} from '../../../graphic';\nimport {\n IGraphicAttribute,\n IContext2d,\n IDirectionLight,\n IFace3d,\n IMarkAttribute,\n IPolygonItem,\n IRect3d,\n IThemeAttribute,\n vec3\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { colorString } from '../../../color-string';\nimport { mat4Allocate } from '../../../modules';\nimport { BaseRender } from './base-render';\n@injectable()\nexport class DefaultCanvasRect3dRender extends BaseRender<IRect3d> implements IGraphicRender {\n type = 'rect3d';\n numberType: number = RECT3D_NUMBER_TYPE;\n declare z: number;\n\n drawShape(\n rect: IRect3d,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect3d;\n const {\n fill = rectAttribute.fill == null ? !!rect.attribute.fillColor : rectAttribute.fill,\n stroke = rectAttribute.stroke == null ? !!rect.attribute.strokeColor : rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible\n } = rect.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n const { light, camera } = drawContext.stage || {};\n const face3d = rect.findFace();\n\n if (fill !== false) {\n context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n let { fillColor = rectAttribute.fillColor } = rect.attribute;\n if (typeof fillColor !== 'string') {\n fillColor = 'black';\n }\n this.fill(x, y, z, face3d, fillColor, context, light, fillCb);\n }\n if (stroke !== false) {\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n this.stroke(x, y, z, face3d, context);\n }\n }\n\n stroke(x: number, y: number, z: number, face3d: IFace3d, context: IContext2d) {\n const vertices = face3d.vertices;\n face3d.edges.forEach(edge => {\n const p1 = vertices[edge[0]];\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const p2 = vertices[edge[1]];\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.stroke();\n });\n }\n fill(\n x: number,\n y: number,\n z: number,\n face3d: IFace3d,\n fillColor: string,\n context: IContext2d,\n light: IDirectionLight,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const rgbArray = colorString.get(fillColor).value;\n // 上下左右前后\n // 0,1,2,3,4,5\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2])[2];\n });\n // 排序\n const sortFace: { faceIdx: number; polygon: IPolygonItem }[] = [];\n face3d.polygons.forEach((p, i) => {\n sortFace.push({\n faceIdx: i,\n polygon: p\n });\n // 设置ave_z进行排序\n const { polygon, normal } = p;\n\n const z1 = viewdVerticesZ[polygon[0]];\n const z2 = viewdVerticesZ[polygon[1]];\n const z3 = viewdVerticesZ[polygon[2]];\n const z4 = viewdVerticesZ[polygon[3]];\n\n p.ave_z = z1 + z2 + z3 + z4;\n });\n sortFace.sort((a, b) => b.polygon.ave_z - a.polygon.ave_z);\n\n sortFace.forEach(item => {\n const { polygon, normal } = item.polygon;\n\n const p1 = vertices[polygon[0]];\n const p2 = vertices[polygon[1]];\n const p3 = vertices[polygon[2]];\n const p4 = vertices[polygon[3]];\n\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n const v3 = {\n x: x + p3[0],\n y: y + p3[1],\n z: z + p3[2]\n };\n const v4 = {\n x: x + p4[0],\n y: y + p4[1],\n z: z + p4[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.lineTo(v3.x, v3.y, v3.z);\n context.lineTo(v4.x, v4.y, v4.z);\n context.closePath();\n if (fillCb) {\n fillCb(context, null, null);\n } else {\n context.fillStyle = light ? light.computeColor(normal, rgbArray) : fillColor;\n context.fill();\n }\n });\n }\n\n draw(rect: IRect3d, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect).rect;\n\n const data = this.transform(rect, rectAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(rect, context, x, y, drawContext);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/rect3d-render.ts"],"names":[],"mappings":"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","file":"rect3d-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport {\n getExtraModelMatrix,\n getTheme,\n multiplyMat4Mat3,\n multiplyMat4Mat4,\n RECT3D_NUMBER_TYPE\n} from '../../../graphic';\nimport {\n IGraphicAttribute,\n IContext2d,\n IDirectionLight,\n IFace3d,\n IMarkAttribute,\n IPolygonItem,\n IRect3d,\n IThemeAttribute,\n vec3\n} from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender, IGraphicRenderDrawParams } from './graphic-render';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { colorString } from '../../../color-string';\nimport { mat4Allocate } from '../../../modules';\nimport { BaseRender } from './base-render';\n@injectable()\nexport class DefaultCanvasRect3dRender extends BaseRender<IRect3d> implements IGraphicRender {\n type = 'rect3d';\n numberType: number = RECT3D_NUMBER_TYPE;\n declare z: number;\n\n drawShape(\n rect: IRect3d,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect3d;\n const {\n fill = rectAttribute.fill == null ? !!rect.attribute.fillColor : rectAttribute.fill,\n stroke = rectAttribute.stroke == null ? !!rect.attribute.strokeColor : rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible\n } = rect.attribute;\n\n const z = this.z ?? 0;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return;\n }\n\n const { light, camera } = drawContext.stage || {};\n const face3d = rect.findFace();\n\n if (fill !== false) {\n context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n let { fillColor = rectAttribute.fillColor } = rect.attribute;\n if (typeof fillColor !== 'string') {\n fillColor = 'black';\n }\n this.fill(x, y, z, face3d, fillColor, context, light, fillCb);\n }\n if (stroke !== false) {\n context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n this.stroke(x, y, z, face3d, context);\n }\n }\n\n stroke(x: number, y: number, z: number, face3d: IFace3d, context: IContext2d) {\n const vertices = face3d.vertices;\n face3d.edges.forEach(edge => {\n const p1 = vertices[edge[0]];\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const p2 = vertices[edge[1]];\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.stroke();\n });\n }\n fill(\n x: number,\n y: number,\n z: number,\n face3d: IFace3d,\n fillColor: string,\n context: IContext2d,\n light: IDirectionLight,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const rgbArray = colorString.get(fillColor).value;\n // 上下左右前后\n // 0,1,2,3,4,5\n const vertices = face3d.vertices;\n // 计算每个顶点的view\n const viewdVerticesZ = vertices.map(v => {\n return context.view(v[0], v[1], v[2])[2];\n });\n // 排序\n const sortFace: { faceIdx: number; polygon: IPolygonItem }[] = [];\n face3d.polygons.forEach((p, i) => {\n sortFace.push({\n faceIdx: i,\n polygon: p\n });\n // 设置ave_z进行排序\n const { polygon, normal } = p;\n\n const z1 = viewdVerticesZ[polygon[0]];\n const z2 = viewdVerticesZ[polygon[1]];\n const z3 = viewdVerticesZ[polygon[2]];\n const z4 = viewdVerticesZ[polygon[3]];\n\n p.ave_z = z1 + z2 + z3 + z4;\n });\n sortFace.sort((a, b) => b.polygon.ave_z - a.polygon.ave_z);\n\n sortFace.forEach(item => {\n const { polygon, normal } = item.polygon;\n\n const p1 = vertices[polygon[0]];\n const p2 = vertices[polygon[1]];\n const p3 = vertices[polygon[2]];\n const p4 = vertices[polygon[3]];\n\n const v1 = {\n x: x + p1[0],\n y: y + p1[1],\n z: z + p1[2]\n };\n const v2 = {\n x: x + p2[0],\n y: y + p2[1],\n z: z + p2[2]\n };\n const v3 = {\n x: x + p3[0],\n y: y + p3[1],\n z: z + p3[2]\n };\n const v4 = {\n x: x + p4[0],\n y: y + p4[1],\n z: z + p4[2]\n };\n context.beginPath();\n context.moveTo(v1.x, v1.y, v1.z);\n context.lineTo(v2.x, v2.y, v2.z);\n context.lineTo(v3.x, v3.y, v3.z);\n context.lineTo(v4.x, v4.y, v4.z);\n context.closePath();\n if (fillCb) {\n fillCb(context, null, null);\n } else {\n context.fillStyle = light ? light.computeColor(normal, rgbArray) : fillColor;\n context.fill();\n }\n });\n }\n\n draw(rect: IRect3d, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect).rect;\n\n const data = this.transform(rect, rectAttribute, context);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(rect, context, x, y, drawContext);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/render-slector.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAShC,IAAe,qBAAqB,GAApC,MAAe,qBAAqB;IACzC,QAAQ,CAAC,OAAiB;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAJqB,qBAAqB;IAD1C,UAAU,EAAE;GACS,qBAAqB,CAI1C;SAJqB,qBAAqB","file":"render-slector.js","sourcesContent":["import { injectable } from 'inversify';\nimport { IGraphic } from '../../../interface';\nimport { IGraphicRender } from './graphic-render';\n\nexport interface IRenderSelector {\n selector: (graphic: IGraphic) => IGraphicRender | null;\n}\n\n@injectable()\nexport abstract class DefaultRenderSelector implements IRenderSelector {\n selector(graphic: IGraphic): IGraphicRender | null {\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/richtext-render.ts"],"names":[],"mappings":"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","file":"richtext-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport { createRectPath, parsePadding } from '../../../common';\nimport { getTheme, RICHTEXT_NUMBER_TYPE } from '../../../graphic';\nimport { IContext2d, IRichText, IRichTextIcon } from '../../../interface';\nimport { IDrawContext, IRenderService } from '../../render-service';\nimport { IGraphicRender } from './graphic-render';\nimport { fillVisible } from './utils';\n\n@injectable()\nexport class DefaultCanvasRichTextRender implements IGraphicRender {\n type: 'richtext';\n numberType: number = RICHTEXT_NUMBER_TYPE;\n\n drawShape(richtext: IRichText, context: IContext2d, x: number, y: number, drawContext: IDrawContext) {\n const richtextAttribute = getTheme(richtext).richtext;\n const {\n width = richtextAttribute.width,\n height = richtextAttribute.height,\n opacity = richtextAttribute.opacity,\n fillOpacity = richtextAttribute.fillOpacity,\n visible = richtextAttribute.visible\n } = richtext.attribute;\n\n if (!(richtext.valid && visible)) {\n return;\n }\n\n const fVisible = fillVisible(opacity, fillOpacity);\n if (!fVisible) {\n return;\n }\n\n context.translate(x, y);\n const frame = richtext.getFrameCache();\n frame.draw(context, this.drawIcon);\n }\n\n drawIcon(icon: IRichTextIcon, context: IContext2d, x: number, y: number, baseline: number) {\n const richtextIconAttribute = getTheme(icon).richtextIcon;\n\n const {\n width = richtextIconAttribute.width,\n height = richtextIconAttribute.height,\n opacity = richtextIconAttribute.opacity,\n image: url,\n backgroundFill = richtextIconAttribute.backgroundFill,\n backgroundFillColor = richtextIconAttribute.backgroundFillColor,\n backgroundFillOpacity = richtextIconAttribute.backgroundFillOpacity,\n backgroundStroke = richtextIconAttribute.backgroundStroke,\n backgroundStrokeColor = richtextIconAttribute.backgroundStrokeColor,\n backgroundStrokeOpacity = richtextIconAttribute.backgroundStrokeOpacity,\n backgroundRadius = richtextIconAttribute.backgroundRadius,\n margin\n } = icon.attribute;\n\n const { backgroundWidth = width, backgroundHeight = height } = icon.attribute;\n\n if (margin) {\n x += icon._marginArray[3];\n y += icon._marginArray[0];\n }\n\n // y -= height / 2 - baseline;\n\n // 绘制background\n if (icon._hovered) {\n const expandX = (backgroundWidth - width) / 2;\n const expandY = (backgroundHeight - height) / 2;\n\n if (backgroundRadius === 0) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x - expandX, y - expandY, backgroundWidth, backgroundHeight);\n } else {\n context.beginPath();\n createRectPath(context, x - expandX, y - expandY, backgroundWidth, backgroundHeight, backgroundRadius);\n }\n if (backgroundFill) {\n // context.setCommonStyle(rect, rect.attribute, x, y, rectAttribute);\n context.globalAlpha = backgroundFillOpacity;\n context.fillStyle = backgroundFillColor as string;\n context.fill();\n }\n if (backgroundStroke) {\n // context.setStrokeStyle(rect, rect.attribute, x, y, rectAttribute);\n context.globalAlpha = backgroundStrokeOpacity;\n context.strokeStyle = backgroundStrokeColor as string;\n context.stroke();\n }\n }\n\n // 绘制图标\n const res = url && icon?.resources?.get(url);\n if (!res || res.state !== 'success') {\n return;\n }\n // context.setCommonStyle(icon, icon.attribute, x, y, iconAttribute);\n context.globalAlpha = opacity;\n context.drawImage(res.data, x, y, width, height);\n }\n\n draw(richtext: IRichText, renderService: IRenderService, drawContext: IDrawContext) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n // const rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const richtextAttribute = getTheme(richtext).richtext;\n let { x = richtextAttribute.x, y = richtextAttribute.y } = richtext.attribute;\n\n if (!richtext.transMatrix.onlyTranslate()) {\n // 性能较差\n x = 0;\n y = 0;\n context.transformFromMatrix(richtext.transMatrix, true);\n } else {\n const point = richtext.getOffsetXY(richtextAttribute);\n x += point.x;\n y += point.y;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n }\n\n this.drawShape(richtext, context, x, y, drawContext);\n\n context.highPerformanceRestore();\n }\n}\n"]}
|