@visactor/vrender-core 1.0.37-alpha.1 → 1.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/allocator/canvas-allocate.js +7 -5
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/graphic-allocate.js +17 -17
- package/cjs/allocator/graphic-allocate.js.map +1 -1
- package/cjs/application.d.ts +13 -5
- package/cjs/application.js +25 -2
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/conical-gradient.js +2 -2
- package/cjs/canvas/conical-gradient.js.map +1 -1
- package/cjs/canvas/contributions/base-canvas.js +2 -2
- package/cjs/canvas/contributions/base-canvas.js.map +1 -1
- package/cjs/canvas/empty-context.js +3 -12
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/canvas/util.js +7 -3
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/common/diff.js +2 -1
- package/cjs/common/enums.js +1 -2
- package/cjs/common/performance-raf.js +2 -2
- package/cjs/common/performance-raf.js.map +1 -1
- package/cjs/common/registry/contribution-registry.d.ts +24 -0
- package/cjs/common/registry/contribution-registry.js +61 -0
- package/cjs/common/registry/contribution-registry.js.map +1 -0
- package/cjs/common/registry/index.d.ts +5 -0
- package/cjs/common/registry/index.js +34 -0
- package/cjs/common/registry/index.js.map +1 -0
- package/cjs/common/registry/service-registry.d.ts +16 -0
- package/cjs/common/registry/service-registry.js +57 -0
- package/cjs/common/registry/service-registry.js.map +1 -0
- package/cjs/common/registry/types.d.ts +1 -0
- package/cjs/common/{inversify-lite/interfaces/interfaces.js → registry/types.js} +1 -1
- package/cjs/common/registry/types.js.map +1 -0
- package/cjs/common/simplify.js +2 -1
- package/cjs/common/sort.js +1 -2
- package/cjs/core/constants.js +1 -1
- package/cjs/core/contributions/env/base-contribution.js +4 -9
- package/cjs/core/contributions/env/base-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +4 -13
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/empty-contribution.js +4 -13
- package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +4 -13
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/modules.d.ts +1 -2
- package/cjs/core/contributions/modules.js +2 -14
- package/cjs/core/contributions/modules.js.map +1 -1
- package/cjs/core/contributions/textMeasure/AtextMeasure.js +3 -10
- package/cjs/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.js +3 -10
- package/cjs/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
- package/cjs/core/contributions/window/base-contribution.js +3 -12
- package/cjs/core/contributions/window/base-contribution.js.map +1 -1
- package/cjs/core/global.d.ts +2 -2
- package/cjs/core/global.js +8 -20
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +2 -2
- package/cjs/core/graphic-utils.js +9 -23
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/layer-service.js +9 -18
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.js +3 -3
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/stage.js +10 -8
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.js +7 -15
- package/cjs/core/window.js.map +1 -1
- package/cjs/env-check.js +3 -3
- package/cjs/env-check.js.map +1 -1
- package/cjs/graphic/arc.js +3 -3
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.js +3 -3
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.js +3 -3
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/circle.js +3 -3
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/glyph.js +1 -1
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -2
- package/cjs/graphic/graphic-service/graphic-service.js +5 -18
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +1 -0
- package/cjs/graphic/graphic.js +12 -11
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.js +3 -4
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.js +3 -3
- package/cjs/graphic/image.js.map +1 -1
- package/cjs/graphic/line.js +3 -3
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/path.js +3 -3
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.js +3 -3
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.js +2 -3
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.js +3 -3
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/richtext/utils.js +3 -3
- package/cjs/graphic/richtext/utils.js.map +1 -1
- package/cjs/graphic/richtext.js +4 -4
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/star.js +3 -3
- package/cjs/graphic/star.js.map +1 -1
- package/cjs/graphic/symbol.js +3 -3
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.js +6 -7
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/tools.js +2 -2
- package/cjs/graphic/tools.js.map +1 -1
- package/cjs/graphic/wrap-text.js +2 -2
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +3 -22
- package/cjs/index.js +59 -27
- package/cjs/index.js.map +1 -1
- package/cjs/interface/canvas.d.ts +1 -1
- package/cjs/interface/canvas.js.map +1 -1
- package/cjs/modules.js +6 -17
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/global-picker-service.js +4 -13
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/pick-interceptor.js +9 -19
- package/cjs/picker/pick-interceptor.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +3 -3
- package/cjs/picker/picker-service.js +8 -21
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js +5 -6
- package/cjs/plugins/builtin-plugin/auto-refresh-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/edit-module.js +3 -4
- package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -1
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
- package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +8 -10
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/cjs/plugins/plugin-service.d.ts +2 -2
- package/cjs/plugins/plugin-service.js +7 -21
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/register-modules.d.ts +9 -0
- package/cjs/register-modules.js +79 -0
- package/cjs/register-modules.js.map +1 -0
- package/cjs/render/contributions/render/arc-render.d.ts +2 -2
- package/cjs/render/contributions/render/arc-render.js +7 -21
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-render.js +3 -10
- package/cjs/render/contributions/render/arc3d-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.d.ts +2 -2
- package/cjs/render/contributions/render/area-render.js +7 -21
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.js +1 -1
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.d.ts +2 -2
- package/cjs/render/contributions/render/circle-render.js +7 -21
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +7 -20
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +5 -13
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +3 -3
- package/cjs/render/contributions/render/draw-contribution.js +9 -22
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +3 -12
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-render.js +3 -10
- package/cjs/render/contributions/render/glyph-render.js.map +1 -1
- package/cjs/render/contributions/render/graphic-render.js +1 -10
- package/cjs/render/contributions/render/graphic-render.js.map +1 -1
- package/cjs/render/contributions/render/group-render.d.ts +2 -2
- package/cjs/render/contributions/render/group-render.js +7 -20
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.d.ts +2 -2
- package/cjs/render/contributions/render/image-render.js +7 -21
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-area-render.js +3 -10
- package/cjs/render/contributions/render/incremental-area-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
- package/cjs/render/contributions/render/incremental-draw-contribution.js +10 -23
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/incremental-line-render.js +3 -10
- package/cjs/render/contributions/render/incremental-line-render.js.map +1 -1
- package/cjs/render/contributions/render/index.d.ts +12 -4
- package/cjs/render/contributions/render/index.js +11 -7
- package/cjs/render/contributions/render/index.js.map +1 -1
- package/cjs/render/contributions/render/line-render.js +3 -10
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/path-render.d.ts +2 -2
- package/cjs/render/contributions/render/path-render.js +7 -21
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
- package/cjs/render/contributions/render/polygon-render.js +7 -21
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-render.js +3 -10
- package/cjs/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.d.ts +2 -2
- package/cjs/render/contributions/render/rect-render.js +7 -21
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-render.js +3 -10
- package/cjs/render/contributions/render/rect3d-render.js.map +1 -1
- package/cjs/render/contributions/render/richtext-render.js +3 -12
- package/cjs/render/contributions/render/richtext-render.js.map +1 -1
- package/cjs/render/contributions/render/star-render.d.ts +2 -2
- package/cjs/render/contributions/render/star-render.js +7 -21
- package/cjs/render/contributions/render/star-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
- package/cjs/render/contributions/render/symbol-render.js +7 -21
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol.d.ts +2 -0
- package/cjs/render/contributions/render/symbol.js +3 -1
- package/cjs/render/contributions/render/symbol.js.map +1 -1
- package/cjs/render/contributions/render/text-render.d.ts +2 -2
- package/cjs/render/contributions/render/text-render.js +7 -21
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/render-service.js +2 -18
- package/cjs/render/render-service.js.map +1 -1
- package/cjs/resource-loader/loader.js +6 -6
- package/cjs/resource-loader/loader.js.map +1 -1
- package/dist/index.es.js +20349 -21178
- package/es/allocator/canvas-allocate.js +8 -6
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/graphic-allocate.js +17 -17
- package/es/allocator/graphic-allocate.js.map +1 -1
- package/es/application.d.ts +13 -5
- package/es/application.js +31 -2
- package/es/application.js.map +1 -1
- package/es/canvas/conical-gradient.js +2 -2
- package/es/canvas/conical-gradient.js.map +1 -1
- package/es/canvas/contributions/base-canvas.js +2 -2
- package/es/canvas/contributions/base-canvas.js.map +1 -1
- package/es/canvas/empty-context.js +2 -16
- package/es/canvas/empty-context.js.map +1 -1
- package/es/canvas/util.js +7 -5
- package/es/canvas/util.js.map +1 -1
- package/es/common/diff.js +2 -1
- package/es/common/enums.js +1 -2
- package/es/common/performance-raf.js +2 -2
- package/es/common/performance-raf.js.map +1 -1
- package/es/common/registry/contribution-registry.d.ts +24 -0
- package/es/common/registry/contribution-registry.js +55 -0
- package/es/common/registry/contribution-registry.js.map +1 -0
- package/es/common/registry/index.d.ts +5 -0
- package/es/common/registry/index.js +4 -0
- package/es/common/registry/index.js.map +1 -0
- package/es/common/registry/service-registry.d.ts +16 -0
- package/es/common/registry/service-registry.js +51 -0
- package/es/common/registry/service-registry.js.map +1 -0
- package/es/common/registry/types.d.ts +1 -0
- package/es/common/registry/types.js +2 -0
- package/es/common/registry/types.js.map +1 -0
- package/es/common/simplify.js +2 -1
- package/es/common/sort.js +1 -2
- package/es/core/constants.js +1 -1
- package/es/core/contributions/env/base-contribution.js +3 -13
- package/es/core/contributions/env/base-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +4 -18
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/empty-contribution.js +4 -18
- package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +4 -18
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/modules.d.ts +1 -2
- package/es/core/contributions/modules.js +1 -9
- package/es/core/contributions/modules.js.map +1 -1
- package/es/core/contributions/textMeasure/AtextMeasure.js +2 -14
- package/es/core/contributions/textMeasure/AtextMeasure.js.map +1 -1
- package/es/core/contributions/textMeasure/textMeasure-contribution.js +2 -14
- package/es/core/contributions/textMeasure/textMeasure-contribution.js.map +1 -1
- package/es/core/contributions/window/base-contribution.js +2 -16
- package/es/core/contributions/window/base-contribution.js.map +1 -1
- package/es/core/global.d.ts +2 -2
- package/es/core/global.js +9 -24
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +2 -2
- package/es/core/graphic-utils.js +12 -34
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/layer-service.js +10 -23
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.js +3 -3
- package/es/core/layer.js.map +1 -1
- package/es/core/stage.js +10 -10
- package/es/core/stage.js.map +1 -1
- package/es/core/window.js +9 -23
- package/es/core/window.js.map +1 -1
- package/es/env-check.js +3 -3
- package/es/env-check.js.map +1 -1
- package/es/graphic/arc.js +3 -3
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.js +3 -4
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.js +3 -3
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/circle.js +3 -3
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/glyph.js +1 -1
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.d.ts +2 -2
- package/es/graphic/graphic-service/graphic-service.js +5 -21
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic.d.ts +1 -0
- package/es/graphic/graphic.js +14 -9
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.js +3 -3
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.js +3 -3
- package/es/graphic/image.js.map +1 -1
- package/es/graphic/line.js +3 -3
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/path.js +3 -3
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.js +3 -3
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.js +2 -2
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.js +3 -3
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/richtext/utils.js +3 -3
- package/es/graphic/richtext/utils.js.map +1 -1
- package/es/graphic/richtext.js +4 -4
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/star.js +3 -3
- package/es/graphic/star.js.map +1 -1
- package/es/graphic/symbol.js +3 -3
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.js +6 -6
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/tools.js +2 -2
- package/es/graphic/tools.js.map +1 -1
- package/es/graphic/wrap-text.js +2 -2
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +3 -22
- package/es/index.js +3 -41
- package/es/index.js.map +1 -1
- package/es/interface/canvas.d.ts +1 -1
- package/es/interface/canvas.js.map +1 -1
- package/es/modules.js +10 -36
- package/es/modules.js.map +1 -1
- package/es/picker/global-picker-service.js +4 -18
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/pick-interceptor.js +8 -32
- package/es/picker/pick-interceptor.js.map +1 -1
- package/es/picker/picker-service.d.ts +3 -3
- package/es/picker/picker-service.js +10 -25
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-refresh-plugin.js +6 -6
- package/es/plugins/builtin-plugin/auto-refresh-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/edit-module.js +3 -3
- package/es/plugins/builtin-plugin/edit-module.js.map +1 -1
- package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
- package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
- package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js +6 -6
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/es/plugins/plugin-service.d.ts +2 -2
- package/es/plugins/plugin-service.js +7 -26
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/register-modules.d.ts +9 -0
- package/es/register-modules.js +117 -0
- package/es/register-modules.js.map +1 -0
- package/es/render/contributions/render/arc-render.d.ts +2 -2
- package/es/render/contributions/render/arc-render.js +8 -25
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-render.js +2 -14
- package/es/render/contributions/render/arc3d-render.js.map +1 -1
- package/es/render/contributions/render/area-render.d.ts +2 -2
- package/es/render/contributions/render/area-render.js +8 -25
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.js +1 -1
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-render.d.ts +2 -2
- package/es/render/contributions/render/circle-render.js +8 -25
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.d.ts +2 -2
- package/es/render/contributions/render/contributions/base-contribution-render.js +8 -24
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/image-contribution-render.d.ts +1 -2
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.js +4 -20
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +3 -3
- package/es/render/contributions/render/draw-contribution.js +11 -29
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +2 -16
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-render.js +2 -14
- package/es/render/contributions/render/glyph-render.js.map +1 -1
- package/es/render/contributions/render/graphic-render.js +1 -13
- package/es/render/contributions/render/graphic-render.js.map +1 -1
- package/es/render/contributions/render/group-render.d.ts +2 -2
- package/es/render/contributions/render/group-render.js +9 -25
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-render.d.ts +2 -2
- package/es/render/contributions/render/image-render.js +8 -25
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/incremental-area-render.js +2 -14
- package/es/render/contributions/render/incremental-area-render.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.d.ts +3 -5
- package/es/render/contributions/render/incremental-draw-contribution.js +12 -30
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/render/contributions/render/incremental-line-render.js +2 -14
- package/es/render/contributions/render/incremental-line-render.js.map +1 -1
- package/es/render/contributions/render/index.d.ts +12 -4
- package/es/render/contributions/render/index.js +24 -8
- package/es/render/contributions/render/index.js.map +1 -1
- package/es/render/contributions/render/line-render.js +2 -14
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/path-render.d.ts +2 -2
- package/es/render/contributions/render/path-render.js +8 -25
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.d.ts +2 -2
- package/es/render/contributions/render/polygon-render.js +8 -25
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-render.js +2 -14
- package/es/render/contributions/render/pyramid3d-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.d.ts +2 -2
- package/es/render/contributions/render/rect-render.js +8 -25
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-render.js +2 -14
- package/es/render/contributions/render/rect3d-render.js.map +1 -1
- package/es/render/contributions/render/richtext-render.js +2 -16
- package/es/render/contributions/render/richtext-render.js.map +1 -1
- package/es/render/contributions/render/star-render.d.ts +2 -2
- package/es/render/contributions/render/star-render.js +8 -25
- package/es/render/contributions/render/star-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.d.ts +2 -2
- package/es/render/contributions/render/symbol-render.js +8 -25
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/symbol.d.ts +2 -0
- package/es/render/contributions/render/symbol.js +4 -0
- package/es/render/contributions/render/symbol.js.map +1 -1
- package/es/render/contributions/render/text-render.d.ts +2 -2
- package/es/render/contributions/render/text-render.js +7 -24
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/render-service.js +2 -22
- package/es/render/render-service.js.map +1 -1
- package/es/resource-loader/loader.js +6 -6
- package/es/resource-loader/loader.js.map +1 -1
- package/package.json +1 -1
- package/cjs/common/contribution-provider.d.ts +0 -20
- package/cjs/common/contribution-provider.js +0 -46
- package/cjs/common/contribution-provider.js.map +0 -1
- package/cjs/common/inversify/annotation/inject.d.ts +0 -1
- package/cjs/common/inversify/annotation/inject.js +0 -10
- package/cjs/common/inversify/annotation/inject.js.map +0 -1
- package/cjs/common/inversify/annotation/inject_base.d.ts +0 -14
- package/cjs/common/inversify/annotation/inject_base.js +0 -39
- package/cjs/common/inversify/annotation/inject_base.js.map +0 -1
- package/cjs/common/inversify/annotation/injectable.d.ts +0 -1
- package/cjs/common/inversify/annotation/injectable.js +0 -46
- package/cjs/common/inversify/annotation/injectable.js.map +0 -1
- package/cjs/common/inversify/annotation/multi_inject.d.ts +0 -1
- package/cjs/common/inversify/annotation/multi_inject.js +0 -10
- package/cjs/common/inversify/annotation/multi_inject.js.map +0 -1
- package/cjs/common/inversify/annotation/named.d.ts +0 -1
- package/cjs/common/inversify/annotation/named.js +0 -14
- package/cjs/common/inversify/annotation/named.js.map +0 -1
- package/cjs/common/inversify/annotation/optional.d.ts +0 -2
- package/cjs/common/inversify/annotation/optional.js +0 -14
- package/cjs/common/inversify/annotation/optional.js.map +0 -1
- package/cjs/common/inversify/binding.d.ts +0 -18
- package/cjs/common/inversify/binding.js +0 -26
- package/cjs/common/inversify/binding.js.map +0 -1
- package/cjs/common/inversify/container.d.ts +0 -28
- package/cjs/common/inversify/container.js +0 -158
- package/cjs/common/inversify/container.js.map +0 -1
- package/cjs/common/inversify/cotainer-module.d.ts +0 -6
- package/cjs/common/inversify/cotainer-module.js +0 -16
- package/cjs/common/inversify/cotainer-module.js.map +0 -1
- package/cjs/common/inversify/index.d.ts +0 -7
- package/cjs/common/inversify/index.js +0 -75
- package/cjs/common/inversify/index.js.map +0 -1
- package/cjs/common/inversify/interfaces.d.ts +0 -218
- package/cjs/common/inversify/interfaces.js +0 -6
- package/cjs/common/inversify/interfaces.js.map +0 -1
- package/cjs/common/inversify/literal_types.d.ts +0 -5
- package/cjs/common/inversify/literal_types.js +0 -34
- package/cjs/common/inversify/literal_types.js.map +0 -1
- package/cjs/common/inversify/meta-data.d.ts +0 -6
- package/cjs/common/inversify/meta-data.js +0 -19
- package/cjs/common/inversify/meta-data.js.map +0 -1
- package/cjs/common/inversify/metadata_keys.d.ts +0 -12
- package/cjs/common/inversify/metadata_keys.js +0 -15
- package/cjs/common/inversify/metadata_keys.js.map +0 -1
- package/cjs/common/inversify/metadata_reader.d.ts +0 -6
- package/cjs/common/inversify/metadata_reader.js +0 -28
- package/cjs/common/inversify/metadata_reader.js.map +0 -1
- package/cjs/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
- package/cjs/common/inversify/syntax/binding_in_syntax.js +0 -29
- package/cjs/common/inversify/syntax/binding_in_syntax.js.map +0 -1
- package/cjs/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
- package/cjs/common/inversify/syntax/binding_to_syntax.js +0 -40
- package/cjs/common/inversify/syntax/binding_to_syntax.js.map +0 -1
- package/cjs/common/inversify/syntax/constraint_helpers.d.ts +0 -2
- package/cjs/common/inversify/syntax/constraint_helpers.js +0 -20
- package/cjs/common/inversify/syntax/constraint_helpers.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
- package/cjs/common/inversify-lite/annotation/decorator_utils.js +0 -97
- package/cjs/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/inject.d.ts +0 -2
- package/cjs/common/inversify-lite/annotation/inject.js +0 -36
- package/cjs/common/inversify-lite/annotation/inject.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/inject_base.d.ts +0 -3
- package/cjs/common/inversify-lite/annotation/inject_base.js +0 -20
- package/cjs/common/inversify-lite/annotation/inject_base.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/injectable.d.ts +0 -2
- package/cjs/common/inversify-lite/annotation/injectable.js +0 -48
- package/cjs/common/inversify-lite/annotation/injectable.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
- package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js +0 -17
- package/cjs/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
- package/cjs/common/inversify-lite/annotation/multi_inject.js +0 -36
- package/cjs/common/inversify-lite/annotation/multi_inject.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/named.d.ts +0 -2
- package/cjs/common/inversify-lite/annotation/named.js +0 -39
- package/cjs/common/inversify-lite/annotation/named.js.map +0 -1
- package/cjs/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
- package/cjs/common/inversify-lite/annotation/property_event_decorator.js +0 -24
- package/cjs/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
- package/cjs/common/inversify-lite/bindings/binding.d.ts +0 -20
- package/cjs/common/inversify-lite/bindings/binding.js +0 -27
- package/cjs/common/inversify-lite/bindings/binding.js.map +0 -1
- package/cjs/common/inversify-lite/bindings/binding_count.d.ts +0 -5
- package/cjs/common/inversify-lite/bindings/binding_count.js +0 -10
- package/cjs/common/inversify-lite/bindings/binding_count.js.map +0 -1
- package/cjs/common/inversify-lite/constants/error_msgs.d.ts +0 -32
- package/cjs/common/inversify-lite/constants/error_msgs.js +0 -50
- package/cjs/common/inversify-lite/constants/error_msgs.js.map +0 -1
- package/cjs/common/inversify-lite/constants/literal_types.d.ts +0 -5
- package/cjs/common/inversify-lite/constants/literal_types.js +0 -35
- package/cjs/common/inversify-lite/constants/literal_types.js.map +0 -1
- package/cjs/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
- package/cjs/common/inversify-lite/constants/metadata_keys.js +0 -16
- package/cjs/common/inversify-lite/constants/metadata_keys.js.map +0 -1
- package/cjs/common/inversify-lite/container/container.d.ts +0 -46
- package/cjs/common/inversify-lite/container/container.js +0 -290
- package/cjs/common/inversify-lite/container/container.js.map +0 -1
- package/cjs/common/inversify-lite/container/container_module.d.ts +0 -11
- package/cjs/common/inversify-lite/container/container_module.js +0 -24
- package/cjs/common/inversify-lite/container/container_module.js.map +0 -1
- package/cjs/common/inversify-lite/container/lookup.d.ts +0 -16
- package/cjs/common/inversify-lite/container/lookup.js +0 -97
- package/cjs/common/inversify-lite/container/lookup.js.map +0 -1
- package/cjs/common/inversify-lite/index.d.ts +0 -1
- package/cjs/common/inversify-lite/index.js +0 -21
- package/cjs/common/inversify-lite/index.js.map +0 -1
- package/cjs/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
- package/cjs/common/inversify-lite/interfaces/interfaces.js.map +0 -1
- package/cjs/common/inversify-lite/planning/context.d.ts +0 -11
- package/cjs/common/inversify-lite/planning/context.js +0 -22
- package/cjs/common/inversify-lite/planning/context.js.map +0 -1
- package/cjs/common/inversify-lite/planning/metadata.d.ts +0 -8
- package/cjs/common/inversify-lite/planning/metadata.js +0 -44
- package/cjs/common/inversify-lite/planning/metadata.js.map +0 -1
- package/cjs/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
- package/cjs/common/inversify-lite/planning/metadata_reader.js +0 -51
- package/cjs/common/inversify-lite/planning/metadata_reader.js.map +0 -1
- package/cjs/common/inversify-lite/planning/plan.d.ts +0 -7
- package/cjs/common/inversify-lite/planning/plan.js +0 -14
- package/cjs/common/inversify-lite/planning/plan.js.map +0 -1
- package/cjs/common/inversify-lite/planning/planner.d.ts +0 -5
- package/cjs/common/inversify-lite/planning/planner.js +0 -132
- package/cjs/common/inversify-lite/planning/planner.js.map +0 -1
- package/cjs/common/inversify-lite/planning/queryable_string.d.ts +0 -9
- package/cjs/common/inversify-lite/planning/queryable_string.js +0 -23
- package/cjs/common/inversify-lite/planning/queryable_string.js.map +0 -1
- package/cjs/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
- package/cjs/common/inversify-lite/planning/reflection_utils.js +0 -129
- package/cjs/common/inversify-lite/planning/reflection_utils.js.map +0 -1
- package/cjs/common/inversify-lite/planning/request.d.ts +0 -14
- package/cjs/common/inversify-lite/planning/request.js +0 -22
- package/cjs/common/inversify-lite/planning/request.js.map +0 -1
- package/cjs/common/inversify-lite/planning/target.d.ts +0 -23
- package/cjs/common/inversify-lite/planning/target.js +0 -81
- package/cjs/common/inversify-lite/planning/target.js.map +0 -1
- package/cjs/common/inversify-lite/resolution/instantiation.d.ts +0 -3
- package/cjs/common/inversify-lite/resolution/instantiation.js +0 -143
- package/cjs/common/inversify-lite/resolution/instantiation.js.map +0 -1
- package/cjs/common/inversify-lite/resolution/resolver.d.ts +0 -3
- package/cjs/common/inversify-lite/resolution/resolver.js +0 -74
- package/cjs/common/inversify-lite/resolution/resolver.js.map +0 -1
- package/cjs/common/inversify-lite/scope/scope.d.ts +0 -3
- package/cjs/common/inversify-lite/scope/scope.js +0 -56
- package/cjs/common/inversify-lite/scope/scope.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
- package/cjs/common/inversify-lite/syntax/binding_in_syntax.js +0 -25
- package/cjs/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
- package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -29
- package/cjs/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
- package/cjs/common/inversify-lite/syntax/binding_on_syntax.js +0 -14
- package/cjs/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
- package/cjs/common/inversify-lite/syntax/binding_to_syntax.js +0 -88
- package/cjs/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
- package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -19
- package/cjs/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
- package/cjs/common/inversify-lite/syntax/binding_when_syntax.js +0 -20
- package/cjs/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
- package/cjs/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
- package/cjs/common/inversify-lite/syntax/constraint_helpers.js +0 -38
- package/cjs/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
- package/cjs/common/inversify-lite/utils/async.d.ts +0 -3
- package/cjs/common/inversify-lite/utils/async.js +0 -15
- package/cjs/common/inversify-lite/utils/async.js.map +0 -1
- package/cjs/common/inversify-lite/utils/binding_utils.d.ts +0 -4
- package/cjs/common/inversify-lite/utils/binding_utils.js +0 -94
- package/cjs/common/inversify-lite/utils/binding_utils.js.map +0 -1
- package/cjs/common/inversify-lite/utils/clonable.d.ts +0 -3
- package/cjs/common/inversify-lite/utils/clonable.js +0 -10
- package/cjs/common/inversify-lite/utils/clonable.js.map +0 -1
- package/cjs/common/inversify-lite/utils/exceptions.d.ts +0 -2
- package/cjs/common/inversify-lite/utils/exceptions.js +0 -43
- package/cjs/common/inversify-lite/utils/exceptions.js.map +0 -1
- package/cjs/common/inversify-lite/utils/factory_type.d.ts +0 -5
- package/cjs/common/inversify-lite/utils/factory_type.js +0 -11
- package/cjs/common/inversify-lite/utils/factory_type.js.map +0 -1
- package/cjs/common/inversify-lite/utils/id.d.ts +0 -2
- package/cjs/common/inversify-lite/utils/id.js +0 -14
- package/cjs/common/inversify-lite/utils/id.js.map +0 -1
- package/cjs/common/inversify-lite/utils/js.d.ts +0 -1
- package/cjs/common/inversify-lite/utils/js.js +0 -14
- package/cjs/common/inversify-lite/utils/js.js.map +0 -1
- package/cjs/common/inversify-lite/utils/serialization.d.ts +0 -10
- package/cjs/common/inversify-lite/utils/serialization.js +0 -99
- package/cjs/common/inversify-lite/utils/serialization.js.map +0 -1
- package/cjs/container.d.ts +0 -2
- package/cjs/container.js +0 -10
- package/cjs/container.js.map +0 -1
- package/cjs/core/contributions/env/modules.d.ts +0 -3
- package/cjs/core/contributions/env/modules.js +0 -12
- package/cjs/core/contributions/env/modules.js.map +0 -1
- package/cjs/core/contributions/layerHandler/modules.d.ts +0 -3
- package/cjs/core/contributions/layerHandler/modules.js +0 -12
- package/cjs/core/contributions/layerHandler/modules.js.map +0 -1
- package/cjs/core/contributions/textMeasure/modules.d.ts +0 -3
- package/cjs/core/contributions/textMeasure/modules.js +0 -13
- package/cjs/core/contributions/textMeasure/modules.js.map +0 -1
- package/cjs/core/core-modules.d.ts +0 -3
- package/cjs/core/core-modules.js +0 -15
- package/cjs/core/core-modules.js.map +0 -1
- package/cjs/core/global-module.d.ts +0 -1
- package/cjs/core/global-module.js +0 -3
- package/cjs/core/global-module.js.map +0 -1
- package/cjs/graphic/graphic-service/graphic-module.d.ts +0 -3
- package/cjs/graphic/graphic-service/graphic-module.js +0 -12
- package/cjs/graphic/graphic-service/graphic-module.js.map +0 -1
- package/cjs/picker/pick-modules.d.ts +0 -3
- package/cjs/picker/pick-modules.js +0 -22
- package/cjs/picker/pick-modules.js.map +0 -1
- package/cjs/plugins/plugin-modules.d.ts +0 -3
- package/cjs/plugins/plugin-modules.js +0 -12
- package/cjs/plugins/plugin-modules.js.map +0 -1
- package/cjs/render/contributions/modules.d.ts +0 -2
- package/cjs/render/contributions/modules.js +0 -20
- package/cjs/render/contributions/modules.js.map +0 -1
- package/cjs/render/contributions/render/arc-module.d.ts +0 -2
- package/cjs/render/contributions/render/arc-module.js +0 -17
- package/cjs/render/contributions/render/arc-module.js.map +0 -1
- package/cjs/render/contributions/render/arc3d-module.d.ts +0 -2
- package/cjs/render/contributions/render/arc3d-module.js +0 -15
- package/cjs/render/contributions/render/arc3d-module.js.map +0 -1
- package/cjs/render/contributions/render/area-module.d.ts +0 -2
- package/cjs/render/contributions/render/area-module.js +0 -18
- package/cjs/render/contributions/render/area-module.js.map +0 -1
- package/cjs/render/contributions/render/circle-module.d.ts +0 -2
- package/cjs/render/contributions/render/circle-module.js +0 -17
- package/cjs/render/contributions/render/circle-module.js.map +0 -1
- package/cjs/render/contributions/render/glyph-module.d.ts +0 -2
- package/cjs/render/contributions/render/glyph-module.js +0 -15
- package/cjs/render/contributions/render/glyph-module.js.map +0 -1
- package/cjs/render/contributions/render/image-module.d.ts +0 -2
- package/cjs/render/contributions/render/image-module.js +0 -16
- package/cjs/render/contributions/render/image-module.js.map +0 -1
- package/cjs/render/contributions/render/line-module.d.ts +0 -2
- package/cjs/render/contributions/render/line-module.js +0 -17
- package/cjs/render/contributions/render/line-module.js.map +0 -1
- package/cjs/render/contributions/render/module.d.ts +0 -3
- package/cjs/render/contributions/render/module.js +0 -23
- package/cjs/render/contributions/render/module.js.map +0 -1
- package/cjs/render/contributions/render/path-module.d.ts +0 -2
- package/cjs/render/contributions/render/path-module.js +0 -17
- package/cjs/render/contributions/render/path-module.js.map +0 -1
- package/cjs/render/contributions/render/polygon-module.d.ts +0 -2
- package/cjs/render/contributions/render/polygon-module.js +0 -16
- package/cjs/render/contributions/render/polygon-module.js.map +0 -1
- package/cjs/render/contributions/render/pyramid3d-module.d.ts +0 -2
- package/cjs/render/contributions/render/pyramid3d-module.js +0 -15
- package/cjs/render/contributions/render/pyramid3d-module.js.map +0 -1
- package/cjs/render/contributions/render/rect-module.d.ts +0 -2
- package/cjs/render/contributions/render/rect-module.js +0 -20
- package/cjs/render/contributions/render/rect-module.js.map +0 -1
- package/cjs/render/contributions/render/rect3d-module.d.ts +0 -2
- package/cjs/render/contributions/render/rect3d-module.js +0 -15
- package/cjs/render/contributions/render/rect3d-module.js.map +0 -1
- package/cjs/render/contributions/render/richtext-module.d.ts +0 -2
- package/cjs/render/contributions/render/richtext-module.js +0 -15
- package/cjs/render/contributions/render/richtext-module.js.map +0 -1
- package/cjs/render/contributions/render/star-module.d.ts +0 -2
- package/cjs/render/contributions/render/star-module.js +0 -15
- package/cjs/render/contributions/render/star-module.js.map +0 -1
- package/cjs/render/contributions/render/symbol-module.d.ts +0 -2
- package/cjs/render/contributions/render/symbol-module.js +0 -17
- package/cjs/render/contributions/render/symbol-module.js.map +0 -1
- package/cjs/render/contributions/render/text-module.d.ts +0 -2
- package/cjs/render/contributions/render/text-module.js +0 -16
- package/cjs/render/contributions/render/text-module.js.map +0 -1
- package/cjs/render/render-modules.d.ts +0 -3
- package/cjs/render/render-modules.js +0 -12
- package/cjs/render/render-modules.js.map +0 -1
- package/es/common/contribution-provider.d.ts +0 -20
- package/es/common/contribution-provider.js +0 -39
- package/es/common/contribution-provider.js.map +0 -1
- package/es/common/inversify/annotation/inject.d.ts +0 -1
- package/es/common/inversify/annotation/inject.js +0 -6
- package/es/common/inversify/annotation/inject.js.map +0 -1
- package/es/common/inversify/annotation/inject_base.d.ts +0 -14
- package/es/common/inversify/annotation/inject_base.js +0 -29
- package/es/common/inversify/annotation/inject_base.js.map +0 -1
- package/es/common/inversify/annotation/injectable.d.ts +0 -1
- package/es/common/inversify/annotation/injectable.js +0 -10
- package/es/common/inversify/annotation/injectable.js.map +0 -1
- package/es/common/inversify/annotation/multi_inject.d.ts +0 -1
- package/es/common/inversify/annotation/multi_inject.js +0 -6
- package/es/common/inversify/annotation/multi_inject.js.map +0 -1
- package/es/common/inversify/annotation/named.d.ts +0 -1
- package/es/common/inversify/annotation/named.js +0 -10
- package/es/common/inversify/annotation/named.js.map +0 -1
- package/es/common/inversify/annotation/optional.d.ts +0 -2
- package/es/common/inversify/annotation/optional.js +0 -12
- package/es/common/inversify/annotation/optional.js.map +0 -1
- package/es/common/inversify/binding.d.ts +0 -18
- package/es/common/inversify/binding.js +0 -22
- package/es/common/inversify/binding.js.map +0 -1
- package/es/common/inversify/container.d.ts +0 -28
- package/es/common/inversify/container.js +0 -158
- package/es/common/inversify/container.js.map +0 -1
- package/es/common/inversify/cotainer-module.d.ts +0 -6
- package/es/common/inversify/cotainer-module.js +0 -8
- package/es/common/inversify/cotainer-module.js.map +0 -1
- package/es/common/inversify/index.d.ts +0 -7
- package/es/common/inversify/index.js +0 -14
- package/es/common/inversify/index.js.map +0 -1
- package/es/common/inversify/interfaces.d.ts +0 -218
- package/es/common/inversify/interfaces.js +0 -2
- package/es/common/inversify/interfaces.js.map +0 -1
- package/es/common/inversify/literal_types.d.ts +0 -5
- package/es/common/inversify/literal_types.js +0 -20
- package/es/common/inversify/literal_types.js.map +0 -1
- package/es/common/inversify/meta-data.d.ts +0 -6
- package/es/common/inversify/meta-data.js +0 -11
- package/es/common/inversify/meta-data.js.map +0 -1
- package/es/common/inversify/metadata_keys.d.ts +0 -12
- package/es/common/inversify/metadata_keys.js +0 -28
- package/es/common/inversify/metadata_keys.js.map +0 -1
- package/es/common/inversify/metadata_reader.d.ts +0 -6
- package/es/common/inversify/metadata_reader.js +0 -18
- package/es/common/inversify/metadata_reader.js.map +0 -1
- package/es/common/inversify/syntax/binding_in_syntax.d.ts +0 -10
- package/es/common/inversify/syntax/binding_in_syntax.js +0 -24
- package/es/common/inversify/syntax/binding_in_syntax.js.map +0 -1
- package/es/common/inversify/syntax/binding_to_syntax.d.ts +0 -12
- package/es/common/inversify/syntax/binding_to_syntax.js +0 -36
- package/es/common/inversify/syntax/binding_to_syntax.js.map +0 -1
- package/es/common/inversify/syntax/constraint_helpers.d.ts +0 -2
- package/es/common/inversify/syntax/constraint_helpers.js +0 -18
- package/es/common/inversify/syntax/constraint_helpers.js.map +0 -1
- package/es/common/inversify-lite/annotation/decorator_utils.d.ts +0 -16
- package/es/common/inversify-lite/annotation/decorator_utils.js +0 -67
- package/es/common/inversify-lite/annotation/decorator_utils.js.map +0 -1
- package/es/common/inversify-lite/annotation/inject.d.ts +0 -2
- package/es/common/inversify-lite/annotation/inject.js +0 -8
- package/es/common/inversify-lite/annotation/inject.js.map +0 -1
- package/es/common/inversify-lite/annotation/inject_base.d.ts +0 -3
- package/es/common/inversify-lite/annotation/inject_base.js +0 -16
- package/es/common/inversify-lite/annotation/inject_base.js.map +0 -1
- package/es/common/inversify-lite/annotation/injectable.d.ts +0 -2
- package/es/common/inversify-lite/annotation/injectable.js +0 -16
- package/es/common/inversify-lite/annotation/injectable.js.map +0 -1
- package/es/common/inversify-lite/annotation/lazy_service_identifier.d.ts +0 -7
- package/es/common/inversify-lite/annotation/lazy_service_identifier.js +0 -9
- package/es/common/inversify-lite/annotation/lazy_service_identifier.js.map +0 -1
- package/es/common/inversify-lite/annotation/multi_inject.d.ts +0 -2
- package/es/common/inversify-lite/annotation/multi_inject.js +0 -8
- package/es/common/inversify-lite/annotation/multi_inject.js.map +0 -1
- package/es/common/inversify-lite/annotation/named.d.ts +0 -2
- package/es/common/inversify-lite/annotation/named.js +0 -12
- package/es/common/inversify-lite/annotation/named.js.map +0 -1
- package/es/common/inversify-lite/annotation/property_event_decorator.d.ts +0 -4
- package/es/common/inversify-lite/annotation/property_event_decorator.js +0 -14
- package/es/common/inversify-lite/annotation/property_event_decorator.js.map +0 -1
- package/es/common/inversify-lite/bindings/binding.d.ts +0 -20
- package/es/common/inversify-lite/bindings/binding.js +0 -23
- package/es/common/inversify-lite/bindings/binding.js.map +0 -1
- package/es/common/inversify-lite/bindings/binding_count.d.ts +0 -5
- package/es/common/inversify-lite/bindings/binding_count.js +0 -6
- package/es/common/inversify-lite/bindings/binding_count.js.map +0 -1
- package/es/common/inversify-lite/constants/error_msgs.d.ts +0 -32
- package/es/common/inversify-lite/constants/error_msgs.js +0 -64
- package/es/common/inversify-lite/constants/error_msgs.js.map +0 -1
- package/es/common/inversify-lite/constants/literal_types.d.ts +0 -5
- package/es/common/inversify-lite/constants/literal_types.js +0 -21
- package/es/common/inversify-lite/constants/literal_types.js.map +0 -1
- package/es/common/inversify-lite/constants/metadata_keys.d.ts +0 -13
- package/es/common/inversify-lite/constants/metadata_keys.js +0 -30
- package/es/common/inversify-lite/constants/metadata_keys.js.map +0 -1
- package/es/common/inversify-lite/container/container.d.ts +0 -46
- package/es/common/inversify-lite/container/container.js +0 -279
- package/es/common/inversify-lite/container/container.js.map +0 -1
- package/es/common/inversify-lite/container/container_module.d.ts +0 -11
- package/es/common/inversify-lite/container/container_module.js +0 -14
- package/es/common/inversify-lite/container/container_module.js.map +0 -1
- package/es/common/inversify-lite/container/lookup.d.ts +0 -16
- package/es/common/inversify-lite/container/lookup.js +0 -68
- package/es/common/inversify-lite/container/lookup.js.map +0 -1
- package/es/common/inversify-lite/index.d.ts +0 -1
- package/es/common/inversify-lite/index.js +0 -2
- package/es/common/inversify-lite/index.js.map +0 -1
- package/es/common/inversify-lite/interfaces/interfaces.d.ts +0 -237
- package/es/common/inversify-lite/interfaces/interfaces.js +0 -2
- package/es/common/inversify-lite/interfaces/interfaces.js.map +0 -1
- package/es/common/inversify-lite/planning/context.d.ts +0 -11
- package/es/common/inversify-lite/planning/context.js +0 -16
- package/es/common/inversify-lite/planning/context.js.map +0 -1
- package/es/common/inversify-lite/planning/metadata.d.ts +0 -8
- package/es/common/inversify-lite/planning/metadata.js +0 -13
- package/es/common/inversify-lite/planning/metadata.js.map +0 -1
- package/es/common/inversify-lite/planning/metadata_reader.d.ts +0 -6
- package/es/common/inversify-lite/planning/metadata_reader.js +0 -18
- package/es/common/inversify-lite/planning/metadata_reader.js.map +0 -1
- package/es/common/inversify-lite/planning/plan.d.ts +0 -7
- package/es/common/inversify-lite/planning/plan.js +0 -8
- package/es/common/inversify-lite/planning/plan.js.map +0 -1
- package/es/common/inversify-lite/planning/planner.d.ts +0 -5
- package/es/common/inversify-lite/planning/planner.js +0 -120
- package/es/common/inversify-lite/planning/planner.js.map +0 -1
- package/es/common/inversify-lite/planning/queryable_string.d.ts +0 -9
- package/es/common/inversify-lite/planning/queryable_string.js +0 -17
- package/es/common/inversify-lite/planning/queryable_string.js.map +0 -1
- package/es/common/inversify-lite/planning/reflection_utils.d.ts +0 -5
- package/es/common/inversify-lite/planning/reflection_utils.js +0 -99
- package/es/common/inversify-lite/planning/reflection_utils.js.map +0 -1
- package/es/common/inversify-lite/planning/request.d.ts +0 -14
- package/es/common/inversify-lite/planning/request.js +0 -16
- package/es/common/inversify-lite/planning/request.js.map +0 -1
- package/es/common/inversify-lite/planning/target.d.ts +0 -23
- package/es/common/inversify-lite/planning/target.js +0 -58
- package/es/common/inversify-lite/planning/target.js.map +0 -1
- package/es/common/inversify-lite/resolution/instantiation.d.ts +0 -3
- package/es/common/inversify-lite/resolution/instantiation.js +0 -117
- package/es/common/inversify-lite/resolution/instantiation.js.map +0 -1
- package/es/common/inversify-lite/resolution/resolver.d.ts +0 -3
- package/es/common/inversify-lite/resolution/resolver.js +0 -55
- package/es/common/inversify-lite/resolution/resolver.js.map +0 -1
- package/es/common/inversify-lite/scope/scope.d.ts +0 -3
- package/es/common/inversify-lite/scope/scope.js +0 -50
- package/es/common/inversify-lite/scope/scope.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_in_syntax.d.ts +0 -9
- package/es/common/inversify-lite/syntax/binding_in_syntax.js +0 -21
- package/es/common/inversify-lite/syntax/binding_in_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.d.ts +0 -12
- package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js +0 -25
- package/es/common/inversify-lite/syntax/binding_in_when_on_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_on_syntax.d.ts +0 -6
- package/es/common/inversify-lite/syntax/binding_on_syntax.js +0 -8
- package/es/common/inversify-lite/syntax/binding_on_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_to_syntax.d.ts +0 -18
- package/es/common/inversify-lite/syntax/binding_to_syntax.js +0 -63
- package/es/common/inversify-lite/syntax/binding_to_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_when_on_syntax.d.ts +0 -8
- package/es/common/inversify-lite/syntax/binding_when_on_syntax.js +0 -13
- package/es/common/inversify-lite/syntax/binding_when_on_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/binding_when_syntax.d.ts +0 -7
- package/es/common/inversify-lite/syntax/binding_when_syntax.js +0 -15
- package/es/common/inversify-lite/syntax/binding_when_syntax.js.map +0 -1
- package/es/common/inversify-lite/syntax/constraint_helpers.d.ts +0 -3
- package/es/common/inversify-lite/syntax/constraint_helpers.js +0 -11
- package/es/common/inversify-lite/syntax/constraint_helpers.js.map +0 -1
- package/es/common/inversify-lite/utils/async.d.ts +0 -3
- package/es/common/inversify-lite/utils/async.js +0 -10
- package/es/common/inversify-lite/utils/async.js.map +0 -1
- package/es/common/inversify-lite/utils/binding_utils.d.ts +0 -4
- package/es/common/inversify-lite/utils/binding_utils.js +0 -65
- package/es/common/inversify-lite/utils/binding_utils.js.map +0 -1
- package/es/common/inversify-lite/utils/clonable.d.ts +0 -3
- package/es/common/inversify-lite/utils/clonable.js +0 -6
- package/es/common/inversify-lite/utils/clonable.js.map +0 -1
- package/es/common/inversify-lite/utils/exceptions.d.ts +0 -2
- package/es/common/inversify-lite/utils/exceptions.js +0 -8
- package/es/common/inversify-lite/utils/exceptions.js.map +0 -1
- package/es/common/inversify-lite/utils/factory_type.d.ts +0 -5
- package/es/common/inversify-lite/utils/factory_type.js +0 -7
- package/es/common/inversify-lite/utils/factory_type.js.map +0 -1
- package/es/common/inversify-lite/utils/id.d.ts +0 -2
- package/es/common/inversify-lite/utils/id.js +0 -8
- package/es/common/inversify-lite/utils/id.js.map +0 -1
- package/es/common/inversify-lite/utils/js.d.ts +0 -1
- package/es/common/inversify-lite/utils/js.js +0 -8
- package/es/common/inversify-lite/utils/js.js.map +0 -1
- package/es/common/inversify-lite/utils/serialization.d.ts +0 -10
- package/es/common/inversify-lite/utils/serialization.js +0 -66
- package/es/common/inversify-lite/utils/serialization.js.map +0 -1
- package/es/container.d.ts +0 -2
- package/es/container.js +0 -4
- package/es/container.js.map +0 -1
- package/es/core/contributions/env/modules.d.ts +0 -3
- package/es/core/contributions/env/modules.js +0 -10
- package/es/core/contributions/env/modules.js.map +0 -1
- package/es/core/contributions/layerHandler/modules.d.ts +0 -3
- package/es/core/contributions/layerHandler/modules.js +0 -10
- package/es/core/contributions/layerHandler/modules.js.map +0 -1
- package/es/core/contributions/textMeasure/modules.d.ts +0 -3
- package/es/core/contributions/textMeasure/modules.js +0 -11
- package/es/core/contributions/textMeasure/modules.js.map +0 -1
- package/es/core/core-modules.d.ts +0 -3
- package/es/core/core-modules.js +0 -20
- package/es/core/core-modules.js.map +0 -1
- package/es/core/global-module.d.ts +0 -1
- package/es/core/global-module.js +0 -3
- package/es/core/global-module.js.map +0 -1
- package/es/graphic/graphic-service/graphic-module.d.ts +0 -3
- package/es/graphic/graphic-service/graphic-module.js +0 -12
- package/es/graphic/graphic-service/graphic-module.js.map +0 -1
- package/es/picker/pick-modules.d.ts +0 -3
- package/es/picker/pick-modules.js +0 -18
- package/es/picker/pick-modules.js.map +0 -1
- package/es/plugins/plugin-modules.d.ts +0 -3
- package/es/plugins/plugin-modules.js +0 -14
- package/es/plugins/plugin-modules.js.map +0 -1
- package/es/render/contributions/modules.d.ts +0 -2
- package/es/render/contributions/modules.js +0 -6
- package/es/render/contributions/modules.js.map +0 -1
- package/es/render/contributions/render/arc-module.d.ts +0 -2
- package/es/render/contributions/render/arc-module.js +0 -21
- package/es/render/contributions/render/arc-module.js.map +0 -1
- package/es/render/contributions/render/arc3d-module.d.ts +0 -2
- package/es/render/contributions/render/arc3d-module.js +0 -13
- package/es/render/contributions/render/arc3d-module.js.map +0 -1
- package/es/render/contributions/render/area-module.d.ts +0 -2
- package/es/render/contributions/render/area-module.js +0 -23
- package/es/render/contributions/render/area-module.js.map +0 -1
- package/es/render/contributions/render/circle-module.d.ts +0 -2
- package/es/render/contributions/render/circle-module.js +0 -21
- package/es/render/contributions/render/circle-module.js.map +0 -1
- package/es/render/contributions/render/glyph-module.d.ts +0 -2
- package/es/render/contributions/render/glyph-module.js +0 -13
- package/es/render/contributions/render/glyph-module.js.map +0 -1
- package/es/render/contributions/render/image-module.d.ts +0 -2
- package/es/render/contributions/render/image-module.js +0 -20
- package/es/render/contributions/render/image-module.js.map +0 -1
- package/es/render/contributions/render/line-module.d.ts +0 -2
- package/es/render/contributions/render/line-module.js +0 -16
- package/es/render/contributions/render/line-module.js.map +0 -1
- package/es/render/contributions/render/module.d.ts +0 -3
- package/es/render/contributions/render/module.js +0 -28
- package/es/render/contributions/render/module.js.map +0 -1
- package/es/render/contributions/render/path-module.d.ts +0 -2
- package/es/render/contributions/render/path-module.js +0 -21
- package/es/render/contributions/render/path-module.js.map +0 -1
- package/es/render/contributions/render/polygon-module.d.ts +0 -2
- package/es/render/contributions/render/polygon-module.js +0 -20
- package/es/render/contributions/render/polygon-module.js.map +0 -1
- package/es/render/contributions/render/pyramid3d-module.d.ts +0 -2
- package/es/render/contributions/render/pyramid3d-module.js +0 -13
- package/es/render/contributions/render/pyramid3d-module.js.map +0 -1
- package/es/render/contributions/render/rect-module.d.ts +0 -2
- package/es/render/contributions/render/rect-module.js +0 -23
- package/es/render/contributions/render/rect-module.js.map +0 -1
- package/es/render/contributions/render/rect3d-module.d.ts +0 -2
- package/es/render/contributions/render/rect3d-module.js +0 -13
- package/es/render/contributions/render/rect3d-module.js.map +0 -1
- package/es/render/contributions/render/richtext-module.d.ts +0 -2
- package/es/render/contributions/render/richtext-module.js +0 -13
- package/es/render/contributions/render/richtext-module.js.map +0 -1
- package/es/render/contributions/render/star-module.d.ts +0 -2
- package/es/render/contributions/render/star-module.js +0 -13
- package/es/render/contributions/render/star-module.js.map +0 -1
- package/es/render/contributions/render/symbol-module.d.ts +0 -2
- package/es/render/contributions/render/symbol-module.js +0 -21
- package/es/render/contributions/render/symbol-module.js.map +0 -1
- package/es/render/contributions/render/text-module.d.ts +0 -2
- package/es/render/contributions/render/text-module.js +0 -20
- package/es/render/contributions/render/text-module.js.map +0 -1
- package/es/render/render-modules.d.ts +0 -3
- package/es/render/render-modules.js +0 -10
- package/es/render/render-modules.js.map +0 -1
|
@@ -6,10 +6,6 @@ declare enum STATUS {
|
|
|
6
6
|
STOP = 1
|
|
7
7
|
}
|
|
8
8
|
export declare class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {
|
|
9
|
-
protected readonly contributions: IGraphicRender[];
|
|
10
|
-
protected readonly lineRender: IGraphicRender;
|
|
11
|
-
protected readonly areaRender: IGraphicRender;
|
|
12
|
-
protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>;
|
|
13
9
|
rendering: boolean;
|
|
14
10
|
protected currFrameStartAt: number;
|
|
15
11
|
protected currentIdx: number;
|
|
@@ -21,7 +17,9 @@ export declare class DefaultIncrementalDrawContribution extends DefaultDrawContr
|
|
|
21
17
|
protected lastRenderService: IRenderService;
|
|
22
18
|
protected lastDrawContext: IDrawContext;
|
|
23
19
|
protected count: number;
|
|
24
|
-
|
|
20
|
+
protected readonly lineRender: IGraphicRender;
|
|
21
|
+
protected readonly areaRender: IGraphicRender;
|
|
22
|
+
constructor(contributions?: IGraphicRender[], lineRender?: IGraphicRender, areaRender?: IGraphicRender, drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>);
|
|
25
23
|
draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void>;
|
|
26
24
|
protected _increaseRender(group: IGroup, drawContext: IDrawContext): Promise<void>;
|
|
27
25
|
protected _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext): Promise<void>;
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
var STATUS,
|
|
2
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
3
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
4
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
|
-
}, __metadata = this && this.__metadata || function(k, v) {
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
7
|
-
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
8
|
-
return function(target, key) {
|
|
9
|
-
decorator(target, key, paramIndex);
|
|
10
|
-
};
|
|
11
|
-
}, __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
|
|
1
|
+
var STATUS, __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
|
|
12
2
|
return new (P || (P = Promise))((function(resolve, reject) {
|
|
13
3
|
function fulfilled(value) {
|
|
14
4
|
try {
|
|
@@ -34,38 +24,34 @@ var STATUS, __decorate = this && this.__decorate || function(decorators, target,
|
|
|
34
24
|
}));
|
|
35
25
|
};
|
|
36
26
|
|
|
37
|
-
import { injectable, inject, named, multiInject } from "../../../common/inversify-lite";
|
|
38
|
-
|
|
39
27
|
import { DefaultAttribute } from "../../../graphic/config";
|
|
40
28
|
|
|
41
29
|
import { DefaultDrawContribution } from "./draw-contribution";
|
|
42
30
|
|
|
43
31
|
import { SyncHook } from "../../../tapable";
|
|
44
32
|
|
|
45
|
-
import { GraphicRender } from "./symbol";
|
|
46
|
-
|
|
47
|
-
import { DefaultIncrementalCanvasLineRender } from "./incremental-line-render";
|
|
48
|
-
|
|
49
|
-
import { DefaultIncrementalCanvasAreaRender } from "./incremental-area-render";
|
|
33
|
+
import { AreaIncrementalDrawContribution, GraphicRender, LineIncrementalDrawContribution } from "./symbol";
|
|
50
34
|
|
|
51
35
|
import { DrawItemInterceptor } from "./draw-interceptor";
|
|
52
36
|
|
|
53
|
-
import { ContributionProvider } from "../../../common/contribution-provider";
|
|
54
|
-
|
|
55
37
|
import { foreachAsync } from "../../../common/sort";
|
|
56
38
|
|
|
39
|
+
import { contributionRegistry, serviceRegistry } from "../../../common/registry";
|
|
40
|
+
|
|
57
41
|
!function(STATUS) {
|
|
58
42
|
STATUS[STATUS.NORMAL = 0] = "NORMAL", STATUS[STATUS.STOP = 1] = "STOP";
|
|
59
43
|
}(STATUS || (STATUS = {}));
|
|
60
44
|
|
|
61
|
-
|
|
45
|
+
export class DefaultIncrementalDrawContribution extends DefaultDrawContribution {
|
|
62
46
|
constructor(contributions, lineRender, areaRender, drawItemInterceptorContributions) {
|
|
63
|
-
super(contributions
|
|
64
|
-
|
|
65
|
-
this.rendering = !1, this.currFrameStartAt = 0, this.currentIdx = 0, this.status = STATUS.NORMAL,
|
|
47
|
+
super(contributions || contributionRegistry.get(GraphicRender), drawItemInterceptorContributions || {
|
|
48
|
+
getContributions: () => contributionRegistry.get(DrawItemInterceptor)
|
|
49
|
+
}), this.rendering = !1, this.currFrameStartAt = 0, this.currentIdx = 0, this.status = STATUS.NORMAL,
|
|
66
50
|
this.checkingForDrawPromise = null, this.hooks = {
|
|
67
51
|
completeDraw: new SyncHook([])
|
|
68
|
-
}, this.
|
|
52
|
+
}, this.lineRender = lineRender || serviceRegistry.get(LineIncrementalDrawContribution),
|
|
53
|
+
this.areaRender = areaRender || serviceRegistry.get(AreaIncrementalDrawContribution),
|
|
54
|
+
this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender), this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);
|
|
69
55
|
}
|
|
70
56
|
draw(renderService, drawContext) {
|
|
71
57
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
@@ -161,9 +147,5 @@ let DefaultIncrementalDrawContribution = class extends DefaultDrawContribution {
|
|
|
161
147
|
})));
|
|
162
148
|
}));
|
|
163
149
|
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
DefaultIncrementalDrawContribution = __decorate([ injectable(), __param(0, multiInject(GraphicRender)), __param(1, inject(DefaultIncrementalCanvasLineRender)), __param(2, inject(DefaultIncrementalCanvasAreaRender)), __param(3, inject(ContributionProvider)), __param(3, named(DrawItemInterceptor)), __metadata("design:paramtypes", [ Array, Object, Object, Object ]) ], DefaultIncrementalDrawContribution);
|
|
167
|
-
|
|
168
|
-
export { DefaultIncrementalDrawContribution };
|
|
150
|
+
}
|
|
169
151
|
//# sourceMappingURL=incremental-draw-contribution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":"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","file":"incremental-draw-contribution.js","sourcesContent":["import { injectable, inject, named, multiInject } from '../../../common/inversify-lite';\nimport type {\n IGraphic,\n IGroup,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic/config';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { GraphicRender } from './symbol';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DrawItemInterceptor } from './draw-interceptor';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { foreachAsync } from '../../../common/sort';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\n@injectable()\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n\n constructor(\n // @inject(ContributionProvider)\n // @named(GraphicRender)\n // protected readonly contributions: ContributionProvider<IGraphicRender>,\n @multiInject(GraphicRender) protected readonly contributions: IGraphicRender[],\n // @inject(RenderSelector) protected readonly renderSelector: IRenderSelector, // 根据图元类型选择对应的renderItem进行渲染\n @inject(DefaultIncrementalCanvasLineRender) protected readonly lineRender: IGraphicRender, // 默认的lineRender\n @inject(DefaultIncrementalCanvasAreaRender) protected readonly areaRender: IGraphicRender, // 默认的lineRender\n // 拦截器\n @inject(ContributionProvider)\n @named(DrawItemInterceptor)\n protected readonly drawItemInterceptorContributions: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n super(contributions, drawItemInterceptorContributions);\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, viewBox } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(viewBox.x1, viewBox.y1, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/incremental-draw-contribution.ts"],"names":[],"mappings":"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","file":"incremental-draw-contribution.js","sourcesContent":["import type {\n IGraphic,\n IGroup,\n IRenderService,\n IDrawContext,\n IDrawContribution,\n IGraphicRender,\n IDrawItemInterceptorContribution,\n IContributionProvider\n} from '../../../interface';\nimport { DefaultAttribute } from '../../../graphic/config';\nimport { DefaultDrawContribution } from './draw-contribution';\nimport { SyncHook } from '../../../tapable';\nimport { AreaIncrementalDrawContribution, GraphicRender, LineIncrementalDrawContribution } from './symbol';\nimport { DrawItemInterceptor } from './draw-interceptor';\nimport { foreachAsync } from '../../../common/sort';\nimport { contributionRegistry, serviceRegistry } from '../../../common/registry';\n\nenum STATUS {\n NORMAL = 0,\n STOP = 1\n}\n\n/**\n * 增量渲染的contribution,基于树状结构针对图元的渲染\n * 不是单例模式\n */\nexport class DefaultIncrementalDrawContribution extends DefaultDrawContribution implements IDrawContribution {\n rendering: boolean = false;\n protected currFrameStartAt: number = 0;\n protected currentIdx: number = 0;\n protected status: STATUS = STATUS.NORMAL;\n protected checkingForDrawPromise: Promise<any> | null = null;\n hooks = {\n completeDraw: new SyncHook<[]>([])\n };\n protected lastRenderService: IRenderService;\n protected lastDrawContext: IDrawContext;\n protected count: number;\n\n protected readonly lineRender: IGraphicRender;\n protected readonly areaRender: IGraphicRender;\n\n constructor(\n contributions?: IGraphicRender[],\n lineRender?: IGraphicRender,\n areaRender?: IGraphicRender,\n drawItemInterceptorContributions?: IContributionProvider<IDrawItemInterceptorContribution>\n ) {\n const defaultContributions = contributions || contributionRegistry.get<IGraphicRender>(GraphicRender);\n const defaultDrawItemInterceptor =\n drawItemInterceptorContributions ||\n ({\n getContributions: () => contributionRegistry.get<IDrawItemInterceptorContribution>(DrawItemInterceptor)\n } as IContributionProvider<IDrawItemInterceptorContribution>);\n super(defaultContributions, defaultDrawItemInterceptor);\n this.lineRender = lineRender || serviceRegistry.get(LineIncrementalDrawContribution);\n this.areaRender = areaRender || serviceRegistry.get(AreaIncrementalDrawContribution);\n this.defaultRenderMap.set(this.lineRender.numberType, this.lineRender);\n this.defaultRenderMap.set(this.areaRender.numberType, this.areaRender);\n }\n\n /**\n *\n * @param renderService\n * @param drawContext restartIncremental为true表示重新执行增量渲染,为false表示不执行增量渲染\n * @returns\n */\n async draw(renderService: IRenderService, drawContext: IDrawContext): Promise<void> {\n // 入口检查是否需要重新绘制\n if (this.checkingForDrawPromise) {\n return;\n }\n this.lastRenderService = renderService;\n this.lastDrawContext = drawContext;\n\n this.checkingForDrawPromise = this.checkForDraw(drawContext);\n const skipDraw = await this.checkingForDrawPromise;\n this.checkingForDrawPromise = null;\n if (skipDraw) {\n return;\n }\n\n this.currentRenderService = renderService;\n const { context, viewBox } = drawContext;\n\n if (!context) {\n return;\n }\n // 增量渲染不需要dirtyBounds\n // const dirtyBounds: IBounds | undefined = this.dirtyBounds.setValue(x, y, x + width, y + height);\n // if (stage.dirtyBounds) {\n // const b = getRectIntersect(dirtyBounds, stage.dirtyBounds, false);\n // dirtyBounds.x1 = Math.floor(b.x1);\n // dirtyBounds.y1 = Math.floor(b.y1);\n // dirtyBounds.x2 = Math.ceil(b.x2);\n // dirtyBounds.y2 = Math.ceil(b.y2);\n // }\n context.inuse = true;\n // 初始化context\n context.clearMatrix();\n context.setTransformForCurrent(true);\n\n // const drawInArea =\n // dirtyBounds.width() * context.dpr !== context.canvas.width ||\n // dirtyBounds.height() * context.dpr !== context.canvas.height;\n context.save();\n\n // if (drawInArea) {\n // context.beginPath();\n // context.rect(dirtyBounds.x1, dirtyBounds.y1, dirtyBounds.width(), dirtyBounds.height());\n // context.clip();\n // }\n\n // this.clearScreen(renderService, context, drawContext);\n\n // 绘制之前需要清空画布\n drawContext.restartIncremental && this.clearScreen(this.currentRenderService, context, drawContext);\n // 设置translate\n context.translate(viewBox.x1, viewBox.y1, true);\n\n context.save();\n renderService.renderTreeRoots\n .sort((a, b) => {\n return (a.attribute.zIndex ?? DefaultAttribute.zIndex) - (b.attribute.zIndex ?? DefaultAttribute.zIndex);\n })\n .forEach(group => {\n this.renderGroup(group as IGroup, drawContext);\n });\n\n this.hooks.completeDraw.tap('top-draw', () => {\n context.restore();\n context.restore();\n context.draw();\n context.inuse = false;\n this.rendering = false;\n });\n }\n\n protected async _increaseRender(group: IGroup, drawContext: IDrawContext) {\n this.rendering = true;\n await this._renderIncrementalGroup(group, drawContext);\n return;\n }\n\n // 默认group后只有一层节点,也就是group是叶子结点的父节点\n protected async _renderIncrementalGroup(group: IGroup, drawContext: IDrawContext) {\n this.count = group.count;\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n // 增量图元只支持一个,线段和面积图\n if (group.count === 2) {\n const graphic = group.getChildAt(0) as IGraphic;\n if (graphic.incremental && (graphic.attribute as any).segments) {\n if (!graphic.incrementalAt) {\n graphic.incrementalAt = 0;\n }\n while (graphic.incrementalAt < (graphic.attribute as any).segments.length) {\n drawContext.multiGraphicOptions = {\n startAtIdx: graphic.incrementalAt,\n length: graphic.incremental\n };\n this.renderItem(graphic, drawContext);\n graphic.incrementalAt += graphic.incremental;\n await this.waitToNextFrame();\n }\n } else {\n this.renderItem(graphic, drawContext);\n }\n resolve(false);\n return;\n }\n await foreachAsync(group, DefaultAttribute.zIndex, (item: IGraphic, i: number) => {\n if (this.status === STATUS.STOP) {\n return true;\n }\n if (item.isContainer) {\n // 增量渲染group下不应该有其他的group节点\n return false;\n }\n // 如果小于currentIdx,说明还没到当前的位置,那就直接跳过\n if (i < this.currentIdx) {\n return false;\n }\n const frameTail = this.currFrameStartAt + group.incremental;\n // 绘制 currentIdx到this.lastFrameIdx + group.incremental的内容\n if (i < frameTail) {\n this.currentIdx = i + 1;\n this.renderItem(item, drawContext);\n }\n // 下一帧\n if (i === frameTail - 1) {\n this.currFrameStartAt = this.currentIdx;\n // this.lastFrameIdx = this.currentIdx;\n return this.waitToNextFrame();\n }\n\n return false;\n });\n resolve(false);\n }\n });\n });\n this.hooks.completeDraw.call();\n }\n\n protected async waitToNextFrame(): Promise<boolean> {\n return new Promise(resolve => {\n this.global.getRequestAnimationFrame()(() => {\n resolve(false);\n });\n });\n }\n\n /**\n * 检查这次绘制是否跳过,以及执行一些准备\n * 增量渲染有自己的绘制逻辑流程,外部每次触发draw,该图层不一定会执行\n * @returns 返回true代表跳过绘制,false代表进行绘制\n */\n protected async checkForDraw(drawContext: IDrawContext): Promise<boolean> {\n let skip = this.rendering;\n if (drawContext.restartIncremental) {\n skip = false;\n await this.forceStop();\n this.resetToInit();\n }\n return skip;\n }\n\n protected async forceStop() {\n if (this.rendering) {\n this.status = STATUS.STOP;\n await new Promise(resolve => {\n this.hooks.completeDraw.tap('stopCb', () => {\n this.status = STATUS.NORMAL;\n this.hooks.completeDraw.taps = this.hooks.completeDraw.taps.filter(item => {\n return item.name !== 'stopCb';\n });\n resolve(false);\n });\n });\n }\n }\n\n protected resetToInit() {\n this.currFrameStartAt = 0;\n this.currentIdx = 0;\n }\n\n async renderGroup(group: IGroup, drawContext: IDrawContext) {\n if (drawContext.break || group.attribute.visibleAll === false) {\n return;\n }\n if (group.incremental && drawContext.startAtId === group._uid) {\n await this._increaseRender(group, drawContext);\n drawContext.break = true;\n return;\n }\n\n await new Promise(resolve => {\n this.renderItem(group, drawContext, {\n drawingCb: async () => {\n await foreachAsync(group, DefaultAttribute.zIndex, async (item: IGraphic) => {\n if (drawContext.break) {\n return;\n }\n if (item.isContainer) {\n await this.renderGroup(item as IGroup, drawContext);\n } else {\n // 增量渲染不管非_increaseRender的内容\n return;\n }\n });\n resolve(false);\n }\n });\n });\n }\n\n // /**\n // * 一个每一帧都执行的脚本,用于检查和触发执行draw\n // */\n // protected autoRunner() {\n\n // }\n}\n"]}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
2
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
3
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
4
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
import { injectable } from "../../../common/inversify-lite";
|
|
8
|
-
|
|
9
1
|
import { getTheme } from "../../../graphic/theme";
|
|
10
2
|
|
|
11
3
|
import { LINE_NUMBER_TYPE } from "../../../graphic/constants";
|
|
@@ -16,7 +8,7 @@ import { DefaultCanvasLineRender } from "./line-render";
|
|
|
16
8
|
|
|
17
9
|
import { drawIncrementalSegments } from "../../../common/render-curve";
|
|
18
10
|
|
|
19
|
-
|
|
11
|
+
export class DefaultIncrementalCanvasLineRender extends DefaultCanvasLineRender {
|
|
20
12
|
constructor() {
|
|
21
13
|
super(...arguments), this.numberType = LINE_NUMBER_TYPE;
|
|
22
14
|
}
|
|
@@ -39,9 +31,5 @@ let DefaultIncrementalCanvasLineRender = class extends DefaultCanvasLineRender {
|
|
|
39
31
|
}), context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute),
|
|
40
32
|
context.setStrokeStyle(line, attribute, offsetX, offsetY, defaultAttribute), context.stroke());
|
|
41
33
|
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
DefaultIncrementalCanvasLineRender = __decorate([ injectable() ], DefaultIncrementalCanvasLineRender);
|
|
45
|
-
|
|
46
|
-
export { DefaultIncrementalCanvasLineRender };
|
|
34
|
+
}
|
|
47
35
|
//# sourceMappingURL=incremental-line-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/incremental-line-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/incremental-line-render.ts"],"names":[],"mappings":"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","file":"incremental-line-render.js","sourcesContent":["import type {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n ISegment,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IDrawContext\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { drawIncrementalSegments } from '../../../common/render-curve';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\nexport class DefaultIncrementalCanvasLineRender extends DefaultCanvasLineRender implements IGraphicRender {\n declare type: 'line';\n numberType: number = LINE_NUMBER_TYPE;\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 // console.log(drawContext.multiGraphicOptions)\n if (line.incremental && drawContext.multiGraphicOptions) {\n const { startAtIdx, length } = drawContext.multiGraphicOptions;\n const { segments = [] } = line.attribute;\n if (startAtIdx > segments.length) {\n return;\n }\n\n const lineAttribute = getTheme(line).line;\n\n const {\n fill = lineAttribute.fill,\n stroke = 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, fill);\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 const { context } = drawContext;\n // 不支持clipRange,不支持pick,仅支持最基础的线段绘制\n for (let i = startAtIdx; i < startAtIdx + length; i++) {\n this.drawIncreaseSegment(\n line,\n context,\n segments[i - 1],\n segments[i],\n line.attribute.segments[i],\n [lineAttribute, line.attribute],\n x,\n y\n );\n }\n } else {\n super.drawShape(line, context, x, y, drawContext, params, fillCb, strokeCb);\n }\n }\n\n drawIncreaseSegment(\n line: ILine,\n context: IContext2d,\n lastSeg: ISegment,\n seg: ISegment,\n attribute: Partial<ILineGraphicAttribute>,\n defaultAttribute: Required<ILineGraphicAttribute> | Partial<ILineGraphicAttribute>[],\n offsetX: number,\n offsetY: number\n ) {\n if (!seg) {\n return;\n }\n\n context.beginPath();\n drawIncrementalSegments(context.nativeContext, lastSeg, seg, { offsetX, offsetY });\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute);\n context.setStrokeStyle(line, attribute, offsetX, offsetY, defaultAttribute);\n context.stroke();\n }\n}\n"]}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
export * from './arc-render';
|
|
2
|
+
export * from './arc3d-render';
|
|
3
|
+
export * from './area-render';
|
|
2
4
|
export * from './circle-render';
|
|
5
|
+
export * from './group-render';
|
|
6
|
+
export * from './glyph-render';
|
|
7
|
+
export * from './image-render';
|
|
3
8
|
export * from './line-render';
|
|
4
|
-
export * from './area-render';
|
|
5
9
|
export * from './path-render';
|
|
10
|
+
export * from './polygon-render';
|
|
11
|
+
export * from './pyramid3d-render';
|
|
6
12
|
export * from './rect-render';
|
|
13
|
+
export * from './rect3d-render';
|
|
14
|
+
export * from './richtext-render';
|
|
15
|
+
export * from './star-render';
|
|
7
16
|
export * from './symbol-render';
|
|
8
17
|
export * from './text-render';
|
|
9
18
|
export * from './graphic-render';
|
|
10
|
-
export * from './polygon-render';
|
|
11
|
-
export * from './group-render';
|
|
12
|
-
export * from './image-render';
|
|
13
19
|
export * from './symbol';
|
|
14
20
|
export * from './contributions';
|
|
15
21
|
export * from './utils';
|
|
16
22
|
export * from './draw-interceptor';
|
|
23
|
+
export * from './incremental-line-render';
|
|
24
|
+
export * from './incremental-area-render';
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
export * from "./arc-render";
|
|
2
2
|
|
|
3
|
+
export * from "./arc3d-render";
|
|
4
|
+
|
|
5
|
+
export * from "./area-render";
|
|
6
|
+
|
|
3
7
|
export * from "./circle-render";
|
|
4
8
|
|
|
5
|
-
export * from "./
|
|
9
|
+
export * from "./group-render";
|
|
6
10
|
|
|
7
|
-
export * from "./
|
|
11
|
+
export * from "./glyph-render";
|
|
12
|
+
|
|
13
|
+
export * from "./image-render";
|
|
14
|
+
|
|
15
|
+
export * from "./line-render";
|
|
8
16
|
|
|
9
17
|
export * from "./path-render";
|
|
10
18
|
|
|
19
|
+
export * from "./polygon-render";
|
|
20
|
+
|
|
21
|
+
export * from "./pyramid3d-render";
|
|
22
|
+
|
|
11
23
|
export * from "./rect-render";
|
|
12
24
|
|
|
13
|
-
export * from "./
|
|
25
|
+
export * from "./rect3d-render";
|
|
14
26
|
|
|
15
|
-
export * from "./
|
|
27
|
+
export * from "./richtext-render";
|
|
16
28
|
|
|
17
|
-
export * from "./
|
|
29
|
+
export * from "./star-render";
|
|
18
30
|
|
|
19
|
-
export * from "./
|
|
31
|
+
export * from "./symbol-render";
|
|
20
32
|
|
|
21
|
-
export * from "./
|
|
33
|
+
export * from "./text-render";
|
|
22
34
|
|
|
23
|
-
export * from "./
|
|
35
|
+
export * from "./graphic-render";
|
|
24
36
|
|
|
25
37
|
export * from "./symbol";
|
|
26
38
|
|
|
@@ -29,4 +41,8 @@ export * from "./contributions";
|
|
|
29
41
|
export * from "./utils";
|
|
30
42
|
|
|
31
43
|
export * from "./draw-interceptor";
|
|
44
|
+
|
|
45
|
+
export * from "./incremental-line-render";
|
|
46
|
+
|
|
47
|
+
export * from "./incremental-area-render";
|
|
32
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './arc-render';\nexport * from './arc3d-render';\nexport * from './area-render';\nexport * from './circle-render';\nexport * from './group-render';\nexport * from './glyph-render';\nexport * from './image-render';\nexport * from './line-render';\nexport * from './path-render';\nexport * from './polygon-render';\nexport * from './pyramid3d-render';\nexport * from './rect-render';\nexport * from './rect3d-render';\nexport * from './richtext-render';\nexport * from './star-render';\nexport * from './symbol-render';\nexport * from './text-render';\nexport * from './graphic-render';\nexport * from './symbol';\nexport * from './contributions';\nexport * from './utils';\nexport * from './draw-interceptor';\nexport * from './incremental-line-render';\nexport * from './incremental-area-render';\n"]}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
2
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
3
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
4
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
1
|
import { min, isArray } from "@visactor/vutils";
|
|
8
2
|
|
|
9
|
-
import { injectable } from "../../../common/inversify-lite";
|
|
10
|
-
|
|
11
3
|
import { getTheme } from "../../../graphic/theme";
|
|
12
4
|
|
|
13
5
|
import { LINE_NUMBER_TYPE } from "../../../graphic/constants";
|
|
@@ -18,7 +10,7 @@ import { drawSegments } from "../../../common/render-curve";
|
|
|
18
10
|
|
|
19
11
|
import { calcLineCache } from "../../../common/segment";
|
|
20
12
|
|
|
21
|
-
|
|
13
|
+
export class DefaultCanvasLineRender extends BaseRender {
|
|
22
14
|
constructor() {
|
|
23
15
|
super(...arguments), this.numberType = LINE_NUMBER_TYPE;
|
|
24
16
|
}
|
|
@@ -127,9 +119,5 @@ let DefaultCanvasLineRender = class extends BaseRender {
|
|
|
127
119
|
}
|
|
128
120
|
} else this.drawSegmentItem(context, line.cache, !!fill, !!stroke, fillOpacity, strokeOpacity, line.attribute, lineAttribute, clipRange, clipRangeByDimension, x, y, line, fillCb, strokeCb);
|
|
129
121
|
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
DefaultCanvasLineRender = __decorate([ injectable() ], DefaultCanvasLineRender);
|
|
133
|
-
|
|
134
|
-
export { DefaultCanvasLineRender };
|
|
122
|
+
}
|
|
135
123
|
//# sourceMappingURL=line-render.js.map
|
|
@@ -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 type { IPointLike } from '@visactor/vutils';\nimport { min, isArray } from '@visactor/vutils';\nimport { injectable } from '../../../common/inversify-lite';\nimport type {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType,\n ISegPath2D,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRender } from './base-render';\nimport { drawSegments } from '../../../common/render-curve';\nimport { calcLineCache } from '../../../common/segment';\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 lineAttribute = getTheme(line, params?.theme).line;\n this._draw(line, lineAttribute, false, drawContext, params);\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 if (!cache) {\n return;\n }\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,并且没有defined为false的点,需要close\n if (\n line.cache &&\n !isArray(line.cache) &&\n line.cache.curves.every(c => c.defined) &&\n line.attribute.curveType &&\n line.attribute.curveType.includes('Closed')\n ) {\n context.closePath();\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute);\n\n const { x: originX = 0, x: originY = 0 } = attribute;\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, originX - offsetX, originY - 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, originX - offsetX, originY - offsetY, defaultAttribute);\n context.stroke();\n }\n }\n return !!ret;\n }\n\n // 高性能绘制linear line,不用拆分\n drawLinearLineHighPerformance(\n line: ILine,\n context: IContext2d,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n offsetX: number,\n offsetY: number,\n lineAttribute: Required<ILineGraphicAttribute>,\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 context.beginPath();\n\n const z = this.z ?? 0;\n const { points } = line.attribute;\n const startP = points[0];\n\n context.moveTo(startP.x + offsetX, startP.y + offsetY, z);\n for (let i = 1; i < points.length; i++) {\n const p = points[i];\n context.lineTo(p.x + offsetX, p.y + offsetY, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);\n\n const { x: originX = 0, x: originY = 0 } = line.attribute;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, line.attribute, lineAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, line.attribute, lineAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.stroke();\n }\n }\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,\n stroke = lineAttribute.stroke,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity,\n segments,\n points,\n closePath,\n curveTension = lineAttribute.curveTension,\n connectedType = lineAttribute.connectedType\n } = line.attribute;\n\n const data = this.valid(line, lineAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n\n let { curveType = lineAttribute.curveType } = line.attribute;\n if (closePath && curveType === 'linear') {\n curveType = 'linearClosed';\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (clipRange === 1 && !segments && !points.some(p => p.defined === false) && curveType === 'linear') {\n return this.drawLinearLineHighPerformance(\n line,\n context,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n x,\n y,\n lineAttribute,\n drawContext,\n params,\n fillCb,\n strokeCb\n );\n }\n // const { fVisible, sVisible, doFill, doStroke } = data;\n\n function parsePoint(points: IPointLike[], connectedType: 'none' | 'connect') {\n if (connectedType === 'none') {\n return points;\n }\n return points.filter(p => p.defined !== false);\n }\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments } = line.attribute;\n\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: { endX: number; endY: number; curves: Array<{ defined: boolean }> };\n line.cache = segments\n .map((seg, index) => {\n if (seg.points.length <= 1) {\n // 第一个点的话,直接设置lastTopSeg\n if (index === 0) {\n seg.points[0] &&\n (lastSeg = {\n endX: seg.points[0].x,\n endY: seg.points[0].y,\n curves: [{ defined: seg.points[0].defined !== false }]\n });\n return null;\n }\n }\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 const data = calcLineCache(parsePoint(seg.points, connectedType), curveType, {\n startPoint,\n curveTension\n });\n lastSeg = data;\n return data;\n })\n .filter(item => !!item);\n\n // 如果lineClosed,那就绘制到第一个点\n if (curveType === 'linearClosed') {\n let startP: IPointLike;\n for (let i = 0; i < line.cache.length; i++) {\n const cacheItem = line.cache[i];\n for (let i = 0; i < cacheItem.curves.length; i++) {\n if (cacheItem.curves[i].defined) {\n startP = cacheItem.curves[i].p0;\n break;\n }\n }\n if (startP) {\n break;\n }\n }\n line.cache[line.cache.length - 1] && line.cache[line.cache.length - 1].lineTo(startP.x, startP.y, true);\n }\n } else if (points && points.length) {\n line.cache = calcLineCache(parsePoint(_points, connectedType), curveType, { curveTension });\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n if (Array.isArray(line.cache)) {\n const segments = line.attribute.segments.filter(item => item.points.length);\n // 如果第一个seg只有一个点,那么shift出去\n if (segments[0].points.length === 1) {\n segments.shift();\n }\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 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 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":"AACA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAehD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,OAAO,uBAAwB,SAAQ,UAAiB;IAA9D;;QAEE,eAAU,GAAW,gBAAgB,CAAC;IAgYxC,CAAC;IA7XC,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,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,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QAEtB,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE;YAC5D,OAAO;YACP,OAAO;YACP,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAGH,IACE,IAAI,CAAC,KAAK;YACV,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,SAAS,CAAC,SAAS;YACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3C;YACA,OAAO,CAAC,SAAS,EAAE,CAAC;SACrB;QAGD,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAE9F,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;QACrD,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,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAChG,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,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAC;gBAChG,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;QACD,OAAO,CAAC,CAAC,GAAG,CAAC;IACf,CAAC;IAGD,6BAA6B,CAC3B,IAAW,EACX,OAAmB,EACnB,IAAa,EACb,MAAe,EACf,WAAmB,EACnB,aAAqB,EACrB,OAAe,EACf,OAAe,EACf,aAA8C,EAC9C,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAEZ,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC;SACjD;QAGD,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEhG,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1D,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChD;iBAAM,IAAI,WAAW,EAAE;gBACtB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC;gBAClG,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;QACD,IAAI,MAAM,KAAK,KAAK,EAAE;YACpB,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAClD;iBAAM,IAAI,aAAa,EAAE;gBACxB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,aAAa,CAAC,CAAC;gBAClG,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;IACH,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,EACzB,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,aAAa,GAAG,aAAa,CAAC,aAAa,EAC3C,QAAQ,EACR,MAAM,EACN,SAAS,EACT,YAAY,GAAG,aAAa,CAAC,YAAY,EACzC,aAAa,GAAG,aAAa,CAAC,aAAa,EAC5C,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7D,IAAI,SAAS,IAAI,SAAS,KAAK,QAAQ,EAAE;YACvC,SAAS,GAAG,cAAc,CAAC;SAC5B;QAED,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,oBAAoB,GAAG,aAAa,CAAC,oBAAoB,EAAE,GACtG,IAAI,CAAC,SAAS,CAAC;QAEjB,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,QAAQ,EAAE;YACpG,OAAO,IAAI,CAAC,6BAA6B,CACvC,IAAI,EACJ,OAAO,EACP,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,CAAC,EACD,CAAC,EACD,aAAa,EACb,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,CACT,CAAC;SACH;QAGD,SAAS,UAAU,CAAC,MAAoB,EAAE,aAAiC;YACzE,IAAI,aAAa,KAAK,MAAM,EAAE;gBAC5B,OAAO,MAAM,CAAC;aACf;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;QACjD,CAAC;QAGD,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC5B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;YAE5C,MAAM,OAAO,GAAG,MAAM,CAAC;YACvB,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC/B,IAAI,UAAsB,CAAC;gBAC3B,IAAI,OAA4E,CAAC;gBACjF,IAAI,CAAC,KAAK,GAAG,QAAQ;qBAClB,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAClB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;wBAE1B,IAAI,KAAK,KAAK,CAAC,EAAE;4BACf,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gCACX,CAAC,OAAO,GAAG;oCACT,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oCACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;oCACrB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;iCACvD,CAAC,CAAC;4BACL,OAAO,IAAI,CAAC;yBACb;qBACF;oBAED,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,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE;wBAC3E,UAAU;wBACV,YAAY;qBACb,CAAC,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;qBACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAG1B,IAAI,SAAS,KAAK,cAAc,EAAE;oBAChC,IAAI,MAAkB,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChD,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gCAC/B,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChC,MAAM;6BACP;yBACF;wBACD,IAAI,MAAM,EAAE;4BACV,MAAM;yBACP;qBACF;oBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACzG;aACF;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;gBAClC,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;aAC7F;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,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE5E,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClB;YACD,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,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,QAAQ,CAAC,KAAK,CAAC,EACf,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,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,MAAM,EACR,WAAW,EACX,aAAa,EACb,QAAQ,CAAC,KAAK,CAAC,EACf,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,CAAC,CAAC,IAAI,EACN,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","file":"line-render.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport { min, isArray } from '@visactor/vutils';\nimport type {\n IContext2d,\n ILine,\n ILineGraphicAttribute,\n IMarkAttribute,\n IGraphicAttribute,\n IThemeAttribute,\n IClipRangeByDimensionType,\n ISegPath2D,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { LINE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { BaseRender } from './base-render';\nimport { drawSegments } from '../../../common/render-curve';\nimport { calcLineCache } from '../../../common/segment';\n\n/**\n * 默认的基于canvas的line渲染器\n * 单例\n */\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 lineAttribute = getTheme(line, params?.theme).line;\n this._draw(line, lineAttribute, false, drawContext, params);\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 if (!cache) {\n return;\n }\n context.beginPath();\n\n const z = this.z ?? 0;\n\n drawSegments(context, cache, clipRange, clipRangeByDimension, {\n offsetX,\n offsetY,\n offsetZ: z\n });\n\n // 如果是一根线,且是Closed,并且没有defined为false的点,需要close\n if (\n line.cache &&\n !isArray(line.cache) &&\n line.cache.curves.every(c => c.defined) &&\n line.attribute.curveType &&\n line.attribute.curveType.includes('Closed')\n ) {\n context.closePath();\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, attribute, defaultAttribute);\n\n const { x: originX = 0, x: originY = 0 } = attribute;\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, originX - offsetX, originY - 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, originX - offsetX, originY - offsetY, defaultAttribute);\n context.stroke();\n }\n }\n return !!ret;\n }\n\n // 高性能绘制linear line,不用拆分\n drawLinearLineHighPerformance(\n line: ILine,\n context: IContext2d,\n fill: boolean,\n stroke: boolean,\n fillOpacity: number,\n strokeOpacity: number,\n offsetX: number,\n offsetY: number,\n lineAttribute: Required<ILineGraphicAttribute>,\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 context.beginPath();\n\n const z = this.z ?? 0;\n const { points } = line.attribute;\n const startP = points[0];\n\n context.moveTo(startP.x + offsetX, startP.y + offsetY, z);\n for (let i = 1; i < points.length; i++) {\n const p = points[i];\n context.lineTo(p.x + offsetX, p.y + offsetY, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);\n\n const { x: originX = 0, x: originY = 0 } = line.attribute;\n if (fill !== false) {\n if (fillCb) {\n fillCb(context, line.attribute, lineAttribute);\n } else if (fillOpacity) {\n context.setCommonStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.fill();\n }\n }\n if (stroke !== false) {\n if (strokeCb) {\n strokeCb(context, line.attribute, lineAttribute);\n } else if (strokeOpacity) {\n context.setStrokeStyle(line, line.attribute, originX - offsetX, originY - offsetY, lineAttribute);\n context.stroke();\n }\n }\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,\n stroke = lineAttribute.stroke,\n fillOpacity = lineAttribute.fillOpacity,\n strokeOpacity = lineAttribute.strokeOpacity,\n segments,\n points,\n closePath,\n curveTension = lineAttribute.curveTension,\n connectedType = lineAttribute.connectedType\n } = line.attribute;\n\n const data = this.valid(line, lineAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n\n let { curveType = lineAttribute.curveType } = line.attribute;\n if (closePath && curveType === 'linear') {\n curveType = 'linearClosed';\n }\n\n const { clipRange = lineAttribute.clipRange, clipRangeByDimension = lineAttribute.clipRangeByDimension } =\n line.attribute;\n\n if (clipRange === 1 && !segments && !points.some(p => p.defined === false) && curveType === 'linear') {\n return this.drawLinearLineHighPerformance(\n line,\n context,\n !!fill,\n !!stroke,\n fillOpacity,\n strokeOpacity,\n x,\n y,\n lineAttribute,\n drawContext,\n params,\n fillCb,\n strokeCb\n );\n }\n // const { fVisible, sVisible, doFill, doStroke } = data;\n\n function parsePoint(points: IPointLike[], connectedType: 'none' | 'connect') {\n if (connectedType === 'none') {\n return points;\n }\n return points.filter(p => p.defined !== false);\n }\n\n // 更新cache\n if (line.shouldUpdateShape()) {\n const { points, segments } = line.attribute;\n\n const _points = points;\n if (segments && segments.length) {\n let startPoint: IPointLike;\n let lastSeg: { endX: number; endY: number; curves: Array<{ defined: boolean }> };\n line.cache = segments\n .map((seg, index) => {\n if (seg.points.length <= 1) {\n // 第一个点的话,直接设置lastTopSeg\n if (index === 0) {\n seg.points[0] &&\n (lastSeg = {\n endX: seg.points[0].x,\n endY: seg.points[0].y,\n curves: [{ defined: seg.points[0].defined !== false }]\n });\n return null;\n }\n }\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 const data = calcLineCache(parsePoint(seg.points, connectedType), curveType, {\n startPoint,\n curveTension\n });\n lastSeg = data;\n return data;\n })\n .filter(item => !!item);\n\n // 如果lineClosed,那就绘制到第一个点\n if (curveType === 'linearClosed') {\n let startP: IPointLike;\n for (let i = 0; i < line.cache.length; i++) {\n const cacheItem = line.cache[i];\n for (let i = 0; i < cacheItem.curves.length; i++) {\n if (cacheItem.curves[i].defined) {\n startP = cacheItem.curves[i].p0;\n break;\n }\n }\n if (startP) {\n break;\n }\n }\n line.cache[line.cache.length - 1] && line.cache[line.cache.length - 1].lineTo(startP.x, startP.y, true);\n }\n } else if (points && points.length) {\n line.cache = calcLineCache(parsePoint(_points, connectedType), curveType, { curveTension });\n } else {\n line.cache = null;\n line.clearUpdateShapeTag();\n return;\n }\n line.clearUpdateShapeTag();\n }\n\n if (Array.isArray(line.cache)) {\n const segments = line.attribute.segments.filter(item => item.points.length);\n // 如果第一个seg只有一个点,那么shift出去\n if (segments[0].points.length === 1) {\n segments.shift();\n }\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 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 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,11 +1,11 @@
|
|
|
1
1
|
import type { IPath, IContext2d, IThemeAttribute, IGraphicAttribute, IMarkAttribute, IPathRenderContribution, IGraphicRender, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService, IPathGraphicAttribute } from '../../../interface';
|
|
2
2
|
import { BaseRender } from './base-render';
|
|
3
3
|
export declare class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {
|
|
4
|
-
protected readonly graphicRenderContributions: IContributionProvider<IPathRenderContribution>;
|
|
5
4
|
type: 'path';
|
|
6
5
|
numberType: number;
|
|
7
6
|
tempTheme: Required<IPathGraphicAttribute>;
|
|
8
|
-
|
|
7
|
+
protected readonly graphicRenderContributions: IContributionProvider<IPathRenderContribution>;
|
|
8
|
+
constructor(graphicRenderContributions?: IContributionProvider<IPathRenderContribution>);
|
|
9
9
|
drawShape(path: IPath, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
|
|
10
10
|
draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
|
|
11
11
|
}
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
2
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
3
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
|
|
4
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
|
-
}, __metadata = this && this.__metadata || function(k, v) {
|
|
6
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
7
|
-
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
8
|
-
return function(target, key) {
|
|
9
|
-
decorator(target, key, paramIndex);
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
import { inject, injectable, named } from "../../../common/inversify-lite";
|
|
14
|
-
|
|
15
|
-
import { ContributionProvider } from "../../../common/contribution-provider";
|
|
16
|
-
|
|
17
1
|
import { renderCommandList } from "../../../common/render-command-list";
|
|
18
2
|
|
|
19
3
|
import { getTheme } from "../../../graphic/theme";
|
|
@@ -26,11 +10,14 @@ import { BaseRender } from "./base-render";
|
|
|
26
10
|
|
|
27
11
|
import { defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution } from "./contributions/path-contribution-render";
|
|
28
12
|
|
|
29
|
-
|
|
13
|
+
import { contributionRegistry } from "../../../common/registry";
|
|
14
|
+
|
|
15
|
+
export class DefaultCanvasPathRender extends BaseRender {
|
|
30
16
|
constructor(graphicRenderContributions) {
|
|
31
|
-
super(), this.
|
|
32
|
-
|
|
33
|
-
this.
|
|
17
|
+
super(), this.numberType = PATH_NUMBER_TYPE, this.graphicRenderContributions = graphicRenderContributions || {
|
|
18
|
+
getContributions: () => contributionRegistry.get(PathRenderContribution)
|
|
19
|
+
}, this.builtinContributions = [ defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution ],
|
|
20
|
+
this.init(this.graphicRenderContributions);
|
|
34
21
|
}
|
|
35
22
|
drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
|
|
36
23
|
var _a, _b, _c;
|
|
@@ -57,9 +44,5 @@ let DefaultCanvasPathRender = class extends BaseRender {
|
|
|
57
44
|
this.tempTheme = pathAttribute, this._draw(path, pathAttribute, !1, drawContext, params),
|
|
58
45
|
this.tempTheme = null;
|
|
59
46
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
DefaultCanvasPathRender = __decorate([ injectable(), __param(0, inject(ContributionProvider)), __param(0, named(PathRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasPathRender);
|
|
63
|
-
|
|
64
|
-
export { DefaultCanvasPathRender };
|
|
47
|
+
}
|
|
65
48
|
//# sourceMappingURL=path-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":"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","file":"path-render.js","sourcesContent":["import { renderCommandList } from '../../../common/render-command-list';\nimport type {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute,\n IPathRenderContribution,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IPathGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { PathRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultPathBackgroundRenderContribution,\n defaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\nimport { contributionRegistry } from '../../../common/registry';\n\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n tempTheme: Required<IPathGraphicAttribute>;\n\n protected readonly graphicRenderContributions: IContributionProvider<IPathRenderContribution>;\n\n constructor(graphicRenderContributions?: IContributionProvider<IPathRenderContribution>) {\n super();\n this.graphicRenderContributions =\n graphicRenderContributions ||\n ({\n getContributions: () => contributionRegistry.get<IPathRenderContribution>(PathRenderContribution)\n } as IContributionProvider<IPathRenderContribution>);\n this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];\n this.init(this.graphicRenderContributions);\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 = this.tempTheme ?? getTheme(path, params?.theme).path;\n const {\n x: originX = pathAttribute.x,\n y: originY = pathAttribute.y,\n fillStrokeOrder = pathAttribute.fillStrokeOrder\n } = path.attribute;\n\n const z = this.z ?? 0;\n\n const data = this.valid(path, pathAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\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 // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);\n\n this.beforeRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.stroke();\n }\n }\n };\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.fill();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const pathAttribute = getTheme(path, params?.theme).path;\n this.tempTheme = pathAttribute;\n this._draw(path, pathAttribute, false, drawContext, params);\n this.tempTheme = null;\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { IGraphicAttribute, IContext2d, IMarkAttribute, IPolygon, IThemeAttribute, IGraphicRender, IPolygonRenderContribution, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService } from '../../../interface';
|
|
2
2
|
import { BaseRender } from './base-render';
|
|
3
3
|
export declare class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {
|
|
4
|
-
protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>;
|
|
5
4
|
type: 'polygon';
|
|
6
5
|
numberType: number;
|
|
7
|
-
|
|
6
|
+
protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>;
|
|
7
|
+
constructor(graphicRenderContributions?: IContributionProvider<IPolygonRenderContribution>);
|
|
8
8
|
drawShape(polygon: IPolygon, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
|
|
9
9
|
draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
|
|
10
10
|
}
|