@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
package/es/graphic/wrap-text.js
CHANGED
|
@@ -2,7 +2,9 @@ import { isArray } from "@visactor/vutils";
|
|
|
2
2
|
|
|
3
3
|
import { CanvasTextLayout } from "../core/contributions/textMeasure/layout";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { MeasureModeEnum } from "../interface";
|
|
6
|
+
|
|
7
|
+
import { application } from "../application";
|
|
6
8
|
|
|
7
9
|
import { Text } from "./text";
|
|
8
10
|
|
|
@@ -28,7 +30,7 @@ export class WrapText extends Text {
|
|
|
28
30
|
return this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height),
|
|
29
31
|
stroke && this._AABBBounds.expand(lineWidth / 2), this._AABBBounds;
|
|
30
32
|
}
|
|
31
|
-
const textMeasure = graphicUtil.getTextMeasureInstance(this.textMeasureId || (null === (_c = this.stage) || void 0 === _c ? void 0 : _c.textMeasureId)), layoutObj = new CanvasTextLayout(fontFamily, {
|
|
33
|
+
const textMeasure = application.graphicUtil.getTextMeasureInstance(this.textMeasureId || (null === (_c = this.stage) || void 0 === _c ? void 0 : _c.textMeasureId)), layoutObj = new CanvasTextLayout(fontFamily, {
|
|
32
34
|
fontSize: fontSize,
|
|
33
35
|
fontWeight: fontWeight,
|
|
34
36
|
fontFamily: fontFamily
|
|
@@ -40,12 +42,12 @@ export class WrapText extends Text {
|
|
|
40
42
|
const str = lines[i];
|
|
41
43
|
let needCut = !0;
|
|
42
44
|
if (i === lineCountLimit - 1) {
|
|
43
|
-
const clip = layoutObj.textMeasure.clipTextWithSuffix(str, layoutObj.textOptions, maxLineWidth, ellipsis, !1, suffixPosition);
|
|
45
|
+
const clip = layoutObj.textMeasure.clipTextWithSuffix(str, layoutObj.textOptions, maxLineWidth, ellipsis, !1, suffixPosition), metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(clip.str, layoutObj.textOptions, MeasureModeEnum.actualBounding);
|
|
44
46
|
linesLayout.push({
|
|
45
47
|
str: clip.str,
|
|
46
48
|
width: clip.width,
|
|
47
|
-
ascent:
|
|
48
|
-
descent:
|
|
49
|
+
ascent: metrics.ascent,
|
|
50
|
+
descent: metrics.descent,
|
|
49
51
|
keepCenterInLine: !1
|
|
50
52
|
});
|
|
51
53
|
break;
|
|
@@ -58,11 +60,12 @@ export class WrapText extends Text {
|
|
|
58
60
|
} else clip.str = "", clip.width = 0;
|
|
59
61
|
needCut = !1;
|
|
60
62
|
}
|
|
63
|
+
const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(clip.str, layoutObj.textOptions, MeasureModeEnum.actualBounding);
|
|
61
64
|
if (linesLayout.push({
|
|
62
65
|
str: clip.str,
|
|
63
66
|
width: clip.width,
|
|
64
|
-
ascent:
|
|
65
|
-
descent:
|
|
67
|
+
ascent: metrics.ascent,
|
|
68
|
+
descent: metrics.descent,
|
|
66
69
|
keepCenterInLine: !1
|
|
67
70
|
}), clip.str.length === str.length) ; else if (needCut) {
|
|
68
71
|
const newStr = str.substring(clip.str.length);
|
|
@@ -77,22 +80,23 @@ export class WrapText extends Text {
|
|
|
77
80
|
let width, text, lineWidth = 0;
|
|
78
81
|
for (let i = 0, len = lines.length; i < len; i++) {
|
|
79
82
|
if (i === lineCountLimit - 1) {
|
|
80
|
-
const clip = layoutObj.textMeasure.clipTextWithSuffix(lines[i], layoutObj.textOptions, maxLineWidth, ellipsis, !1, suffixPosition);
|
|
83
|
+
const clip = layoutObj.textMeasure.clipTextWithSuffix(lines[i], layoutObj.textOptions, maxLineWidth, ellipsis, !1, suffixPosition), metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(clip.str, layoutObj.textOptions, MeasureModeEnum.actualBounding);
|
|
81
84
|
linesLayout.push({
|
|
82
85
|
str: clip.str,
|
|
83
86
|
width: clip.width,
|
|
84
|
-
ascent:
|
|
85
|
-
descent:
|
|
87
|
+
ascent: metrics.ascent,
|
|
88
|
+
descent: metrics.descent,
|
|
86
89
|
keepCenterInLine: !1
|
|
87
90
|
}), lineWidth = Math.max(lineWidth, clip.width);
|
|
88
91
|
break;
|
|
89
92
|
}
|
|
90
|
-
text = lines[i], width = layoutObj.textMeasure.measureTextWidth(text, layoutObj.textOptions, "break-word" === wordBreak)
|
|
93
|
+
text = lines[i], width = layoutObj.textMeasure.measureTextWidth(text, layoutObj.textOptions, "break-word" === wordBreak);
|
|
94
|
+
const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(text, layoutObj.textOptions, MeasureModeEnum.actualBounding);
|
|
91
95
|
lineWidth = Math.max(lineWidth, width), linesLayout.push({
|
|
92
96
|
str: text,
|
|
93
97
|
width: width,
|
|
94
|
-
ascent:
|
|
95
|
-
descent:
|
|
98
|
+
ascent: metrics.ascent,
|
|
99
|
+
descent: metrics.descent,
|
|
96
100
|
keepCenterInLine: !1
|
|
97
101
|
});
|
|
98
102
|
}
|
|
@@ -105,9 +109,10 @@ export class WrapText extends Text {
|
|
|
105
109
|
width: bboxWH[0],
|
|
106
110
|
height: bboxWH[1]
|
|
107
111
|
};
|
|
108
|
-
layoutObj.LayoutBBox(bbox, textAlign, textBaseline);
|
|
112
|
+
layoutObj.LayoutBBox(bbox, textAlign, textBaseline, linesLayout);
|
|
109
113
|
const layoutData = layoutObj.layoutWithBBox(bbox, linesLayout, textAlign, textBaseline, lineHeight);
|
|
110
|
-
return this.
|
|
114
|
+
return this.getOrCreateCache().layoutData = layoutData, this.clearUpdateShapeTag(),
|
|
115
|
+
this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height),
|
|
111
116
|
stroke && this._AABBBounds.expand(lineWidth / 2), this._AABBBounds;
|
|
112
117
|
}
|
|
113
118
|
needUpdateTags(keys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graphic/wrap-text.ts"],"names":[],"mappings":"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","file":"wrap-text.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { CanvasTextLayout } from '../core/contributions/textMeasure/layout';\nimport type { IText, ITextGraphicAttribute, IWrapTextGraphicAttribute, LayoutItemType } from '../interface';\nimport { vglobal, graphicUtil } from '../modules';\nimport { Text } from './text';\nimport { getTheme } from './theme';\nimport { calculateLineHeight } from '../common/utils';\n\nconst WRAP_TEXT_UPDATE_TAG_KEY = ['heightLimit', 'lineClamp'];\n\n/* WrapText功能\n * 1. 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 2. 高度限制控制显示内容及省略号(heightLimit)\n * 3. 按照行数限制显示内容及省略号(lineClamp)\n */\nexport class WrapText extends Text {\n declare attribute: IWrapTextGraphicAttribute;\n\n constructor(params: ITextGraphicAttribute) {\n super({ ...params, wrap: true });\n }\n\n protected _isValid(): boolean {\n const { text } = this.attribute;\n if (isArray(text)) {\n return !(text as any[]).every((t: any) => t == null || t === '');\n }\n return text != null && text !== '';\n }\n\n /**\n * 计算多行文字的bounds,缓存每行文字的布局位置\n * 自动折行params.text是数组,因此只重新updateMultilineAABBBounds\n * @param text\n */\n updateMultilineAABBBounds(text: (number | string)[]) {\n const textTheme = this.getGraphicTheme();\n const {\n fontFamily = textTheme.fontFamily,\n textAlign = textTheme.textAlign,\n textBaseline = textTheme.textBaseline,\n fontSize = textTheme.fontSize,\n ellipsis = textTheme.ellipsis,\n maxLineWidth,\n stroke = textTheme.stroke,\n lineWidth = textTheme.lineWidth,\n wordBreak = textTheme.wordBreak,\n fontWeight = textTheme.fontWeight,\n // widthLimit,\n ignoreBuf = textTheme.ignoreBuf,\n heightLimit = 0,\n suffixPosition = textTheme.suffixPosition,\n lineClamp\n } = this.attribute;\n const lineHeight =\n calculateLineHeight(this.attribute.lineHeight, this.attribute.fontSize || textTheme.fontSize) ??\n (this.attribute.fontSize || textTheme.fontSize);\n const buf = ignoreBuf ? 0 : 2;\n if (!this.shouldUpdateShape() && this.cache?.layoutData) {\n const bbox = this.cache.layoutData.bbox;\n this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height);\n if (stroke) {\n this._AABBBounds.expand(lineWidth / 2);\n }\n return this._AABBBounds;\n }\n\n const textMeasure = graphicUtil.getTextMeasureInstance(this.textMeasureId || this.stage?.textMeasureId);\n const layoutObj = new CanvasTextLayout(fontFamily, { fontSize, fontWeight, fontFamily }, textMeasure as any) as any;\n\n // layoutObj内逻辑\n const lines = text.map(l => l.toString()) as string[];\n const linesLayout: LayoutItemType[] = [];\n const bboxWH: [number, number] = [0, 0];\n\n let lineCountLimit = Infinity;\n if (heightLimit > 0) {\n lineCountLimit = Math.max(Math.floor(heightLimit / lineHeight), 1);\n }\n if (lineClamp) {\n // 处理行数限制\n lineCountLimit = Math.min(lineCountLimit, lineClamp);\n }\n\n if (typeof maxLineWidth === 'number' && maxLineWidth !== Infinity) {\n // widthLimit > 0\n if (maxLineWidth > 0) {\n for (let i = 0; i < lines.length; i++) {\n const str = lines[i] as string;\n let needCut = true;\n // // 测量当前行宽度\n // width = Math.min(\n // layoutObj.textMeasure.measureTextWidth(str, layoutObj.textOptions),\n // maxLineWidth\n // );\n\n // 判断是否超过高度限制\n if (i === lineCountLimit - 1) {\n // 当前行为最后一行\n const clip = layoutObj.textMeasure.clipTextWithSuffix(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: 0,\n descent: 0,\n keepCenterInLine: false\n });\n break; // 不处理后续行\n }\n\n // 测量截断位置\n const clip = layoutObj.textMeasure.clipText(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n wordBreak === 'break-word'\n );\n if (str !== '' && clip.str === '') {\n if (ellipsis) {\n const clipEllipsis = layoutObj.textMeasure.clipTextWithSuffix(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n clip.str = clipEllipsis.str ?? '';\n clip.width = clipEllipsis.width ?? 0;\n } else {\n // 宽度限制不足一个字符,不显示\n clip.str = '';\n clip.width = 0;\n }\n needCut = false;\n }\n\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: 0,\n descent: 0,\n keepCenterInLine: false\n });\n if (clip.str.length === str.length) {\n // 不需要截断\n } else if (needCut) {\n const newStr = str.substring(clip.str.length);\n lines.splice(i + 1, 0, newStr);\n }\n }\n }\n // bboxWH[0] = maxLineWidth;\n let maxWidth = 0;\n linesLayout.forEach(layout => {\n maxWidth = Math.max(maxWidth, layout.width);\n });\n bboxWH[0] = maxWidth;\n } else {\n // 使用所有行中最长的作为lineWidth\n let lineWidth = 0;\n let width: number;\n let text: string;\n for (let i = 0, len = lines.length; i < len; i++) {\n // 判断是否超过高度限制\n if (i === lineCountLimit - 1) {\n // 当前行为最后一行\n const clip = layoutObj.textMeasure.clipTextWithSuffix(\n lines[i],\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: 0,\n descent: 0,\n keepCenterInLine: false\n });\n lineWidth = Math.max(lineWidth, clip.width);\n break; // 不处理后续行\n }\n\n text = lines[i] as string;\n width = layoutObj.textMeasure.measureTextWidth(text, layoutObj.textOptions, wordBreak === 'break-word');\n lineWidth = Math.max(lineWidth, width);\n linesLayout.push({ str: text, width, ascent: 0, descent: 0, keepCenterInLine: false });\n }\n bboxWH[0] = lineWidth;\n }\n bboxWH[1] = linesLayout.length * (lineHeight + buf);\n\n const bbox = {\n xOffset: 0,\n yOffset: 0,\n width: bboxWH[0],\n height: bboxWH[1]\n };\n\n layoutObj.LayoutBBox(bbox, textAlign, textBaseline as any);\n\n const layoutData = layoutObj.layoutWithBBox(bbox, linesLayout, textAlign, textBaseline as any, lineHeight);\n\n // const layoutData = layoutObj.GetLayoutByLines(\n // text,\n // textAlign,\n // textBaseline as any,\n // lineHeight,\n // ellipsis === true ? (DefaultTextAttribute.ellipsis as string) : ellipsis || undefined,\n // maxLineWidth\n // );\n // const { bbox } = layoutData;\n this.cache.layoutData = layoutData;\n this.clearUpdateShapeTag();\n this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height);\n\n if (stroke) {\n this._AABBBounds.expand(lineWidth / 2);\n }\n\n return this._AABBBounds;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < WRAP_TEXT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = WRAP_TEXT_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return super.needUpdateTags(keys);\n }\n\n protected needUpdateTag(key: string): boolean {\n for (let i = 0; i < WRAP_TEXT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = WRAP_TEXT_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return super.needUpdateTag(key);\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return WrapText.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createWrapText(attributes: ITextGraphicAttribute): IText {\n return new WrapText(attributes);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/graphic/wrap-text.ts"],"names":[],"mappings":"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","file":"wrap-text.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { CanvasTextLayout } from '../core/contributions/textMeasure/layout';\nimport {\n MeasureModeEnum,\n type IText,\n type ITextGraphicAttribute,\n type IWrapTextGraphicAttribute,\n type LayoutItemType\n} from '../interface';\nimport { application } from '../application';\nimport { Text } from './text';\nimport { calculateLineHeight } from '../common/utils';\n\nconst WRAP_TEXT_UPDATE_TAG_KEY = ['heightLimit', 'lineClamp'];\n\n/* WrapText功能\n * 1. 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 2. 高度限制控制显示内容及省略号(heightLimit)\n * 3. 按照行数限制显示内容及省略号(lineClamp)\n */\nexport class WrapText extends Text {\n declare attribute: IWrapTextGraphicAttribute;\n\n constructor(params: ITextGraphicAttribute) {\n super({ ...params, wrap: true });\n }\n\n protected _isValid(): boolean {\n const { text } = this.attribute;\n if (isArray(text)) {\n return !(text as any[]).every((t: any) => t == null || t === '');\n }\n return text != null && text !== '';\n }\n\n /**\n * 计算多行文字的bounds,缓存每行文字的布局位置\n * 自动折行params.text是数组,因此只重新updateMultilineAABBBounds\n * @param text\n */\n updateMultilineAABBBounds(text: (number | string)[]) {\n const textTheme = this.getGraphicTheme();\n const {\n fontFamily = textTheme.fontFamily,\n textAlign = textTheme.textAlign,\n textBaseline = textTheme.textBaseline,\n fontSize = textTheme.fontSize,\n ellipsis = textTheme.ellipsis,\n maxLineWidth,\n stroke = textTheme.stroke,\n lineWidth = textTheme.lineWidth,\n wordBreak = textTheme.wordBreak,\n fontWeight = textTheme.fontWeight,\n // widthLimit,\n ignoreBuf = textTheme.ignoreBuf,\n heightLimit = 0,\n suffixPosition = textTheme.suffixPosition,\n lineClamp\n } = this.attribute;\n const lineHeight =\n calculateLineHeight(this.attribute.lineHeight, this.attribute.fontSize || textTheme.fontSize) ??\n (this.attribute.fontSize || textTheme.fontSize);\n const buf = ignoreBuf ? 0 : 2;\n if (!this.shouldUpdateShape() && this.cache?.layoutData) {\n const bbox = this.cache.layoutData.bbox;\n this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height);\n if (stroke) {\n this._AABBBounds.expand(lineWidth / 2);\n }\n return this._AABBBounds;\n }\n\n const textMeasure = application.graphicUtil.getTextMeasureInstance(this.textMeasureId || this.stage?.textMeasureId);\n const layoutObj = new CanvasTextLayout(fontFamily, { fontSize, fontWeight, fontFamily }, textMeasure as any) as any;\n\n // layoutObj内逻辑\n const lines = text.map(l => l.toString()) as string[];\n const linesLayout: LayoutItemType[] = [];\n const bboxWH: [number, number] = [0, 0];\n\n let lineCountLimit = Infinity;\n if (heightLimit > 0) {\n lineCountLimit = Math.max(Math.floor(heightLimit / lineHeight), 1);\n }\n if (lineClamp) {\n // 处理行数限制\n lineCountLimit = Math.min(lineCountLimit, lineClamp);\n }\n\n if (typeof maxLineWidth === 'number' && maxLineWidth !== Infinity) {\n // widthLimit > 0\n if (maxLineWidth > 0) {\n for (let i = 0; i < lines.length; i++) {\n const str = lines[i] as string;\n let needCut = true;\n // // 测量当前行宽度\n // width = Math.min(\n // layoutObj.textMeasure.measureTextWidth(str, layoutObj.textOptions),\n // maxLineWidth\n // );\n\n // 判断是否超过高度限制\n if (i === lineCountLimit - 1) {\n // 当前行为最后一行\n const clip = layoutObj.textMeasure.clipTextWithSuffix(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(\n clip.str,\n layoutObj.textOptions,\n MeasureModeEnum.actualBounding\n );\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: metrics.ascent,\n descent: metrics.descent,\n keepCenterInLine: false\n });\n break; // 不处理后续行\n }\n\n // 测量截断位置\n const clip = layoutObj.textMeasure.clipText(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n wordBreak === 'break-word'\n );\n if (str !== '' && clip.str === '') {\n if (ellipsis) {\n const clipEllipsis = layoutObj.textMeasure.clipTextWithSuffix(\n str,\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n clip.str = clipEllipsis.str ?? '';\n clip.width = clipEllipsis.width ?? 0;\n } else {\n // 宽度限制不足一个字符,不显示\n clip.str = '';\n clip.width = 0;\n }\n needCut = false;\n }\n\n const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(\n clip.str,\n layoutObj.textOptions,\n MeasureModeEnum.actualBounding\n );\n\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: metrics.ascent,\n descent: metrics.descent,\n keepCenterInLine: false\n });\n if (clip.str.length === str.length) {\n // 不需要截断\n } else if (needCut) {\n const newStr = str.substring(clip.str.length);\n lines.splice(i + 1, 0, newStr);\n }\n }\n }\n // bboxWH[0] = maxLineWidth;\n let maxWidth = 0;\n linesLayout.forEach(layout => {\n maxWidth = Math.max(maxWidth, layout.width);\n });\n bboxWH[0] = maxWidth;\n } else {\n // 使用所有行中最长的作为lineWidth\n let lineWidth = 0;\n let width: number;\n let text: string;\n for (let i = 0, len = lines.length; i < len; i++) {\n // 判断是否超过高度限制\n if (i === lineCountLimit - 1) {\n // 当前行为最后一行\n const clip = layoutObj.textMeasure.clipTextWithSuffix(\n lines[i],\n layoutObj.textOptions,\n maxLineWidth,\n ellipsis,\n false,\n suffixPosition\n );\n const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(\n clip.str,\n layoutObj.textOptions,\n MeasureModeEnum.actualBounding\n );\n linesLayout.push({\n str: clip.str,\n width: clip.width,\n ascent: metrics.ascent,\n descent: metrics.descent,\n keepCenterInLine: false\n });\n lineWidth = Math.max(lineWidth, clip.width);\n break; // 不处理后续行\n }\n\n text = lines[i] as string;\n width = layoutObj.textMeasure.measureTextWidth(text, layoutObj.textOptions, wordBreak === 'break-word');\n const metrics = layoutObj.textMeasure.measureTextPixelADscentAndWidth(\n text,\n layoutObj.textOptions,\n MeasureModeEnum.actualBounding\n );\n lineWidth = Math.max(lineWidth, width);\n linesLayout.push({\n str: text,\n width,\n ascent: metrics.ascent,\n descent: metrics.descent,\n keepCenterInLine: false\n });\n }\n bboxWH[0] = lineWidth;\n }\n bboxWH[1] = linesLayout.length * (lineHeight + buf);\n\n const bbox = {\n xOffset: 0,\n yOffset: 0,\n width: bboxWH[0],\n height: bboxWH[1]\n };\n\n layoutObj.LayoutBBox(bbox, textAlign, textBaseline as any, linesLayout);\n\n const layoutData = layoutObj.layoutWithBBox(bbox, linesLayout, textAlign, textBaseline as any, lineHeight);\n\n // const layoutData = layoutObj.GetLayoutByLines(\n // text,\n // textAlign,\n // textBaseline as any,\n // lineHeight,\n // ellipsis === true ? (DefaultTextAttribute.ellipsis as string) : ellipsis || undefined,\n // maxLineWidth\n // );\n // const { bbox } = layoutData;\n this.getOrCreateCache().layoutData = layoutData;\n this.clearUpdateShapeTag();\n this._AABBBounds.set(bbox.xOffset, bbox.yOffset, bbox.xOffset + bbox.width, bbox.yOffset + bbox.height);\n\n if (stroke) {\n this._AABBBounds.expand(lineWidth / 2);\n }\n\n return this._AABBBounds;\n }\n\n protected needUpdateTags(keys: string[]): boolean {\n for (let i = 0; i < WRAP_TEXT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = WRAP_TEXT_UPDATE_TAG_KEY[i];\n if (keys.indexOf(attrKey) !== -1) {\n return true;\n }\n }\n return super.needUpdateTags(keys);\n }\n\n protected needUpdateTag(key: string): boolean {\n for (let i = 0; i < WRAP_TEXT_UPDATE_TAG_KEY.length; i++) {\n const attrKey = WRAP_TEXT_UPDATE_TAG_KEY[i];\n if (key === attrKey) {\n return true;\n }\n }\n return super.needUpdateTag(key);\n }\n\n getNoWorkAnimateAttr(): Record<string, number> {\n return WrapText.NOWORK_ANIMATE_ATTR;\n }\n}\n\nexport function createWrapText(attributes: ITextGraphicAttribute): IText {\n return new WrapText(attributes);\n}\n"]}
|
package/es/index.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import './modules';
|
|
2
1
|
export * from './core/global';
|
|
3
2
|
export * from './graphic';
|
|
3
|
+
export { createGraphic, graphicCreator, registerGraphic } from './graphic/graphic-creator';
|
|
4
|
+
export { container, graphicUtil, transformUtil, graphicService, layerService } from './modules';
|
|
5
|
+
export { preLoadAllModule, getLegacyBindingContext, type ILegacyBindContext, type ILegacyBindingContext } from './legacy/bootstrap';
|
|
6
|
+
export { vglobal } from './global';
|
|
4
7
|
export * from './create';
|
|
5
8
|
export * from './event';
|
|
6
9
|
export * from './interface';
|
|
@@ -14,6 +17,8 @@ export * from './picker';
|
|
|
14
17
|
export * from './resource-loader/loader';
|
|
15
18
|
export * from './color-string';
|
|
16
19
|
export * from './factory';
|
|
20
|
+
export * from './registry';
|
|
21
|
+
export * from './entries';
|
|
17
22
|
export * from './common/text';
|
|
18
23
|
export * from './common/color-utils';
|
|
19
24
|
export * from './common/bezier-utils';
|
|
@@ -22,6 +27,7 @@ export * from './common/seg-context';
|
|
|
22
27
|
export * from './common/custom-path2d';
|
|
23
28
|
export * from './common/segment';
|
|
24
29
|
export * from './common/canvas-utils';
|
|
30
|
+
export * from './common/contribution-provider';
|
|
25
31
|
export * from './common/generator';
|
|
26
32
|
export * from './common/utils';
|
|
27
33
|
export * from './common/shape/arc';
|
|
@@ -45,13 +51,29 @@ export * from './plugins/builtin-plugin/richtext-edit-plugin';
|
|
|
45
51
|
export * from './allocator/matrix-allocate';
|
|
46
52
|
export * from './allocator/canvas-allocate';
|
|
47
53
|
export * from './allocator/graphic-allocate';
|
|
54
|
+
export * from './common/contribution-provider';
|
|
48
55
|
export { wrapCanvas, wrapContext } from './canvas/util';
|
|
49
56
|
export * from './common/xml';
|
|
57
|
+
export * from './common/explicit-binding';
|
|
50
58
|
export * from './constants';
|
|
59
|
+
export * from './application';
|
|
51
60
|
export * from './env-check';
|
|
52
|
-
export * from './
|
|
53
|
-
export
|
|
54
|
-
export
|
|
61
|
+
export * from './render/contributions/render/arc-module';
|
|
62
|
+
export * from './render/contributions/render/rect-module';
|
|
63
|
+
export * from './render/contributions/render/line-module';
|
|
64
|
+
export * from './render/contributions/render/area-module';
|
|
65
|
+
export * from './render/contributions/render/symbol-module';
|
|
66
|
+
export * from './render/contributions/render/circle-module';
|
|
67
|
+
export * from './render/contributions/render/text-module';
|
|
68
|
+
export * from './render/contributions/render/path-module';
|
|
69
|
+
export * from './render/contributions/render/polygon-module';
|
|
70
|
+
export * from './render/contributions/render/star-module';
|
|
71
|
+
export * from './render/contributions/render/glyph-module';
|
|
72
|
+
export * from './render/contributions/render/richtext-module';
|
|
73
|
+
export * from './render/contributions/render/image-module';
|
|
74
|
+
export * from './render/contributions/render/rect3d-module';
|
|
75
|
+
export * from './render/contributions/render/arc3d-module';
|
|
76
|
+
export * from './render/contributions/render/pyramid3d-module';
|
|
55
77
|
export * from './register/register-arc';
|
|
56
78
|
export * from './register/register-arc3d';
|
|
57
79
|
export * from './register/register-area';
|
package/es/index.js
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import "./modules";
|
|
2
|
-
|
|
3
1
|
export * from "./core/global";
|
|
4
2
|
|
|
5
3
|
export * from "./graphic";
|
|
6
4
|
|
|
5
|
+
export { createGraphic, graphicCreator, registerGraphic } from "./graphic/graphic-creator";
|
|
6
|
+
|
|
7
|
+
export { container, graphicUtil, transformUtil, graphicService, layerService } from "./modules";
|
|
8
|
+
|
|
9
|
+
export { preLoadAllModule, getLegacyBindingContext } from "./legacy/bootstrap";
|
|
10
|
+
|
|
11
|
+
export { vglobal } from "./global";
|
|
12
|
+
|
|
7
13
|
export * from "./create";
|
|
8
14
|
|
|
9
15
|
export * from "./event";
|
|
@@ -30,6 +36,10 @@ export * from "./color-string";
|
|
|
30
36
|
|
|
31
37
|
export * from "./factory";
|
|
32
38
|
|
|
39
|
+
export * from "./registry";
|
|
40
|
+
|
|
41
|
+
export * from "./entries";
|
|
42
|
+
|
|
33
43
|
export * from "./common/text";
|
|
34
44
|
|
|
35
45
|
export * from "./common/color-utils";
|
|
@@ -46,6 +56,8 @@ export * from "./common/segment";
|
|
|
46
56
|
|
|
47
57
|
export * from "./common/canvas-utils";
|
|
48
58
|
|
|
59
|
+
export * from "./common/contribution-provider";
|
|
60
|
+
|
|
49
61
|
export * from "./common/generator";
|
|
50
62
|
|
|
51
63
|
export * from "./common/utils";
|
|
@@ -92,19 +104,51 @@ export * from "./allocator/canvas-allocate";
|
|
|
92
104
|
|
|
93
105
|
export * from "./allocator/graphic-allocate";
|
|
94
106
|
|
|
107
|
+
export * from "./common/contribution-provider";
|
|
108
|
+
|
|
95
109
|
export { wrapCanvas, wrapContext } from "./canvas/util";
|
|
96
110
|
|
|
97
111
|
export * from "./common/xml";
|
|
98
112
|
|
|
113
|
+
export * from "./common/explicit-binding";
|
|
114
|
+
|
|
99
115
|
export * from "./constants";
|
|
100
116
|
|
|
117
|
+
export * from "./application";
|
|
118
|
+
|
|
101
119
|
export * from "./env-check";
|
|
102
120
|
|
|
103
|
-
export * from "./
|
|
121
|
+
export * from "./render/contributions/render/arc-module";
|
|
122
|
+
|
|
123
|
+
export * from "./render/contributions/render/rect-module";
|
|
124
|
+
|
|
125
|
+
export * from "./render/contributions/render/line-module";
|
|
126
|
+
|
|
127
|
+
export * from "./render/contributions/render/area-module";
|
|
128
|
+
|
|
129
|
+
export * from "./render/contributions/render/symbol-module";
|
|
130
|
+
|
|
131
|
+
export * from "./render/contributions/render/circle-module";
|
|
132
|
+
|
|
133
|
+
export * from "./render/contributions/render/text-module";
|
|
134
|
+
|
|
135
|
+
export * from "./render/contributions/render/path-module";
|
|
136
|
+
|
|
137
|
+
export * from "./render/contributions/render/polygon-module";
|
|
138
|
+
|
|
139
|
+
export * from "./render/contributions/render/star-module";
|
|
140
|
+
|
|
141
|
+
export * from "./render/contributions/render/glyph-module";
|
|
142
|
+
|
|
143
|
+
export * from "./render/contributions/render/richtext-module";
|
|
144
|
+
|
|
145
|
+
export * from "./render/contributions/render/image-module";
|
|
146
|
+
|
|
147
|
+
export * from "./render/contributions/render/rect3d-module";
|
|
104
148
|
|
|
105
|
-
export
|
|
149
|
+
export * from "./render/contributions/render/arc3d-module";
|
|
106
150
|
|
|
107
|
-
export
|
|
151
|
+
export * from "./render/contributions/render/pyramid3d-module";
|
|
108
152
|
|
|
109
153
|
export * from "./register/register-arc";
|
|
110
154
|
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["// import 'core-js/proposals/reflect-metadata';\nexport * from './core/global';\nexport * from './graphic';\nexport { createGraphic, graphicCreator, registerGraphic } from './graphic/graphic-creator';\nexport { container, graphicUtil, transformUtil, graphicService, layerService } from './modules';\nexport {\n preLoadAllModule,\n getLegacyBindingContext,\n type ILegacyBindContext,\n type ILegacyBindingContext\n} from './legacy/bootstrap';\nexport { vglobal } from './global';\nexport * from './create';\nexport * from './event';\nexport * from './interface';\nexport * from './render';\nexport * from './render/contributions/render/base-render';\nexport * from './canvas';\nexport * from './core';\nexport * from './core/light';\nexport * from './core/camera';\nexport * from './picker';\nexport * from './resource-loader/loader';\nexport * from './color-string';\nexport * from './factory';\nexport * from './registry';\nexport * from './entries';\n\n/* export common */\nexport * from './common/text';\nexport * from './common/color-utils';\nexport * from './common/bezier-utils';\nexport * from './common/bounds-context';\nexport * from './common/seg-context';\nexport * from './common/custom-path2d';\nexport * from './common/segment';\nexport * from './common/canvas-utils';\nexport * from './common/contribution-provider';\nexport * from './common/generator';\nexport * from './common/utils';\nexport * from './common/shape/arc';\nexport * from './common/shape/rect';\nexport * from './common/matrix';\nexport * from './common/simplify';\nexport * from './common/diff';\n\nexport * from './common/path-svg';\nexport * from './common/render-curve';\nexport * from './common/render-area';\nexport * from './common/render-command-list';\nexport * from './common/sort';\nexport * from './common/morphing-utils';\nexport * from './common/split-path';\nexport * from './common/enums';\nexport * from './common/generator';\nexport * from './common/performance-raf';\nexport * from './common/event-transformer';\nexport * from './plugins/constants';\nexport * from './plugins/builtin-plugin/richtext-edit-plugin';\nexport * from './allocator/matrix-allocate';\nexport * from './allocator/canvas-allocate';\nexport * from './allocator/graphic-allocate';\nexport * from './common/contribution-provider';\n\nexport { wrapCanvas, wrapContext } from './canvas/util';\nexport * from './common/xml';\nexport * from './common/explicit-binding';\nexport * from './constants';\nexport * from './application';\nexport * from './env-check';\n\nexport * from './render/contributions/render/arc-module';\nexport * from './render/contributions/render/rect-module';\nexport * from './render/contributions/render/line-module';\nexport * from './render/contributions/render/area-module';\nexport * from './render/contributions/render/symbol-module';\nexport * from './render/contributions/render/circle-module';\nexport * from './render/contributions/render/text-module';\nexport * from './render/contributions/render/path-module';\nexport * from './render/contributions/render/polygon-module';\nexport * from './render/contributions/render/star-module';\nexport * from './render/contributions/render/glyph-module';\nexport * from './render/contributions/render/richtext-module';\nexport * from './render/contributions/render/image-module';\nexport * from './render/contributions/render/rect3d-module';\nexport * from './render/contributions/render/arc3d-module';\nexport * from './render/contributions/render/pyramid3d-module';\n\nexport * from './register/register-arc';\nexport * from './register/register-arc3d';\nexport * from './register/register-area';\nexport * from './register/register-circle';\nexport * from './register/register-glyph';\nexport * from './register/register-group';\nexport * from './register/register-image';\nexport * from './register/register-line';\nexport * from './register/register-path';\nexport * from './register/register-polygon';\nexport * from './register/register-star';\nexport * from './register/register-pyramid3d';\nexport * from './register/register-rect';\nexport * from './register/register-rect3d';\nexport * from './register/register-richtext';\nexport * from './register/register-symbol';\nexport * from './register/register-text';\nexport * from './register/register-shadowRoot';\nexport * from './register/register-wraptext';\n\n// plugin\nexport * from './plugins/builtin-plugin/html-attribute-plugin';\nexport * from './plugins/builtin-plugin/react-attribute-plugin';\nexport * from './plugins/builtin-plugin/3dview-transform-plugin';\nexport * from './plugins/builtin-plugin/flex-layout-plugin';\n\nexport * from './plugins/builtin-plugin/edit-module';\n\n// export const morphPath = {};\n// export const multiToOneMorph = {};\n// export const oneToMultiMorph = {};\n// export class ACustomAnimate {}\n// export const AnimateGroup = {};\n// export const Animate = {};\n// export const defaultTicker = {};\n"]}
|
package/es/interface/canvas.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/canvas.ts"],"names":[],"mappings":"","file":"canvas.js","sourcesContent":["/**\n * 提供ICanvas和ICanvasLike封装\n */\nimport type { Releaseable } from './common';\nimport type { IContextLike, IContext2d } from './context';\n\nexport type CanvasConfigType = {\n width?: number;\n height?: number;\n dpr?: number;\n x?: number;\n y?: number;\n container?: HTMLElement | string;\n visiable?: boolean;\n nativeCanvas
|
|
1
|
+
{"version":3,"sources":["../src/interface/canvas.ts"],"names":[],"mappings":"","file":"canvas.js","sourcesContent":["/**\n * 提供ICanvas和ICanvasLike封装\n */\nimport type { Releaseable } from './common';\nimport type { IContextLike, IContext2d } from './context';\n\nexport type CanvasConfigType = {\n width?: number;\n height?: number;\n dpr?: number;\n x?: number;\n y?: number;\n container?: HTMLElement | string;\n visiable?: boolean;\n nativeCanvas: HTMLCanvasElement | any;\n canvasControled?: boolean;\n id?: string;\n};\n\nexport interface ICanvas extends Releaseable {\n width: number;\n height: number;\n id: number | string;\n x: number;\n y: number;\n visiable: boolean;\n nativeCanvas: HTMLCanvasElement | any;\n displayWidth: number;\n displayHeight: number;\n dpr: number;\n\n getContext: (contextId?: '2d', contextAttributes?: CanvasRenderingContext2DSettings) => IContext2d | null;\n\n getNativeCanvas: () => HTMLCanvasElement | any;\n\n // getContext(\n // contextId: 'bitmaprenderer',\n // contextAttributes?: WebGLContextAttributes,\n // ): ImageBitmapRenderingContext | null;\n\n // getContext(contextId: 'webgl', contextAttributes?: WebGLContextAttributes): WebGLRenderingContext | null;\n\n // getContext(contextId: 'webgl2', contextAttributes?: WebGLContextAttributes): WebGL2RenderingContext | null;\n\n convertToBlob: (options?: { type?: string | undefined; quality?: number | undefined }) => Promise<Blob>;\n\n transferToImageBitmap: () => ImageBitmap;\n\n resetStyle: (params: Partial<CanvasConfigType>) => void;\n applyPosition: () => void;\n\n hide: () => void;\n show: () => void;\n\n resize: (width: number, height: number) => void;\n\n toDataURL: (() => string) &\n ((mimeType: 'image/png') => string) &\n ((mimeType: 'image/jpeg', quality: number) => string);\n\n readPixels: (x: number, y: number, w: number, h: number) => ImageData | Promise<ImageData>;\n\n release: () => void;\n}\n\nexport interface ICanvasLike {\n width: number;\n height: number;\n\n /** _Non standard._ The type of the canvas. */\n readonly type?: 'image' | 'pdf' | 'svg';\n\n /** _Non standard._ Getter. The stride used by the canvas. */\n readonly stride?: number;\n\n /** Constant used in PNG encoding methods. */\n readonly PNG_NO_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_ALL_FILTERS?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_NONE?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_SUB?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_UP?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_AVG?: number;\n /** Constant used in PNG encoding methods. */\n readonly PNG_FILTER_PAETH?: number;\n\n getContext: (contextId: string) => IContextLike;\n}\n\nexport interface ICanvasFactory extends Function {\n (...params: any): ICanvas;\n}\n\nexport interface IContext2dFactory extends Function {\n (...params: any): IContext2d;\n}\n"]}
|
package/es/interface/global.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { ICanvasLike } from './canvas';
|
|
|
3
3
|
import type { IEventElement } from './common';
|
|
4
4
|
import type { IContribution } from './contribution';
|
|
5
5
|
import type { ISyncHook } from './sync-hook';
|
|
6
|
+
import type { PerformanceRAF } from '../common/performance-raf';
|
|
6
7
|
export interface ILoader {
|
|
7
8
|
loadImage: (url: string) => HTMLImageElement | ImageData;
|
|
8
9
|
loadJson: (url: string) => JSON;
|
|
@@ -134,6 +135,7 @@ export interface IGlobal extends Omit<IEventElement, 'on' | 'off' | 'once' | 'em
|
|
|
134
135
|
getCancelAnimationFrame: () => null | ((h: number) => void);
|
|
135
136
|
getSpecifiedRequestAnimationFrame: (id: number) => (callback: FrameRequestCallback) => number;
|
|
136
137
|
getSpecifiedCancelAnimationFrame: (id: number) => (h: number) => void;
|
|
138
|
+
getSpecifiedPerformanceRAF: (id: number) => PerformanceRAF;
|
|
137
139
|
mapToCanvasPoint: (nativeEvent: any, domElement?: any) => IPointLike | null;
|
|
138
140
|
loadImage: (url: string) => Promise<{
|
|
139
141
|
loadState: 'success' | 'fail';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/global.ts"],"names":[],"mappings":"","file":"global.js","sourcesContent":["import type { Dict, IAABBBoundsLike, IPointLike } from '@visactor/vutils';\nimport type { ICanvasLike } from './canvas';\nimport type { IEventElement } from './common';\nimport type { IContribution } from './contribution';\nimport type { ISyncHook } from './sync-hook';\n\nexport interface ILoader {\n loadImage: (url: string) => HTMLImageElement | ImageData;\n loadJson: (url: string) => JSON;\n}\n\n// 环境定义\nexport type EnvType = 'browser' | 'feishu' | 'tt' | 'taro' | 'node' | 'native' | 'lynx' | 'wx' | 'harmony';\n\n// 创建canvas需要的参数\nexport interface ICreateCanvasParams {\n id?: string;\n // 像素宽\n width?: number;\n // 像素高\n height?: number;\n dpr?: number;\n}\n\nexport interface ILoader {\n loadImage: (url: string) => HTMLImageElement | ImageData;\n loadJson: (url: string) => JSON;\n}\n\nexport interface IEnvContribution\n extends IContribution<IGlobal>,\n Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> {\n // 当前代码所运行的环境\n type: EnvType;\n\n // 是否支持事件\n // node环境不需要事件\n supportEvent: boolean;\n\n // 开始配置环境,相当于init\n configure: (global: IGlobal, ...p: any) => void;\n\n // 创建销毁\n createCanvas: (params: ICreateCanvasParams) => ICanvasLike | any;\n createOffscreenCanvas: (params: ICreateCanvasParams) => ICanvasLike | any;\n releaseCanvas: (canvas: ICanvasLike | string | any) => void;\n\n getNativeAABBBounds: (dom: string | HTMLElement | any) => IAABBBoundsLike;\n removeDom: (dom: HTMLElement) => boolean;\n createDom: (params: CreateDOMParamsType) => HTMLElement | null;\n updateDom: (dom: HTMLElement, params: CreateDOMParamsType) => boolean;\n getElementTop: (dom: any, baseWindow?: boolean) => number;\n getElementLeft: (dom: any, baseWindow?: boolean) => number;\n getElementTopLeft: (dom: any, baseWindow?: boolean) => { top: number; left: number };\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount: () => number;\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount: () => number;\n\n // 设备信息\n getDevicePixelRatio: () => number;\n\n // 通用接口\n getRequestAnimationFrame: () => (callback: FrameRequestCallback) => number;\n getCancelAnimationFrame: () => (h: number) => void;\n\n // DOM接口\n getElementById?: (str: string) => HTMLElement | null;\n getRootElement?: () => HTMLElement | null;\n /**\n * get document instance\n */\n getDocument?: () => Document | null;\n /**\n * whether supports TouchEvent.\n */\n supportsTouchEvents: boolean;\n /**\n * whether supports PointerEvent.\n */\n supportsPointerEvents: boolean;\n /**\n * whether supports MouseEvent.\n */\n supportsMouseEvents: boolean;\n /**\n * Whether to allow setting the cursor style\n */\n applyStyles?: boolean;\n\n /**\n * 将窗口坐标转换为画布坐标,小程序/小组件环境需要兼容\n */\n mapToCanvasPoint?: (event: any, domElement?: any) => IPointLike | null;\n\n loadImage: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadSvg: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadJson: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Record<string, unknown> | null;\n }>;\n loadArrayBuffer: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: ArrayBuffer | null;\n }>;\n loadBlob: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Blob | null;\n }>;\n // @since 0.21.3\n /**\n * 加载字体,参数对应Font类\n * @param font 字体名\n * @param source 数据源\n * @param descriptors 其他描述\n * @returns\n */\n loadFont: (\n font: string,\n source: string | any,\n descriptors?: FontFaceDescriptors\n ) => Promise<{\n loadState: 'success' | 'fail';\n }>;\n\n isMacOS: () => boolean;\n copyToClipBoard: (text: string) => Promise<void>;\n}\n\nexport type IMiniAppEnvParams = {\n /** dom 容器对象 */\n domref?: Dict<any>;\n /**\n * 强行设置env,如果env重复设置也设置\n */\n force?: boolean;\n /**\n * 可用的canvas列表\n */\n canvasIdLists?: (string | number)[];\n /**\n * 表示可以自由使用的canvas索引\n */\n freeCanvasIdx?: string | number;\n /** taro 环境使用 */\n taro?: any;\n pixelRatio?: number;\n [key: string]: any;\n};\n\nexport interface IEnvParamsMap {\n readonly taro: IMiniAppEnvParams;\n readonly feishu: IMiniAppEnvParams;\n readonly tt: IMiniAppEnvParams;\n readonly browser: any;\n readonly node: any;\n readonly native: any;\n readonly lynx: any;\n readonly wx: any;\n readonly harmony: any;\n}\n\nexport type CreateDOMParamsType = {\n tagName?: string;\n width?: number;\n height?: number;\n style?: string | Record<string, any>;\n parent?: string | HTMLElement;\n};\nexport interface IGlobal extends Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> {\n // 当前代码所运行的环境\n env: EnvType;\n\n // 设备的dpr\n devicePixelRatio: number;\n\n // 当设置env的时候被调用\n hooks: {\n onSetEnv: ISyncHook<[EnvType | undefined, EnvType, IGlobal]>;\n };\n\n // 设置env的时候传入的参数\n // node环境需要传入整个node-canvas包\n // 小程序环境需要传入小程序要用到的参数\n envParams?: any;\n\n // 是否支持事件\n // node环境不需要事件\n supportEvent: boolean;\n\n // 是否在不显示canvas的时候停止绘图操作,默认false\n optimizeVisible: boolean;\n\n setEnv: (env: EnvType, params?: IEnvParamsMap[EnvType]) => void;\n setActiveEnvContribution: (contribution: IEnvContribution) => void;\n createCanvas: (params: ICreateCanvasParams) => HTMLCanvasElement | any;\n createOffscreenCanvas: (params: ICreateCanvasParams) => HTMLCanvasElement | any;\n releaseCanvas: (canvas: HTMLCanvasElement | string | any) => void;\n setEventListenerTransformer: (transformer: (event: Event) => Event) => void;\n\n /**\n * 获取环境中最大动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount: () => number;\n\n isChrome: () => boolean;\n isSafari: () => boolean;\n isMacOS: () => boolean;\n copyToClipBoard: (text: string) => Promise<void>;\n\n /**\n * 获取环境中最大静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount: () => number;\n\n /* 浏览器环境 - dom tree */\n getElementById: (str: string) => HTMLElement | null;\n getRootElement: () => HTMLElement | null;\n /**\n * get document instance\n */\n getDocument: () => Document | null;\n /**\n * whether supports TouchEvent.\n */\n supportsTouchEvents: boolean;\n /**\n * whether supports PointerEvent.\n */\n supportsPointerEvents: boolean;\n /**\n * whether supports MouseEvent.\n */\n supportsMouseEvents: boolean;\n /**\n * Whether to allow setting the cursor style\n */\n applyStyles?: boolean;\n /**\n * 测量文字的方法\n */\n measureTextMethod: 'native' | 'simple' | 'quick';\n\n getRequestAnimationFrame: () => null | ((callback: FrameRequestCallback) => number);\n getCancelAnimationFrame: () => null | ((h: number) => void);\n getSpecifiedRequestAnimationFrame: (id: number) => (callback: FrameRequestCallback) => number;\n getSpecifiedCancelAnimationFrame: (id: number) => (h: number) => void;\n\n /**\n * 将窗口坐标转换为画布坐标,小程序/小组件环境需要兼容\n */\n mapToCanvasPoint: (nativeEvent: any, domElement?: any) => IPointLike | null;\n\n loadImage: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadSvg: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadJson: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Record<string, unknown> | null;\n }>;\n loadArrayBuffer: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: ArrayBuffer | null;\n }>;\n loadBlob: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Blob | null;\n }>;\n\n removeDom: (dom: HTMLElement) => boolean;\n createDom: (params: CreateDOMParamsType) => HTMLElement | null;\n updateDom: (dom: HTMLElement, params: CreateDOMParamsType) => boolean;\n\n getElementTop: (dom: any, baseWindow?: boolean) => number;\n getElementLeft: (dom: any, baseWindow?: boolean) => number;\n getElementTopLeft: (dom: any, baseWindow?: boolean) => { top: number; left: number };\n\n isImageAnonymous: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interface/global.ts"],"names":[],"mappings":"","file":"global.js","sourcesContent":["import type { Dict, IAABBBoundsLike, IPointLike } from '@visactor/vutils';\nimport type { ICanvasLike } from './canvas';\nimport type { IEventElement } from './common';\nimport type { IContribution } from './contribution';\nimport type { ISyncHook } from './sync-hook';\nimport type { PerformanceRAF } from '../common/performance-raf';\n\nexport interface ILoader {\n loadImage: (url: string) => HTMLImageElement | ImageData;\n loadJson: (url: string) => JSON;\n}\n\n// 环境定义\nexport type EnvType = 'browser' | 'feishu' | 'tt' | 'taro' | 'node' | 'native' | 'lynx' | 'wx' | 'harmony';\n\n// 创建canvas需要的参数\nexport interface ICreateCanvasParams {\n id?: string;\n // 像素宽\n width?: number;\n // 像素高\n height?: number;\n dpr?: number;\n}\n\nexport interface ILoader {\n loadImage: (url: string) => HTMLImageElement | ImageData;\n loadJson: (url: string) => JSON;\n}\n\nexport interface IEnvContribution\n extends IContribution<IGlobal>,\n Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> {\n // 当前代码所运行的环境\n type: EnvType;\n\n // 是否支持事件\n // node环境不需要事件\n supportEvent: boolean;\n\n // 开始配置环境,相当于init\n configure: (global: IGlobal, ...p: any) => void;\n\n // 创建销毁\n createCanvas: (params: ICreateCanvasParams) => ICanvasLike | any;\n createOffscreenCanvas: (params: ICreateCanvasParams) => ICanvasLike | any;\n releaseCanvas: (canvas: ICanvasLike | string | any) => void;\n\n getNativeAABBBounds: (dom: string | HTMLElement | any) => IAABBBoundsLike;\n removeDom: (dom: HTMLElement) => boolean;\n createDom: (params: CreateDOMParamsType) => HTMLElement | null;\n updateDom: (dom: HTMLElement, params: CreateDOMParamsType) => boolean;\n getElementTop: (dom: any, baseWindow?: boolean) => number;\n getElementLeft: (dom: any, baseWindow?: boolean) => number;\n getElementTopLeft: (dom: any, baseWindow?: boolean) => { top: number; left: number };\n\n /**\n * 获取动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount: () => number;\n\n /**\n * 获取静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount: () => number;\n\n // 设备信息\n getDevicePixelRatio: () => number;\n\n // 通用接口\n getRequestAnimationFrame: () => (callback: FrameRequestCallback) => number;\n getCancelAnimationFrame: () => (h: number) => void;\n\n // DOM接口\n getElementById?: (str: string) => HTMLElement | null;\n getRootElement?: () => HTMLElement | null;\n /**\n * get document instance\n */\n getDocument?: () => Document | null;\n /**\n * whether supports TouchEvent.\n */\n supportsTouchEvents: boolean;\n /**\n * whether supports PointerEvent.\n */\n supportsPointerEvents: boolean;\n /**\n * whether supports MouseEvent.\n */\n supportsMouseEvents: boolean;\n /**\n * Whether to allow setting the cursor style\n */\n applyStyles?: boolean;\n\n /**\n * 将窗口坐标转换为画布坐标,小程序/小组件环境需要兼容\n */\n mapToCanvasPoint?: (event: any, domElement?: any) => IPointLike | null;\n\n loadImage: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadSvg: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadJson: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Record<string, unknown> | null;\n }>;\n loadArrayBuffer: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: ArrayBuffer | null;\n }>;\n loadBlob: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Blob | null;\n }>;\n // @since 0.21.3\n /**\n * 加载字体,参数对应Font类\n * @param font 字体名\n * @param source 数据源\n * @param descriptors 其他描述\n * @returns\n */\n loadFont: (\n font: string,\n source: string | any,\n descriptors?: FontFaceDescriptors\n ) => Promise<{\n loadState: 'success' | 'fail';\n }>;\n\n isMacOS: () => boolean;\n copyToClipBoard: (text: string) => Promise<void>;\n}\n\nexport type IMiniAppEnvParams = {\n /** dom 容器对象 */\n domref?: Dict<any>;\n /**\n * 强行设置env,如果env重复设置也设置\n */\n force?: boolean;\n /**\n * 可用的canvas列表\n */\n canvasIdLists?: (string | number)[];\n /**\n * 表示可以自由使用的canvas索引\n */\n freeCanvasIdx?: string | number;\n /** taro 环境使用 */\n taro?: any;\n pixelRatio?: number;\n [key: string]: any;\n};\n\nexport interface IEnvParamsMap {\n readonly taro: IMiniAppEnvParams;\n readonly feishu: IMiniAppEnvParams;\n readonly tt: IMiniAppEnvParams;\n readonly browser: any;\n readonly node: any;\n readonly native: any;\n readonly lynx: any;\n readonly wx: any;\n readonly harmony: any;\n}\n\nexport type CreateDOMParamsType = {\n tagName?: string;\n width?: number;\n height?: number;\n style?: string | Record<string, any>;\n parent?: string | HTMLElement;\n};\nexport interface IGlobal extends Omit<IEventElement, 'on' | 'off' | 'once' | 'emit' | 'removeAllListeners'> {\n // 当前代码所运行的环境\n env: EnvType;\n\n // 设备的dpr\n devicePixelRatio: number;\n\n // 当设置env的时候被调用\n hooks: {\n onSetEnv: ISyncHook<[EnvType | undefined, EnvType, IGlobal]>;\n };\n\n // 设置env的时候传入的参数\n // node环境需要传入整个node-canvas包\n // 小程序环境需要传入小程序要用到的参数\n envParams?: any;\n\n // 是否支持事件\n // node环境不需要事件\n supportEvent: boolean;\n\n // 是否在不显示canvas的时候停止绘图操作,默认false\n optimizeVisible: boolean;\n\n setEnv: (env: EnvType, params?: IEnvParamsMap[EnvType]) => void;\n setActiveEnvContribution: (contribution: IEnvContribution) => void;\n createCanvas: (params: ICreateCanvasParams) => HTMLCanvasElement | any;\n createOffscreenCanvas: (params: ICreateCanvasParams) => HTMLCanvasElement | any;\n releaseCanvas: (canvas: HTMLCanvasElement | string | any) => void;\n setEventListenerTransformer: (transformer: (event: Event) => Event) => void;\n\n /**\n * 获取环境中最大动态canvas的数量,offscreenCanvas或者framebuffer\n */\n getDynamicCanvasCount: () => number;\n\n isChrome: () => boolean;\n isSafari: () => boolean;\n isMacOS: () => boolean;\n copyToClipBoard: (text: string) => Promise<void>;\n\n /**\n * 获取环境中最大静态canvas的数量,纯粹canvas\n */\n getStaticCanvasCount: () => number;\n\n /* 浏览器环境 - dom tree */\n getElementById: (str: string) => HTMLElement | null;\n getRootElement: () => HTMLElement | null;\n /**\n * get document instance\n */\n getDocument: () => Document | null;\n /**\n * whether supports TouchEvent.\n */\n supportsTouchEvents: boolean;\n /**\n * whether supports PointerEvent.\n */\n supportsPointerEvents: boolean;\n /**\n * whether supports MouseEvent.\n */\n supportsMouseEvents: boolean;\n /**\n * Whether to allow setting the cursor style\n */\n applyStyles?: boolean;\n /**\n * 测量文字的方法\n */\n measureTextMethod: 'native' | 'simple' | 'quick';\n\n getRequestAnimationFrame: () => null | ((callback: FrameRequestCallback) => number);\n getCancelAnimationFrame: () => null | ((h: number) => void);\n getSpecifiedRequestAnimationFrame: (id: number) => (callback: FrameRequestCallback) => number;\n getSpecifiedCancelAnimationFrame: (id: number) => (h: number) => void;\n getSpecifiedPerformanceRAF: (id: number) => PerformanceRAF;\n\n /**\n * 将窗口坐标转换为画布坐标,小程序/小组件环境需要兼容\n */\n mapToCanvasPoint: (nativeEvent: any, domElement?: any) => IPointLike | null;\n\n loadImage: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadSvg: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: HTMLImageElement | ImageData | null;\n }>;\n loadJson: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Record<string, unknown> | null;\n }>;\n loadArrayBuffer: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: ArrayBuffer | null;\n }>;\n loadBlob: (url: string) => Promise<{\n loadState: 'success' | 'fail';\n data: Blob | null;\n }>;\n\n removeDom: (dom: HTMLElement) => boolean;\n createDom: (params: CreateDOMParamsType) => HTMLElement | null;\n updateDom: (dom: HTMLElement, params: CreateDOMParamsType) => boolean;\n\n getElementTop: (dom: any, baseWindow?: boolean) => number;\n getElementLeft: (dom: any, baseWindow?: boolean) => number;\n getElementTopLeft: (dom: any, baseWindow?: boolean) => { top: number; left: number };\n\n isImageAnonymous: boolean;\n}\n"]}
|
|
@@ -2,6 +2,9 @@ import type { ITheme, IThemeSpec } from './theme';
|
|
|
2
2
|
import type { IGraphicAttribute, IGraphic } from '../graphic';
|
|
3
3
|
import type { INode } from '../node-tree';
|
|
4
4
|
import type { GraphicAttributeMap } from './creator';
|
|
5
|
+
import type { StateDefinitionsInput } from '../../graphic/state/state-definition';
|
|
6
|
+
import type { SharedStateScope } from '../../graphic/state/shared-state-scope';
|
|
7
|
+
import type { IDeferredStateOwnerConfig } from '../../graphic/state/state-perf-monitor';
|
|
5
8
|
export type IGroupAttribute = {
|
|
6
9
|
path: IGraphic[];
|
|
7
10
|
width: number;
|
|
@@ -23,6 +26,9 @@ export type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroup
|
|
|
23
26
|
export interface IGroup extends IGraphic<IGroupGraphicAttribute> {
|
|
24
27
|
childrenPickable?: boolean;
|
|
25
28
|
theme?: ITheme;
|
|
29
|
+
sharedStateDefinitions?: StateDefinitionsInput<Record<string, any>>;
|
|
30
|
+
sharedStateScope?: SharedStateScope<Record<string, any>>;
|
|
31
|
+
deferredStateConfig?: IDeferredStateOwnerConfig;
|
|
26
32
|
createTheme: () => void;
|
|
27
33
|
hideAll: () => void;
|
|
28
34
|
showAll: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/graphic/group.ts"],"names":[],"mappings":"","file":"group.js","sourcesContent":["import type { ITheme, IThemeSpec } from './theme';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { INode } from '../node-tree';\nimport type { GraphicAttributeMap } from './creator';\n\nexport type IGroupAttribute = {\n /**\n * 路径,用于绘制路径图形或者设置裁剪图形\n */\n path: IGraphic[];\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n /**\n * 圆角半径\n */\n cornerRadius: number | number[];\n /**\n * 圆角类型,\n * 'round' - 圆弧\n * 'bevel' - 斜角\n */\n cornerType: 'round' | 'bevel';\n /**\n * 是否剪裁\n */\n clip: boolean;\n /**\n * 所有的子节点是否可见\n */\n visibleAll: boolean;\n /**\n * 布局方式\n */\n display?: 'relative' | 'inner-block' | 'flex';\n /**\n * flex布局的方向\n */\n flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n /**\n * flex布局的换行\n */\n flexWrap?: 'nowrap' | 'wrap';\n /**\n * flex布局中,子元素在主轴上的对齐方式\n */\n justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';\n /**\n * flex布局中,子元素在交叉轴上的对齐方式\n */\n alignItems?: 'flex-start' | 'flex-end' | 'center';\n /**\n * flex布局中,多行内容的垂直对齐方式\n */\n alignContent?: 'flex-start' | 'center' | 'space-between' | 'space-around';\n /**\n * 基准的透明度,用于控制group下面整体图元的透明度\n */\n baseOpacity?: number;\n /**\n * 绘制模式\n * 0 - 直接绘制\n * 1 - 绘制到新Canvas上,再绘制回来,需要绘制背景,然后绘制group\n * 2 - 绘制到新Canvas上,再绘制回来,不需要绘制背景,只需要绘制group\n */\n drawMode?: 0 | 1 | 2;\n};\n\nexport type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroupAttribute>;\n\nexport interface IGroup extends IGraphic<IGroupGraphicAttribute> {\n childrenPickable?: boolean; // 子元素是否可以被pick\n\n theme?: ITheme;\n\n createTheme: () => void;\n hideAll: () => void;\n showAll: () => void;\n\n setTheme: (t: IThemeSpec) => void;\n\n incrementalAppendChild: (node: INode, highPerformance?: boolean) => INode | null;\n incrementalClearChild: () => void;\n\n createOrUpdateChild: <T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ) => INode;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interface/graphic/group.ts"],"names":[],"mappings":"","file":"group.js","sourcesContent":["import type { ITheme, IThemeSpec } from './theme';\nimport type { IGraphicAttribute, IGraphic } from '../graphic';\nimport type { INode } from '../node-tree';\nimport type { GraphicAttributeMap } from './creator';\nimport type { StateDefinitionsInput } from '../../graphic/state/state-definition';\nimport type { SharedStateScope } from '../../graphic/state/shared-state-scope';\nimport type { IDeferredStateOwnerConfig } from '../../graphic/state/state-perf-monitor';\n\nexport type IGroupAttribute = {\n /**\n * 路径,用于绘制路径图形或者设置裁剪图形\n */\n path: IGraphic[];\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n /**\n * 圆角半径\n */\n cornerRadius: number | number[];\n /**\n * 圆角类型,\n * 'round' - 圆弧\n * 'bevel' - 斜角\n */\n cornerType: 'round' | 'bevel';\n /**\n * 是否剪裁\n */\n clip: boolean;\n /**\n * 所有的子节点是否可见\n */\n visibleAll: boolean;\n /**\n * 布局方式\n */\n display?: 'relative' | 'inner-block' | 'flex';\n /**\n * flex布局的方向\n */\n flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse';\n /**\n * flex布局的换行\n */\n flexWrap?: 'nowrap' | 'wrap';\n /**\n * flex布局中,子元素在主轴上的对齐方式\n */\n justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';\n /**\n * flex布局中,子元素在交叉轴上的对齐方式\n */\n alignItems?: 'flex-start' | 'flex-end' | 'center';\n /**\n * flex布局中,多行内容的垂直对齐方式\n */\n alignContent?: 'flex-start' | 'center' | 'space-between' | 'space-around';\n /**\n * 基准的透明度,用于控制group下面整体图元的透明度\n */\n baseOpacity?: number;\n /**\n * 绘制模式\n * 0 - 直接绘制\n * 1 - 绘制到新Canvas上,再绘制回来,需要绘制背景,然后绘制group\n * 2 - 绘制到新Canvas上,再绘制回来,不需要绘制背景,只需要绘制group\n */\n drawMode?: 0 | 1 | 2;\n};\n\nexport type IGroupGraphicAttribute = Partial<IGraphicAttribute> & Partial<IGroupAttribute>;\n\nexport interface IGroup extends IGraphic<IGroupGraphicAttribute> {\n childrenPickable?: boolean; // 子元素是否可以被pick\n\n theme?: ITheme;\n sharedStateDefinitions?: StateDefinitionsInput<Record<string, any>>;\n sharedStateScope?: SharedStateScope<Record<string, any>>;\n deferredStateConfig?: IDeferredStateOwnerConfig;\n\n createTheme: () => void;\n hideAll: () => void;\n showAll: () => void;\n\n setTheme: (t: IThemeSpec) => void;\n\n incrementalAppendChild: (node: INode, highPerformance?: boolean) => INode | null;\n incrementalClearChild: () => void;\n\n createOrUpdateChild: <T extends keyof GraphicAttributeMap>(\n graphicName: string,\n attributes: GraphicAttributeMap[T],\n graphicType: T\n ) => INode;\n}\n"]}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import type { IGraphicAttribute, IGraphic } from '../graphic';
|
|
1
|
+
import type { BackgroundPosition, BackgroundSizing, IGraphicAttribute, IGraphic } from '../graphic';
|
|
2
2
|
export type IRepeatType = 'no-repeat' | 'repeat';
|
|
3
|
+
export type ImageMode = BackgroundSizing;
|
|
3
4
|
export type IImageAttribute = {
|
|
4
5
|
width: number;
|
|
5
6
|
height: number;
|
|
6
7
|
maxWidth?: number;
|
|
7
8
|
maxHeight?: number;
|
|
9
|
+
imageMode?: ImageMode;
|
|
10
|
+
imagePosition: BackgroundPosition;
|
|
11
|
+
imageScale: number;
|
|
12
|
+
imageOffsetX: number;
|
|
13
|
+
imageOffsetY: number;
|
|
8
14
|
repeatX: IRepeatType;
|
|
9
15
|
repeatY: IRepeatType;
|
|
10
16
|
image: string | HTMLImageElement | HTMLCanvasElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/graphic/image.ts"],"names":[],"mappings":"","file":"image.js","sourcesContent":["import type { IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRepeatType = 'no-repeat' | 'repeat';\n\nexport type IImageAttribute = {\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n /**\n * 最大宽度\n */\n maxWidth?: number;\n /**\n * 最大高度\n */\n maxHeight?: number;\n /**\n * x方向的重复方式\n */\n repeatX: IRepeatType;\n /**\n * y方向的重复方式\n */\n repeatY: IRepeatType;\n /**\n * 图像url或者内容\n */\n image: string | HTMLImageElement | HTMLCanvasElement;\n /**\n * 圆角半径\n */\n cornerRadius: number | number[];\n /**\n * 圆角类型,\n * 'round' - 圆弧\n * 'bevel' - 斜角\n */\n cornerType: 'round' | 'bevel';\n};\n\nexport type IImageGraphicAttribute = Partial<IGraphicAttribute> & Partial<IImageAttribute>;\n\nexport interface IImage extends IGraphic<IImageGraphicAttribute> {\n successCallback?: () => void;\n failCallback?: () => void;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interface/graphic/image.ts"],"names":[],"mappings":"","file":"image.js","sourcesContent":["import type { BackgroundPosition, BackgroundSizing, IGraphicAttribute, IGraphic } from '../graphic';\n\nexport type IRepeatType = 'no-repeat' | 'repeat';\nexport type ImageMode = BackgroundSizing;\n\nexport type IImageAttribute = {\n /**\n * 宽度\n */\n width: number;\n /**\n * 高度\n */\n height: number;\n /**\n * 最大宽度\n */\n maxWidth?: number;\n /**\n * 最大高度\n */\n maxHeight?: number;\n /**\n * 图像绘制模式。\n * - cover/contain/fill/auto: no-repeat 下的尺寸语义\n * 仅在 repeatX/repeatY 最终为 no-repeat 时生效。\n */\n imageMode?: ImageMode;\n /**\n * 图像锚定位置,语义与 backgroundPosition 一致。\n */\n imagePosition: BackgroundPosition;\n /**\n * 图像额外缩放比例,仅在不重复平铺时生效。\n */\n imageScale: number;\n /**\n * 图像 x 偏移,仅在不重复平铺时生效。\n */\n imageOffsetX: number;\n /**\n * 图像 y 偏移,仅在不重复平铺时生效。\n */\n imageOffsetY: number;\n /**\n * x方向的重复方式\n */\n repeatX: IRepeatType;\n /**\n * y方向的重复方式\n */\n repeatY: IRepeatType;\n /**\n * 图像url或者内容\n */\n image: string | HTMLImageElement | HTMLCanvasElement;\n /**\n * 圆角半径\n */\n cornerRadius: number | number[];\n /**\n * 圆角类型,\n * 'round' - 圆弧\n * 'bevel' - 斜角\n */\n cornerType: 'round' | 'bevel';\n};\n\nexport type IImageGraphicAttribute = Partial<IGraphicAttribute> & Partial<IImageAttribute>;\n\nexport interface IImage extends IGraphic<IImageGraphicAttribute> {\n successCallback?: () => void;\n failCallback?: () => void;\n}\n"]}
|
|
@@ -13,6 +13,7 @@ import type { IRichTextGraphicAttribute, IRichTextIconGraphicAttribute } from '.
|
|
|
13
13
|
import type { IStarGraphicAttribute } from './star';
|
|
14
14
|
import type { ISymbolGraphicAttribute } from './symbol';
|
|
15
15
|
import type { ITextGraphicAttribute } from './text';
|
|
16
|
+
import type { StateDefinitionsInput } from '../../graphic/state/state-definition';
|
|
16
17
|
export interface IThemeSpec {
|
|
17
18
|
text?: Partial<ITextGraphicAttribute>;
|
|
18
19
|
rect?: Partial<IRectGraphicAttribute>;
|
|
@@ -50,6 +51,8 @@ export interface ITheme {
|
|
|
50
51
|
combinedTheme?: IFullThemeSpec;
|
|
51
52
|
userTheme?: IThemeSpec;
|
|
52
53
|
nextTheme?: IThemeSpec;
|
|
54
|
+
stateDefinitions?: StateDefinitionsInput<Record<string, any>>;
|
|
55
|
+
onStateDefinitionsChange?: (() => void) | undefined;
|
|
53
56
|
applyTheme: (group: IGroup, pt: IThemeSpec, force?: boolean) => IThemeSpec;
|
|
54
57
|
setTheme: (t: IThemeSpec, g: IGroup) => void;
|
|
55
58
|
dirty: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interface/graphic/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IGraphicAttribute } from '../graphic';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IGlyphGraphicAttribute } from './glyph';\nimport type { IGroup, IGroupGraphicAttribute } from './group';\nimport type { IImageGraphicAttribute } from './image';\nimport type { ILineGraphicAttribute } from './line';\nimport type { IPathGraphicAttribute } from './path';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\nimport type { IRichTextGraphicAttribute, IRichTextIconGraphicAttribute } from './richText';\nimport type { IStarGraphicAttribute } from './star';\nimport type { ISymbolGraphicAttribute } from './symbol';\nimport type { ITextGraphicAttribute } from './text';\n\nexport interface IThemeSpec {\n text?: Partial<ITextGraphicAttribute>;\n rect?: Partial<IRectGraphicAttribute>;\n arc?: Partial<IArcGraphicAttribute>;\n area?: Partial<IAreaGraphicAttribute>;\n circle?: Partial<ICircleGraphicAttribute>;\n line?: Partial<ILineGraphicAttribute>;\n path?: Partial<IPathGraphicAttribute>;\n symbol?: Partial<ISymbolGraphicAttribute>;\n star?: Partial<IStarGraphicAttribute>;\n group?: Partial<IGroupGraphicAttribute>;\n polygon?: Partial<IPolygonGraphicAttribute>;\n image?: Partial<IImageGraphicAttribute>;\n common?: Partial<IGraphicAttribute>;\n}\n\nexport interface IFullThemeSpec {\n arc: Required<IArcGraphicAttribute>;\n area: Required<IAreaGraphicAttribute>;\n circle: Required<ICircleGraphicAttribute>;\n line: Required<ILineGraphicAttribute>;\n path: Required<IPathGraphicAttribute>;\n symbol: Required<ISymbolGraphicAttribute>;\n text: Required<ITextGraphicAttribute>;\n rect: Required<IRectGraphicAttribute>;\n glyph: Required<IGlyphGraphicAttribute>;\n group: Required<IGroupGraphicAttribute>;\n polygon: Required<IPolygonGraphicAttribute>;\n star: Required<IStarGraphicAttribute>;\n richtext: Required<IRichTextGraphicAttribute>;\n richtextIcon: Required<IRichTextIconGraphicAttribute>;\n image: Required<IImageGraphicAttribute>;\n}\n\nexport interface ITheme {\n getTheme: (g: IGroup) => IFullThemeSpec;\n combinedTheme?: IFullThemeSpec;\n userTheme?: IThemeSpec;\n nextTheme?: IThemeSpec;\n applyTheme: (group: IGroup, pt: IThemeSpec, force?: boolean) => IThemeSpec;\n setTheme: (t: IThemeSpec, g: IGroup) => void;\n dirty: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interface/graphic/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IGraphicAttribute } from '../graphic';\nimport type { IArcGraphicAttribute } from './arc';\nimport type { IAreaGraphicAttribute } from './area';\nimport type { ICircleGraphicAttribute } from './circle';\nimport type { IGlyphGraphicAttribute } from './glyph';\nimport type { IGroup, IGroupGraphicAttribute } from './group';\nimport type { IImageGraphicAttribute } from './image';\nimport type { ILineGraphicAttribute } from './line';\nimport type { IPathGraphicAttribute } from './path';\nimport type { IPolygonGraphicAttribute } from './polygon';\nimport type { IRectGraphicAttribute } from './rect';\nimport type { IRichTextGraphicAttribute, IRichTextIconGraphicAttribute } from './richText';\nimport type { IStarGraphicAttribute } from './star';\nimport type { ISymbolGraphicAttribute } from './symbol';\nimport type { ITextGraphicAttribute } from './text';\nimport type { StateDefinitionsInput } from '../../graphic/state/state-definition';\n\nexport interface IThemeSpec {\n text?: Partial<ITextGraphicAttribute>;\n rect?: Partial<IRectGraphicAttribute>;\n arc?: Partial<IArcGraphicAttribute>;\n area?: Partial<IAreaGraphicAttribute>;\n circle?: Partial<ICircleGraphicAttribute>;\n line?: Partial<ILineGraphicAttribute>;\n path?: Partial<IPathGraphicAttribute>;\n symbol?: Partial<ISymbolGraphicAttribute>;\n star?: Partial<IStarGraphicAttribute>;\n group?: Partial<IGroupGraphicAttribute>;\n polygon?: Partial<IPolygonGraphicAttribute>;\n image?: Partial<IImageGraphicAttribute>;\n common?: Partial<IGraphicAttribute>;\n}\n\nexport interface IFullThemeSpec {\n arc: Required<IArcGraphicAttribute>;\n area: Required<IAreaGraphicAttribute>;\n circle: Required<ICircleGraphicAttribute>;\n line: Required<ILineGraphicAttribute>;\n path: Required<IPathGraphicAttribute>;\n symbol: Required<ISymbolGraphicAttribute>;\n text: Required<ITextGraphicAttribute>;\n rect: Required<IRectGraphicAttribute>;\n glyph: Required<IGlyphGraphicAttribute>;\n group: Required<IGroupGraphicAttribute>;\n polygon: Required<IPolygonGraphicAttribute>;\n star: Required<IStarGraphicAttribute>;\n richtext: Required<IRichTextGraphicAttribute>;\n richtextIcon: Required<IRichTextIconGraphicAttribute>;\n image: Required<IImageGraphicAttribute>;\n}\n\nexport interface ITheme {\n getTheme: (g: IGroup) => IFullThemeSpec;\n combinedTheme?: IFullThemeSpec;\n userTheme?: IThemeSpec;\n nextTheme?: IThemeSpec;\n stateDefinitions?: StateDefinitionsInput<Record<string, any>>;\n onStateDefinitionsChange?: (() => void) | undefined;\n applyTheme: (group: IGroup, pt: IThemeSpec, force?: boolean) => IThemeSpec;\n setTheme: (t: IThemeSpec, g: IGroup) => void;\n dirty: boolean;\n}\n"]}
|