@visactor/vrender-core 1.1.0-alpha.0 → 1.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/allocator/canvas-allocate.js +5 -7
- package/cjs/allocator/canvas-allocate.js.map +1 -1
- package/cjs/allocator/graphic-allocate.js +17 -17
- package/cjs/allocator/graphic-allocate.js.map +1 -1
- package/cjs/application.d.ts +19 -18
- package/cjs/application.js +1 -31
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/conical-gradient.js +2 -2
- package/cjs/canvas/conical-gradient.js.map +1 -1
- package/cjs/canvas/constants.js +2 -1
- package/cjs/canvas/contributions/base-canvas.js +2 -2
- package/cjs/canvas/contributions/base-canvas.js.map +1 -1
- package/cjs/canvas/util.d.ts +2 -3
- package/cjs/canvas/util.js +17 -7
- package/cjs/canvas/util.js.map +1 -1
- package/cjs/color-string/index.js +1 -2
- package/cjs/common/contribution-provider.d.ts +27 -0
- package/cjs/common/contribution-provider.js +51 -0
- package/cjs/common/contribution-provider.js.map +1 -0
- package/cjs/common/diff.js +1 -2
- package/cjs/common/enums.d.ts +2 -0
- package/cjs/common/enums.js +3 -1
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/event-listener-manager.d.ts +18 -1
- package/cjs/common/event-listener-manager.js +40 -10
- package/cjs/common/event-listener-manager.js.map +1 -1
- package/cjs/common/event-transformer.js +41 -5
- 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 +7 -2
- package/cjs/common/performance-raf.js.map +1 -1
- package/cjs/common/seg-context.js +1 -2
- package/cjs/common/sort.js +2 -1
- package/cjs/core/camera.js +1 -1
- package/cjs/core/constants.js +1 -1
- package/cjs/core/contributions/env/modules.d.ts +4 -0
- package/cjs/core/contributions/env/modules.js +14 -0
- package/cjs/core/contributions/env/modules.js.map +1 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/empty-contribution.js +2 -2
- package/cjs/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/cjs/core/contributions/layerHandler/modules.d.ts +4 -0
- package/cjs/core/contributions/layerHandler/modules.js +14 -0
- package/cjs/core/contributions/layerHandler/modules.js.map +1 -0
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
- package/cjs/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/cjs/core/contributions/modules.d.ts +2 -1
- package/cjs/core/contributions/modules.js +20 -2
- package/cjs/core/contributions/modules.js.map +1 -1
- package/cjs/core/contributions/textMeasure/modules.d.ts +4 -0
- package/cjs/core/contributions/textMeasure/modules.js +15 -0
- package/cjs/core/contributions/textMeasure/modules.js.map +1 -0
- package/cjs/core/core-modules.d.ts +4 -0
- package/cjs/core/core-modules.js +19 -0
- package/cjs/core/core-modules.js.map +1 -0
- package/cjs/core/global-module.d.ts +1 -0
- package/cjs/core/global-module.js +3 -0
- package/cjs/core/global-module.js.map +1 -0
- package/cjs/core/global.d.ts +4 -2
- package/cjs/core/global.js +8 -5
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/graphic-utils.d.ts +3 -4
- package/cjs/core/graphic-utils.js +4 -5
- package/cjs/core/graphic-utils.js.map +1 -1
- package/cjs/core/layer-service.d.ts +7 -2
- package/cjs/core/layer-service.js +23 -13
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.d.ts +1 -1
- package/cjs/core/layer.js +3 -3
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/stage.d.ts +17 -3
- package/cjs/core/stage.js +47 -25
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +7 -5
- package/cjs/core/window.js +11 -7
- 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/entries/types.js.map +1 -0
- package/cjs/env-check.js +3 -3
- package/cjs/env-check.js.map +1 -1
- package/cjs/event/event-manager.js +4 -1
- package/cjs/event/event-manager.js.map +1 -1
- 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/factory/index.js +22 -0
- 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/factory/types.js +6 -0
- 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/arc.js +3 -3
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/arc3d.js +3 -3
- package/cjs/graphic/arc3d.js.map +1 -1
- package/cjs/graphic/area.js +3 -3
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/bounds.js +3 -3
- package/cjs/graphic/bounds.js.map +1 -1
- package/cjs/graphic/circle.js +3 -3
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +7 -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 -0
- package/cjs/graphic/graphic-service/graphic-module.js +14 -0
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -0
- package/cjs/graphic/graphic-service/graphic-service.d.ts +2 -3
- package/cjs/graphic/graphic-service/graphic-service.js +3 -4
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +81 -7
- package/cjs/graphic/graphic.js +517 -146
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.d.ts +11 -1
- package/cjs/graphic/group.js +49 -13
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/image.d.ts +1 -0
- package/cjs/graphic/image.js +4 -3
- package/cjs/graphic/image.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 +3 -3
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/path.js +3 -3
- package/cjs/graphic/path.js.map +1 -1
- package/cjs/graphic/polygon.js +3 -3
- package/cjs/graphic/polygon.js.map +1 -1
- package/cjs/graphic/pyramid3d.js +3 -2
- package/cjs/graphic/pyramid3d.js.map +1 -1
- package/cjs/graphic/rect.d.ts +2 -0
- package/cjs/graphic/rect.js +47 -3
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/richtext/utils.js +3 -3
- package/cjs/graphic/richtext/utils.js.map +1 -1
- package/cjs/graphic/richtext.js +4 -4
- package/cjs/graphic/richtext.js.map +1 -1
- package/cjs/graphic/star.js +3 -3
- package/cjs/graphic/star.js.map +1 -1
- package/cjs/graphic/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 +46 -0
- package/cjs/graphic/state/state-transition-orchestrator.js +86 -0
- package/cjs/graphic/state/state-transition-orchestrator.js.map +1 -0
- package/cjs/graphic/symbol.js +3 -3
- package/cjs/graphic/symbol.js.map +1 -1
- package/cjs/graphic/text.d.ts +3 -2
- package/cjs/graphic/text.js +29 -20
- 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/tools.js +2 -2
- package/cjs/graphic/tools.js.map +1 -1
- package/cjs/graphic/wrap-text.d.ts +1 -1
- package/cjs/graphic/wrap-text.js +18 -15
- package/cjs/graphic/wrap-text.js.map +1 -1
- package/cjs/index.d.ts +26 -4
- package/cjs/index.js +83 -45
- package/cjs/index.js.map +1 -1
- package/cjs/interface/canvas.d.ts +1 -1
- package/cjs/interface/canvas.js.map +1 -1
- package/cjs/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/image.d.ts +7 -1
- package/cjs/interface/graphic/image.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 +34 -5
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/layer.d.ts +3 -2
- package/cjs/interface/layer.js.map +1 -1
- package/cjs/interface/plugin.d.ts +2 -0
- package/cjs/interface/plugin.js.map +1 -1
- package/cjs/interface/render.d.ts +1 -1
- package/cjs/interface/render.js.map +1 -1
- package/cjs/interface/stage.d.ts +9 -0
- 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 -9
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/global-picker-service.js +2 -2
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/pick-modules.d.ts +5 -0
- package/cjs/picker/pick-modules.js +24 -0
- package/cjs/picker/pick-modules.js.map +1 -0
- package/cjs/picker/picker-service.d.ts +13 -4
- package/cjs/picker/picker-service.js +15 -8
- 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/auto-refresh-plugin.js +6 -5
- package/cjs/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.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/edit-module.js +4 -3
- package/cjs/plugins/builtin-plugin/edit-module.js.map +1 -1
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
- package/cjs/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +13 -9
- 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 -0
- package/cjs/plugins/plugin-modules.js +14 -0
- package/cjs/plugins/plugin-modules.js.map +1 -0
- package/cjs/plugins/plugin-service.d.ts +16 -2
- package/cjs/plugins/plugin-service.js +23 -11
- 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 -0
- package/cjs/render/contributions/modules.js +22 -0
- package/cjs/render/contributions/modules.js.map +1 -0
- package/cjs/render/contributions/render/arc-module.d.ts +4 -0
- package/cjs/render/contributions/render/arc-module.js +19 -0
- package/cjs/render/contributions/render/arc-module.js.map +1 -0
- package/cjs/render/contributions/render/arc-render.d.ts +2 -2
- package/cjs/render/contributions/render/arc-render.js +4 -5
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/arc3d-module.d.ts +4 -0
- package/cjs/render/contributions/render/arc3d-module.js +17 -0
- package/cjs/render/contributions/render/arc3d-module.js.map +1 -0
- package/cjs/render/contributions/render/area-module.d.ts +4 -0
- package/cjs/render/contributions/render/area-module.js +20 -0
- package/cjs/render/contributions/render/area-module.js.map +1 -0
- package/cjs/render/contributions/render/area-render.d.ts +2 -2
- package/cjs/render/contributions/render/area-render.js +4 -5
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.js +1 -1
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-module.d.ts +4 -0
- package/cjs/render/contributions/render/circle-module.js +19 -0
- package/cjs/render/contributions/render/circle-module.js.map +1 -0
- package/cjs/render/contributions/render/circle-render.d.ts +2 -2
- package/cjs/render/contributions/render/circle-render.js +4 -5
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +29 -11
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +150 -39
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-texture-contribution-render.d.ts +4 -2
- package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +84 -31
- package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/group-contribution-render.js +8 -6
- package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +2 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/text-contribution-render.js +20 -16
- 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 +37 -13
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +2 -3
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-module.d.ts +4 -0
- package/cjs/render/contributions/render/glyph-module.js +17 -0
- package/cjs/render/contributions/render/glyph-module.js.map +1 -0
- package/cjs/render/contributions/render/group-render.d.ts +2 -2
- package/cjs/render/contributions/render/group-render.js +3 -5
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-module.d.ts +4 -0
- package/cjs/render/contributions/render/image-module.js +18 -0
- package/cjs/render/contributions/render/image-module.js.map +1 -0
- package/cjs/render/contributions/render/image-render.d.ts +16 -3
- package/cjs/render/contributions/render/image-render.js +101 -24
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/incremental-draw-contribution.d.ts +5 -3
- package/cjs/render/contributions/render/incremental-draw-contribution.js +5 -7
- package/cjs/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/index.d.ts +4 -12
- package/cjs/render/contributions/render/index.js +7 -11
- package/cjs/render/contributions/render/index.js.map +1 -1
- package/cjs/render/contributions/render/line-module.d.ts +4 -0
- package/cjs/render/contributions/render/line-module.js +19 -0
- package/cjs/render/contributions/render/line-module.js.map +1 -0
- package/cjs/render/contributions/render/module.d.ts +4 -0
- package/cjs/render/contributions/render/module.js +27 -0
- package/cjs/render/contributions/render/module.js.map +1 -0
- package/cjs/render/contributions/render/path-module.d.ts +4 -0
- package/cjs/render/contributions/render/path-module.js +19 -0
- package/cjs/render/contributions/render/path-module.js.map +1 -0
- package/cjs/render/contributions/render/path-render.d.ts +2 -2
- package/cjs/render/contributions/render/path-render.js +4 -5
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-module.d.ts +4 -0
- package/cjs/render/contributions/render/polygon-module.js +18 -0
- package/cjs/render/contributions/render/polygon-module.js.map +1 -0
- package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
- package/cjs/render/contributions/render/polygon-render.js +4 -5
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/pyramid3d-module.d.ts +4 -0
- package/cjs/render/contributions/render/pyramid3d-module.js +17 -0
- package/cjs/render/contributions/render/pyramid3d-module.js.map +1 -0
- package/cjs/render/contributions/render/rect-module.d.ts +4 -0
- package/cjs/render/contributions/render/rect-module.js +23 -0
- package/cjs/render/contributions/render/rect-module.js.map +1 -0
- package/cjs/render/contributions/render/rect-render.d.ts +2 -2
- package/cjs/render/contributions/render/rect-render.js +4 -5
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/rect3d-module.d.ts +4 -0
- package/cjs/render/contributions/render/rect3d-module.js +17 -0
- package/cjs/render/contributions/render/rect3d-module.js.map +1 -0
- 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 -0
- package/cjs/render/contributions/render/richtext-module.js +17 -0
- package/cjs/render/contributions/render/richtext-module.js.map +1 -0
- package/cjs/render/contributions/render/star-module.d.ts +4 -0
- package/cjs/render/contributions/render/star-module.js +18 -0
- package/cjs/render/contributions/render/star-module.js.map +1 -0
- package/cjs/render/contributions/render/star-render.d.ts +2 -2
- package/cjs/render/contributions/render/star-render.js +4 -5
- package/cjs/render/contributions/render/star-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-module.d.ts +4 -0
- package/cjs/render/contributions/render/symbol-module.js +19 -0
- package/cjs/render/contributions/render/symbol-module.js.map +1 -0
- package/cjs/render/contributions/render/symbol-render.d.ts +2 -2
- package/cjs/render/contributions/render/symbol-render.js +4 -5
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol.d.ts +0 -2
- package/cjs/render/contributions/render/symbol.js +1 -3
- package/cjs/render/contributions/render/symbol.js.map +1 -1
- package/cjs/render/contributions/render/text-module.d.ts +4 -0
- package/cjs/render/contributions/render/text-module.js +18 -0
- package/cjs/render/contributions/render/text-module.js.map +1 -0
- package/cjs/render/contributions/render/text-render.d.ts +2 -2
- package/cjs/render/contributions/render/text-render.js +4 -5
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/render-modules.d.ts +4 -0
- package/cjs/render/render-modules.js +14 -0
- package/cjs/render/render-modules.js.map +1 -0
- package/cjs/render/render-service.d.ts +1 -1
- package/cjs/render/render-service.js +3 -1
- package/cjs/render/render-service.js.map +1 -1
- package/cjs/resource-loader/loader.js +6 -6
- package/cjs/resource-loader/loader.js.map +1 -1
- package/dist/index.es.js +23943 -20059
- package/es/allocator/canvas-allocate.js +6 -8
- package/es/allocator/canvas-allocate.js.map +1 -1
- package/es/allocator/graphic-allocate.js +17 -17
- package/es/allocator/graphic-allocate.js.map +1 -1
- package/es/application.d.ts +19 -18
- package/es/application.js +1 -39
- package/es/application.js.map +1 -1
- package/es/canvas/conical-gradient.js +2 -2
- package/es/canvas/conical-gradient.js.map +1 -1
- package/es/canvas/constants.js +2 -1
- package/es/canvas/contributions/base-canvas.js +2 -2
- package/es/canvas/contributions/base-canvas.js.map +1 -1
- package/es/canvas/util.d.ts +2 -3
- package/es/canvas/util.js +16 -8
- package/es/canvas/util.js.map +1 -1
- package/es/color-string/index.js +1 -2
- package/es/common/contribution-provider.d.ts +27 -0
- package/es/common/contribution-provider.js +43 -0
- package/es/common/contribution-provider.js.map +1 -0
- package/es/common/diff.js +1 -2
- package/es/common/enums.d.ts +2 -0
- package/es/common/enums.js +3 -1
- package/es/common/enums.js.map +1 -1
- package/es/common/event-listener-manager.d.ts +18 -1
- package/es/common/event-listener-manager.js +40 -10
- package/es/common/event-listener-manager.js.map +1 -1
- package/es/common/event-transformer.js +41 -5
- 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 +7 -2
- package/es/common/performance-raf.js.map +1 -1
- package/es/common/seg-context.js +1 -2
- package/es/common/sort.js +2 -1
- package/es/core/camera.js +1 -1
- package/es/core/constants.js +1 -1
- package/es/core/contributions/env/modules.d.ts +4 -0
- package/es/core/contributions/env/modules.js +10 -0
- package/es/core/contributions/env/modules.js.map +1 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/empty-contribution.js +2 -2
- package/es/core/contributions/layerHandler/empty-contribution.js.map +1 -1
- package/es/core/contributions/layerHandler/modules.d.ts +4 -0
- package/es/core/contributions/layerHandler/modules.js +10 -0
- package/es/core/contributions/layerHandler/modules.js.map +1 -0
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js +2 -2
- package/es/core/contributions/layerHandler/offscreen2d-contribution.js.map +1 -1
- package/es/core/contributions/modules.d.ts +2 -1
- package/es/core/contributions/modules.js +15 -1
- package/es/core/contributions/modules.js.map +1 -1
- package/es/core/contributions/textMeasure/modules.d.ts +4 -0
- package/es/core/contributions/textMeasure/modules.js +11 -0
- package/es/core/contributions/textMeasure/modules.js.map +1 -0
- package/es/core/core-modules.d.ts +4 -0
- package/es/core/core-modules.js +24 -0
- package/es/core/core-modules.js.map +1 -0
- package/es/core/global-module.d.ts +1 -0
- package/es/core/global-module.js +3 -0
- package/es/core/global-module.js.map +1 -0
- package/es/core/global.d.ts +4 -2
- package/es/core/global.js +7 -8
- package/es/core/global.js.map +1 -1
- package/es/core/graphic-utils.d.ts +3 -4
- package/es/core/graphic-utils.js +6 -11
- package/es/core/graphic-utils.js.map +1 -1
- package/es/core/layer-service.d.ts +7 -2
- package/es/core/layer-service.js +23 -17
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.d.ts +1 -1
- package/es/core/layer.js +3 -3
- package/es/core/layer.js.map +1 -1
- package/es/core/stage.d.ts +17 -3
- package/es/core/stage.js +58 -30
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +7 -5
- package/es/core/window.js +11 -9
- 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.map +1 -0
- package/es/env-check.js +3 -3
- package/es/env-check.js.map +1 -1
- package/es/event/event-manager.js +4 -1
- package/es/event/event-manager.js.map +1 -1
- 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/arc.js +3 -3
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/arc3d.js +4 -3
- package/es/graphic/arc3d.js.map +1 -1
- package/es/graphic/area.js +3 -3
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/bounds.js +3 -3
- package/es/graphic/bounds.js.map +1 -1
- package/es/graphic/circle.js +3 -3
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +7 -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 -0
- package/es/graphic/graphic-service/graphic-module.js +12 -0
- package/es/graphic/graphic-service/graphic-module.js.map +1 -0
- package/es/graphic/graphic-service/graphic-service.d.ts +2 -3
- package/es/graphic/graphic-service/graphic-service.js +3 -5
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic.d.ts +81 -7
- package/es/graphic/graphic.js +516 -140
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.d.ts +11 -1
- package/es/graphic/group.js +49 -13
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/image.d.ts +1 -0
- package/es/graphic/image.js +5 -4
- package/es/graphic/image.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 +3 -3
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/path.js +3 -3
- package/es/graphic/path.js.map +1 -1
- package/es/graphic/polygon.js +3 -3
- package/es/graphic/polygon.js.map +1 -1
- package/es/graphic/pyramid3d.js +2 -2
- package/es/graphic/pyramid3d.js.map +1 -1
- package/es/graphic/rect.d.ts +2 -0
- package/es/graphic/rect.js +47 -3
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/richtext/utils.js +3 -3
- package/es/graphic/richtext/utils.js.map +1 -1
- package/es/graphic/richtext.js +4 -4
- package/es/graphic/richtext.js.map +1 -1
- package/es/graphic/star.js +3 -3
- package/es/graphic/star.js.map +1 -1
- package/es/graphic/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 +46 -0
- package/es/graphic/state/state-transition-orchestrator.js +80 -0
- package/es/graphic/state/state-transition-orchestrator.js.map +1 -0
- package/es/graphic/symbol.js +3 -3
- package/es/graphic/symbol.js.map +1 -1
- package/es/graphic/text.d.ts +3 -2
- package/es/graphic/text.js +28 -19
- 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/tools.js +2 -2
- package/es/graphic/tools.js.map +1 -1
- package/es/graphic/wrap-text.d.ts +1 -1
- package/es/graphic/wrap-text.js +20 -15
- package/es/graphic/wrap-text.js.map +1 -1
- package/es/index.d.ts +26 -4
- package/es/index.js +49 -5
- package/es/index.js.map +1 -1
- package/es/interface/canvas.d.ts +1 -1
- package/es/interface/canvas.js.map +1 -1
- package/es/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/image.d.ts +7 -1
- package/es/interface/graphic/image.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 +34 -5
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/layer.d.ts +3 -2
- package/es/interface/layer.js.map +1 -1
- package/es/interface/plugin.d.ts +2 -0
- package/es/interface/plugin.js.map +1 -1
- package/es/interface/render.d.ts +1 -1
- package/es/interface/render.js.map +1 -1
- package/es/interface/stage.d.ts +9 -0
- 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 +44 -14
- package/es/modules.js.map +1 -1
- package/es/picker/global-picker-service.js +2 -2
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/pick-modules.d.ts +5 -0
- package/es/picker/pick-modules.js +18 -0
- package/es/picker/pick-modules.js.map +1 -0
- package/es/picker/picker-service.d.ts +13 -4
- package/es/picker/picker-service.js +16 -11
- 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/auto-refresh-plugin.js +6 -6
- package/es/plugins/builtin-plugin/auto-refresh-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.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/edit-module.js +3 -3
- package/es/plugins/builtin-plugin/edit-module.js.map +1 -1
- package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/html-attribute-plugin.js +8 -8
- package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +2 -2
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/react-attribute-plugin.js +3 -3
- package/es/plugins/builtin-plugin/react-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js +9 -7
- 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 -0
- package/es/plugins/plugin-modules.js +14 -0
- package/es/plugins/plugin-modules.js.map +1 -0
- package/es/plugins/plugin-service.d.ts +16 -2
- package/es/plugins/plugin-service.js +24 -12
- 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 -0
- package/es/render/contributions/modules.js +8 -0
- package/es/render/contributions/modules.js.map +1 -0
- package/es/render/contributions/render/arc-module.d.ts +4 -0
- package/es/render/contributions/render/arc-module.js +21 -0
- package/es/render/contributions/render/arc-module.js.map +1 -0
- package/es/render/contributions/render/arc-render.d.ts +2 -2
- package/es/render/contributions/render/arc-render.js +3 -8
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/arc3d-module.d.ts +4 -0
- package/es/render/contributions/render/arc3d-module.js +13 -0
- package/es/render/contributions/render/arc3d-module.js.map +1 -0
- package/es/render/contributions/render/area-module.d.ts +4 -0
- package/es/render/contributions/render/area-module.js +23 -0
- package/es/render/contributions/render/area-module.js.map +1 -0
- package/es/render/contributions/render/area-render.d.ts +2 -2
- package/es/render/contributions/render/area-render.js +3 -8
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.js +1 -1
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-module.d.ts +4 -0
- package/es/render/contributions/render/circle-module.js +21 -0
- package/es/render/contributions/render/circle-module.js.map +1 -0
- package/es/render/contributions/render/circle-render.d.ts +2 -2
- package/es/render/contributions/render/circle-render.js +3 -8
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.d.ts +29 -11
- package/es/render/contributions/render/contributions/base-contribution-render.js +142 -41
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-texture-contribution-render.d.ts +4 -2
- package/es/render/contributions/render/contributions/base-texture-contribution-render.js +85 -30
- package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/group-contribution-render.js +9 -7
- package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/image-contribution-render.d.ts +2 -1
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/text-contribution-render.js +20 -16
- 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 +40 -19
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +2 -3
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-module.d.ts +4 -0
- package/es/render/contributions/render/glyph-module.js +13 -0
- package/es/render/contributions/render/glyph-module.js.map +1 -0
- package/es/render/contributions/render/group-render.d.ts +2 -2
- package/es/render/contributions/render/group-render.js +3 -9
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-module.d.ts +4 -0
- package/es/render/contributions/render/image-module.js +20 -0
- package/es/render/contributions/render/image-module.js.map +1 -0
- package/es/render/contributions/render/image-render.d.ts +16 -3
- package/es/render/contributions/render/image-render.js +95 -25
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/incremental-draw-contribution.d.ts +5 -3
- package/es/render/contributions/render/incremental-draw-contribution.js +4 -12
- package/es/render/contributions/render/incremental-draw-contribution.js.map +1 -1
- package/es/render/contributions/render/index.d.ts +4 -12
- package/es/render/contributions/render/index.js +8 -24
- package/es/render/contributions/render/index.js.map +1 -1
- package/es/render/contributions/render/line-module.d.ts +4 -0
- package/es/render/contributions/render/line-module.js +16 -0
- package/es/render/contributions/render/line-module.js.map +1 -0
- package/es/render/contributions/render/module.d.ts +4 -0
- package/es/render/contributions/render/module.js +28 -0
- package/es/render/contributions/render/module.js.map +1 -0
- package/es/render/contributions/render/path-module.d.ts +4 -0
- package/es/render/contributions/render/path-module.js +21 -0
- package/es/render/contributions/render/path-module.js.map +1 -0
- package/es/render/contributions/render/path-render.d.ts +2 -2
- package/es/render/contributions/render/path-render.js +3 -8
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-module.d.ts +4 -0
- package/es/render/contributions/render/polygon-module.js +20 -0
- package/es/render/contributions/render/polygon-module.js.map +1 -0
- package/es/render/contributions/render/polygon-render.d.ts +2 -2
- package/es/render/contributions/render/polygon-render.js +3 -8
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/pyramid3d-module.d.ts +4 -0
- package/es/render/contributions/render/pyramid3d-module.js +13 -0
- package/es/render/contributions/render/pyramid3d-module.js.map +1 -0
- package/es/render/contributions/render/rect-module.d.ts +4 -0
- package/es/render/contributions/render/rect-module.js +23 -0
- package/es/render/contributions/render/rect-module.js.map +1 -0
- package/es/render/contributions/render/rect-render.d.ts +2 -2
- package/es/render/contributions/render/rect-render.js +3 -8
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/rect3d-module.d.ts +4 -0
- package/es/render/contributions/render/rect3d-module.js +13 -0
- package/es/render/contributions/render/rect3d-module.js.map +1 -0
- 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 -0
- package/es/render/contributions/render/richtext-module.js +13 -0
- package/es/render/contributions/render/richtext-module.js.map +1 -0
- package/es/render/contributions/render/star-module.d.ts +4 -0
- package/es/render/contributions/render/star-module.js +17 -0
- package/es/render/contributions/render/star-module.js.map +1 -0
- package/es/render/contributions/render/star-render.d.ts +2 -2
- package/es/render/contributions/render/star-render.js +3 -8
- package/es/render/contributions/render/star-render.js.map +1 -1
- package/es/render/contributions/render/symbol-module.d.ts +4 -0
- package/es/render/contributions/render/symbol-module.js +21 -0
- package/es/render/contributions/render/symbol-module.js.map +1 -0
- package/es/render/contributions/render/symbol-render.d.ts +2 -2
- package/es/render/contributions/render/symbol-render.js +3 -8
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/symbol.d.ts +0 -2
- package/es/render/contributions/render/symbol.js +0 -4
- package/es/render/contributions/render/symbol.js.map +1 -1
- package/es/render/contributions/render/text-module.d.ts +4 -0
- package/es/render/contributions/render/text-module.js +20 -0
- package/es/render/contributions/render/text-module.js.map +1 -0
- package/es/render/contributions/render/text-render.d.ts +2 -2
- package/es/render/contributions/render/text-render.js +2 -7
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/render-modules.d.ts +4 -0
- package/es/render/render-modules.js +10 -0
- package/es/render/render-modules.js.map +1 -0
- package/es/render/render-service.d.ts +1 -1
- package/es/render/render-service.js +3 -1
- package/es/render/render-service.js.map +1 -1
- package/es/resource-loader/loader.js +6 -6
- package/es/resource-loader/loader.js.map +1 -1
- package/package.json +8 -7
- package/cjs/common/registry/contribution-registry.d.ts +0 -24
- package/cjs/common/registry/contribution-registry.js +0 -61
- package/cjs/common/registry/contribution-registry.js.map +0 -1
- package/cjs/common/registry/index.d.ts +0 -5
- package/cjs/common/registry/index.js +0 -34
- package/cjs/common/registry/index.js.map +0 -1
- package/cjs/common/registry/service-registry.d.ts +0 -16
- package/cjs/common/registry/service-registry.js +0 -57
- package/cjs/common/registry/service-registry.js.map +0 -1
- package/cjs/common/registry/types.d.ts +0 -1
- package/cjs/common/registry/types.js.map +0 -1
- package/cjs/register-modules.d.ts +0 -9
- package/cjs/register-modules.js +0 -79
- package/cjs/register-modules.js.map +0 -1
- package/es/common/registry/contribution-registry.d.ts +0 -24
- package/es/common/registry/contribution-registry.js +0 -55
- package/es/common/registry/contribution-registry.js.map +0 -1
- package/es/common/registry/index.d.ts +0 -5
- package/es/common/registry/index.js +0 -4
- package/es/common/registry/index.js.map +0 -1
- package/es/common/registry/service-registry.d.ts +0 -16
- package/es/common/registry/service-registry.js +0 -51
- package/es/common/registry/service-registry.js.map +0 -1
- package/es/common/registry/types.d.ts +0 -1
- package/es/common/registry/types.js.map +0 -1
- package/es/register-modules.d.ts +0 -9
- package/es/register-modules.js +0 -117
- package/es/register-modules.js.map +0 -1
- /package/cjs/{common/registry → entries}/types.js +0 -0
- /package/es/{common/registry → entries}/types.js +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import coreModule from "../core/core-modules";
|
|
2
|
+
|
|
3
|
+
import renderModule from "../render/render-modules";
|
|
4
|
+
|
|
5
|
+
import pickModule from "../picker/pick-modules";
|
|
6
|
+
|
|
7
|
+
import graphicModule from "../graphic/graphic-service/graphic-module";
|
|
8
|
+
|
|
9
|
+
import pluginModule from "../plugins/plugin-modules";
|
|
10
|
+
|
|
11
|
+
import loadBuiltinContributions from "../core/contributions/modules";
|
|
12
|
+
|
|
13
|
+
import loadRenderContributions from "../render/contributions/modules";
|
|
14
|
+
|
|
15
|
+
import { createLegacyBindingContext } from "./binding-context";
|
|
16
|
+
|
|
17
|
+
const legacyBindingContext = createLegacyBindingContext();
|
|
18
|
+
|
|
19
|
+
function getLegacyTarget(resolver) {
|
|
20
|
+
let target;
|
|
21
|
+
return () => (void 0 === target && (target = resolver()), target);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function preLoadAllModule() {
|
|
25
|
+
preLoadAllModule.__loaded || (preLoadAllModule.__loaded = !0, coreModule({
|
|
26
|
+
bind: legacyBindingContext.bind
|
|
27
|
+
}), graphicModule({
|
|
28
|
+
bind: legacyBindingContext.bind
|
|
29
|
+
}), renderModule({
|
|
30
|
+
bind: legacyBindingContext.bind
|
|
31
|
+
}), pickModule({
|
|
32
|
+
bind: legacyBindingContext.bind,
|
|
33
|
+
isBound: legacyBindingContext.isBound
|
|
34
|
+
}), pluginModule({
|
|
35
|
+
bind: legacyBindingContext.bind
|
|
36
|
+
}), loadBuiltinContributions(legacyBindingContext), loadRenderContributions(legacyBindingContext));
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
preLoadAllModule.__loaded = !1;
|
|
40
|
+
|
|
41
|
+
export function getLegacyBindingContext() {
|
|
42
|
+
return legacyBindingContext;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function resolveLegacySingleton(serviceIdentifier) {
|
|
46
|
+
preLoadAllModule();
|
|
47
|
+
const [instance] = legacyBindingContext.getAll(serviceIdentifier);
|
|
48
|
+
return instance;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function resolveLegacyNamed(serviceIdentifier, name) {
|
|
52
|
+
return preLoadAllModule(), legacyBindingContext.getNamed(serviceIdentifier, name);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export function createLegacySingletonProxy(resolver) {
|
|
56
|
+
const getTarget = getLegacyTarget(resolver);
|
|
57
|
+
return new Proxy({}, {
|
|
58
|
+
get(_target, property) {
|
|
59
|
+
const value = getTarget()[property];
|
|
60
|
+
return "function" == typeof value ? value.bind(getTarget()) : value;
|
|
61
|
+
},
|
|
62
|
+
set: (_target, property, value) => (getTarget()[property] = value, !0),
|
|
63
|
+
has: (_target, property) => property in getTarget(),
|
|
64
|
+
ownKeys: () => Reflect.ownKeys(getTarget()),
|
|
65
|
+
getOwnPropertyDescriptor(_target, property) {
|
|
66
|
+
const descriptor = Object.getOwnPropertyDescriptor(getTarget(), property);
|
|
67
|
+
if (descriptor) return Object.assign(Object.assign({}, descriptor), {
|
|
68
|
+
configurable: !0
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/legacy/bootstrap.ts"],"names":[],"mappings":"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","file":"bootstrap.js","sourcesContent":["import coreModule from '../core/core-modules';\nimport renderModule from '../render/render-modules';\nimport pickModule from '../picker/pick-modules';\nimport graphicModule from '../graphic/graphic-service/graphic-module';\nimport pluginModule from '../plugins/plugin-modules';\nimport loadBuiltinContributions from '../core/contributions/modules';\nimport loadRenderContributions from '../render/contributions/modules';\nimport { createLegacyBindingContext, type ILegacyBindContext, type ILegacyBindingContext } from './binding-context';\n\nexport type { ILegacyBindContext, ILegacyBindingContext } from './binding-context';\n\nconst legacyBindingContext = createLegacyBindingContext();\n\nfunction getLegacyTarget<T>(resolver: () => T): () => T {\n let target: T | undefined;\n\n return () => {\n if (target === undefined) {\n target = resolver();\n }\n\n return target;\n };\n}\n\nexport function preLoadAllModule() {\n if (preLoadAllModule.__loaded) {\n return;\n }\n preLoadAllModule.__loaded = true;\n coreModule({ bind: legacyBindingContext.bind });\n graphicModule({ bind: legacyBindingContext.bind });\n renderModule({ bind: legacyBindingContext.bind });\n pickModule({ bind: legacyBindingContext.bind, isBound: legacyBindingContext.isBound });\n pluginModule({ bind: legacyBindingContext.bind });\n loadBuiltinContributions(legacyBindingContext);\n loadRenderContributions(legacyBindingContext);\n}\n\npreLoadAllModule.__loaded = false;\n\nexport function getLegacyBindingContext(): ILegacyBindingContext {\n return legacyBindingContext;\n}\n\nexport function resolveLegacySingleton<T>(serviceIdentifier: any): T {\n preLoadAllModule();\n const [instance] = legacyBindingContext.getAll<T>(serviceIdentifier);\n return instance;\n}\n\nexport function resolveLegacyNamed<T>(serviceIdentifier: any, name: string): T | undefined {\n preLoadAllModule();\n return legacyBindingContext.getNamed<T>(serviceIdentifier, name);\n}\n\nexport function createLegacySingletonProxy<T extends object>(resolver: () => T): T {\n const getTarget = getLegacyTarget(resolver);\n\n return new Proxy({} as T, {\n get(_target, property) {\n const value = (getTarget() as any)[property];\n return typeof value === 'function' ? value.bind(getTarget()) : value;\n },\n set(_target, property, value) {\n (getTarget() as any)[property] = value;\n return true;\n },\n has(_target, property) {\n return property in (getTarget() as any);\n },\n ownKeys() {\n return Reflect.ownKeys(getTarget() as any);\n },\n getOwnPropertyDescriptor(_target, property) {\n const descriptor = Object.getOwnPropertyDescriptor(getTarget() as any, property);\n\n if (!descriptor) {\n return undefined;\n }\n\n return {\n ...descriptor,\n configurable: true\n };\n }\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/legacy/module-types.ts"],"names":[],"mappings":"","file":"module-types.js","sourcesContent":["import type { ILegacyBindContext } from './binding-context';\n\nexport type ILegacyContributionBindingContext = ILegacyBindContext;\n"]}
|
package/es/modules.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { IGraphicService } from './interface';
|
|
2
2
|
import type { IGraphicUtil, ILayerService, ITransformUtil } from './interface/core';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
export declare const vglobal: IGlobal;
|
|
3
|
+
export { vglobal } from './global';
|
|
4
|
+
export { preLoadAllModule, getLegacyBindingContext, type ILegacyBindContext, type ILegacyBindingContext } from './legacy/bootstrap';
|
|
5
|
+
export declare const container: import("./legacy/binding-context").ILegacyBindingContext;
|
|
8
6
|
export declare const graphicUtil: IGraphicUtil;
|
|
9
7
|
export declare const transformUtil: ITransformUtil;
|
|
10
8
|
export declare const graphicService: IGraphicService;
|
|
11
9
|
export declare const layerService: ILayerService;
|
|
10
|
+
export declare function configureLegacyApplication(): void;
|
package/es/modules.js
CHANGED
|
@@ -1,28 +1,58 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { application } from "./application";
|
|
2
2
|
|
|
3
3
|
import { GraphicService } from "./graphic/constants";
|
|
4
4
|
|
|
5
|
-
import { GraphicUtil, TransformUtil } from "./core/constants";
|
|
5
|
+
import { DynamicLayerHandlerContribution, GraphicUtil, LayerService, StaticLayerHandlerContribution, TransformUtil, VirtualLayerHandlerContribution } from "./core/constants";
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { RenderService } from "./render/constants";
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { PluginService } from "./plugins/constants";
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { PickerService } from "./picker/constants";
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
13
|
+
import { CanvasFactory, Context2dFactory } from "./canvas/constants";
|
|
14
|
+
|
|
15
|
+
import { IncrementalDrawContribution } from "./render/contributions/render/symbol";
|
|
16
|
+
|
|
17
|
+
import { DefaultWindow, WindowHandlerContribution } from "./core/window";
|
|
18
|
+
|
|
19
|
+
import { vglobal } from "./global";
|
|
20
|
+
|
|
21
|
+
import { createLegacySingletonProxy, getLegacyBindingContext, resolveLegacyNamed, resolveLegacySingleton } from "./legacy/bootstrap";
|
|
22
|
+
|
|
23
|
+
export { vglobal } from "./global";
|
|
16
24
|
|
|
17
|
-
|
|
25
|
+
export { preLoadAllModule, getLegacyBindingContext } from "./legacy/bootstrap";
|
|
18
26
|
|
|
19
|
-
export const
|
|
27
|
+
export const container = getLegacyBindingContext();
|
|
20
28
|
|
|
21
|
-
export const graphicUtil =
|
|
29
|
+
export const graphicUtil = createLegacySingletonProxy((() => resolveLegacySingleton(GraphicUtil)));
|
|
22
30
|
|
|
23
|
-
export const transformUtil =
|
|
31
|
+
export const transformUtil = createLegacySingletonProxy((() => resolveLegacySingleton(TransformUtil)));
|
|
24
32
|
|
|
25
|
-
export const graphicService =
|
|
33
|
+
export const graphicService = createLegacySingletonProxy((() => resolveLegacySingleton(GraphicService)));
|
|
34
|
+
|
|
35
|
+
export const layerService = createLegacySingletonProxy((() => resolveLegacySingleton(LayerService)));
|
|
36
|
+
|
|
37
|
+
function resolveLegacyWindowHandler(env) {
|
|
38
|
+
const handler = resolveLegacyNamed(WindowHandlerContribution, env);
|
|
39
|
+
if (!handler) throw new Error(`Window handler is not configured for env: ${env}`);
|
|
40
|
+
return handler;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function configureLegacyApplication() {
|
|
44
|
+
application.global = vglobal, application.graphicUtil = graphicUtil, application.transformUtil = transformUtil,
|
|
45
|
+
application.graphicService = graphicService, application.layerService = layerService,
|
|
46
|
+
application.canvasFactory = env => resolveLegacyNamed(CanvasFactory, env), application.context2dFactory = env => resolveLegacyNamed(Context2dFactory, env),
|
|
47
|
+
application.windowFactory = () => new DefaultWindow(application.global), application.windowHandlerFactory = env => resolveLegacyWindowHandler(env),
|
|
48
|
+
application.renderServiceFactory = () => resolveLegacySingleton(RenderService),
|
|
49
|
+
application.renderService = createLegacySingletonProxy((() => resolveLegacySingleton(RenderService))),
|
|
50
|
+
application.pluginServiceFactory = () => resolveLegacySingleton(PluginService),
|
|
51
|
+
application.pluginService = createLegacySingletonProxy((() => resolveLegacySingleton(PluginService))),
|
|
52
|
+
application.pickerServiceFactory = () => resolveLegacySingleton(PickerService),
|
|
53
|
+
application.layerHandlerFactory = layerMode => resolveLegacySingleton("static" === layerMode ? StaticLayerHandlerContribution : "dynamic" === layerMode ? DynamicLayerHandlerContribution : VirtualLayerHandlerContribution),
|
|
54
|
+
application.incrementalDrawContributionFactory = () => resolveLegacySingleton(IncrementalDrawContribution);
|
|
55
|
+
}
|
|
26
56
|
|
|
27
|
-
|
|
57
|
+
configureLegacyApplication();
|
|
28
58
|
//# sourceMappingURL=modules.js.map
|
package/es/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/modules.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/modules.ts"],"names":[],"mappings":"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","file":"modules.js","sourcesContent":["/**\n * @deprecated Legacy global module bootstrap retained for compatibility.\n * Prefer `createBrowserApp()`, `createNodeApp()`, or `createMiniappApp()` from `./entries`\n * instead of relying on the shared global container/module initialization path.\n */\n// import allocatorModule from './allocator/allocator-modules';\n// import loadPickContributions from './picker/contributions/modules';\n// import loadCanvasContributions from './canvas/contributions/modules';\n// import { IMat4Allocate, IMatrixAllocate, Mat4Allocate, MatrixAllocate } from './allocator/matrix-allocate';\n// import { GlobalPickerService } from './picker/constants';\nimport type { IGraphicService, IPluginService, IRenderService, IWindowHandlerContribution } from './interface';\nimport { application } from './application';\nimport type { IGraphicUtil, ILayerService, ITransformUtil } from './interface/core';\nimport { GraphicService } from './graphic/constants';\nimport {\n DynamicLayerHandlerContribution,\n GraphicUtil,\n LayerService,\n StaticLayerHandlerContribution,\n TransformUtil,\n VirtualLayerHandlerContribution\n} from './core/constants';\nimport { RenderService } from './render/constants';\nimport { PluginService } from './plugins/constants';\nimport { PickerService } from './picker/constants';\nimport { CanvasFactory, Context2dFactory } from './canvas/constants';\nimport { IncrementalDrawContribution } from './render/contributions/render/symbol';\nimport { DefaultWindow, WindowHandlerContribution } from './core/window';\nimport { vglobal } from './global';\nimport {\n createLegacySingletonProxy,\n getLegacyBindingContext,\n resolveLegacyNamed,\n resolveLegacySingleton\n} from './legacy/bootstrap';\n// loadPickContributions(container);\n// loadCanvasContributions(container);\n\nexport { vglobal } from './global';\nexport {\n preLoadAllModule,\n getLegacyBindingContext,\n type ILegacyBindContext,\n type ILegacyBindingContext\n} from './legacy/bootstrap';\nexport const container = getLegacyBindingContext();\nexport const graphicUtil = createLegacySingletonProxy<IGraphicUtil>(() =>\n resolveLegacySingleton<IGraphicUtil>(GraphicUtil)\n);\nexport const transformUtil = createLegacySingletonProxy<ITransformUtil>(() =>\n resolveLegacySingleton<ITransformUtil>(TransformUtil)\n);\nexport const graphicService = createLegacySingletonProxy<IGraphicService>(() =>\n resolveLegacySingleton<IGraphicService>(GraphicService)\n);\nexport const layerService = createLegacySingletonProxy<ILayerService>(() =>\n resolveLegacySingleton<ILayerService>(LayerService)\n);\n\nfunction resolveLegacyWindowHandler(env: string): IWindowHandlerContribution {\n const handler = resolveLegacyNamed<IWindowHandlerContribution>(WindowHandlerContribution, env);\n if (!handler) {\n throw new Error(`Window handler is not configured for env: ${env}`);\n }\n return handler;\n}\n\nexport function configureLegacyApplication(): void {\n application.global = vglobal;\n application.graphicUtil = graphicUtil;\n application.transformUtil = transformUtil;\n application.graphicService = graphicService;\n application.layerService = layerService;\n application.canvasFactory = env => resolveLegacyNamed(CanvasFactory, env);\n application.context2dFactory = env => resolveLegacyNamed(Context2dFactory, env);\n application.windowFactory = () => new DefaultWindow(application.global);\n application.windowHandlerFactory = env => resolveLegacyWindowHandler(env);\n application.renderServiceFactory = () => resolveLegacySingleton<IRenderService>(RenderService);\n application.renderService = createLegacySingletonProxy<IRenderService>(() =>\n resolveLegacySingleton<IRenderService>(RenderService)\n );\n application.pluginServiceFactory = () => resolveLegacySingleton<IPluginService>(PluginService);\n application.pluginService = createLegacySingletonProxy<IPluginService>(() =>\n resolveLegacySingleton<IPluginService>(PluginService)\n );\n application.pickerServiceFactory = () => resolveLegacySingleton(PickerService);\n application.layerHandlerFactory = layerMode => {\n if (layerMode === 'static') {\n return resolveLegacySingleton(StaticLayerHandlerContribution);\n }\n if (layerMode === 'dynamic') {\n return resolveLegacySingleton(DynamicLayerHandlerContribution);\n }\n return resolveLegacySingleton(VirtualLayerHandlerContribution);\n };\n application.incrementalDrawContributionFactory = () => resolveLegacySingleton(IncrementalDrawContribution);\n}\n\nconfigureLegacyApplication();\n// export const matrixAllocate = container.get<IMatrixAllocate>(MatrixAllocate);\n// export const mat4Allocate = container.get<IMat4Allocate>(Mat4Allocate);\n// export const canvasAllocate = container.get<ICanvasAllocate>(CanvasAllocate);\n// export const arcAllocate = container.get<IArcAllocate>(ArcAllocate);\n// export const areaAllocate = container.get<IAreaAllocate>(AreaAllocate);\n// export const circleAllocate = container.get<ICircleAllocate>(CircleAllocate);\n// export const lineAllocate = container.get<ILineAllocate>(LineAllocate);\n// export const pathAllocate = container.get<IPathAllocate>(PathAllocate);\n// export const rectAllocate = container.get<IRectAllocate>(RectAllocate);\n// export const symbolAllocate = container.get<ISymbolAllocate>(SymbolAllocate);\n// export const textAllocate = container.get<ITextAllocate>(TextAllocate);\n// export const pickerService = container.get<IPickerService>(GlobalPickerService);\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Matrix, Point } from "@visactor/vutils";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { application } from "../application";
|
|
4
4
|
|
|
5
5
|
export class DefaultGlobalPickerService {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.global =
|
|
7
|
+
this.global = application.global, this.global.hooks.onSetEnv.tap("global-picker-service", ((lastEnv, env, global) => {
|
|
8
8
|
this.configure(global, env);
|
|
9
9
|
})), this.configure(this.global, this.global.env);
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/global-picker-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAWjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/picker/global-picker-service.ts"],"names":[],"mappings":"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","file":"global-picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { Matrix, Point } from '@visactor/vutils';\nimport type {\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult\n} from '../interface';\nimport { application } from '../application';\n\n// 默认的pick-service,提供基本的最优选中策略,尽量不需要用户自己实现contribution\n// 用户可以写plugin\nexport class DefaultGlobalPickerService implements IPickerService {\n type: 'global';\n\n declare pickerMap: Map<number, IGraphicPicker>;\n declare global: IGlobal;\n\n constructor() {\n this.global = application.global;\n this.global.hooks.onSetEnv.tap('global-picker-service', (lastEnv, env, global) => {\n this.configure(global, env);\n });\n this.configure(this.global, this.global.env);\n }\n\n reInit() {\n return;\n }\n\n configure(global: IGlobal, env: EnvType) {\n // if (!this.global.env) return;\n // this.contributions.getContributions().forEach(handlerContribution => {\n // handlerContribution.configure(this, this.global);\n // });\n }\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPointLike, params?: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = 0; i < graphics.length; i++) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n const data = this.pickItem(graphics[i], point, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n // 判断是否有shadow-dom\n if (result.graphic) {\n let g = result.graphic;\n while (g.parent) {\n g = g.parent;\n }\n if (g.shadowHost) {\n result.params = {\n shadowTarget: result.graphic\n };\n result.graphic = g.shadowHost;\n }\n }\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params?: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params);\n }\n\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params?: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过\n if (!insideGroup) {\n return result;\n }\n // todo: 支持带有path的group的选中\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n parentMatrix.multiply(transMatrix.a, transMatrix.b, transMatrix.c, transMatrix.d, transMatrix.e, transMatrix.f);\n\n if (group.attribute.childrenPickable !== false) {\n group.forEachChildren((graphic: IGraphic) => {\n if (graphic.isContainer) {\n result = this.pickGroup(graphic as IGroup, point, parentMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n parentMatrix.transformPoint(newPoint, newPoint);\n const data = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (data) {\n result.graphic = data.graphic;\n result.params = data.params;\n }\n }\n return !!result.graphic || !!result.group;\n });\n }\n\n if (!result.graphic && !result.group && groupPicked) {\n result.group = group;\n }\n\n return result;\n }\n\n // todo: switch统一改为数字map\n pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params?: IPickParams\n ): PickResult | null {\n if (graphic.attribute.pickable === false) {\n return null;\n }\n if (graphic.AABBBounds.containsPoint(point)) {\n return {\n graphic: graphic\n };\n }\n return null;\n }\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PickerService, GlobalPickerService, PickItemInterceptor, PickServiceInterceptor } from "./constants";
|
|
2
|
+
|
|
3
|
+
import { Canvas3DPickItemInterceptor, InteractivePickItemInterceptorContribution, ShadowPickServiceInterceptorContribution, ShadowRootPickItemInterceptorContribution } from "./pick-interceptor";
|
|
4
|
+
|
|
5
|
+
import { bindContributionProvider } from "../common/contribution-provider";
|
|
6
|
+
|
|
7
|
+
export function bindPickModules({bind: bind, isBound: isBound}) {
|
|
8
|
+
isBound(PickerService) || (bind(GlobalPickerService).toSelf(), bind(PickerService).toService(GlobalPickerService)),
|
|
9
|
+
bind(Canvas3DPickItemInterceptor).toSelf().inSingletonScope(), bind(PickItemInterceptor).toService(Canvas3DPickItemInterceptor),
|
|
10
|
+
bind(ShadowRootPickItemInterceptorContribution).toSelf().inSingletonScope(), bind(PickItemInterceptor).toService(ShadowRootPickItemInterceptorContribution),
|
|
11
|
+
bind(InteractivePickItemInterceptorContribution).toSelf().inSingletonScope(), bind(PickItemInterceptor).toService(InteractivePickItemInterceptorContribution),
|
|
12
|
+
bindContributionProvider(bind, PickItemInterceptor), bind(ShadowPickServiceInterceptorContribution).toSelf().inSingletonScope(),
|
|
13
|
+
bind(PickServiceInterceptor).toService(ShadowPickServiceInterceptorContribution),
|
|
14
|
+
bindContributionProvider(bind, PickServiceInterceptor);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default bindPickModules;
|
|
18
|
+
//# sourceMappingURL=pick-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/picker/pick-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAI9G,OAAO,EACL,2BAA2B,EAC3B,0CAA0C,EAC1C,wCAAwC,EACxC,yCAAyC,EAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAmD;IAChG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;QAC3B,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;KACpD;IAOD,IAAI,CAAC,2BAA2B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9D,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAGjE,IAAI,CAAC,yCAAyC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5E,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;IAG/E,IAAI,CAAC,0CAA0C,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC7E,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAChF,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IAEpD,IAAI,CAAC,wCAAwC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC3E,IAAI,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;IAEjF,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;AACzD,CAAC;AAED,eAAe,eAAe,CAAC","file":"pick-modules.js","sourcesContent":["import { PickerService, GlobalPickerService, PickItemInterceptor, PickServiceInterceptor } from './constants';\nimport { DefaultGlobalPickerService } from './global-picker-service';\n// import { DefaultCanvasPickerService } from './canvas-picker-service';\n// import { DefaultMathPickerService } from './math-picker-service';\nimport {\n Canvas3DPickItemInterceptor,\n InteractivePickItemInterceptorContribution,\n ShadowPickServiceInterceptorContribution,\n ShadowRootPickItemInterceptorContribution\n} from './pick-interceptor';\nimport { bindContributionProvider } from '../common/contribution-provider';\n\nexport function bindPickModules({ bind, isBound }: { bind: any; isBound: (token: any) => boolean }) {\n if (!isBound(PickerService)) {\n bind(GlobalPickerService).toSelf();\n bind(PickerService).toService(GlobalPickerService);\n }\n // bind(PickerService).toService(GlobalPickerService);\n\n // bind(DefaultGlobalPickerService).toSelf().inSingletonScope();\n // bind(GlobalPickerService).toService(DefaultGlobalPickerService);\n\n // interceptor\n bind(Canvas3DPickItemInterceptor).toSelf().inSingletonScope();\n bind(PickItemInterceptor).toService(Canvas3DPickItemInterceptor);\n\n // shadow root\n bind(ShadowRootPickItemInterceptorContribution).toSelf().inSingletonScope();\n bind(PickItemInterceptor).toService(ShadowRootPickItemInterceptorContribution);\n\n // interactive\n bind(InteractivePickItemInterceptorContribution).toSelf().inSingletonScope();\n bind(PickItemInterceptor).toService(InteractivePickItemInterceptorContribution);\n bindContributionProvider(bind, PickItemInterceptor);\n\n bind(ShadowPickServiceInterceptorContribution).toSelf().inSingletonScope();\n bind(PickServiceInterceptor).toService(ShadowPickServiceInterceptorContribution);\n\n bindContributionProvider(bind, PickServiceInterceptor);\n}\n\nexport default bindPickModules;\n"]}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IMatrix, type IPoint, type IPointLike } from '@visactor/vutils';
|
|
2
2
|
import type { IContext2d, IGraphic, IGroup, EnvType, IGlobal, IPickerService, IGraphicPicker, IPickParams, PickResult, IPickItemInterceptorContribution, IContributionProvider, IPickServiceInterceptorContribution } from '../interface';
|
|
3
|
+
import type { IPickerRegistry } from '../registry';
|
|
4
|
+
interface IPickerServiceDeps {
|
|
5
|
+
pickerRegistry?: IPickerRegistry;
|
|
6
|
+
pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>;
|
|
7
|
+
pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>;
|
|
8
|
+
global?: IGlobal;
|
|
9
|
+
}
|
|
3
10
|
export declare abstract class DefaultPickService implements IPickerService {
|
|
11
|
+
protected pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;
|
|
12
|
+
protected pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;
|
|
4
13
|
type: string;
|
|
5
14
|
pickerMap: Map<number, IGraphicPicker>;
|
|
6
15
|
pickContext?: IContext2d;
|
|
7
16
|
InterceptorContributions: IPickItemInterceptorContribution[];
|
|
8
17
|
pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];
|
|
9
18
|
global: IGlobal;
|
|
10
|
-
protected readonly
|
|
11
|
-
|
|
12
|
-
constructor(pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>, pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>);
|
|
19
|
+
protected readonly pickerRegistry?: IPickerRegistry;
|
|
20
|
+
constructor(pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>, pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>, deps?: IPickerServiceDeps);
|
|
13
21
|
reInit(): void;
|
|
14
22
|
protected _init(): void;
|
|
15
23
|
abstract configure(global: IGlobal, env: EnvType): void;
|
|
@@ -19,3 +27,4 @@ export declare abstract class DefaultPickService implements IPickerService {
|
|
|
19
27
|
abstract pickItem(graphic: IGraphic, point: IPointLike, parentMatrix: IMatrix | null, params: IPickParams): PickResult | null;
|
|
20
28
|
protected selectPicker(graphic: IGraphic): IGraphicPicker | null;
|
|
21
29
|
}
|
|
30
|
+
export {};
|
|
@@ -10,25 +10,30 @@ import { mat3Tomat4, multiplyMat4Mat4 } from "../common/matrix";
|
|
|
10
10
|
|
|
11
11
|
import { mat4Allocate, matrixAllocate } from "../allocator/matrix-allocate";
|
|
12
12
|
|
|
13
|
-
import {
|
|
13
|
+
import { application } from "../application";
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER = {
|
|
16
|
+
getContributions: () => []
|
|
17
|
+
}, EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER = {
|
|
18
|
+
getContributions: () => []
|
|
19
|
+
};
|
|
18
20
|
|
|
19
21
|
export class DefaultPickService {
|
|
20
|
-
constructor(pickItemInterceptorContributions, pickServiceInterceptorContributions) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
constructor(pickItemInterceptorContributions = EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER, pickServiceInterceptorContributions = EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER, deps = {}) {
|
|
23
|
+
var _a, _b, _c, _d, _e;
|
|
24
|
+
this.pickItemInterceptorContributions = pickItemInterceptorContributions, this.pickServiceInterceptorContributions = pickServiceInterceptorContributions,
|
|
25
|
+
this.type = "default", this.global = null !== (_a = deps.global) && void 0 !== _a ? _a : application.global,
|
|
26
|
+
this.pickerRegistry = deps.pickerRegistry, this.pickItemInterceptorContributions = null !== (_c = null !== (_b = deps.pickItemInterceptorContributions) && void 0 !== _b ? _b : this.pickItemInterceptorContributions) && void 0 !== _c ? _c : EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER,
|
|
27
|
+
this.pickServiceInterceptorContributions = null !== (_e = null !== (_d = deps.pickServiceInterceptorContributions) && void 0 !== _d ? _d : this.pickServiceInterceptorContributions) && void 0 !== _e ? _e : EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER,
|
|
28
|
+
this.pickerMap = new Map;
|
|
26
29
|
}
|
|
27
30
|
reInit() {
|
|
28
31
|
this._init();
|
|
29
32
|
}
|
|
30
33
|
_init() {
|
|
31
|
-
this.
|
|
34
|
+
this.pickerRegistry && (this.pickerMap.clear(), this.pickerRegistry.getAll().forEach((item => {
|
|
35
|
+
this.pickerMap.set(item.numberType, item);
|
|
36
|
+
}))), this.InterceptorContributions = this.pickItemInterceptorContributions.getContributions().sort(((a, b) => a.order - b.order)),
|
|
32
37
|
this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions.getContributions().sort(((a, b) => a.order - b.order));
|
|
33
38
|
}
|
|
34
39
|
pick(graphics, point, params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/picker/picker-service.ts"],"names":[],"mappings":"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","file":"picker-service.js","sourcesContent":["import type { IMatrix, IPoint, IPointLike } from '@visactor/vutils';\nimport { AABBBounds, Matrix, Point } from '@visactor/vutils';\nimport { foreach } from '../common/sort';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult,\n IPickItemInterceptorContribution,\n IContributionProvider,\n IPickServiceInterceptorContribution\n} from '../interface';\nimport { getTheme } from '../graphic/theme';\nimport { DefaultAttribute } from '../graphic/config';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../common/matrix';\nimport { mat4Allocate, matrixAllocate } from '../allocator/matrix-allocate';\nimport { vglobal } from '../modules';\nimport { PickItemInterceptor, PickServiceInterceptor } from './constants';\nimport { contributionRegistry } from '../common/registry';\n\nexport abstract class DefaultPickService implements IPickerService {\n type: string = 'default';\n declare pickerMap: Map<number, IGraphicPicker>;\n declare pickContext?: IContext2d;\n declare InterceptorContributions: IPickItemInterceptorContribution[];\n declare pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];\n declare global: IGlobal;\n\n protected readonly pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution>;\n protected readonly pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution>;\n\n constructor(\n pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>,\n pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>\n ) {\n this.pickItemInterceptorContributions =\n pickItemInterceptorContributions ||\n ({\n getContributions: () => contributionRegistry.get<IPickItemInterceptorContribution>(PickItemInterceptor)\n } as IContributionProvider<IPickItemInterceptorContribution>);\n this.pickServiceInterceptorContributions =\n pickServiceInterceptorContributions ||\n ({\n getContributions: () => contributionRegistry.get<IPickServiceInterceptorContribution>(PickServiceInterceptor)\n } as IContributionProvider<IPickServiceInterceptorContribution>);\n this.global = vglobal;\n }\n\n reInit() {\n this._init();\n }\n\n protected _init() {\n this.InterceptorContributions = this.pickItemInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n }\n\n abstract configure(global: IGlobal, env: EnvType): void;\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n // point变换\n params.pickerService = this;\n\n const w = params.bounds.width();\n const h = params.bounds.height();\n if (!new AABBBounds().setValue(0, 0, w, h).containsPoint(point)) {\n return result;\n }\n if (this.pickContext) {\n this.pickContext.inuse = true;\n }\n params.pickContext = this.pickContext;\n this.pickContext && this.pickContext.clearMatrix(true, 1);\n\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = graphics.length - 1; i >= 0; i--) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n result = this.pickItem(graphics[i], point, parentMatrix, params);\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n if (this.pickContext) {\n this.pickContext.inuse = false;\n }\n\n if (this.pickerServiceInterceptorContributions.length) {\n for (let i = 0; i < this.pickerServiceInterceptorContributions.length; i++) {\n const drawContribution = this.pickerServiceInterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n result = drawContribution.afterPickItem(result, this, point, params, { parentMatrix });\n }\n }\n }\n // // 判断是否有shadow-dom\n // if (result.graphic) {\n // let g = result.graphic;\n // while (g.parent) {\n // g = g.parent;\n // }\n // if (g.shadowHost) {\n // result.params = {\n // shadowTarget: result.graphic\n // };\n // result.graphic = g.shadowHost;\n // }\n // }\n\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params ?? { pickContext: this.pickContext, pickerService: this })\n ?.graphic;\n }\n\n // TODO: 支持3d模式的拾取和自定义path的拾取\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n const context = params.pickContext;\n const lastMatrix = context.modelMatrix;\n // 如果是3d,那么需要生成modelMatrix\n if (context.camera) {\n const m = group.transMatrix;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n if (lastMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastMatrix, matrix);\n mat4Allocate.free(matrix);\n }\n } else {\n // 转化context的matrix为lastMatrix\n mat3Tomat4(matrix, group.globalTransMatrix);\n context.modelMatrix = matrix;\n }\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const result = drawContribution.beforePickItem(group, this, point, params, { parentMatrix });\n if (result) {\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n return result;\n }\n }\n }\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // todo: 支持带有path的group的选中\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过(如果是3d模式,那么继续)\n if (!insideGroup && !group.stage.camera) {\n return result;\n }\n // pickGroup,Group目前只支持拦截模式(用于shadow节点)\n const pickedItem = this.pickItem(group, newPoint.clone(), parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n currentGroupMatrix.multiply(\n transMatrix.a,\n transMatrix.b,\n transMatrix.c,\n transMatrix.d,\n transMatrix.e,\n transMatrix.f\n );\n if (group.attribute.childrenPickable !== false && !(pickedItem && pickedItem.graphic)) {\n foreach(\n group,\n DefaultAttribute.zIndex,\n (graphic: IGraphic) => {\n if (graphic.isContainer) {\n // 偏移scrollX和scrollY\n const newPoint: IPoint = new Point(point.x, point.y);\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n result = this.pickGroup(graphic as IGroup, newPoint, currentGroupMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // 偏移scrollX和scrollY\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n const pickedItem = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n }\n return !!result.graphic || !!result.group;\n },\n true,\n !!context.camera\n );\n }\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n\n if (!result.graphic && !result.group && groupPicked && !group.stage.camera) {\n result.group = group;\n }\n matrixAllocate.free(currentGroupMatrix);\n return result;\n }\n\n // todo: switch统一改为数字map\n abstract pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params: IPickParams\n ): PickResult | null;\n\n protected selectPicker(graphic: IGraphic): IGraphicPicker | null {\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/picker/picker-service.ts"],"names":[],"mappings":"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","file":"picker-service.js","sourcesContent":["import { AABBBounds, Matrix, Point, type IMatrix, type IPoint, type IPointLike } from '@visactor/vutils';\nimport { foreach } from '../common/sort';\nimport type {\n IContext2d,\n IGraphic,\n IGroup,\n EnvType,\n IGlobal,\n IPickerService,\n IGraphicPicker,\n IPickParams,\n PickResult,\n IPickItemInterceptorContribution,\n IContributionProvider,\n IPickServiceInterceptorContribution\n} from '../interface';\nimport { getTheme } from '../graphic/theme';\nimport { DefaultAttribute } from '../graphic/config';\nimport { mat3Tomat4, multiplyMat4Mat4 } from '../common/matrix';\nimport { mat4Allocate, matrixAllocate } from '../allocator/matrix-allocate';\nimport { application } from '../application';\nimport type { IPickerRegistry } from '../registry';\n\ninterface IPickerServiceDeps {\n pickerRegistry?: IPickerRegistry;\n pickItemInterceptorContributions?: IContributionProvider<IPickItemInterceptorContribution>;\n pickServiceInterceptorContributions?: IContributionProvider<IPickServiceInterceptorContribution>;\n global?: IGlobal;\n}\n\nconst EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER: IContributionProvider<IPickItemInterceptorContribution> = {\n getContributions: () => []\n};\n\nconst EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER: IContributionProvider<IPickServiceInterceptorContribution> = {\n getContributions: () => []\n};\n\nexport abstract class DefaultPickService implements IPickerService {\n type: string = 'default';\n declare pickerMap: Map<number, IGraphicPicker>;\n declare pickContext?: IContext2d;\n declare InterceptorContributions: IPickItemInterceptorContribution[];\n declare pickerServiceInterceptorContributions: IPickServiceInterceptorContribution[];\n declare global: IGlobal;\n protected readonly pickerRegistry?: IPickerRegistry;\n\n constructor(\n protected pickItemInterceptorContributions: IContributionProvider<IPickItemInterceptorContribution> = EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER,\n protected pickServiceInterceptorContributions: IContributionProvider<IPickServiceInterceptorContribution> = EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER,\n deps: IPickerServiceDeps = {}\n ) {\n this.global = deps.global ?? application.global;\n this.pickerRegistry = deps.pickerRegistry;\n this.pickItemInterceptorContributions =\n deps.pickItemInterceptorContributions ??\n this.pickItemInterceptorContributions ??\n EMPTY_PICK_ITEM_INTERCEPTOR_PROVIDER;\n this.pickServiceInterceptorContributions =\n deps.pickServiceInterceptorContributions ??\n this.pickServiceInterceptorContributions ??\n EMPTY_PICK_SERVICE_INTERCEPTOR_PROVIDER;\n this.pickerMap = new Map();\n }\n\n reInit() {\n this._init();\n }\n\n protected _init() {\n if (this.pickerRegistry) {\n this.pickerMap.clear();\n this.pickerRegistry.getAll().forEach(item => {\n this.pickerMap.set(item.numberType, item);\n });\n }\n this.InterceptorContributions = this.pickItemInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n this.pickerServiceInterceptorContributions = this.pickServiceInterceptorContributions\n .getContributions()\n .sort((a, b) => a.order - b.order);\n }\n\n abstract configure(global: IGlobal, env: EnvType): void;\n\n // todo: params支持\n // todo: 性能优化\n pick(graphics: IGraphic[], point: IPoint, params: IPickParams): PickResult {\n let result: PickResult = {\n graphic: null,\n group: null\n };\n // point变换\n params.pickerService = this;\n\n const w = params.bounds.width();\n const h = params.bounds.height();\n if (!new AABBBounds().setValue(0, 0, w, h).containsPoint(point)) {\n return result;\n }\n if (this.pickContext) {\n this.pickContext.inuse = true;\n }\n params.pickContext = this.pickContext;\n this.pickContext && this.pickContext.clearMatrix(true, 1);\n\n const parentMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n let group: IGroup;\n for (let i = graphics.length - 1; i >= 0; i--) {\n if (graphics[i].isContainer) {\n result = this.pickGroup(graphics[i] as IGroup, point, parentMatrix, params);\n } else {\n result = this.pickItem(graphics[i], point, parentMatrix, params);\n }\n if (result.graphic) {\n break;\n }\n if (!group) {\n group = result.group;\n }\n }\n if (!result.graphic) {\n result.group = group;\n }\n if (this.pickContext) {\n this.pickContext.inuse = false;\n }\n\n if (this.pickerServiceInterceptorContributions.length) {\n for (let i = 0; i < this.pickerServiceInterceptorContributions.length; i++) {\n const drawContribution = this.pickerServiceInterceptorContributions[i];\n if (drawContribution.afterPickItem) {\n result = drawContribution.afterPickItem(result, this, point, params, { parentMatrix });\n }\n }\n }\n // // 判断是否有shadow-dom\n // if (result.graphic) {\n // let g = result.graphic;\n // while (g.parent) {\n // g = g.parent;\n // }\n // if (g.shadowHost) {\n // result.params = {\n // shadowTarget: result.graphic\n // };\n // result.graphic = g.shadowHost;\n // }\n // }\n\n return result;\n }\n\n containsPoint(graphic: IGraphic, point: IPointLike, params: IPickParams): boolean {\n return !!this.pickItem(graphic, point, null, params ?? { pickContext: this.pickContext, pickerService: this })\n ?.graphic;\n }\n\n // TODO: 支持3d模式的拾取和自定义path的拾取\n pickGroup(group: IGroup, point: IPointLike, parentMatrix: IMatrix, params: IPickParams): PickResult {\n let result: PickResult = {\n group: null,\n graphic: null\n };\n if (group.attribute.visibleAll === false) {\n return result;\n }\n const context = params.pickContext;\n const lastMatrix = context.modelMatrix;\n // 如果是3d,那么需要生成modelMatrix\n if (context.camera) {\n const m = group.transMatrix;\n const matrix = mat4Allocate.allocate();\n mat3Tomat4(matrix, m);\n if (lastMatrix) {\n if (matrix) {\n const m = mat4Allocate.allocate();\n context.modelMatrix = multiplyMat4Mat4(m, lastMatrix, matrix);\n mat4Allocate.free(matrix);\n }\n } else {\n // 转化context的matrix为lastMatrix\n mat3Tomat4(matrix, group.globalTransMatrix);\n context.modelMatrix = matrix;\n }\n }\n // 添加拦截器\n if (this.InterceptorContributions.length) {\n for (let i = 0; i < this.InterceptorContributions.length; i++) {\n const drawContribution = this.InterceptorContributions[i];\n if (drawContribution.beforePickItem) {\n const result = drawContribution.beforePickItem(group, this, point, params, { parentMatrix });\n if (result) {\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n return result;\n }\n }\n }\n }\n // 转换坐标空间\n const transMatrix = group.transMatrix;\n const currentGroupMatrix = matrixAllocate.allocateByObj(parentMatrix);\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // todo: 支持带有path的group的选中\n const insideGroup = group.AABBBounds.containsPoint(newPoint);\n // 如果group没有被选中,直接跳过(如果是3d模式,那么继续)\n if (!insideGroup && !group.stage.camera) {\n return result;\n }\n // pickGroup,Group目前只支持拦截模式(用于shadow节点)\n const pickedItem = this.pickItem(group, newPoint.clone(), parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n const groupPicked = group.attribute.pickable !== false && insideGroup;\n\n currentGroupMatrix.multiply(\n transMatrix.a,\n transMatrix.b,\n transMatrix.c,\n transMatrix.d,\n transMatrix.e,\n transMatrix.f\n );\n if (group.attribute.childrenPickable !== false && !(pickedItem && pickedItem.graphic)) {\n foreach(\n group,\n DefaultAttribute.zIndex,\n (graphic: IGraphic) => {\n if (graphic.isContainer) {\n // 偏移scrollX和scrollY\n const newPoint: IPoint = new Point(point.x, point.y);\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n result = this.pickGroup(graphic as IGroup, newPoint, currentGroupMatrix, params);\n } else {\n const newPoint: IPoint = new Point(point.x, point.y);\n currentGroupMatrix.transformPoint(newPoint, newPoint);\n // 偏移scrollX和scrollY\n const theme = getTheme(group).group;\n const { scrollX = theme.scrollX, scrollY = theme.scrollY } = group.attribute;\n newPoint.x -= scrollX;\n newPoint.y -= scrollY;\n const pickedItem = this.pickItem(graphic, newPoint, parentMatrix, params);\n if (pickedItem && pickedItem.graphic) {\n result.graphic = pickedItem.graphic;\n result.params = pickedItem.params;\n }\n }\n return !!result.graphic || !!result.group;\n },\n true,\n !!context.camera\n );\n }\n if (context.modelMatrix !== lastMatrix) {\n mat4Allocate.free(context.modelMatrix);\n }\n context.modelMatrix = lastMatrix;\n\n if (!result.graphic && !result.group && groupPicked && !group.stage.camera) {\n result.group = group;\n }\n matrixAllocate.free(currentGroupMatrix);\n return result;\n }\n\n // todo: switch统一改为数字map\n abstract pickItem(\n graphic: IGraphic,\n point: IPointLike,\n parentMatrix: IMatrix | null,\n params: IPickParams\n ): PickResult | null;\n\n protected selectPicker(graphic: IGraphic): IGraphicPicker | null {\n const picker = this.pickerMap.get(graphic.numberType);\n if (!picker) {\n return null;\n }\n return picker;\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IPlugin, IPluginContext } from './types';
|
|
2
|
+
export declare abstract class BasePlugin implements IPlugin {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly version: string;
|
|
5
|
+
constructor(name: string, version?: string);
|
|
6
|
+
abstract install(context: IPluginContext): void;
|
|
7
|
+
uninstall(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugins/base-plugin.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,UAAU;IAC9B,YAA4B,IAAY,EAAkB,UAAkB,OAAO;QAAvD,SAAI,GAAJ,IAAI,CAAQ;QAAkB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAIvF,SAAS;QACP,OAAO;IACT,CAAC;CACF","file":"base-plugin.js","sourcesContent":["import type { IPlugin, IPluginContext } from './types';\n\nexport abstract class BasePlugin implements IPlugin {\n constructor(public readonly name: string, public readonly version: string = '1.0.0') {}\n\n abstract install(context: IPluginContext): void;\n\n uninstall(): void {\n return;\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BasePlugin } from './base-plugin';
|
|
2
|
+
import type { IBrowserEnvPluginHooks, IPluginContext } from './types';
|
|
3
|
+
export declare class BrowserEnvPlugin extends BasePlugin {
|
|
4
|
+
private readonly hooks;
|
|
5
|
+
constructor(name: string, hooks?: IBrowserEnvPluginHooks, version?: string);
|
|
6
|
+
install(context: IPluginContext): void;
|
|
7
|
+
uninstall(): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BasePlugin } from "./base-plugin";
|
|
2
|
+
|
|
3
|
+
export class BrowserEnvPlugin extends BasePlugin {
|
|
4
|
+
constructor(name, hooks = {}, version) {
|
|
5
|
+
super(name, version), this.hooks = hooks;
|
|
6
|
+
}
|
|
7
|
+
install(context) {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
null === (_b = (_a = this.hooks).install) || void 0 === _b || _b.call(_a, context);
|
|
10
|
+
}
|
|
11
|
+
uninstall() {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
null === (_b = (_a = this.hooks).uninstall) || void 0 === _b || _b.call(_a);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=browser-env-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugins/browser-env-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,IAAY,EAAmB,QAAgC,EAAE,EAAE,OAAgB;QAC7F,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QADoB,UAAK,GAAL,KAAK,CAA6B;IAE7E,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC7B,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,OAAO,mDAAG,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,SAAS;;QACP,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,SAAS,kDAAI,CAAC;IAC3B,CAAC;CACF","file":"browser-env-plugin.js","sourcesContent":["import { BasePlugin } from './base-plugin';\nimport type { IBrowserEnvPluginHooks, IPluginContext } from './types';\n\nexport class BrowserEnvPlugin extends BasePlugin {\n constructor(name: string, private readonly hooks: IBrowserEnvPluginHooks = {}, version?: string) {\n super(name, version);\n }\n\n install(context: IPluginContext): void {\n this.hooks.install?.(context);\n }\n\n uninstall(): void {\n this.hooks.uninstall?.();\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Generator } from "../../common/generator";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { application } from "../../application";
|
|
4
4
|
|
|
5
5
|
export class AutoRefreshPlugin {
|
|
6
6
|
constructor() {
|
|
@@ -10,16 +10,16 @@ export class AutoRefreshPlugin {
|
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
activate(context) {
|
|
13
|
-
this.pluginService = context, this.dpr =
|
|
13
|
+
this.pluginService = context, this.dpr = application.global.devicePixelRatio, this.refresh();
|
|
14
14
|
}
|
|
15
15
|
refresh() {
|
|
16
16
|
this._refreshByMediaQuery() || this._refreshByRaf();
|
|
17
17
|
}
|
|
18
18
|
_refreshByRaf() {
|
|
19
|
-
const raf =
|
|
19
|
+
const raf = application.global.getRequestAnimationFrame();
|
|
20
20
|
this.rafId = raf((() => {
|
|
21
|
-
|
|
22
|
-
this.refresh();
|
|
21
|
+
application.global.devicePixelRatio !== this.dpr && (this.dpr = application.global.devicePixelRatio,
|
|
22
|
+
this.pluginService.stage.setDpr(this.dpr, !0)), this.refresh();
|
|
23
23
|
}));
|
|
24
24
|
}
|
|
25
25
|
_refreshByMediaQuery() {
|
|
@@ -38,7 +38,7 @@ export class AutoRefreshPlugin {
|
|
|
38
38
|
}
|
|
39
39
|
deactivate(context) {
|
|
40
40
|
var _a;
|
|
41
|
-
const craf =
|
|
41
|
+
const craf = application.global.getCancelAnimationFrame();
|
|
42
42
|
craf && this.rafId && craf(this.rafId), null === (_a = this.autoRefreshCbs) || void 0 === _a || _a.forEach((cb => {
|
|
43
43
|
cb();
|
|
44
44
|
})), this.autoRefreshCbs = void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugins/builtin-plugin/auto-refresh-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/plugins/builtin-plugin/auto-refresh-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,MAAM,OAAO,iBAAiB;IAA9B;QACE,SAAI,GAAwB,mBAAmB,CAAC;QAChD,gBAAW,GAAiB,YAAY,CAAC;QAEzC,SAAI,GAAW,SAAS,CAAC,kBAAkB,EAAE,CAAC;QAC9C,QAAG,GAAW,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAKpC,iBAAY,GAAG,CAAC,OAAiB,EAAE,EAAE;YACnC,IAAI,OAAO,CAAC,SAAS,EAAE;gBACrB,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;aAC7B;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE;gBACvE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;aACjC;QACH,CAAC,CAAC;IAsDJ,CAAC;IApDC,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAChC,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IACS,aAAa;QACrB,MAAM,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE;YACpB,IAAI,WAAW,CAAC,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,GAAG,EAAE;gBACpD,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAC/C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aACjD;YACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IACS,oBAAoB;QAC5B,IAAI;YACF,MAAM,QAAQ,GAAG,gBAAgB,MAAM,CAAC,gBAAgB,OAAO,CAAC;YAEhE,MAAM,gBAAgB,GAAG,GAAG,EAAE;gBAC5B,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,CAAC,GAAG,EAAE;oBACxC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;oBACnC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC;YACF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU,CAAC,OAAuB;;QAChC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC1D,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,CAAC,EAAE,CAAC,EAAE;YAChC,EAAE,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IAClC,CAAC;CACF","file":"auto-refresh-plugin.js","sourcesContent":["import { Generator } from '../../common/generator';\nimport { application } from '../../application';\nimport type { IGraphic, IPlugin, IPluginService } from '../../interface';\n\nexport class AutoRefreshPlugin implements IPlugin {\n name: 'AutoRefreshPlugin' = 'AutoRefreshPlugin';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n dpr: number;\n rafId: number;\n autoRefreshCbs?: (() => void)[];\n\n handleChange = (graphic: IGraphic) => {\n if (graphic.glyphHost) {\n graphic = graphic.glyphHost;\n }\n if (graphic.stage === this.pluginService.stage && graphic.stage != null) {\n graphic.stage.renderNextFrame();\n }\n };\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n this.dpr = application.global.devicePixelRatio;\n this.refresh();\n }\n\n refresh() {\n if (!this._refreshByMediaQuery()) {\n this._refreshByRaf();\n }\n }\n protected _refreshByRaf() {\n const raf = application.global.getRequestAnimationFrame();\n this.rafId = raf(() => {\n if (application.global.devicePixelRatio !== this.dpr) {\n this.dpr = application.global.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n this.refresh();\n });\n }\n protected _refreshByMediaQuery() {\n try {\n const mqString = `(resolution: ${window.devicePixelRatio}dppx)`;\n\n const updatePixelRatio = () => {\n if (window.devicePixelRatio !== this.dpr) {\n this.dpr = window.devicePixelRatio;\n this.pluginService.stage.setDpr(this.dpr, true);\n }\n };\n const dom = matchMedia(mqString);\n dom && dom.addEventListener('change', updatePixelRatio);\n if (!this.autoRefreshCbs) {\n this.autoRefreshCbs = [];\n }\n this.autoRefreshCbs.push(() => {\n dom && dom.removeEventListener('change', updatePixelRatio);\n });\n } catch (err) {\n return false;\n }\n return true;\n }\n deactivate(context: IPluginService): void {\n const craf = application.global.getCancelAnimationFrame();\n craf && this.rafId && craf(this.rafId);\n this.autoRefreshCbs?.forEach(cb => {\n cb();\n });\n this.autoRefreshCbs = undefined;\n }\n}\n"]}
|