@visactor/vrender-core 1.0.47-alpha.0 → 1.1.0-alpha.1
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/application.d.ts +14 -5
- package/cjs/application.js +1 -8
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/empty-context.js +4 -14
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/canvas/util.d.ts +2 -3
- package/cjs/canvas/util.js +17 -3
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/color-string/index.js +2 -1
- package/cjs/common/contribution-provider.d.ts +16 -9
- package/cjs/common/contribution-provider.js +9 -4
- package/cjs/common/contribution-provider.js.map +1 -1
- package/cjs/common/diff.js +1 -2
- package/cjs/common/enums.d.ts +2 -0
- package/cjs/common/enums.js +1 -0
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/event-transformer.js +43 -6
- package/cjs/common/event-transformer.js.map +1 -1
- package/cjs/common/explicit-binding.d.ts +5 -0
- package/cjs/common/explicit-binding.js +16 -0
- package/cjs/common/explicit-binding.js.map +1 -0
- package/cjs/common/performance-raf.d.ts +1 -0
- package/cjs/common/performance-raf.js +5 -0
- package/cjs/common/performance-raf.js.map +1 -1
- package/cjs/common/render-area.js +1 -1
- package/cjs/common/render-command-list.js +1 -1
- package/cjs/common/render-curve.js +1 -1
- package/cjs/common/render-utils.js +1 -1
- package/cjs/common/seg-context.js +1 -2
- package/cjs/common/simplify.js +1 -1
- package/cjs/common/sort.js +1 -1
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/store.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/common/utils.js +1 -1
- package/cjs/core/application.js +1 -1
- package/cjs/core/camera.js +1 -1
- 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/env/modules.d.ts +4 -3
- package/cjs/core/contributions/env/modules.js +6 -4
- package/cjs/core/contributions/env/modules.js.map +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +3 -12
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/empty-contribution.js +3 -12
- package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/modules.d.ts +4 -3
- package/cjs/core/contributions/layerHandler/modules.js +6 -4
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -1
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +3 -12
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/modules.d.ts +2 -2
- package/cjs/core/contributions/modules.js +7 -1
- 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/modules.d.ts +4 -3
- package/cjs/core/contributions/textMeasure/modules.js +6 -4
- package/cjs/core/contributions/textMeasure/modules.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/core-modules.d.ts +4 -3
- package/cjs/core/core-modules.js +11 -7
- package/cjs/core/core-modules.js.map +1 -1
- package/cjs/core/global-module.js +2 -0
- package/cjs/core/global-module.js.map +1 -1
- package/cjs/core/global.d.ts +2 -0
- package/cjs/core/global.js +9 -18
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +1 -2
- package/cjs/core/graphic-utils.js +8 -23
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/layer-service.d.ts +7 -2
- package/cjs/core/layer-service.js +29 -27
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.js +1 -1
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/light.js +1 -1
- package/cjs/core/stage.d.ts +19 -7
- package/cjs/core/stage.js +50 -39
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +7 -5
- package/cjs/core/window.js +14 -18
- package/cjs/core/window.js.map +1 -1
- package/cjs/create.d.ts +1 -2
- package/cjs/create.js +2 -2
- package/cjs/create.js.map +1 -1
- package/cjs/entries/app-context.d.ts +30 -0
- package/cjs/entries/app-context.js +84 -0
- package/cjs/entries/app-context.js.map +1 -0
- package/cjs/entries/browser.d.ts +25 -0
- package/cjs/entries/browser.js +44 -0
- package/cjs/entries/browser.js.map +1 -0
- package/cjs/entries/index.d.ts +7 -0
- package/cjs/entries/index.js +32 -0
- package/cjs/entries/index.js.map +1 -0
- package/cjs/entries/miniapp.d.ts +6 -0
- package/cjs/entries/miniapp.js +20 -0
- package/cjs/entries/miniapp.js.map +1 -0
- package/cjs/entries/node.d.ts +6 -0
- package/cjs/entries/node.js +20 -0
- package/cjs/entries/node.js.map +1 -0
- package/cjs/entries/runtime-installer.d.ts +11 -0
- package/cjs/entries/runtime-installer.js +111 -0
- package/cjs/entries/runtime-installer.js.map +1 -0
- package/cjs/entries/types.d.ts +29 -0
- package/cjs/{common/inversify-lite/interfaces/interfaces.js → entries/types.js} +1 -1
- package/cjs/entries/types.js.map +1 -0
- package/cjs/event/util.d.ts +1 -1
- package/cjs/factory/graphic-factory.d.ts +7 -0
- package/cjs/factory/graphic-factory.js +23 -0
- package/cjs/factory/graphic-factory.js.map +1 -0
- package/cjs/factory/index.d.ts +4 -0
- package/cjs/{common/inversify-lite → factory}/index.js +2 -1
- package/cjs/factory/index.js.map +1 -0
- package/cjs/factory/layer-factory.d.ts +7 -0
- package/cjs/factory/layer-factory.js +19 -0
- package/cjs/factory/layer-factory.js.map +1 -0
- package/cjs/factory/stage-factory.d.ts +8 -0
- package/cjs/factory/stage-factory.js +20 -0
- package/cjs/factory/stage-factory.js.map +1 -0
- package/cjs/factory/types.d.ts +34 -0
- package/cjs/{common/inversify/interfaces.js → factory/types.js} +1 -1
- package/cjs/factory/types.js.map +1 -0
- package/cjs/factory.d.ts +1 -0
- package/cjs/factory.js +16 -1
- package/cjs/factory.js.map +1 -1
- package/cjs/global.d.ts +2 -0
- package/cjs/global.js +11 -0
- package/cjs/global.js.map +1 -0
- package/cjs/graphic/area.js +1 -1
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.js +3 -3
- package/cjs/graphic/bounds.js.map +1 -1
- package/cjs/graphic/config.js +0 -1
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/glyph.js +9 -3
- package/cjs/graphic/glyph.js.map +1 -1
- package/cjs/graphic/graphic-creator.d.ts +9 -4
- package/cjs/graphic/graphic-creator.js +35 -7
- package/cjs/graphic/graphic-creator.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-module.d.ts +4 -3
- package/cjs/graphic/graphic-service/graphic-module.js +6 -4
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -3
- package/cjs/graphic/graphic-service/graphic-service.js +5 -20
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +80 -11
- package/cjs/graphic/graphic.js +474 -152
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.d.ts +11 -1
- package/cjs/graphic/group.js +46 -11
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/index.d.ts +3 -0
- package/cjs/graphic/index.js +34 -15
- package/cjs/graphic/index.js.map +1 -1
- package/cjs/graphic/line.js +1 -1
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/state/attribute-update-classifier.d.ts +13 -0
- package/cjs/graphic/state/attribute-update-classifier.js +67 -0
- package/cjs/graphic/state/attribute-update-classifier.js.map +1 -0
- package/cjs/graphic/state/shared-state-refresh.d.ts +6 -0
- package/cjs/graphic/state/shared-state-refresh.js +55 -0
- package/cjs/graphic/state/shared-state-refresh.js.map +1 -0
- package/cjs/graphic/state/shared-state-scope.d.ts +25 -0
- package/cjs/graphic/state/shared-state-scope.js +98 -0
- package/cjs/graphic/state/shared-state-scope.js.map +1 -0
- package/cjs/graphic/state/state-batch-scheduler.d.ts +42 -0
- package/cjs/graphic/state/state-batch-scheduler.js +285 -0
- package/cjs/graphic/state/state-batch-scheduler.js.map +1 -0
- package/cjs/graphic/state/state-definition-compiler.d.ts +6 -0
- package/cjs/graphic/state/state-definition-compiler.js +91 -0
- package/cjs/graphic/state/state-definition-compiler.js.map +1 -0
- package/cjs/graphic/state/state-definition.d.ts +44 -0
- package/cjs/graphic/state/state-definition.js +6 -0
- package/cjs/graphic/state/state-definition.js.map +1 -0
- package/cjs/graphic/state/state-engine.d.ts +38 -0
- package/cjs/graphic/state/state-engine.js +220 -0
- package/cjs/graphic/state/state-engine.js.map +1 -0
- package/cjs/graphic/state/state-model.d.ts +43 -0
- package/cjs/graphic/state/state-model.js +143 -0
- package/cjs/graphic/state/state-model.js.map +1 -0
- package/cjs/graphic/state/state-perf-monitor.d.ts +119 -0
- package/cjs/graphic/state/state-perf-monitor.js +217 -0
- package/cjs/graphic/state/state-perf-monitor.js.map +1 -0
- package/cjs/graphic/state/state-style-resolver.d.ts +22 -0
- package/cjs/graphic/state/state-style-resolver.js +73 -0
- package/cjs/graphic/state/state-style-resolver.js.map +1 -0
- package/cjs/graphic/state/state-transition-orchestrator.d.ts +41 -0
- package/cjs/graphic/state/state-transition-orchestrator.js +74 -0
- package/cjs/graphic/state/state-transition-orchestrator.js.map +1 -0
- package/cjs/graphic/text.d.ts +3 -2
- package/cjs/graphic/text.js +22 -14
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/graphic/theme.d.ts +5 -0
- package/cjs/graphic/theme.js +7 -0
- package/cjs/graphic/theme.js.map +1 -1
- package/cjs/graphic/wrap-text.d.ts +1 -1
- package/cjs/graphic/wrap-text.js +17 -14
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +7 -4
- package/cjs/index.js +95 -25
- package/cjs/index.js.map +1 -1
- package/cjs/interface/global.d.ts +2 -0
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic/group.d.ts +6 -0
- package/cjs/interface/graphic/group.js.map +1 -1
- package/cjs/interface/graphic/theme.d.ts +3 -0
- package/cjs/interface/graphic/theme.js.map +1 -1
- package/cjs/interface/graphic.d.ts +24 -26
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/plugin.d.ts +2 -0
- package/cjs/interface/plugin.js.map +1 -1
- package/cjs/interface/stage.d.ts +11 -3
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/interface/theme-service.js.map +1 -1
- package/cjs/legacy/binding-context.d.ts +24 -0
- package/cjs/legacy/binding-context.js +98 -0
- package/cjs/legacy/binding-context.js.map +1 -0
- package/cjs/legacy/bootstrap.d.ts +10 -0
- package/cjs/legacy/bootstrap.js +72 -0
- package/cjs/legacy/bootstrap.js.map +1 -0
- package/cjs/legacy/module-types.d.ts +2 -0
- package/cjs/legacy/module-types.js +6 -0
- package/cjs/legacy/module-types.js.map +1 -0
- package/cjs/modules.d.ts +5 -6
- package/cjs/modules.js +54 -20
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/global-picker-service.js +3 -12
- 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/pick-modules.d.ts +5 -3
- package/cjs/picker/pick-modules.js +6 -4
- package/cjs/picker/pick-modules.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +13 -4
- package/cjs/picker/picker-service.js +16 -22
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/base-plugin.d.ts +8 -0
- package/cjs/plugins/base-plugin.js +15 -0
- package/cjs/plugins/base-plugin.js.map +1 -0
- package/cjs/plugins/browser-env-plugin.d.ts +8 -0
- package/cjs/plugins/browser-env-plugin.js +24 -0
- package/cjs/plugins/browser-env-plugin.js.map +1 -0
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +4 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +25 -4
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +3 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/cjs/plugins/index.d.ts +5 -0
- package/cjs/plugins/index.js +23 -0
- package/cjs/plugins/index.js.map +1 -0
- package/cjs/plugins/picker-plugin.d.ts +7 -0
- package/cjs/plugins/picker-plugin.js +19 -0
- package/cjs/plugins/picker-plugin.js.map +1 -0
- package/cjs/plugins/plugin-modules.d.ts +4 -3
- package/cjs/plugins/plugin-modules.js +6 -4
- package/cjs/plugins/plugin-modules.js.map +1 -1
- package/cjs/plugins/plugin-service.d.ts +16 -2
- package/cjs/plugins/plugin-service.js +24 -26
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/plugins/renderer-plugin.d.ts +7 -0
- package/cjs/plugins/renderer-plugin.js +19 -0
- package/cjs/plugins/renderer-plugin.js.map +1 -0
- package/cjs/plugins/types.d.ts +28 -0
- package/cjs/plugins/types.js +6 -0
- package/cjs/plugins/types.js.map +1 -0
- package/cjs/register/register-arc.js +1 -1
- package/cjs/register/register-arc.js.map +1 -1
- package/cjs/register/register-arc3d.js +1 -1
- package/cjs/register/register-arc3d.js.map +1 -1
- package/cjs/register/register-area.js +1 -1
- package/cjs/register/register-area.js.map +1 -1
- package/cjs/register/register-circle.js +1 -1
- package/cjs/register/register-circle.js.map +1 -1
- package/cjs/register/register-glyph.js +1 -1
- package/cjs/register/register-glyph.js.map +1 -1
- package/cjs/register/register-group.js +1 -1
- package/cjs/register/register-group.js.map +1 -1
- package/cjs/register/register-image.js +1 -1
- package/cjs/register/register-image.js.map +1 -1
- package/cjs/register/register-line.js +1 -1
- package/cjs/register/register-line.js.map +1 -1
- package/cjs/register/register-path.js +1 -1
- package/cjs/register/register-path.js.map +1 -1
- package/cjs/register/register-polygon.js +1 -1
- package/cjs/register/register-polygon.js.map +1 -1
- package/cjs/register/register-pyramid3d.js +1 -1
- package/cjs/register/register-pyramid3d.js.map +1 -1
- package/cjs/register/register-rect.js +1 -1
- package/cjs/register/register-rect.js.map +1 -1
- package/cjs/register/register-rect3d.js +1 -1
- package/cjs/register/register-rect3d.js.map +1 -1
- package/cjs/register/register-richtext.js +1 -1
- package/cjs/register/register-richtext.js.map +1 -1
- package/cjs/register/register-shadowRoot.js +1 -1
- package/cjs/register/register-shadowRoot.js.map +1 -1
- package/cjs/register/register-star.js +1 -1
- package/cjs/register/register-star.js.map +1 -1
- package/cjs/register/register-symbol.js +1 -1
- package/cjs/register/register-symbol.js.map +1 -1
- package/cjs/register/register-text.js +1 -1
- package/cjs/register/register-text.js.map +1 -1
- package/cjs/register/register-wraptext.js +1 -1
- package/cjs/register/register-wraptext.js.map +1 -1
- package/cjs/registry/contribution-registry.d.ts +9 -0
- package/cjs/registry/contribution-registry.js +33 -0
- package/cjs/registry/contribution-registry.js.map +1 -0
- package/cjs/registry/index.d.ts +5 -0
- package/cjs/registry/index.js +23 -0
- package/cjs/registry/index.js.map +1 -0
- package/cjs/registry/picker-registry.d.ts +10 -0
- package/cjs/registry/picker-registry.js +29 -0
- package/cjs/registry/picker-registry.js.map +1 -0
- package/cjs/registry/plugin-registry.d.ts +10 -0
- package/cjs/registry/plugin-registry.js +29 -0
- package/cjs/registry/plugin-registry.js.map +1 -0
- package/cjs/registry/renderer-registry.d.ts +11 -0
- package/cjs/registry/renderer-registry.js +37 -0
- package/cjs/registry/renderer-registry.js.map +1 -0
- package/cjs/registry/types.d.ts +34 -0
- package/cjs/registry/types.js +6 -0
- package/cjs/registry/types.js.map +1 -0
- package/cjs/render/contributions/modules.d.ts +2 -2
- package/cjs/render/contributions/modules.js +3 -1
- package/cjs/render/contributions/modules.js.map +1 -1
- package/cjs/render/contributions/render/arc-module.d.ts +4 -2
- package/cjs/render/contributions/render/arc-module.js +6 -4
- package/cjs/render/contributions/render/arc-module.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.js +4 -19
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-module.d.ts +4 -2
- package/cjs/render/contributions/render/arc3d-module.js +6 -4
- package/cjs/render/contributions/render/arc3d-module.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-module.d.ts +4 -2
- package/cjs/render/contributions/render/area-module.js +6 -4
- package/cjs/render/contributions/render/area-module.js.map +1 -1
- package/cjs/render/contributions/render/area-render.js +4 -19
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.js +9 -5
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-module.d.ts +4 -2
- package/cjs/render/contributions/render/circle-module.js +6 -4
- package/cjs/render/contributions/render/circle-module.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.js +3 -18
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +3 -18
- package/cjs/render/contributions/render/contributions/base-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/contributions/text-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +13 -4
- package/cjs/render/contributions/render/draw-contribution.js +22 -22
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +5 -15
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-module.d.ts +4 -2
- package/cjs/render/contributions/render/glyph-module.js +6 -4
- package/cjs/render/contributions/render/glyph-module.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.js +4 -19
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-module.d.ts +4 -2
- package/cjs/render/contributions/render/image-module.js +6 -4
- package/cjs/render/contributions/render/image-module.js.map +1 -1
- package/cjs/render/contributions/render/image-render.d.ts +2 -2
- package/cjs/render/contributions/render/image-render.js +14 -30
- 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 +2 -2
- package/cjs/render/contributions/render/incremental-draw-contribution.js +4 -19
- 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/line-module.d.ts +4 -2
- package/cjs/render/contributions/render/line-module.js +6 -4
- package/cjs/render/contributions/render/line-module.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/module.d.ts +4 -3
- package/cjs/render/contributions/render/module.js +10 -6
- package/cjs/render/contributions/render/module.js.map +1 -1
- package/cjs/render/contributions/render/path-module.d.ts +4 -2
- package/cjs/render/contributions/render/path-module.js +6 -4
- package/cjs/render/contributions/render/path-module.js.map +1 -1
- package/cjs/render/contributions/render/path-render.js +3 -18
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-module.d.ts +4 -2
- package/cjs/render/contributions/render/polygon-module.js +6 -4
- package/cjs/render/contributions/render/polygon-module.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.js +3 -18
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-module.d.ts +4 -2
- package/cjs/render/contributions/render/pyramid3d-module.js +6 -4
- package/cjs/render/contributions/render/pyramid3d-module.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-module.d.ts +4 -2
- package/cjs/render/contributions/render/rect-module.js +11 -8
- package/cjs/render/contributions/render/rect-module.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.js +3 -18
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-module.d.ts +4 -2
- package/cjs/render/contributions/render/rect3d-module.js +6 -4
- package/cjs/render/contributions/render/rect3d-module.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/render-slector.js.map +1 -1
- package/cjs/render/contributions/render/richtext-module.d.ts +4 -2
- package/cjs/render/contributions/render/richtext-module.js +6 -4
- package/cjs/render/contributions/render/richtext-module.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-module.d.ts +4 -2
- package/cjs/render/contributions/render/star-module.js +9 -6
- package/cjs/render/contributions/render/star-module.js.map +1 -1
- package/cjs/render/contributions/render/star-render.js +3 -18
- package/cjs/render/contributions/render/star-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-module.d.ts +4 -2
- package/cjs/render/contributions/render/symbol-module.js +6 -4
- package/cjs/render/contributions/render/symbol-module.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.js +3 -18
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/text-module.d.ts +4 -2
- package/cjs/render/contributions/render/text-module.js +6 -4
- package/cjs/render/contributions/render/text-module.js.map +1 -1
- package/cjs/render/contributions/render/text-render.js +3 -18
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/render-modules.d.ts +4 -3
- package/cjs/render/render-modules.js +6 -4
- package/cjs/render/render-modules.js.map +1 -1
- package/cjs/render/render-service.d.ts +1 -1
- package/cjs/render/render-service.js +4 -18
- package/cjs/render/render-service.js.map +1 -1
- package/dist/index.es.js +22505 -20114
- package/es/application.d.ts +14 -5
- package/es/application.js +1 -10
- package/es/application.js.map +1 -1
- package/es/canvas/empty-context.js +2 -17
- package/es/canvas/empty-context.js.map +1 -1
- package/es/canvas/util.d.ts +2 -3
- package/es/canvas/util.js +15 -5
- package/es/canvas/util.js.map +1 -1
- package/es/color-string/index.js +2 -1
- package/es/common/contribution-provider.d.ts +16 -9
- package/es/common/contribution-provider.js +6 -2
- package/es/common/contribution-provider.js.map +1 -1
- package/es/common/diff.js +1 -2
- package/es/common/enums.d.ts +2 -0
- package/es/common/enums.js +1 -0
- package/es/common/enums.js.map +1 -1
- package/es/common/event-transformer.js +43 -6
- package/es/common/event-transformer.js.map +1 -1
- package/es/common/explicit-binding.d.ts +5 -0
- package/es/common/explicit-binding.js +10 -0
- package/es/common/explicit-binding.js.map +1 -0
- package/es/common/performance-raf.d.ts +1 -0
- package/es/common/performance-raf.js +5 -0
- package/es/common/performance-raf.js.map +1 -1
- package/es/common/render-area.js +1 -1
- package/es/common/render-command-list.js +1 -1
- package/es/common/render-curve.js +1 -1
- package/es/common/render-utils.js +1 -1
- package/es/common/seg-context.js +1 -2
- package/es/common/simplify.js +1 -1
- package/es/common/sort.js +1 -1
- package/es/common/split-path.js +1 -1
- package/es/common/store.js +1 -1
- package/es/common/text.js +1 -1
- package/es/common/utils.js +1 -1
- package/es/core/application.js +1 -1
- package/es/core/camera.js +1 -1
- 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/env/modules.d.ts +4 -3
- package/es/core/contributions/env/modules.js +4 -4
- package/es/core/contributions/env/modules.js.map +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -16
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/empty-contribution.js +2 -16
- package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/modules.d.ts +4 -3
- package/es/core/contributions/layerHandler/modules.js +4 -4
- package/es/core/contributions/layerHandler/modules.js.map +1 -1
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -16
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/modules.d.ts +2 -2
- package/es/core/contributions/modules.js +7 -1
- 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/modules.d.ts +4 -3
- package/es/core/contributions/textMeasure/modules.js +4 -4
- package/es/core/contributions/textMeasure/modules.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/core-modules.d.ts +4 -3
- package/es/core/core-modules.js +13 -9
- package/es/core/core-modules.js.map +1 -1
- package/es/core/global-module.js +2 -0
- package/es/core/global-module.js.map +1 -1
- package/es/core/global.d.ts +2 -0
- package/es/core/global.js +8 -24
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +1 -2
- package/es/core/graphic-utils.js +8 -35
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/index.js +1 -1
- package/es/core/layer-service.d.ts +7 -2
- package/es/core/layer-service.js +28 -34
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.js +1 -1
- package/es/core/layer.js.map +1 -1
- package/es/core/light.js +1 -1
- package/es/core/stage.d.ts +19 -7
- package/es/core/stage.js +64 -48
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +7 -5
- package/es/core/window.js +13 -25
- package/es/core/window.js.map +1 -1
- package/es/create.d.ts +1 -2
- package/es/create.js +4 -2
- package/es/create.js.map +1 -1
- package/es/entries/app-context.d.ts +30 -0
- package/es/entries/app-context.js +86 -0
- package/es/entries/app-context.js.map +1 -0
- package/es/entries/browser.d.ts +25 -0
- package/es/entries/browser.js +36 -0
- package/es/entries/browser.js.map +1 -0
- package/es/entries/index.d.ts +7 -0
- package/es/entries/index.js +14 -0
- package/es/entries/index.js.map +1 -0
- package/es/entries/miniapp.d.ts +6 -0
- package/es/entries/miniapp.js +12 -0
- package/es/entries/miniapp.js.map +1 -0
- package/es/entries/node.d.ts +6 -0
- package/es/entries/node.js +12 -0
- package/es/entries/node.js.map +1 -0
- package/es/entries/runtime-installer.d.ts +11 -0
- package/es/entries/runtime-installer.js +130 -0
- package/es/entries/runtime-installer.js.map +1 -0
- package/es/entries/types.d.ts +29 -0
- package/es/entries/types.js +2 -0
- package/es/entries/types.js.map +1 -0
- package/es/event/util.d.ts +1 -1
- package/es/factory/graphic-factory.d.ts +7 -0
- package/es/factory/graphic-factory.js +15 -0
- package/es/factory/graphic-factory.js.map +1 -0
- package/es/factory/index.d.ts +4 -0
- package/es/factory/index.js +8 -0
- package/es/factory/index.js.map +1 -0
- package/es/factory/layer-factory.d.ts +7 -0
- package/es/factory/layer-factory.js +11 -0
- package/es/factory/layer-factory.js.map +1 -0
- package/es/factory/stage-factory.d.ts +8 -0
- package/es/factory/stage-factory.js +12 -0
- package/es/factory/stage-factory.js.map +1 -0
- package/es/factory/types.d.ts +34 -0
- package/es/factory/types.js +2 -0
- package/es/factory/types.js.map +1 -0
- package/es/factory.d.ts +1 -0
- package/es/factory.js +2 -0
- package/es/factory.js.map +1 -1
- package/es/global.d.ts +2 -0
- package/es/global.js +10 -0
- package/es/global.js.map +1 -0
- package/es/graphic/area.js +1 -1
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.js +3 -3
- package/es/graphic/bounds.js.map +1 -1
- package/es/graphic/config.js +0 -1
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/glyph.js +9 -3
- package/es/graphic/glyph.js.map +1 -1
- package/es/graphic/graphic-creator.d.ts +9 -4
- package/es/graphic/graphic-creator.js +32 -5
- package/es/graphic/graphic-creator.js.map +1 -1
- package/es/graphic/graphic-service/graphic-module.d.ts +4 -3
- package/es/graphic/graphic-service/graphic-module.js +4 -4
- package/es/graphic/graphic-service/graphic-module.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.d.ts +2 -3
- package/es/graphic/graphic-service/graphic-service.js +6 -25
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic.d.ts +80 -11
- package/es/graphic/graphic.js +473 -139
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.d.ts +11 -1
- package/es/graphic/group.js +46 -10
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/index.d.ts +3 -0
- package/es/graphic/index.js +4 -0
- package/es/graphic/index.js.map +1 -1
- package/es/graphic/line.js +1 -1
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/state/attribute-update-classifier.d.ts +13 -0
- package/es/graphic/state/attribute-update-classifier.js +61 -0
- package/es/graphic/state/attribute-update-classifier.js.map +1 -0
- package/es/graphic/state/shared-state-refresh.d.ts +6 -0
- package/es/graphic/state/shared-state-refresh.js +46 -0
- package/es/graphic/state/shared-state-refresh.js.map +1 -0
- package/es/graphic/state/shared-state-scope.d.ts +25 -0
- package/es/graphic/state/shared-state-scope.js +90 -0
- package/es/graphic/state/shared-state-scope.js.map +1 -0
- package/es/graphic/state/state-batch-scheduler.d.ts +42 -0
- package/es/graphic/state/state-batch-scheduler.js +278 -0
- package/es/graphic/state/state-batch-scheduler.js.map +1 -0
- package/es/graphic/state/state-definition-compiler.d.ts +6 -0
- package/es/graphic/state/state-definition-compiler.js +83 -0
- package/es/graphic/state/state-definition-compiler.js.map +1 -0
- package/es/graphic/state/state-definition.d.ts +44 -0
- package/es/graphic/state/state-definition.js +2 -0
- package/es/graphic/state/state-definition.js.map +1 -0
- package/es/graphic/state/state-engine.d.ts +38 -0
- package/es/graphic/state/state-engine.js +212 -0
- package/es/graphic/state/state-engine.js.map +1 -0
- package/es/graphic/state/state-model.d.ts +43 -0
- package/es/graphic/state/state-model.js +135 -0
- package/es/graphic/state/state-model.js.map +1 -0
- package/es/graphic/state/state-perf-monitor.d.ts +119 -0
- package/es/graphic/state/state-perf-monitor.js +207 -0
- package/es/graphic/state/state-perf-monitor.js.map +1 -0
- package/es/graphic/state/state-style-resolver.d.ts +22 -0
- package/es/graphic/state/state-style-resolver.js +65 -0
- package/es/graphic/state/state-style-resolver.js.map +1 -0
- package/es/graphic/state/state-transition-orchestrator.d.ts +41 -0
- package/es/graphic/state/state-transition-orchestrator.js +68 -0
- package/es/graphic/state/state-transition-orchestrator.js.map +1 -0
- package/es/graphic/text.d.ts +3 -2
- package/es/graphic/text.js +22 -13
- package/es/graphic/text.js.map +1 -1
- package/es/graphic/theme.d.ts +5 -0
- package/es/graphic/theme.js +7 -0
- package/es/graphic/theme.js.map +1 -1
- package/es/graphic/wrap-text.d.ts +1 -1
- package/es/graphic/wrap-text.js +18 -13
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +7 -4
- package/es/index.js +12 -6
- package/es/index.js.map +1 -1
- package/es/interface/global.d.ts +2 -0
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic/group.d.ts +6 -0
- package/es/interface/graphic/group.js.map +1 -1
- package/es/interface/graphic/theme.d.ts +3 -0
- package/es/interface/graphic/theme.js.map +1 -1
- package/es/interface/graphic.d.ts +24 -26
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/plugin.d.ts +2 -0
- package/es/interface/plugin.js.map +1 -1
- package/es/interface/stage.d.ts +11 -3
- package/es/interface/stage.js.map +1 -1
- package/es/interface/theme-service.js.map +1 -1
- package/es/legacy/binding-context.d.ts +24 -0
- package/es/legacy/binding-context.js +90 -0
- package/es/legacy/binding-context.js.map +1 -0
- package/es/legacy/bootstrap.d.ts +10 -0
- package/es/legacy/bootstrap.js +73 -0
- package/es/legacy/bootstrap.js.map +1 -0
- package/es/legacy/module-types.d.ts +2 -0
- package/es/legacy/module-types.js +2 -0
- package/es/legacy/module-types.js.map +1 -0
- package/es/modules.d.ts +5 -6
- package/es/modules.js +37 -33
- package/es/modules.js.map +1 -1
- package/es/picker/global-picker-service.js +2 -16
- 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/pick-modules.d.ts +5 -3
- package/es/picker/pick-modules.js +4 -4
- package/es/picker/pick-modules.js.map +1 -1
- package/es/picker/picker-service.d.ts +13 -4
- package/es/picker/picker-service.js +16 -26
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/base-plugin.d.ts +8 -0
- package/es/plugins/base-plugin.js +7 -0
- package/es/plugins/base-plugin.js.map +1 -0
- package/es/plugins/browser-env-plugin.d.ts +8 -0
- package/es/plugins/browser-env-plugin.js +16 -0
- package/es/plugins/browser-env-plugin.js.map +1 -0
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.d.ts +4 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +26 -3
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js +3 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/es/plugins/index.d.ts +5 -0
- package/es/plugins/index.js +10 -0
- package/es/plugins/index.js.map +1 -0
- package/es/plugins/picker-plugin.d.ts +7 -0
- package/es/plugins/picker-plugin.js +11 -0
- package/es/plugins/picker-plugin.js.map +1 -0
- package/es/plugins/plugin-modules.d.ts +4 -3
- package/es/plugins/plugin-modules.js +4 -4
- package/es/plugins/plugin-modules.js.map +1 -1
- package/es/plugins/plugin-service.d.ts +16 -2
- package/es/plugins/plugin-service.js +25 -32
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/plugins/renderer-plugin.d.ts +7 -0
- package/es/plugins/renderer-plugin.js +11 -0
- package/es/plugins/renderer-plugin.js.map +1 -0
- package/es/plugins/types.d.ts +28 -0
- package/es/plugins/types.js +2 -0
- package/es/plugins/types.js.map +1 -0
- package/es/register/register-arc.js +2 -2
- package/es/register/register-arc.js.map +1 -1
- package/es/register/register-arc3d.js +2 -2
- package/es/register/register-arc3d.js.map +1 -1
- package/es/register/register-area.js +2 -2
- package/es/register/register-area.js.map +1 -1
- package/es/register/register-circle.js +2 -2
- package/es/register/register-circle.js.map +1 -1
- package/es/register/register-glyph.js +2 -2
- package/es/register/register-glyph.js.map +1 -1
- package/es/register/register-group.js +2 -2
- package/es/register/register-group.js.map +1 -1
- package/es/register/register-image.js +2 -2
- package/es/register/register-image.js.map +1 -1
- package/es/register/register-line.js +2 -2
- package/es/register/register-line.js.map +1 -1
- package/es/register/register-path.js +2 -2
- package/es/register/register-path.js.map +1 -1
- package/es/register/register-polygon.js +2 -2
- package/es/register/register-polygon.js.map +1 -1
- package/es/register/register-pyramid3d.js +2 -2
- package/es/register/register-pyramid3d.js.map +1 -1
- package/es/register/register-rect.js +2 -2
- package/es/register/register-rect.js.map +1 -1
- package/es/register/register-rect3d.js +2 -2
- package/es/register/register-rect3d.js.map +1 -1
- package/es/register/register-richtext.js +2 -2
- package/es/register/register-richtext.js.map +1 -1
- package/es/register/register-shadowRoot.js +2 -2
- package/es/register/register-shadowRoot.js.map +1 -1
- package/es/register/register-star.js +2 -2
- package/es/register/register-star.js.map +1 -1
- package/es/register/register-symbol.js +2 -2
- package/es/register/register-symbol.js.map +1 -1
- package/es/register/register-text.js +2 -2
- package/es/register/register-text.js.map +1 -1
- package/es/register/register-wraptext.js +2 -2
- package/es/register/register-wraptext.js.map +1 -1
- package/es/registry/contribution-registry.d.ts +9 -0
- package/es/registry/contribution-registry.js +25 -0
- package/es/registry/contribution-registry.js.map +1 -0
- package/es/registry/index.d.ts +5 -0
- package/es/registry/index.js +10 -0
- package/es/registry/index.js.map +1 -0
- package/es/registry/picker-registry.d.ts +10 -0
- package/es/registry/picker-registry.js +21 -0
- package/es/registry/picker-registry.js.map +1 -0
- package/es/registry/plugin-registry.d.ts +10 -0
- package/es/registry/plugin-registry.js +21 -0
- package/es/registry/plugin-registry.js.map +1 -0
- package/es/registry/renderer-registry.d.ts +11 -0
- package/es/registry/renderer-registry.js +29 -0
- package/es/registry/renderer-registry.js.map +1 -0
- package/es/registry/types.d.ts +34 -0
- package/es/registry/types.js +2 -0
- package/es/registry/types.js.map +1 -0
- package/es/render/contributions/modules.d.ts +2 -2
- package/es/render/contributions/modules.js +3 -1
- package/es/render/contributions/modules.js.map +1 -1
- package/es/render/contributions/render/arc-module.d.ts +4 -2
- package/es/render/contributions/render/arc-module.js +4 -4
- package/es/render/contributions/render/arc-module.js.map +1 -1
- package/es/render/contributions/render/arc-render.js +2 -24
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-module.d.ts +4 -2
- package/es/render/contributions/render/arc3d-module.js +4 -4
- package/es/render/contributions/render/arc3d-module.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-module.d.ts +4 -2
- package/es/render/contributions/render/area-module.js +4 -4
- package/es/render/contributions/render/area-module.js.map +1 -1
- package/es/render/contributions/render/area-render.js +2 -24
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.js +8 -5
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-module.d.ts +4 -2
- package/es/render/contributions/render/circle-module.js +4 -4
- package/es/render/contributions/render/circle-module.js.map +1 -1
- package/es/render/contributions/render/circle-render.js +2 -24
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.js +2 -24
- package/es/render/contributions/render/contributions/base-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/contributions/text-contribution-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +13 -4
- package/es/render/contributions/render/draw-contribution.js +24 -34
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +4 -19
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-module.d.ts +4 -2
- package/es/render/contributions/render/glyph-module.js +4 -4
- package/es/render/contributions/render/glyph-module.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.js +2 -24
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-module.d.ts +4 -2
- package/es/render/contributions/render/image-module.js +4 -4
- package/es/render/contributions/render/image-module.js.map +1 -1
- package/es/render/contributions/render/image-render.d.ts +2 -2
- package/es/render/contributions/render/image-render.js +9 -31
- 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 +2 -2
- package/es/render/contributions/render/incremental-draw-contribution.js +3 -29
- 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/line-module.d.ts +4 -2
- package/es/render/contributions/render/line-module.js +4 -4
- package/es/render/contributions/render/line-module.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/module.d.ts +4 -3
- package/es/render/contributions/render/module.js +10 -10
- package/es/render/contributions/render/module.js.map +1 -1
- package/es/render/contributions/render/path-module.d.ts +4 -2
- package/es/render/contributions/render/path-module.js +4 -4
- package/es/render/contributions/render/path-module.js.map +1 -1
- package/es/render/contributions/render/path-render.js +2 -24
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-module.d.ts +4 -2
- package/es/render/contributions/render/polygon-module.js +4 -4
- package/es/render/contributions/render/polygon-module.js.map +1 -1
- package/es/render/contributions/render/polygon-render.js +2 -24
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-module.d.ts +4 -2
- package/es/render/contributions/render/pyramid3d-module.js +4 -4
- package/es/render/contributions/render/pyramid3d-module.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-module.d.ts +4 -2
- package/es/render/contributions/render/rect-module.js +7 -7
- package/es/render/contributions/render/rect-module.js.map +1 -1
- package/es/render/contributions/render/rect-render.js +2 -24
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-module.d.ts +4 -2
- package/es/render/contributions/render/rect3d-module.js +4 -4
- package/es/render/contributions/render/rect3d-module.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/render-slector.js.map +1 -1
- package/es/render/contributions/render/richtext-module.d.ts +4 -2
- package/es/render/contributions/render/richtext-module.js +4 -4
- package/es/render/contributions/render/richtext-module.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-module.d.ts +4 -2
- package/es/render/contributions/render/star-module.js +9 -5
- package/es/render/contributions/render/star-module.js.map +1 -1
- package/es/render/contributions/render/star-render.js +2 -24
- package/es/render/contributions/render/star-render.js.map +1 -1
- package/es/render/contributions/render/symbol-module.d.ts +4 -2
- package/es/render/contributions/render/symbol-module.js +4 -4
- package/es/render/contributions/render/symbol-module.js.map +1 -1
- package/es/render/contributions/render/symbol-render.js +2 -24
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/text-module.d.ts +4 -2
- package/es/render/contributions/render/text-module.js +4 -4
- package/es/render/contributions/render/text-module.js.map +1 -1
- package/es/render/contributions/render/text-render.js +2 -24
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/render-modules.d.ts +4 -3
- package/es/render/render-modules.js +4 -4
- package/es/render/render-modules.js.map +1 -1
- package/es/render/render-service.d.ts +1 -1
- package/es/render/render-service.js +4 -22
- package/es/render/render-service.js.map +1 -1
- package/package.json +8 -7
- 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.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.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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/base-render.ts"],"names":[],"mappings":"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CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAExG,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACnG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACnG,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpG,MAAM,EAAE,GACN,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzC,KAAK,CAAC;YACR,MAAM,EAAE,GACN,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACpC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACzC,KAAK,CAAC;YAER,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;IASD,4BAA4B,CAAC,OAAiB,EAAE,gBAAmC,EAAE,CAAS,EAAE,OAAmB;QACjH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC9B;IACH,CAAC;IAES,yBAAyB,CACjC,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,CAAS,EACT,MAAc,EACd,MAAc,EACd,KAAa;QAEb,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CACH,OAAU,EACV,WAA8B,EAC9B,gBAAyB,EACzB,WAAyB,EACzB,MAAiC,EACjC,cAAkC;QAElC,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;QACzC,IAAI,UAAU,KAAK,KAAK,EAAE;YACxB,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC7E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;YACnE,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,OAAO;SACR;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACxF,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,OAAO,CAAC,WAAW,KAAK,eAAe,EAAE;YAC3C,8BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACxC;QACD,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAEtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;CAuHF;AA9nBD,gCA8nBC","file":"base-render.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type {\n IGraphicAttribute,\n ICamera,\n IContext2d,\n IGraphic,\n mat4,\n IDrawContext,\n IGraphicRenderDrawParams,\n IMarkAttribute,\n IThemeAttribute,\n IContributionProvider,\n IBaseRenderContribution,\n ITransform\n} from '../../../interface';\nimport { getModelMatrix, shouldUseMat4 } from '../../../graphic/graphic-service/graphic-service';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { multiplyMat4Mat4 } from '../../../common/matrix';\nimport { getTheme } from '../../../graphic';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport { defaultBaseClipRenderAfterContribution, defaultBaseClipRenderBeforeContribution } from './contributions';\n\nconst result: IPointLike & { z: number; lastModelMatrix: mat4 } = { x: 0, y: 0, z: 0, lastModelMatrix: null };\n\nexport abstract class BaseRender<T extends IGraphic> {\n camera: ICamera;\n declare z: number;\n\n builtinContributions: IBaseRenderContribution<T, T['attribute']>[];\n declare protected graphicRenderContributions: IContributionProvider<IBaseRenderContribution<T, T['attribute']>>;\n\n // declare renderContribitions: IContributionProvider<IBaseRenderContribution<T, T['attribute']>> | null;\n\n protected _beforeRenderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n protected _afterRenderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n protected _renderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n\n init(contributions?: IContributionProvider<IBaseRenderContribution<T, T['attribute']>>) {\n if (contributions) {\n // this.renderContribitions = contributions;\n this._renderContribitions = contributions.getContributions();\n }\n if (!this._renderContribitions) {\n this._renderContribitions = [];\n }\n if (!this.builtinContributions) {\n this.builtinContributions = [];\n }\n this.builtinContributions.push(defaultBaseClipRenderBeforeContribution);\n this.builtinContributions.push(defaultBaseClipRenderAfterContribution);\n this.builtinContributions.forEach(item => this._renderContribitions.push(item));\n if (this._renderContribitions.length) {\n this._renderContribitions.sort((a, b) => b.order - a.order);\n this._beforeRenderContribitions = this._renderContribitions.filter(\n c => c.time === BaseRenderContributionTime.beforeFillStroke\n );\n this._afterRenderContribitions = this._renderContribitions.filter(\n c => c.time === BaseRenderContributionTime.afterFillStroke\n );\n }\n }\n\n reInit() {\n this.init(this.graphicRenderContributions);\n }\n\n beforeRenderStep(\n graphic: T,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<T['attribute']>,\n drawContext: IDrawContext,\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 params?: any\n ) {\n this._beforeRenderContribitions &&\n this._beforeRenderContribitions.forEach(c => {\n if (\n c.supportedAppName &&\n graphic.stage &&\n graphic.stage.params &&\n graphic.stage.params.context &&\n graphic.stage.params.context.appName\n ) {\n const names = Array.isArray(c.supportedAppName) ? c.supportedAppName : [c.supportedAppName];\n if (!names.includes(graphic.stage.params.context.appName)) {\n return;\n }\n }\n c.drawShape(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n params\n );\n });\n }\n\n afterRenderStep(\n graphic: T,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<T['attribute']>,\n drawContext: IDrawContext,\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 params?: any\n ) {\n this._afterRenderContribitions &&\n this._afterRenderContribitions.forEach(c => {\n if (\n c.supportedAppName &&\n graphic.stage &&\n graphic.stage.params &&\n graphic.stage.params.context &&\n graphic.stage.params.context.appName\n ) {\n const names = Array.isArray(c.supportedAppName) ? c.supportedAppName : [c.supportedAppName];\n if (!names.includes(graphic.stage.params.context.appName)) {\n return;\n }\n }\n c.drawShape(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n params\n );\n });\n }\n\n drawPathProxy(\n graphic: T,\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 path = graphic.getPathProxy();\n if (!path) {\n return false;\n }\n\n const themeAttributes = (getTheme(graphic, params?.theme) as any)[graphic.type.replace('3d', '')];\n\n const {\n fill = themeAttributes.fill,\n stroke = themeAttributes.stroke,\n opacity = themeAttributes.opacity,\n fillOpacity = themeAttributes.fillOpacity,\n lineWidth = themeAttributes.lineWidth,\n strokeOpacity = themeAttributes.strokeOpacity,\n visible = themeAttributes.visible,\n x: originX = themeAttributes.x,\n y: originY = themeAttributes.y\n } = graphic.attribute;\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 (!visible) {\n return true;\n }\n\n if (!(doFill || doStroke)) {\n return true;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return true;\n }\n\n context.beginPath();\n renderCommandList(path.commandList, context, x, y);\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(graphic, graphic.attribute, themeAttributes);\n\n this.beforeRenderStep(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n themeAttributes,\n drawContext,\n fillCb,\n strokeCb\n );\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, graphic.attribute, themeAttributes);\n } else if (sVisible) {\n context.setStrokeStyle(graphic, graphic.attribute, x - originX, y - originY, themeAttributes);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, graphic.attribute, themeAttributes);\n } else if (fVisible) {\n context.setCommonStyle(graphic, graphic.attribute, x - originX, y - originY, themeAttributes);\n context.fill();\n }\n }\n\n this.afterRenderStep(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n themeAttributes,\n drawContext,\n fillCb,\n strokeCb\n );\n return true;\n }\n\n valid(graphic: IGraphic, defaultAttribute: IGraphicAttribute, fillCb?: any, strokeCb?: any) {\n const {\n fill = defaultAttribute.fill,\n background,\n stroke = defaultAttribute.stroke,\n opacity = defaultAttribute.opacity,\n fillOpacity = defaultAttribute.fillOpacity,\n lineWidth = defaultAttribute.lineWidth,\n strokeOpacity = defaultAttribute.strokeOpacity,\n visible = defaultAttribute.visible\n } = graphic.attribute;\n const fVisible = fillVisible(opacity, fillOpacity, fill);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(graphic.valid && visible)) {\n return false;\n }\n\n if (!(doFill || doStroke)) {\n return false;\n }\n\n // 如果存在fillCb和strokeCb,以及background那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return false;\n }\n return {\n fVisible,\n sVisible,\n doFill,\n doStroke\n };\n }\n\n /**\n * 进行2d或3d变换\n * @param graphic\n * @param graphicAttribute\n * @param context\n * @param use3dMatrixIn3dMode 是否在3d模式使用3d矩阵\n * @returns\n */\n transform(\n graphic: IGraphic,\n graphicAttribute: Partial<IGraphicAttribute>,\n context: IContext2d,\n use3dMatrixIn3dMode: boolean = false\n ): IPointLike & { z: number; lastModelMatrix: mat4 } {\n // const transMatrix = graphic.transMatrix;\n const {\n x = graphicAttribute.x,\n y = graphicAttribute.y,\n z = graphicAttribute.z,\n scaleX = graphicAttribute.scaleX,\n scaleY = graphicAttribute.scaleY,\n angle = graphicAttribute.angle,\n postMatrix\n } = graphic.attribute;\n // const onlyTranslate = transMatrix.onlyTranslate() && !postMatrix;\n\n // 存在3d变换的时候,需要计算3d矩阵\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n // const result: IPointLike & { z: number; lastModelMatrix: mat4 } = { x, y, z, lastModelMatrix };\n result.x = x;\n result.y = y;\n result.z = z;\n result.lastModelMatrix = lastModelMatrix;\n\n // 是否应该进行3d变换\n const shouldTransform3d = camera && (use3dMatrixIn3dMode || shouldUseMat4(graphic));\n\n // 是否仅有translate\n const onlyTranslate = shouldTransform3d\n ? graphic.transMatrix.onlyTranslate() && !postMatrix\n : scaleX === 1 && scaleY === 1 && angle === 0 && !postMatrix;\n\n if (shouldTransform3d) {\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, graphic, graphicAttribute as ITransform);\n // 合并模型矩阵\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n result.x = 0;\n result.y = 0;\n result.z = 0;\n context.modelMatrix = nextModelMatrix;\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n mat4Allocate.free(modelMatrix);\n // 有旋转的情况下需要手动计算模型矩阵\n // TODO: 这里暂时都使用模型矩阵,因为视角旋转的时候如果当不固定角度那也需要用到模型矩阵\n }\n\n // 如果只有位移,且没计算3d变换矩阵,那么不设置context的2d矩阵\n if (onlyTranslate && !lastModelMatrix) {\n const point = graphic.getOffsetXY(graphicAttribute as ITransform);\n result.x += point.x;\n result.y += point.y;\n result.z = z;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n } else if (shouldTransform3d) {\n // 如果计算了3d矩阵,那么就不需要2d矩阵计算了\n result.x = 0;\n result.y = 0;\n result.z = 0;\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n if (camera && context.project) {\n const point = graphic.getOffsetXY(graphicAttribute as ITransform);\n result.x += point.x;\n result.y += point.y;\n // result.x = 0;\n // result.y = 0;\n // 位置直接通过project设置,而2d变换通过变换矩阵完成\n this.transformWithoutTranslate(context, result.x, result.y, result.z, scaleX, scaleY, angle);\n } else {\n // 如果是纯2d的情况,那么直接设置context的2d矩阵\n // 性能较差\n context.transformFromMatrix(graphic.transMatrix, true);\n result.x = 0;\n result.y = 0;\n result.z = 0;\n }\n }\n\n return result;\n }\n\n /**\n * 将3d的transform转成context2d的transform\n * @param graphic\n * @param graphicAttribute\n * @param z\n * @param context\n */\n transformUseContext2d(graphic: IGraphic, graphicAttribute: IGraphicAttribute, z: number, context: IContext2d) {\n const camera = context.camera;\n this.camera = camera;\n if (camera) {\n const bounds = graphic.AABBBounds;\n const width = bounds.x2 - bounds.x1;\n const height = bounds.y2 - bounds.y1;\n const p1 = context.project(0, 0, z);\n const p2 = context.project(width, 0, z);\n const p3 = context.project(width, height, z);\n const _p1 = { x: 0, y: 0 };\n const _p2 = { x: width, y: 0 };\n const _p3 = { x: width, y: height };\n\n context.camera = null;\n\n // 生成3维矩阵\n /* Adapted from phoria.js by ecomfe\n * https://github.com/kevinroast/phoria.js\n * Licensed under the BSD-3-Clause\n\n * url: https://github.com/kevinroast/phoria.js/blob/736c6b854a679df180f8a6e689aeb218efa6dc01/scripts/phoria-renderer.js\n * License: https://github.com/kevinroast/phoria.js/blob/master/LICENSE\n * @license\n */\n const denom = 1.0 / (_p1.x * (_p3.y - _p2.y) - _p2.x * _p3.y + _p3.x * _p2.y + (_p2.x - _p3.x) * _p1.y);\n // calculate context transformation matrix\n const m11 = -(_p1.y * (p3.x - p2.x) - _p2.y * p3.x + _p3.y * p2.x + (_p2.y - _p3.y) * p1.x) * denom;\n const m12 = (_p2.y * p3.y + _p1.y * (p2.y - p3.y) - _p3.y * p2.y + (_p3.y - _p2.y) * p1.y) * denom;\n const m21 = (_p1.x * (p3.x - p2.x) - _p2.x * p3.x + _p3.x * p2.x + (_p2.x - _p3.x) * p1.x) * denom;\n const m22 = -(_p2.x * p3.y + _p1.x * (p2.y - p3.y) - _p3.x * p2.y + (_p3.x - _p2.x) * p1.y) * denom;\n const dx =\n (_p1.x * (_p3.y * p2.x - _p2.y * p3.x) +\n _p1.y * (_p2.x * p3.x - _p3.x * p2.x) +\n (_p3.x * _p2.y - _p2.x * _p3.y) * p1.x) *\n denom;\n const dy =\n (_p1.x * (_p3.y * p2.y - _p2.y * p3.y) +\n _p1.y * (_p2.x * p3.y - _p3.x * p2.y) +\n (_p3.x * _p2.y - _p2.x * _p3.y) * p1.y) *\n denom;\n\n context.setTransform(m11, m12, m21, m22, dx, dy, true);\n }\n }\n\n /**\n * transformUseContext2d的后处理\n * @param graphic\n * @param graphicAttribute\n * @param z\n * @param context\n */\n restoreTransformUseContext2d(graphic: IGraphic, graphicAttribute: IGraphicAttribute, z: number, context: IContext2d) {\n if (this.camera) {\n context.camera = this.camera;\n }\n }\n\n protected transformWithoutTranslate(\n context: IContext2d,\n x: number,\n y: number,\n z: number,\n scaleX: number,\n scaleY: number,\n angle: number\n ) {\n const p = context.project(x, y, z);\n context.translate(p.x, p.y, false);\n context.scale(scaleX, scaleY, false);\n context.rotate(angle, false);\n context.translate(-p.x, -p.y, false);\n context.setTransformForCurrent();\n }\n\n _draw(\n graphic: T,\n defaultAttr: IGraphicAttribute,\n computed3dMatrix: boolean,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n themeAttribute?: IGraphicAttribute\n ) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // 如果hide,直接跳过后续绘制\n const { renderable } = graphic.attribute;\n if (renderable === false) {\n return;\n }\n\n context.highPerformanceSave();\n\n const data = this.transform(graphic, defaultAttr, context, computed3dMatrix);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n if (this.drawPathProxy(graphic, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(graphic, context, x, y, drawContext, params, null, null, themeAttribute);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n drawShape?(\n path: T,\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 themeAttribute?: IGraphicAttribute\n ): void;\n\n // abstract drawShape(\n // graphic: T,\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 // ): void;\n\n // drawPathProxy(\n // graphic: T,\n // context: IContext2d,\n // x: number,\n // y: number,\n // drawContext: IDrawContext,\n // params?: IGraphicRenderDrawParams,\n // fillCb?: (\n // ctx: IContext2d,\n // markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n // themeAttribute: IThemeAttribute\n // ) => boolean,\n // strokeCb?: (\n // ctx: IContext2d,\n // markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n // themeAttribute: IThemeAttribute\n // ) => boolean\n // ) {\n // if (!graphic.pathProxy) {\n // return false;\n // }\n\n // const themeAttributes = getTheme(graphic)[graphic.type];\n\n // const {\n // fill = themeAttributes.fill == null ? !!graphic.attribute.fillColor : themeAttributes.fill,\n // stroke = themeAttributes.stroke == null ? !!graphic.attribute.strokeColor : themeAttributes.stroke,\n // opacity = themeAttributes.opacity,\n // fillOpacity = themeAttributes.fillOpacity,\n // lineWidth = themeAttributes.lineWidth,\n // strokeOpacity = themeAttributes.strokeOpacity,\n // visible = themeAttributes.visible\n // } = graphic.attribute;\n // // 不绘制或者透明\n // const fVisible = fillVisible(opacity, fillOpacity);\n // const sVisible = strokeVisible(opacity, strokeOpacity);\n // const doFill = runFill(fill);\n // const doStroke = runStroke(stroke, lineWidth);\n\n // if (!visible) {\n // return true;\n // }\n\n // if (!(doFill || doStroke)) {\n // return true;\n // }\n\n // // 如果存在fillCb和strokeCb,那就不直接跳过\n // if (!(fVisible || sVisible || fillCb || strokeCb)) {\n // return true;\n // }\n\n // context.beginPath();\n\n // const path = typeof graphic.pathProxy === 'function' ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;\n // renderCommandList(path.commandList, context, x, y);\n\n // // shadow\n // context.setShadowBlendStyle && context.setShadowBlendStyle(graphic, graphic.attribute, themeAttributes);\n\n // if (doStroke) {\n // if (strokeCb) {\n // strokeCb(context, graphic.attribute, themeAttributes);\n // } else if (sVisible) {\n // context.setStrokeStyle(graphic, graphic.attribute, 0, 0, themeAttributes);\n // context.stroke();\n // }\n // }\n // if (doFill) {\n // if (fillCb) {\n // fillCb(context, graphic.attribute, themeAttributes);\n // } else if (fVisible) {\n // context.setCommonStyle(graphic, graphic.attribute, 0, 0, themeAttributes);\n // context.fill();\n // }\n // }\n // return true;\n // }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/base-render.ts"],"names":[],"mappings":"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,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAExG,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACnG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACnG,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,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","file":"base-render.js","sourcesContent":["import type { IPointLike } from '@visactor/vutils';\nimport type {\n IGraphicAttribute,\n ICamera,\n IContext2d,\n IGraphic,\n mat4,\n IDrawContext,\n IGraphicRenderDrawParams,\n IMarkAttribute,\n IThemeAttribute,\n IContributionProvider,\n IBaseRenderContribution,\n ITransform\n} from '../../../interface';\nimport { getModelMatrix, shouldUseMat4 } from '../../../graphic/graphic-service/graphic-service';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { multiplyMat4Mat4 } from '../../../common/matrix';\nimport { getTheme } from '../../../graphic';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport { defaultBaseClipRenderAfterContribution, defaultBaseClipRenderBeforeContribution } from './contributions';\n\nconst result: IPointLike & { z: number; lastModelMatrix: mat4 } = { x: 0, y: 0, z: 0, lastModelMatrix: null };\n\nexport abstract class BaseRender<T extends IGraphic> {\n camera: ICamera;\n declare z: number;\n\n builtinContributions: IBaseRenderContribution<T, T['attribute']>[];\n declare protected graphicRenderContributions: IContributionProvider<IBaseRenderContribution<T, T['attribute']>>;\n\n // declare renderContribitions: IContributionProvider<IBaseRenderContribution<T, T['attribute']>> | null;\n\n protected _beforeRenderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n protected _afterRenderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n protected _renderContribitions: IBaseRenderContribution<T, T['attribute']>[];\n\n init(contributions?: IContributionProvider<IBaseRenderContribution<T, T['attribute']>>) {\n if (contributions) {\n // this.renderContribitions = contributions;\n this._renderContribitions = contributions.getContributions();\n }\n if (!this._renderContribitions) {\n this._renderContribitions = [];\n }\n if (!this.builtinContributions) {\n this.builtinContributions = [];\n }\n this.builtinContributions.push(defaultBaseClipRenderBeforeContribution);\n this.builtinContributions.push(defaultBaseClipRenderAfterContribution);\n this.builtinContributions.forEach(item => this._renderContribitions.push(item));\n if (this._renderContribitions.length) {\n this._renderContribitions.sort((a, b) => b.order - a.order);\n this._beforeRenderContribitions = this._renderContribitions.filter(\n c => c.time === BaseRenderContributionTime.beforeFillStroke\n );\n this._afterRenderContribitions = this._renderContribitions.filter(\n c => c.time === BaseRenderContributionTime.afterFillStroke\n );\n }\n }\n\n reInit() {\n this.init(this.graphicRenderContributions);\n }\n\n beforeRenderStep(\n graphic: T,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<T['attribute']>,\n drawContext: IDrawContext,\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 params?: any\n ) {\n this._beforeRenderContribitions &&\n this._beforeRenderContribitions.forEach(c => {\n if (\n c.supportedAppName &&\n graphic.stage &&\n graphic.stage.params &&\n graphic.stage.params.context &&\n graphic.stage.params.context.appName\n ) {\n const names = Array.isArray(c.supportedAppName) ? c.supportedAppName : [c.supportedAppName];\n if (!names.includes(graphic.stage.params.context.appName)) {\n return;\n }\n }\n c.drawShape(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n params\n );\n });\n }\n\n afterRenderStep(\n graphic: T,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<T['attribute']>,\n drawContext: IDrawContext,\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 params?: any\n ) {\n this._afterRenderContribitions &&\n this._afterRenderContribitions.forEach(c => {\n if (\n c.supportedAppName &&\n graphic.stage &&\n graphic.stage.params &&\n graphic.stage.params.context &&\n graphic.stage.params.context.appName\n ) {\n const names = Array.isArray(c.supportedAppName) ? c.supportedAppName : [c.supportedAppName];\n if (!names.includes(graphic.stage.params.context.appName)) {\n return;\n }\n }\n c.drawShape(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n params\n );\n });\n }\n\n drawPathProxy(\n graphic: T,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n if (!graphic.pathProxy) {\n return false;\n }\n\n const themeAttributes = (getTheme(graphic, params?.theme) as any)[graphic.type.replace('3d', '')];\n\n const {\n fill = themeAttributes.fill,\n stroke = themeAttributes.stroke,\n opacity = themeAttributes.opacity,\n fillOpacity = themeAttributes.fillOpacity,\n lineWidth = themeAttributes.lineWidth,\n strokeOpacity = themeAttributes.strokeOpacity,\n visible = themeAttributes.visible,\n x: originX = themeAttributes.x,\n y: originY = themeAttributes.y\n } = graphic.attribute;\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 (!visible) {\n return true;\n }\n\n if (!(doFill || doStroke)) {\n return true;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb)) {\n return true;\n }\n\n context.beginPath();\n const path = typeof graphic.pathProxy === 'function' ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;\n renderCommandList(path.commandList, context, x, y);\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(graphic, graphic.attribute, themeAttributes);\n\n this.beforeRenderStep(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n themeAttributes,\n drawContext,\n fillCb,\n strokeCb\n );\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, graphic.attribute, themeAttributes);\n } else if (sVisible) {\n context.setStrokeStyle(graphic, graphic.attribute, x - originX, y - originY, themeAttributes);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, graphic.attribute, themeAttributes);\n } else if (fVisible) {\n context.setCommonStyle(graphic, graphic.attribute, x - originX, y - originY, themeAttributes);\n context.fill();\n }\n }\n\n this.afterRenderStep(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n themeAttributes,\n drawContext,\n fillCb,\n strokeCb\n );\n return true;\n }\n\n valid(graphic: IGraphic, defaultAttribute: IGraphicAttribute, fillCb?: any, strokeCb?: any) {\n const {\n fill = defaultAttribute.fill,\n background,\n stroke = defaultAttribute.stroke,\n opacity = defaultAttribute.opacity,\n fillOpacity = defaultAttribute.fillOpacity,\n lineWidth = defaultAttribute.lineWidth,\n strokeOpacity = defaultAttribute.strokeOpacity,\n visible = defaultAttribute.visible\n } = graphic.attribute;\n const fVisible = fillVisible(opacity, fillOpacity, fill);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(graphic.valid && visible)) {\n return false;\n }\n\n if (!(doFill || doStroke)) {\n return false;\n }\n\n // 如果存在fillCb和strokeCb,以及background那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return false;\n }\n return {\n fVisible,\n sVisible,\n doFill,\n doStroke\n };\n }\n\n /**\n * 进行2d或3d变换\n * @param graphic\n * @param graphicAttribute\n * @param context\n * @param use3dMatrixIn3dMode 是否在3d模式使用3d矩阵\n * @returns\n */\n transform(\n graphic: IGraphic,\n graphicAttribute: Partial<IGraphicAttribute>,\n context: IContext2d,\n use3dMatrixIn3dMode: boolean = false\n ): IPointLike & { z: number; lastModelMatrix: mat4 } {\n // const transMatrix = graphic.transMatrix;\n const {\n x = graphicAttribute.x,\n y = graphicAttribute.y,\n z = graphicAttribute.z,\n scaleX = graphicAttribute.scaleX,\n scaleY = graphicAttribute.scaleY,\n angle = graphicAttribute.angle,\n postMatrix\n } = graphic.attribute;\n // const onlyTranslate = transMatrix.onlyTranslate() && !postMatrix;\n\n // 存在3d变换的时候,需要计算3d矩阵\n const lastModelMatrix = context.modelMatrix;\n const camera = context.camera;\n // const result: IPointLike & { z: number; lastModelMatrix: mat4 } = { x, y, z, lastModelMatrix };\n result.x = x;\n result.y = y;\n result.z = z;\n result.lastModelMatrix = lastModelMatrix;\n\n // 是否应该进行3d变换\n const shouldTransform3d = camera && (use3dMatrixIn3dMode || shouldUseMat4(graphic));\n\n // 是否仅有translate\n const onlyTranslate = shouldTransform3d\n ? graphic.transMatrix.onlyTranslate() && !postMatrix\n : scaleX === 1 && scaleY === 1 && angle === 0 && !postMatrix;\n\n if (shouldTransform3d) {\n const nextModelMatrix = mat4Allocate.allocate();\n // 计算模型矩阵\n const modelMatrix = mat4Allocate.allocate();\n getModelMatrix(modelMatrix, graphic, graphicAttribute as ITransform);\n // 合并模型矩阵\n if (lastModelMatrix) {\n multiplyMat4Mat4(nextModelMatrix, lastModelMatrix, modelMatrix);\n } else {\n multiplyMat4Mat4(nextModelMatrix, nextModelMatrix, modelMatrix);\n }\n result.x = 0;\n result.y = 0;\n result.z = 0;\n context.modelMatrix = nextModelMatrix;\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n mat4Allocate.free(modelMatrix);\n // 有旋转的情况下需要手动计算模型矩阵\n // TODO: 这里暂时都使用模型矩阵,因为视角旋转的时候如果当不固定角度那也需要用到模型矩阵\n }\n\n // 如果只有位移,且没计算3d变换矩阵,那么不设置context的2d矩阵\n if (onlyTranslate && !lastModelMatrix) {\n const point = graphic.getOffsetXY(graphicAttribute as ITransform);\n result.x += point.x;\n result.y += point.y;\n result.z = z;\n // 当前context有rotate/scale,重置matrix\n context.setTransformForCurrent();\n } else if (shouldTransform3d) {\n // 如果计算了3d矩阵,那么就不需要2d矩阵计算了\n result.x = 0;\n result.y = 0;\n result.z = 0;\n context.setTransform(1, 0, 0, 1, 0, 0, true);\n } else {\n if (camera && context.project) {\n const point = graphic.getOffsetXY(graphicAttribute as ITransform);\n result.x += point.x;\n result.y += point.y;\n // result.x = 0;\n // result.y = 0;\n // 位置直接通过project设置,而2d变换通过变换矩阵完成\n this.transformWithoutTranslate(context, result.x, result.y, result.z, scaleX, scaleY, angle);\n } else {\n // 如果是纯2d的情况,那么直接设置context的2d矩阵\n // 性能较差\n context.transformFromMatrix(graphic.transMatrix, true);\n result.x = 0;\n result.y = 0;\n result.z = 0;\n }\n }\n\n return result;\n }\n\n /**\n * 将3d的transform转成context2d的transform\n * @param graphic\n * @param graphicAttribute\n * @param z\n * @param context\n */\n transformUseContext2d(graphic: IGraphic, graphicAttribute: IGraphicAttribute, z: number, context: IContext2d) {\n const camera = context.camera;\n this.camera = camera;\n if (camera) {\n const bounds = graphic.AABBBounds;\n const width = bounds.x2 - bounds.x1;\n const height = bounds.y2 - bounds.y1;\n const p1 = context.project(0, 0, z);\n const p2 = context.project(width, 0, z);\n const p3 = context.project(width, height, z);\n const _p1 = { x: 0, y: 0 };\n const _p2 = { x: width, y: 0 };\n const _p3 = { x: width, y: height };\n\n context.camera = null;\n\n // 生成3维矩阵\n /* Adapted from phoria.js by ecomfe\n * https://github.com/kevinroast/phoria.js\n * Licensed under the BSD-3-Clause\n\n * url: https://github.com/kevinroast/phoria.js/blob/736c6b854a679df180f8a6e689aeb218efa6dc01/scripts/phoria-renderer.js\n * License: https://github.com/kevinroast/phoria.js/blob/master/LICENSE\n * @license\n */\n const denom = 1.0 / (_p1.x * (_p3.y - _p2.y) - _p2.x * _p3.y + _p3.x * _p2.y + (_p2.x - _p3.x) * _p1.y);\n // calculate context transformation matrix\n const m11 = -(_p1.y * (p3.x - p2.x) - _p2.y * p3.x + _p3.y * p2.x + (_p2.y - _p3.y) * p1.x) * denom;\n const m12 = (_p2.y * p3.y + _p1.y * (p2.y - p3.y) - _p3.y * p2.y + (_p3.y - _p2.y) * p1.y) * denom;\n const m21 = (_p1.x * (p3.x - p2.x) - _p2.x * p3.x + _p3.x * p2.x + (_p2.x - _p3.x) * p1.x) * denom;\n const m22 = -(_p2.x * p3.y + _p1.x * (p2.y - p3.y) - _p3.x * p2.y + (_p3.x - _p2.x) * p1.y) * denom;\n const dx =\n (_p1.x * (_p3.y * p2.x - _p2.y * p3.x) +\n _p1.y * (_p2.x * p3.x - _p3.x * p2.x) +\n (_p3.x * _p2.y - _p2.x * _p3.y) * p1.x) *\n denom;\n const dy =\n (_p1.x * (_p3.y * p2.y - _p2.y * p3.y) +\n _p1.y * (_p2.x * p3.y - _p3.x * p2.y) +\n (_p3.x * _p2.y - _p2.x * _p3.y) * p1.y) *\n denom;\n\n context.setTransform(m11, m12, m21, m22, dx, dy, true);\n }\n }\n\n /**\n * transformUseContext2d的后处理\n * @param graphic\n * @param graphicAttribute\n * @param z\n * @param context\n */\n restoreTransformUseContext2d(graphic: IGraphic, graphicAttribute: IGraphicAttribute, z: number, context: IContext2d) {\n if (this.camera) {\n context.camera = this.camera;\n }\n }\n\n protected transformWithoutTranslate(\n context: IContext2d,\n x: number,\n y: number,\n z: number,\n scaleX: number,\n scaleY: number,\n angle: number\n ) {\n const p = context.project(x, y, z);\n context.translate(p.x, p.y, false);\n context.scale(scaleX, scaleY, false);\n context.rotate(angle, false);\n context.translate(-p.x, -p.y, false);\n context.setTransformForCurrent();\n }\n\n _draw(\n graphic: T,\n defaultAttr: IGraphicAttribute,\n computed3dMatrix: boolean,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n themeAttribute?: IGraphicAttribute\n ) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n // 如果hide,直接跳过后续绘制\n const { renderable } = graphic.attribute;\n if (renderable === false) {\n return;\n }\n\n context.highPerformanceSave();\n\n const data = this.transform(graphic, defaultAttr, context, computed3dMatrix);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n if (this.drawPathProxy(graphic, context, x, y, drawContext, params)) {\n context.highPerformanceRestore();\n return;\n }\n\n this.drawShape(graphic, context, x, y, drawContext, params, null, null, themeAttribute);\n this.z = 0;\n\n if (context.modelMatrix !== lastModelMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n drawShape?(\n path: T,\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 themeAttribute?: IGraphicAttribute\n ): void;\n\n // abstract drawShape(\n // graphic: T,\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 // ): void;\n\n // drawPathProxy(\n // graphic: T,\n // context: IContext2d,\n // x: number,\n // y: number,\n // drawContext: IDrawContext,\n // params?: IGraphicRenderDrawParams,\n // fillCb?: (\n // ctx: IContext2d,\n // markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n // themeAttribute: IThemeAttribute\n // ) => boolean,\n // strokeCb?: (\n // ctx: IContext2d,\n // markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n // themeAttribute: IThemeAttribute\n // ) => boolean\n // ) {\n // if (!graphic.pathProxy) {\n // return false;\n // }\n\n // const themeAttributes = getTheme(graphic)[graphic.type];\n\n // const {\n // fill = themeAttributes.fill == null ? !!graphic.attribute.fillColor : themeAttributes.fill,\n // stroke = themeAttributes.stroke == null ? !!graphic.attribute.strokeColor : themeAttributes.stroke,\n // opacity = themeAttributes.opacity,\n // fillOpacity = themeAttributes.fillOpacity,\n // lineWidth = themeAttributes.lineWidth,\n // strokeOpacity = themeAttributes.strokeOpacity,\n // visible = themeAttributes.visible\n // } = graphic.attribute;\n // // 不绘制或者透明\n // const fVisible = fillVisible(opacity, fillOpacity);\n // const sVisible = strokeVisible(opacity, strokeOpacity);\n // const doFill = runFill(fill);\n // const doStroke = runStroke(stroke, lineWidth);\n\n // if (!visible) {\n // return true;\n // }\n\n // if (!(doFill || doStroke)) {\n // return true;\n // }\n\n // // 如果存在fillCb和strokeCb,那就不直接跳过\n // if (!(fVisible || sVisible || fillCb || strokeCb)) {\n // return true;\n // }\n\n // context.beginPath();\n\n // const path = typeof graphic.pathProxy === 'function' ? graphic.pathProxy(graphic.attribute) : graphic.pathProxy;\n // renderCommandList(path.commandList, context, x, y);\n\n // // shadow\n // context.setShadowBlendStyle && context.setShadowBlendStyle(graphic, graphic.attribute, themeAttributes);\n\n // if (doStroke) {\n // if (strokeCb) {\n // strokeCb(context, graphic.attribute, themeAttributes);\n // } else if (sVisible) {\n // context.setStrokeStyle(graphic, graphic.attribute, 0, 0, themeAttributes);\n // context.stroke();\n // }\n // }\n // if (doFill) {\n // if (fillCb) {\n // fillCb(context, graphic.attribute, themeAttributes);\n // } else if (fVisible) {\n // context.setCommonStyle(graphic, graphic.attribute, 0, 0, themeAttributes);\n // context.fill();\n // }\n // }\n // return true;\n // }\n}\n"]}
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.circleModule = void 0;
|
|
5
|
+
}), exports.circleModule = exports.bindCircleRenderModule = void 0;
|
|
6
6
|
|
|
7
|
-
const contribution_provider_1 = require("../../../common/contribution-provider"),
|
|
7
|
+
const contribution_provider_1 = require("../../../common/contribution-provider"), circle_render_1 = require("./circle-render"), contributions_1 = require("./contributions"), constants_1 = require("./contributions/constants"), symbol_1 = require("./symbol");
|
|
8
8
|
|
|
9
9
|
let loadCircleModule = !1;
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
function bindCircleRenderModule({bind: bind}) {
|
|
12
12
|
loadCircleModule || (loadCircleModule = !0, bind(circle_render_1.DefaultCanvasCircleRender).toSelf().inSingletonScope(),
|
|
13
13
|
bind(symbol_1.CircleRender).to(circle_render_1.DefaultCanvasCircleRender).inSingletonScope(),
|
|
14
14
|
bind(symbol_1.GraphicRender).toService(symbol_1.CircleRender), bind(constants_1.CircleRenderContribution).toService(contributions_1.DefaultBaseInteractiveRenderContribution),
|
|
15
15
|
(0, contribution_provider_1.bindContributionProvider)(bind, constants_1.CircleRenderContribution));
|
|
16
|
-
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.bindCircleRenderModule = bindCircleRenderModule, exports.circleModule = bindCircleRenderModule;
|
|
17
19
|
//# sourceMappingURL=circle-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/circle-module.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/circle-module.ts"],"names":[],"mappings":";;;AAAA,iFAAiF;AACjF,mDAA4D;AAC5D,mDAA2E;AAC3E,yDAAqE;AACrE,qCAAuD;AAEvD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,SAAgB,sBAAsB,CAAC,EAAE,IAAI,EAAiB;IAC5D,IAAI,gBAAgB,EAAE;QACpB,OAAO;KACR;IACD,gBAAgB,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,yCAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,qBAAY,CAAC,CAAC,EAAE,CAAC,yCAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACpE,IAAI,CAAC,sBAAa,CAAC,CAAC,SAAS,CAAC,qBAAY,CAAC,CAAC;IAC5C,IAAI,CAAC,oCAAwB,CAAC,CAAC,SAAS,CAAC,wDAAwC,CAAC,CAAC;IAGnF,IAAA,gDAAwB,EAAC,IAAI,EAAE,oCAAwB,CAAC,CAAC;AAC3D,CAAC;AAbD,wDAaC;AAEY,QAAA,YAAY,GAAG,sBAAsB,CAAC","file":"circle-module.js","sourcesContent":["import { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultBaseInteractiveRenderContribution } from './contributions';\nimport { CircleRenderContribution } from './contributions/constants';\nimport { CircleRender, GraphicRender } from './symbol';\n\nlet loadCircleModule = false;\nexport function bindCircleRenderModule({ bind }: { bind: any }) {\n if (loadCircleModule) {\n return;\n }\n loadCircleModule = true;\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender).inSingletonScope();\n bind(GraphicRender).toService(CircleRender);\n bind(CircleRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n\n // circle 渲染器注入contributions\n bindContributionProvider(bind, CircleRenderContribution);\n}\n\nexport const circleModule = bindCircleRenderModule;\n"]}
|
|
@@ -1,24 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
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);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
}, __metadata = this && this.__metadata || function(k, v) {
|
|
8
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
9
|
-
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
10
|
-
return function(target, key) {
|
|
11
|
-
decorator(target, key, paramIndex);
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
3
|
Object.defineProperty(exports, "__esModule", {
|
|
16
4
|
value: !0
|
|
17
5
|
}), exports.DefaultCanvasCircleRender = void 0;
|
|
18
6
|
|
|
19
|
-
const
|
|
7
|
+
const theme_1 = require("../../../graphic/theme"), constants_1 = require("../../../graphic/constants"), base_render_1 = require("./base-render"), contributions_1 = require("./contributions");
|
|
20
8
|
|
|
21
|
-
|
|
9
|
+
class DefaultCanvasCircleRender extends base_render_1.BaseRender {
|
|
22
10
|
constructor(graphicRenderContributions) {
|
|
23
11
|
super(), this.graphicRenderContributions = graphicRenderContributions, this.numberType = constants_1.CIRCLE_NUMBER_TYPE,
|
|
24
12
|
this.builtinContributions = [ contributions_1.defaultCircleRenderContribution, contributions_1.defaultCircleBackgroundRenderContribution, contributions_1.defaultCircleTextureRenderContribution ],
|
|
@@ -44,10 +32,7 @@ let DefaultCanvasCircleRender = class extends base_render_1.BaseRender {
|
|
|
44
32
|
const circleAttribute = (0, theme_1.getTheme)(circle, null == params ? void 0 : params.theme).circle;
|
|
45
33
|
this._draw(circle, circleAttribute, !1, drawContext, params);
|
|
46
34
|
}
|
|
47
|
-
}
|
|
35
|
+
}
|
|
48
36
|
|
|
49
|
-
DefaultCanvasCircleRender = __decorate([ (0, inversify_lite_1.injectable)(), __param(0, (0,
|
|
50
|
-
inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
|
|
51
|
-
inversify_lite_1.named)(constants_2.CircleRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasCircleRender),
|
|
52
37
|
exports.DefaultCanvasCircleRender = DefaultCanvasCircleRender;
|
|
53
38
|
//# sourceMappingURL=circle-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/circle-render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/circle-render.ts"],"names":[],"mappings":"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","file":"circle-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n ICircle,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n ICircleRenderContribution,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n IContributionProvider\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { CIRCLE_NUMBER_TYPE } from '../../../graphic/constants';\nimport { CircleRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultCircleBackgroundRenderContribution,\n defaultCircleRenderContribution,\n defaultCircleTextureRenderContribution\n} from './contributions';\n\nexport class DefaultCanvasCircleRender extends BaseRender<ICircle> implements IGraphicRender {\n type: 'circle';\n numberType: number = CIRCLE_NUMBER_TYPE;\n\n constructor(protected readonly graphicRenderContributions: IContributionProvider<ICircleRenderContribution>) {\n super();\n this.builtinContributions = [\n defaultCircleRenderContribution,\n defaultCircleBackgroundRenderContribution,\n defaultCircleTextureRenderContribution\n ];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n circle: ICircle,\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 circleAttribute = graphicService.themeService.getCurrentTheme().circleAttribute;\n const circleAttribute = getTheme(circle, params?.theme).circle;\n const {\n radius = circleAttribute.radius,\n startAngle = circleAttribute.startAngle,\n endAngle = circleAttribute.endAngle,\n x: originX = circleAttribute.x,\n y: originY = circleAttribute.y,\n fillStrokeOrder = circleAttribute.fillStrokeOrder\n } = circle.attribute;\n\n const data = this.valid(circle, circleAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n context.arc(x, y, radius, startAngle, endAngle);\n context.closePath();\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(circle, circle.attribute, circleAttribute);\n\n this.beforeRenderStep(\n circle,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n circleAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, circle.attribute, circleAttribute);\n } else if (fVisible) {\n context.setCommonStyle(circle, circle.attribute, originX - x, originY - y, circleAttribute);\n context.fill();\n }\n }\n };\n\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, circle.attribute, circleAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(circle, circle.attribute, originX - x, originY - y, circleAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n circle,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n circleAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(circle: ICircle, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const circleAttribute = getTheme(circle, params?.theme).circle;\n this._draw(circle, circleAttribute, false, drawContext, params);\n }\n}\n"]}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
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);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
}, __metadata = this && this.__metadata || function(k, v) {
|
|
8
|
-
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
|
|
9
|
-
}, __param = this && this.__param || function(paramIndex, decorator) {
|
|
10
|
-
return function(target, key) {
|
|
11
|
-
decorator(target, key, paramIndex);
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
3
|
Object.defineProperty(exports, "__esModule", {
|
|
16
4
|
value: !0
|
|
17
5
|
}), exports.defaultBaseClipRenderAfterContribution = exports.DefaultBaseClipRenderAfterContribution = exports.defaultBaseClipRenderBeforeContribution = exports.DefaultBaseClipRenderBeforeContribution = exports.DefaultBaseInteractiveRenderContribution = exports.drawBackgroundImage = exports.resolveRenderableImageSize = exports.resolveBackgroundPosition = exports.resolveBackgroundDrawMode = exports.isNoRepeatSizingMode = exports.resolveBackgroundSizing = exports.getBackgroundImage = exports.defaultBaseBackgroundRenderContribution = exports.DefaultBaseBackgroundRenderContribution = void 0;
|
|
18
6
|
|
|
19
|
-
const
|
|
7
|
+
const theme_1 = require("../../../../graphic/theme"), canvas_allocate_1 = require("../../../../allocator/canvas-allocate"), enums_1 = require("../../../../common/enums");
|
|
20
8
|
|
|
21
9
|
class DefaultBaseBackgroundRenderContribution {
|
|
22
10
|
constructor() {
|
|
@@ -197,7 +185,7 @@ function drawBackgroundImage(context, data, b, params) {
|
|
|
197
185
|
exports.resolveBackgroundDrawMode = resolveBackgroundDrawMode, exports.resolveBackgroundPosition = resolveBackgroundPosition,
|
|
198
186
|
exports.resolveRenderableImageSize = resolveRenderableImageSize, exports.drawBackgroundImage = drawBackgroundImage;
|
|
199
187
|
|
|
200
|
-
|
|
188
|
+
class DefaultBaseInteractiveRenderContribution {
|
|
201
189
|
constructor(subRenderContribitions) {
|
|
202
190
|
this.subRenderContribitions = subRenderContribitions, this.time = enums_1.BaseRenderContributionTime.afterFillStroke,
|
|
203
191
|
this.useStyle = !0, this.order = 0;
|
|
@@ -208,11 +196,8 @@ let DefaultBaseInteractiveRenderContribution = class {
|
|
|
208
196
|
c.render(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options);
|
|
209
197
|
}));
|
|
210
198
|
}
|
|
211
|
-
}
|
|
199
|
+
}
|
|
212
200
|
|
|
213
|
-
DefaultBaseInteractiveRenderContribution = __decorate([ (0, inversify_lite_1.injectable)(), __param(0, (0,
|
|
214
|
-
inversify_lite_1.inject)(contribution_provider_1.ContributionProvider)), __param(0, (0,
|
|
215
|
-
inversify_lite_1.named)(constants_1.InteractiveSubRenderContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultBaseInteractiveRenderContribution),
|
|
216
201
|
exports.DefaultBaseInteractiveRenderContribution = DefaultBaseInteractiveRenderContribution;
|
|
217
202
|
|
|
218
203
|
class DefaultBaseClipRenderBeforeContribution {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/contributions/render/contributions/base-contribution-render.ts"],"names":[],"mappings":"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","file":"base-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n BackgroundSizing,\n IContext2d,\n IGraphic,\n IThemeAttribute,\n IBaseRenderContribution,\n IContributionProvider,\n IDrawContext,\n ISymbol,\n IPath,\n ISymbolGraphicAttribute\n} from '../../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../../common/inversify-lite';\nimport { getTheme } from '../../../../graphic/theme';\nimport { canvasAllocate } from '../../../../allocator/canvas-allocate';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\nimport { ContributionProvider } from '../../../../common/contribution-provider';\nimport { InteractiveSubRenderContribution } from './constants';\n\nexport class DefaultBaseBackgroundRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n const {\n background,\n backgroundOpacity = graphic.attribute.fillOpacity ?? graphicAttribute.backgroundOpacity,\n opacity = graphicAttribute.opacity,\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio,\n backgroundScale = graphicAttribute.backgroundScale,\n backgroundOffsetX = graphicAttribute.backgroundOffsetX,\n backgroundOffsetY = graphicAttribute.backgroundOffsetY,\n backgroundClip = graphicAttribute.backgroundClip,\n backgroundPosition = graphicAttribute.backgroundPosition\n } = graphic.attribute;\n if (!background) {\n return;\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(getBackgroundImage(background) as any);\n if (!res || res.state !== 'success' || !res.data) {\n return;\n }\n\n context.save();\n\n if (graphic.parent && !graphic.transMatrix.onlyTranslate()) {\n const groupAttribute = getTheme(graphic.parent).group;\n const { scrollX = groupAttribute.scrollX, scrollY = groupAttribute.scrollY } = graphic.parent.attribute;\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n context.translate(scrollX, scrollY);\n }\n backgroundClip && context.clip();\n const b = graphic.AABBBounds;\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.globalAlpha = backgroundOpacity * opacity;\n this.doDrawImage(context, res.data, b, {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale,\n backgroundOffsetX,\n backgroundOffsetY,\n backgroundPosition\n });\n context.restore();\n if (!graphic.transMatrix.onlyTranslate()) {\n context.setTransformForCurrent();\n }\n } else {\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.globalAlpha = backgroundOpacity * opacity;\n context.fillStyle = background as string;\n context.fill();\n context.highPerformanceRestore();\n }\n }\n\n protected doDrawImage(context: IContext2d, data: any, b: IBounds, params: IBackgroundImageDrawParams): void {\n drawBackgroundImage(context, data, b, params);\n }\n}\n\nexport const defaultBaseBackgroundRenderContribution = new DefaultBaseBackgroundRenderContribution();\n\nexport type IBackgroundImageDrawParams = {\n backgroundMode: IGraphicAttribute['backgroundMode'];\n backgroundFit: boolean;\n backgroundKeepAspectRatio: boolean;\n backgroundScale?: number;\n backgroundOffsetX?: number;\n backgroundOffsetY?: number;\n backgroundPosition?: IGraphicAttribute['backgroundPosition'];\n};\n\ntype BackgroundPositionValue = number | string;\n\nconst verticalPositionKeywords = new Set(['top', 'center', 'bottom']);\n\nexport function getBackgroundImage(background: any) {\n return background?.background ?? background;\n}\n\nexport function resolveBackgroundSizing({\n backgroundFit,\n backgroundKeepAspectRatio\n}: Pick<IBackgroundImageDrawParams, 'backgroundFit' | 'backgroundKeepAspectRatio'>): NonNullable<BackgroundSizing> {\n if (backgroundFit) {\n return backgroundKeepAspectRatio ? 'cover' : 'fill';\n }\n return 'auto';\n}\n\nexport function isNoRepeatSizingMode(\n mode: IGraphicAttribute['backgroundMode']\n): mode is Extract<IGraphicAttribute['backgroundMode'], `no-repeat-${string}`> {\n return typeof mode === 'string' && mode.startsWith('no-repeat-');\n}\n\nconst NO_REPEAT_SIZING_MAP: Record<string, BackgroundSizing> = {\n 'no-repeat-cover': 'cover',\n 'no-repeat-contain': 'contain',\n 'no-repeat-fill': 'fill',\n 'no-repeat-auto': 'auto'\n};\n\nexport function resolveBackgroundDrawMode({\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio\n}: Pick<IBackgroundImageDrawParams, 'backgroundMode' | 'backgroundFit' | 'backgroundKeepAspectRatio'>): {\n backgroundRepeatMode: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';\n backgroundSizing: BackgroundSizing;\n} {\n const sizing = NO_REPEAT_SIZING_MAP[backgroundMode];\n if (sizing) {\n return {\n backgroundRepeatMode: 'no-repeat',\n backgroundSizing: sizing\n };\n }\n\n return {\n backgroundRepeatMode: backgroundMode as 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat',\n backgroundSizing: resolveBackgroundSizing({\n backgroundFit,\n backgroundKeepAspectRatio\n })\n };\n}\n\nfunction isPercentageValue(value: string): boolean {\n return /^-?\\d+(\\.\\d+)?%$/.test(value);\n}\n\nfunction parsePositionToken(\n value: BackgroundPositionValue,\n remainSpace: number,\n startKeyword: 'left' | 'top',\n centerKeyword: 'center',\n endKeyword: 'right' | 'bottom'\n): number {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value;\n }\n\n const normalizedValue = `${value ?? ''}`.trim().toLowerCase();\n\n if (!normalizedValue || normalizedValue === startKeyword) {\n return 0;\n }\n if (normalizedValue === centerKeyword) {\n return remainSpace / 2;\n }\n if (normalizedValue === endKeyword) {\n return remainSpace;\n }\n if (isPercentageValue(normalizedValue)) {\n return (remainSpace * parseFloat(normalizedValue)) / 100;\n }\n\n const parsedValue = Number(normalizedValue);\n if (Number.isFinite(parsedValue)) {\n return parsedValue;\n }\n\n return 0;\n}\n\nfunction normalizeBackgroundPosition(\n position?: IGraphicAttribute['backgroundPosition']\n): [BackgroundPositionValue, BackgroundPositionValue] {\n if (Array.isArray(position)) {\n return [position[0] ?? 'left', position[1] ?? 'top'];\n }\n\n const normalizedPosition = `${position ?? 'top-left'}`.trim().toLowerCase().replace(/-/g, ' ');\n const tokens = normalizedPosition.split(/\\s+/).filter(Boolean);\n\n if (tokens.length === 0) {\n return ['left', 'top'];\n }\n\n if (tokens.length === 1) {\n const token = tokens[0];\n if (token === 'center') {\n return ['center', 'center'];\n }\n if (verticalPositionKeywords.has(token)) {\n return ['center', token];\n }\n return [token, 'center'];\n }\n\n let horizontal: BackgroundPositionValue | undefined;\n let vertical: BackgroundPositionValue | undefined;\n const genericTokens: BackgroundPositionValue[] = [];\n\n for (let i = 0; i < 2; i++) {\n const token = tokens[i];\n if (token === 'left' || token === 'right') {\n horizontal = token;\n continue;\n }\n if (token === 'top' || token === 'bottom') {\n vertical = token;\n continue;\n }\n genericTokens.push(token);\n }\n\n if (horizontal == null && genericTokens.length) {\n horizontal = genericTokens.shift();\n }\n if (vertical == null && genericTokens.length) {\n vertical = genericTokens.shift();\n }\n\n return [horizontal ?? 'left', vertical ?? 'top'];\n}\n\nexport function resolveBackgroundPosition(\n position: IGraphicAttribute['backgroundPosition'],\n remainWidth: number,\n remainHeight: number\n) {\n const [horizontalPosition, verticalPosition] = normalizeBackgroundPosition(position);\n return {\n x: parsePositionToken(horizontalPosition, remainWidth, 'left', 'center', 'right'),\n y: parsePositionToken(verticalPosition, remainHeight, 'top', 'center', 'bottom')\n };\n}\n\nfunction pickRenderableDimension(...values: any[]): number | null {\n for (const value of values) {\n if (typeof value === 'number' && Number.isFinite(value) && value > 0) {\n return value;\n }\n }\n return null;\n}\n\nexport function resolveRenderableImageSize(data: any): { width: number; height: number } | null {\n if (!data) {\n return null;\n }\n\n // DOM image-like resources may expose intrinsic size on naturalWidth/videoWidth\n // while width/height stays 0, so prefer intrinsic dimensions when available.\n const width = pickRenderableDimension(data.naturalWidth, data.videoWidth, data.width);\n const height = pickRenderableDimension(data.naturalHeight, data.videoHeight, data.height);\n\n if (width == null || height == null) {\n return null;\n }\n\n return { width, height };\n}\n\nexport function drawBackgroundImage(\n context: IContext2d,\n data: any,\n b: IBounds,\n params: IBackgroundImageDrawParams\n): void {\n const {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale = 1,\n backgroundOffsetX = 0,\n backgroundOffsetY = 0,\n backgroundPosition = 'top-left'\n } = params;\n const targetW = b.width();\n const targetH = b.height();\n const sourceSize = resolveRenderableImageSize(data);\n const { backgroundRepeatMode, backgroundSizing: resolvedBackgroundSizing } = resolveBackgroundDrawMode({\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio\n });\n let w = targetW;\n let h = targetH;\n\n if (targetW <= 0 || targetH <= 0) {\n return;\n }\n\n if (backgroundRepeatMode === 'no-repeat') {\n let drawWidth = sourceSize?.width ?? targetW;\n let drawHeight = sourceSize?.height ?? targetH;\n\n if ((resolvedBackgroundSizing === 'cover' || resolvedBackgroundSizing === 'contain') && sourceSize) {\n const scale =\n resolvedBackgroundSizing === 'cover'\n ? Math.max(targetW / sourceSize.width, targetH / sourceSize.height)\n : Math.min(targetW / sourceSize.width, targetH / sourceSize.height);\n drawWidth = sourceSize.width * scale;\n drawHeight = sourceSize.height * scale;\n } else if (resolvedBackgroundSizing === 'fill') {\n drawWidth = targetW;\n drawHeight = targetH;\n }\n\n drawWidth *= backgroundScale;\n drawHeight *= backgroundScale;\n\n const { x, y } = resolveBackgroundPosition(backgroundPosition, targetW - drawWidth, targetH - drawHeight);\n context.drawImage(data, b.x1 + x + backgroundOffsetX, b.y1 + y + backgroundOffsetY, drawWidth, drawHeight);\n return;\n }\n\n // TODO 考虑缓存\n if (backgroundFit && backgroundRepeatMode !== 'repeat' && sourceSize) {\n const resW = sourceSize.width;\n const resH = sourceSize.height;\n\n if (backgroundRepeatMode === 'repeat-x') {\n // 高度适应\n const ratio = targetH / resH;\n w = resW * ratio;\n h = targetH;\n } else if (backgroundRepeatMode === 'repeat-y') {\n // 宽度适应\n const ratio = targetW / resW;\n h = resH * ratio;\n w = targetW;\n }\n\n const dpr = context.dpr;\n const canvas = canvasAllocate.allocate({ width: w, height: h, dpr });\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, w, h);\n ctx.drawImage(data, 0, 0, w, h);\n data = canvas.nativeCanvas;\n }\n canvasAllocate.free(canvas);\n }\n const dpr = context.dpr;\n const pattern = context.createPattern(data, backgroundRepeatMode);\n pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0]));\n context.fillStyle = pattern;\n context.translate(b.x1, b.y1);\n context.fillRect(0, 0, targetW, targetH);\n context.translate(-b.x1, -b.y1);\n}\n\nexport interface IInteractiveSubRenderContribution {\n render: (\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) => void;\n}\n\n@injectable()\nexport class DefaultBaseInteractiveRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n\n _subRenderContribitions?: IInteractiveSubRenderContribution[];\n constructor(\n @inject(ContributionProvider)\n @named(InteractiveSubRenderContribution)\n protected readonly subRenderContribitions: IContributionProvider<IInteractiveSubRenderContribution>\n ) {}\n\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n if (!this._subRenderContribitions) {\n this._subRenderContribitions = this.subRenderContribitions.getContributions();\n }\n this._subRenderContribitions.forEach(c => {\n c.render(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n options\n );\n });\n }\n}\n\nexport class DefaultBaseClipRenderBeforeContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IGraphicAttribute>,\n themeAttribute: IThemeAttribute,\n final?: boolean\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IGraphicAttribute>,\n themeAttribute: IThemeAttribute,\n final?: boolean\n ) => boolean,\n options?: any\n ) {\n const { clipConfig } = graphic.attribute;\n if (!clipConfig) {\n return;\n }\n const clipPath = graphic.getClipPath();\n if (!clipPath) {\n return;\n }\n const draw = !(fillCb || strokeCb);\n const b = graphic.AABBBounds;\n const width = (graphic.attribute as any).width ?? b.width();\n const height = (graphic.attribute as any).height ?? b.height();\n if (draw) {\n context.save();\n }\n context.beginPath();\n if (clipPath.draw(context, [width, height], x + width / 2, y + height / 2, 0) === false) {\n context.closePath();\n }\n if (fillCb) {\n fillCb(context, graphic.attribute, graphicAttribute, true);\n }\n\n if (draw) {\n context.clip();\n }\n }\n}\n\nexport const defaultBaseClipRenderBeforeContribution = new DefaultBaseClipRenderBeforeContribution();\nexport class DefaultBaseClipRenderAfterContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n const { clipConfig } = graphic.attribute;\n if (!clipConfig) {\n return;\n }\n const clipPath = graphic.getClipPath();\n if (!clipPath) {\n return;\n }\n if (!(fillCb || strokeCb)) {\n context.restore();\n }\n }\n}\n\nexport const defaultBaseClipRenderAfterContribution = new DefaultBaseClipRenderAfterContribution();\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/render/contributions/render/contributions/base-contribution-render.ts"],"names":[],"mappings":"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","file":"base-contribution-render.js","sourcesContent":["import type {\n IGraphicAttribute,\n BackgroundSizing,\n IContext2d,\n IGraphic,\n IThemeAttribute,\n IBaseRenderContribution,\n IContributionProvider,\n IDrawContext\n} from '../../../../interface';\nimport type { IBounds } from '@visactor/vutils';\nimport { getTheme } from '../../../../graphic/theme';\nimport { canvasAllocate } from '../../../../allocator/canvas-allocate';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\nexport class DefaultBaseBackgroundRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n const {\n background,\n backgroundOpacity = graphic.attribute.fillOpacity ?? graphicAttribute.backgroundOpacity,\n opacity = graphicAttribute.opacity,\n backgroundMode = graphicAttribute.backgroundMode,\n backgroundFit = graphicAttribute.backgroundFit,\n backgroundKeepAspectRatio = graphicAttribute.backgroundKeepAspectRatio,\n backgroundScale = graphicAttribute.backgroundScale,\n backgroundOffsetX = graphicAttribute.backgroundOffsetX,\n backgroundOffsetY = graphicAttribute.backgroundOffsetY,\n backgroundClip = graphicAttribute.backgroundClip,\n backgroundPosition = graphicAttribute.backgroundPosition\n } = graphic.attribute;\n if (!background) {\n return;\n }\n\n if (graphic.backgroundImg && graphic.resources) {\n const res = graphic.resources.get(getBackgroundImage(background) as any);\n if (!res || res.state !== 'success' || !res.data) {\n return;\n }\n\n context.save();\n\n if (graphic.parent && !graphic.transMatrix.onlyTranslate()) {\n const groupAttribute = getTheme(graphic.parent).group;\n const { scrollX = groupAttribute.scrollX, scrollY = groupAttribute.scrollY } = graphic.parent.attribute;\n context.setTransformFromMatrix(graphic.parent.globalTransMatrix, true);\n context.translate(scrollX, scrollY);\n }\n backgroundClip && context.clip();\n const b = graphic.AABBBounds;\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.globalAlpha = backgroundOpacity * opacity;\n this.doDrawImage(context, res.data, b, {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale,\n backgroundOffsetX,\n backgroundOffsetY,\n backgroundPosition\n });\n context.restore();\n if (!graphic.transMatrix.onlyTranslate()) {\n context.setTransformForCurrent();\n }\n } else {\n context.highPerformanceSave();\n context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);\n context.globalAlpha = backgroundOpacity * opacity;\n context.fillStyle = background as string;\n context.fill();\n context.highPerformanceRestore();\n }\n }\n\n protected doDrawImage(context: IContext2d, data: any, b: IBounds, params: IBackgroundImageDrawParams): void {\n drawBackgroundImage(context, data, b, params);\n }\n}\n\nexport const defaultBaseBackgroundRenderContribution = new DefaultBaseBackgroundRenderContribution();\n\nexport type IBackgroundImageDrawParams = {\n backgroundMode: IGraphicAttribute['backgroundMode'];\n backgroundFit: boolean;\n backgroundKeepAspectRatio: boolean;\n backgroundScale?: number;\n backgroundOffsetX?: number;\n backgroundOffsetY?: number;\n backgroundPosition?: IGraphicAttribute['backgroundPosition'];\n};\n\ntype BackgroundPositionValue = number | string;\n\nconst verticalPositionKeywords = new Set(['top', 'center', 'bottom']);\n\nexport function getBackgroundImage(background: any) {\n return background?.background ?? background;\n}\n\nexport function resolveBackgroundSizing({\n backgroundFit,\n backgroundKeepAspectRatio\n}: Pick<IBackgroundImageDrawParams, 'backgroundFit' | 'backgroundKeepAspectRatio'>): NonNullable<BackgroundSizing> {\n if (backgroundFit) {\n return backgroundKeepAspectRatio ? 'cover' : 'fill';\n }\n return 'auto';\n}\n\nexport function isNoRepeatSizingMode(\n mode: IGraphicAttribute['backgroundMode']\n): mode is Extract<IGraphicAttribute['backgroundMode'], `no-repeat-${string}`> {\n return typeof mode === 'string' && mode.startsWith('no-repeat-');\n}\n\nconst NO_REPEAT_SIZING_MAP: Record<string, BackgroundSizing> = {\n 'no-repeat-cover': 'cover',\n 'no-repeat-contain': 'contain',\n 'no-repeat-fill': 'fill',\n 'no-repeat-auto': 'auto'\n};\n\nexport function resolveBackgroundDrawMode({\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio\n}: Pick<IBackgroundImageDrawParams, 'backgroundMode' | 'backgroundFit' | 'backgroundKeepAspectRatio'>): {\n backgroundRepeatMode: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat';\n backgroundSizing: BackgroundSizing;\n} {\n const sizing = NO_REPEAT_SIZING_MAP[backgroundMode];\n if (sizing) {\n return {\n backgroundRepeatMode: 'no-repeat',\n backgroundSizing: sizing\n };\n }\n\n return {\n backgroundRepeatMode: backgroundMode as 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat',\n backgroundSizing: resolveBackgroundSizing({\n backgroundFit,\n backgroundKeepAspectRatio\n })\n };\n}\n\nfunction isPercentageValue(value: string): boolean {\n return /^-?\\d+(\\.\\d+)?%$/.test(value);\n}\n\nfunction parsePositionToken(\n value: BackgroundPositionValue,\n remainSpace: number,\n startKeyword: 'left' | 'top',\n centerKeyword: 'center',\n endKeyword: 'right' | 'bottom'\n): number {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value;\n }\n\n const normalizedValue = `${value ?? ''}`.trim().toLowerCase();\n\n if (!normalizedValue || normalizedValue === startKeyword) {\n return 0;\n }\n if (normalizedValue === centerKeyword) {\n return remainSpace / 2;\n }\n if (normalizedValue === endKeyword) {\n return remainSpace;\n }\n if (isPercentageValue(normalizedValue)) {\n return (remainSpace * parseFloat(normalizedValue)) / 100;\n }\n\n const parsedValue = Number(normalizedValue);\n if (Number.isFinite(parsedValue)) {\n return parsedValue;\n }\n\n return 0;\n}\n\nfunction normalizeBackgroundPosition(\n position?: IGraphicAttribute['backgroundPosition']\n): [BackgroundPositionValue, BackgroundPositionValue] {\n if (Array.isArray(position)) {\n return [position[0] ?? 'left', position[1] ?? 'top'];\n }\n\n const normalizedPosition = `${position ?? 'top-left'}`.trim().toLowerCase().replace(/-/g, ' ');\n const tokens = normalizedPosition.split(/\\s+/).filter(Boolean);\n\n if (tokens.length === 0) {\n return ['left', 'top'];\n }\n\n if (tokens.length === 1) {\n const token = tokens[0];\n if (token === 'center') {\n return ['center', 'center'];\n }\n if (verticalPositionKeywords.has(token)) {\n return ['center', token];\n }\n return [token, 'center'];\n }\n\n let horizontal: BackgroundPositionValue | undefined;\n let vertical: BackgroundPositionValue | undefined;\n const genericTokens: BackgroundPositionValue[] = [];\n\n for (let i = 0; i < 2; i++) {\n const token = tokens[i];\n if (token === 'left' || token === 'right') {\n horizontal = token;\n continue;\n }\n if (token === 'top' || token === 'bottom') {\n vertical = token;\n continue;\n }\n genericTokens.push(token);\n }\n\n if (horizontal == null && genericTokens.length) {\n horizontal = genericTokens.shift();\n }\n if (vertical == null && genericTokens.length) {\n vertical = genericTokens.shift();\n }\n\n return [horizontal ?? 'left', vertical ?? 'top'];\n}\n\nexport function resolveBackgroundPosition(\n position: IGraphicAttribute['backgroundPosition'],\n remainWidth: number,\n remainHeight: number\n) {\n const [horizontalPosition, verticalPosition] = normalizeBackgroundPosition(position);\n return {\n x: parsePositionToken(horizontalPosition, remainWidth, 'left', 'center', 'right'),\n y: parsePositionToken(verticalPosition, remainHeight, 'top', 'center', 'bottom')\n };\n}\n\nfunction pickRenderableDimension(...values: any[]): number | null {\n for (const value of values) {\n if (typeof value === 'number' && Number.isFinite(value) && value > 0) {\n return value;\n }\n }\n return null;\n}\n\nexport function resolveRenderableImageSize(data: any): { width: number; height: number } | null {\n if (!data) {\n return null;\n }\n\n // DOM image-like resources may expose intrinsic size on naturalWidth/videoWidth\n // while width/height stays 0, so prefer intrinsic dimensions when available.\n const width = pickRenderableDimension(data.naturalWidth, data.videoWidth, data.width);\n const height = pickRenderableDimension(data.naturalHeight, data.videoHeight, data.height);\n\n if (width == null || height == null) {\n return null;\n }\n\n return { width, height };\n}\n\nexport function drawBackgroundImage(\n context: IContext2d,\n data: any,\n b: IBounds,\n params: IBackgroundImageDrawParams\n): void {\n const {\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio,\n backgroundScale = 1,\n backgroundOffsetX = 0,\n backgroundOffsetY = 0,\n backgroundPosition = 'top-left'\n } = params;\n const targetW = b.width();\n const targetH = b.height();\n const sourceSize = resolveRenderableImageSize(data);\n const { backgroundRepeatMode, backgroundSizing: resolvedBackgroundSizing } = resolveBackgroundDrawMode({\n backgroundMode,\n backgroundFit,\n backgroundKeepAspectRatio\n });\n let w = targetW;\n let h = targetH;\n\n if (targetW <= 0 || targetH <= 0) {\n return;\n }\n\n if (backgroundRepeatMode === 'no-repeat') {\n let drawWidth = sourceSize?.width ?? targetW;\n let drawHeight = sourceSize?.height ?? targetH;\n\n if ((resolvedBackgroundSizing === 'cover' || resolvedBackgroundSizing === 'contain') && sourceSize) {\n const scale =\n resolvedBackgroundSizing === 'cover'\n ? Math.max(targetW / sourceSize.width, targetH / sourceSize.height)\n : Math.min(targetW / sourceSize.width, targetH / sourceSize.height);\n drawWidth = sourceSize.width * scale;\n drawHeight = sourceSize.height * scale;\n } else if (resolvedBackgroundSizing === 'fill') {\n drawWidth = targetW;\n drawHeight = targetH;\n }\n\n drawWidth *= backgroundScale;\n drawHeight *= backgroundScale;\n\n const { x, y } = resolveBackgroundPosition(backgroundPosition, targetW - drawWidth, targetH - drawHeight);\n context.drawImage(data, b.x1 + x + backgroundOffsetX, b.y1 + y + backgroundOffsetY, drawWidth, drawHeight);\n return;\n }\n\n // TODO 考虑缓存\n if (backgroundFit && backgroundRepeatMode !== 'repeat' && sourceSize) {\n const resW = sourceSize.width;\n const resH = sourceSize.height;\n\n if (backgroundRepeatMode === 'repeat-x') {\n // 高度适应\n const ratio = targetH / resH;\n w = resW * ratio;\n h = targetH;\n } else if (backgroundRepeatMode === 'repeat-y') {\n // 宽度适应\n const ratio = targetW / resW;\n h = resH * ratio;\n w = targetW;\n }\n\n const dpr = context.dpr;\n const canvas = canvasAllocate.allocate({ width: w, height: h, dpr });\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.inuse = true;\n ctx.clearMatrix();\n ctx.setTransformForCurrent(true);\n ctx.clearRect(0, 0, w, h);\n ctx.drawImage(data, 0, 0, w, h);\n data = canvas.nativeCanvas;\n }\n canvasAllocate.free(canvas);\n }\n const dpr = context.dpr;\n const pattern = context.createPattern(data, backgroundRepeatMode);\n pattern.setTransform && pattern.setTransform(new DOMMatrix([1 / dpr, 0, 0, 1 / dpr, 0, 0]));\n context.fillStyle = pattern;\n context.translate(b.x1, b.y1);\n context.fillRect(0, 0, targetW, targetH);\n context.translate(-b.x1, -b.y1);\n}\n\nexport interface IInteractiveSubRenderContribution {\n render: (\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) => void;\n}\n\nexport class DefaultBaseInteractiveRenderContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n\n _subRenderContribitions?: IInteractiveSubRenderContribution[];\n constructor(protected readonly subRenderContribitions: IContributionProvider<IInteractiveSubRenderContribution>) {}\n\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n if (!this._subRenderContribitions) {\n this._subRenderContribitions = this.subRenderContribitions.getContributions();\n }\n this._subRenderContribitions.forEach(c => {\n c.render(\n graphic,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n graphicAttribute,\n drawContext,\n fillCb,\n strokeCb,\n options\n );\n });\n }\n}\n\nexport class DefaultBaseClipRenderBeforeContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IGraphicAttribute>,\n themeAttribute: IThemeAttribute,\n final?: boolean\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IGraphicAttribute>,\n themeAttribute: IThemeAttribute,\n final?: boolean\n ) => boolean,\n options?: any\n ) {\n const { clipConfig } = graphic.attribute;\n if (!clipConfig) {\n return;\n }\n const clipPath = graphic.getClipPath();\n if (!clipPath) {\n return;\n }\n const draw = !(fillCb || strokeCb);\n const b = graphic.AABBBounds;\n const width = (graphic.attribute as any).width ?? b.width();\n const height = (graphic.attribute as any).height ?? b.height();\n if (draw) {\n context.save();\n }\n context.beginPath();\n if (clipPath.draw(context, [width, height], x + width / 2, y + height / 2, 0) === false) {\n context.closePath();\n }\n if (fillCb) {\n fillCb(context, graphic.attribute, graphicAttribute, true);\n }\n\n if (draw) {\n context.clip();\n }\n }\n}\n\nexport const defaultBaseClipRenderBeforeContribution = new DefaultBaseClipRenderBeforeContribution();\nexport class DefaultBaseClipRenderAfterContribution implements IBaseRenderContribution<IGraphic, IGraphicAttribute> {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n graphic: IGraphic,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n graphicAttribute: Required<IGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n strokeCb?: (ctx: IContext2d, markAttribute: Partial<IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean,\n options?: any\n ) {\n const { clipConfig } = graphic.attribute;\n if (!clipConfig) {\n return;\n }\n const clipPath = graphic.getClipPath();\n if (!clipPath) {\n return;\n }\n if (!(fillCb || strokeCb)) {\n context.restore();\n }\n }\n}\n\nexport const defaultBaseClipRenderAfterContribution = new DefaultBaseClipRenderAfterContribution();\n"]}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
|
|
4
|
-
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
|
|
5
|
-
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);
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
3
|
Object.defineProperty(exports, "__esModule", {
|
|
10
4
|
value: !0
|
|
11
5
|
}), exports.defaultRectBackgroundRenderContribution = exports.defaultRectTextureRenderContribution = exports.defaultRectRenderContribution = exports.SplitRectAfterRenderContribution = exports.SplitRectBeforeRenderContribution = exports.DefaultRectRenderContribution = void 0;
|
|
12
6
|
|
|
13
|
-
const vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), canvas_utils_1 = require("../../../../common/canvas-utils"), base_contribution_render_1 = require("./base-contribution-render"), rect_1 = require("../../../../common/shape/rect"), enums_1 = require("../../../../common/enums"), base_texture_contribution_render_1 = require("./base-texture-contribution-render");
|
|
14
8
|
|
|
15
9
|
class DefaultRectRenderContribution {
|
|
16
10
|
constructor() {
|
|
@@ -42,7 +36,7 @@ class DefaultRectRenderContribution {
|
|
|
42
36
|
|
|
43
37
|
exports.DefaultRectRenderContribution = DefaultRectRenderContribution;
|
|
44
38
|
|
|
45
|
-
|
|
39
|
+
class SplitRectBeforeRenderContribution {
|
|
46
40
|
constructor() {
|
|
47
41
|
this.time = enums_1.BaseRenderContributionTime.beforeFillStroke, this.useStyle = !0,
|
|
48
42
|
this.order = 0;
|
|
@@ -51,12 +45,11 @@ let SplitRectBeforeRenderContribution = class {
|
|
|
51
45
|
const {stroke: stroke = groupAttribute.stroke} = group.attribute;
|
|
52
46
|
Array.isArray(stroke) && stroke.some((s => !1 === s)) && (doFillOrStroke.doStroke = !1);
|
|
53
47
|
}
|
|
54
|
-
}
|
|
48
|
+
}
|
|
55
49
|
|
|
56
|
-
SplitRectBeforeRenderContribution = __decorate([ (0, inversify_lite_1.injectable)() ], SplitRectBeforeRenderContribution),
|
|
57
50
|
exports.SplitRectBeforeRenderContribution = SplitRectBeforeRenderContribution;
|
|
58
51
|
|
|
59
|
-
|
|
52
|
+
class SplitRectAfterRenderContribution {
|
|
60
53
|
constructor() {
|
|
61
54
|
this.time = enums_1.BaseRenderContributionTime.afterFillStroke, this.useStyle = !0,
|
|
62
55
|
this.order = 0;
|
|
@@ -85,9 +78,8 @@ let SplitRectAfterRenderContribution = class {
|
|
|
85
78
|
context.stroke();
|
|
86
79
|
}
|
|
87
80
|
}
|
|
88
|
-
}
|
|
81
|
+
}
|
|
89
82
|
|
|
90
|
-
SplitRectAfterRenderContribution = __decorate([ (0, inversify_lite_1.injectable)() ], SplitRectAfterRenderContribution),
|
|
91
83
|
exports.SplitRectAfterRenderContribution = SplitRectAfterRenderContribution, exports.defaultRectRenderContribution = new DefaultRectRenderContribution,
|
|
92
84
|
exports.defaultRectTextureRenderContribution = base_texture_contribution_render_1.defaultBaseTextureRenderContribution,
|
|
93
85
|
exports.defaultRectBackgroundRenderContribution = base_contribution_render_1.defaultBaseBackgroundRenderContribution;
|