@visactor/vrender-core 0.22.10 → 0.22.12
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/animate/config.d.ts +1 -2
- package/cjs/animate/config.js +1 -5
- package/cjs/animate/config.js.map +1 -1
- package/cjs/application.d.ts +2 -1
- package/cjs/application.js.map +1 -1
- package/cjs/canvas/constants.js +1 -2
- package/cjs/canvas/empty-context.d.ts +1 -0
- package/cjs/canvas/empty-context.js +4 -0
- package/cjs/canvas/empty-context.js.map +1 -1
- package/cjs/color-string/interpolate.d.ts +1 -0
- package/cjs/color-string/interpolate.js +12 -4
- package/cjs/color-string/interpolate.js.map +1 -1
- package/cjs/color-string/store.js +2 -1
- package/cjs/common/contribution-provider.d.ts +16 -0
- package/cjs/common/contribution-provider.js +21 -2
- package/cjs/common/contribution-provider.js.map +1 -1
- package/cjs/common/custom-path2d.js +2 -2
- package/cjs/common/custom-path2d.js.map +1 -1
- package/cjs/common/diff.d.ts +1 -0
- package/cjs/common/diff.js +19 -0
- package/cjs/common/diff.js.map +1 -0
- package/cjs/common/enums.d.ts +0 -16
- package/cjs/common/enums.js +2 -11
- package/cjs/common/enums.js.map +1 -1
- package/cjs/common/event-listener-manager.d.ts +14 -0
- package/cjs/common/event-listener-manager.js +52 -0
- package/cjs/common/event-listener-manager.js.map +1 -0
- package/cjs/common/event-transformer.d.ts +12 -0
- package/cjs/common/event-transformer.js +91 -0
- package/cjs/common/event-transformer.js.map +1 -0
- package/cjs/common/morphing-utils.js +32 -124
- package/cjs/common/morphing-utils.js.map +1 -1
- package/cjs/common/performance-raf.d.ts +8 -0
- package/cjs/common/performance-raf.js +32 -0
- package/cjs/common/performance-raf.js.map +1 -0
- package/cjs/common/polygon.js +4 -2
- package/cjs/common/polygon.js.map +1 -1
- package/cjs/common/render-area.js +1 -0
- package/cjs/common/segment/curve/cubic-bezier.d.ts +1 -2
- package/cjs/common/segment/curve/cubic-bezier.js +3 -8
- package/cjs/common/segment/curve/cubic-bezier.js.map +1 -1
- package/cjs/common/segment/curve/quadratic-bezier.d.ts +1 -0
- package/cjs/common/segment/curve/quadratic-bezier.js +10 -3
- package/cjs/common/segment/curve/quadratic-bezier.js.map +1 -1
- package/cjs/common/segment/index.d.ts +1 -0
- package/cjs/common/segment/index.js +1 -1
- package/cjs/common/segment/index.js.map +1 -1
- package/cjs/common/shape/arc.d.ts +1 -1
- package/cjs/common/shape/arc.js +7 -3
- package/cjs/common/shape/arc.js.map +1 -1
- package/cjs/common/simplify.js +1 -2
- package/cjs/common/split-path.js +1 -1
- package/cjs/common/split-path.js.map +1 -1
- package/cjs/common/store.js +1 -1
- package/cjs/common/text.js +1 -1
- package/cjs/common/utils.d.ts +0 -2
- package/cjs/common/utils.js +5 -9
- package/cjs/common/utils.js.map +1 -1
- package/cjs/core/application.js +1 -1
- package/cjs/core/camera.js +1 -1
- package/cjs/core/global.d.ts +10 -5
- package/cjs/core/global.js +23 -12
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/stage.d.ts +9 -3
- package/cjs/core/stage.js +37 -20
- package/cjs/core/stage.js.map +1 -1
- package/cjs/core/window.d.ts +5 -4
- package/cjs/core/window.js +14 -13
- package/cjs/core/window.js.map +1 -1
- package/cjs/event/event-system.js +11 -10
- package/cjs/event/event-system.js.map +1 -1
- package/cjs/graphic/arc.d.ts +1 -2
- package/cjs/graphic/arc.js +3 -2
- package/cjs/graphic/arc.js.map +1 -1
- package/cjs/graphic/area.d.ts +1 -2
- package/cjs/graphic/area.js +4 -1
- package/cjs/graphic/area.js.map +1 -1
- package/cjs/graphic/circle.d.ts +1 -2
- package/cjs/graphic/circle.js +5 -2
- package/cjs/graphic/circle.js.map +1 -1
- package/cjs/graphic/config.js +2 -1
- package/cjs/graphic/config.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-module.js +1 -2
- package/cjs/graphic/graphic-service/graphic-module.js.map +1 -1
- package/cjs/graphic/graphic-service/graphic-service.js +2 -3
- package/cjs/graphic/graphic-service/graphic-service.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +9 -12
- package/cjs/graphic/graphic.js +48 -105
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/group.js +8 -8
- package/cjs/graphic/group.js.map +1 -1
- package/cjs/graphic/line.d.ts +1 -2
- package/cjs/graphic/line.js +5 -1
- package/cjs/graphic/line.js.map +1 -1
- package/cjs/graphic/rect.js +5 -2
- package/cjs/graphic/rect.js.map +1 -1
- package/cjs/graphic/richtext/icon.d.ts +1 -1
- package/cjs/graphic/richtext/icon.js.map +1 -1
- package/cjs/graphic/richtext/paragraph.js +2 -2
- package/cjs/graphic/richtext/paragraph.js.map +1 -1
- package/cjs/graphic/star.d.ts +1 -2
- package/cjs/graphic/star.js +4 -2
- package/cjs/graphic/star.js.map +1 -1
- package/cjs/index.d.ts +4 -3
- package/cjs/index.js +13 -13
- package/cjs/index.js.map +1 -1
- package/cjs/interface/animate.d.ts +1 -160
- package/cjs/interface/animate.js +1 -4
- package/cjs/interface/animate.js.map +1 -1
- package/cjs/interface/animation/animate.d.ts +117 -0
- package/cjs/interface/animation/animate.js +10 -0
- package/cjs/interface/animation/animate.js.map +1 -0
- package/cjs/interface/animation/easing.d.ts +3 -0
- package/cjs/interface/animation/easing.js +6 -0
- package/cjs/interface/animation/easing.js.map +1 -0
- package/cjs/interface/animation/index.d.ts +5 -0
- package/cjs/{animate/Ticker → interface/animation}/index.js +3 -3
- package/cjs/interface/animation/index.js.map +1 -0
- package/cjs/interface/animation/ticker.d.ts +39 -0
- package/cjs/{animate/Ticker/type.js → interface/animation/ticker.js} +1 -1
- package/cjs/interface/animation/ticker.js.map +1 -0
- package/cjs/interface/animation/timeline.d.ts +17 -0
- package/cjs/interface/animation/timeline.js +6 -0
- package/cjs/interface/animation/timeline.js.map +1 -0
- package/cjs/interface/animation/type.d.ts +13 -0
- package/cjs/interface/animation/type.js +15 -0
- package/cjs/interface/animation/type.js.map +1 -0
- package/cjs/interface/context.d.ts +1 -0
- package/cjs/interface/context.js.map +1 -1
- package/cjs/interface/event-listener-manager.d.ts +7 -0
- package/cjs/interface/event-listener-manager.js +6 -0
- package/cjs/interface/event-listener-manager.js.map +1 -0
- package/cjs/interface/global.d.ts +4 -1
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic.d.ts +11 -3
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/index.d.ts +1 -1
- package/cjs/interface/index.js +9 -9
- package/cjs/interface/index.js.map +1 -1
- package/cjs/interface/picker.d.ts +1 -0
- package/cjs/interface/picker.js.map +1 -1
- package/cjs/interface/render.d.ts +10 -0
- package/cjs/interface/render.js.map +1 -1
- package/cjs/interface/stage.d.ts +4 -1
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/interface/window.d.ts +1 -0
- package/cjs/interface/window.js.map +1 -1
- package/cjs/modules.d.ts +2 -1
- package/cjs/modules.js +4 -3
- package/cjs/modules.js.map +1 -1
- package/cjs/picker/global-picker-service.d.ts +1 -0
- package/cjs/picker/global-picker-service.js +1 -0
- package/cjs/picker/global-picker-service.js.map +1 -1
- package/cjs/picker/picker-service.d.ts +1 -0
- package/cjs/picker/picker-service.js +3 -0
- package/cjs/picker/picker-service.js.map +1 -1
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js +9 -8
- package/cjs/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js +14 -11
- package/cjs/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js +13 -10
- package/cjs/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
- package/cjs/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
- package/cjs/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js +6 -5
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.d.ts +6 -4
- package/cjs/render/contributions/render/arc-render.js +22 -20
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.d.ts +2 -2
- package/cjs/render/contributions/render/area-render.js +5 -5
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/base-render.d.ts +4 -2
- package/cjs/render/contributions/render/base-render.js +5 -2
- package/cjs/render/contributions/render/base-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.d.ts +2 -2
- package/cjs/render/contributions/render/circle-render.js +3 -3
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/draw-contribution.d.ts +2 -0
- package/cjs/render/contributions/render/draw-contribution.js +28 -19
- package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
- package/cjs/render/contributions/render/draw-interceptor.js +2 -1
- package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
- package/cjs/render/contributions/render/glyph-render.d.ts +1 -0
- package/cjs/render/contributions/render/glyph-render.js +1 -0
- package/cjs/render/contributions/render/glyph-render.js.map +1 -1
- package/cjs/render/contributions/render/graphic-render.d.ts +1 -0
- package/cjs/render/contributions/render/graphic-render.js.map +1 -1
- package/cjs/render/contributions/render/group-render.d.ts +3 -2
- package/cjs/render/contributions/render/group-render.js +19 -11
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.d.ts +2 -2
- package/cjs/render/contributions/render/image-render.js +3 -3
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/line-render.js +1 -1
- package/cjs/render/contributions/render/line-render.js.map +1 -1
- package/cjs/render/contributions/render/path-render.d.ts +2 -2
- package/cjs/render/contributions/render/path-render.js +3 -3
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.d.ts +2 -2
- package/cjs/render/contributions/render/polygon-render.js +3 -3
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.d.ts +5 -3
- package/cjs/render/contributions/render/rect-render.js +20 -18
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.d.ts +6 -4
- package/cjs/render/contributions/render/symbol-render.js +19 -14
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/text-render.d.ts +2 -2
- package/cjs/render/contributions/render/text-render.js +3 -3
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/render-service.d.ts +2 -1
- package/cjs/render/render-service.js +3 -0
- package/cjs/render/render-service.js.map +1 -1
- package/dist/index.es.js +5531 -8162
- package/es/animate/config.d.ts +1 -2
- package/es/animate/config.js +0 -5
- package/es/animate/config.js.map +1 -1
- package/es/application.d.ts +2 -1
- package/es/application.js.map +1 -1
- package/es/canvas/constants.js +1 -2
- package/es/canvas/empty-context.d.ts +1 -0
- package/es/canvas/empty-context.js +4 -0
- package/es/canvas/empty-context.js.map +1 -1
- package/es/color-string/interpolate.d.ts +1 -0
- package/es/color-string/interpolate.js +8 -1
- package/es/color-string/interpolate.js.map +1 -1
- package/es/color-string/store.js +2 -1
- package/es/common/contribution-provider.d.ts +16 -0
- package/es/common/contribution-provider.js +20 -1
- package/es/common/contribution-provider.js.map +1 -1
- package/es/common/custom-path2d.js +2 -2
- package/es/common/custom-path2d.js.map +1 -1
- package/es/common/diff.d.ts +1 -0
- package/es/common/diff.js +11 -0
- package/es/common/diff.js.map +1 -0
- package/es/common/enums.d.ts +0 -16
- package/es/common/enums.js +0 -20
- package/es/common/enums.js.map +1 -1
- package/es/common/event-listener-manager.d.ts +14 -0
- package/es/common/event-listener-manager.js +44 -0
- package/es/common/event-listener-manager.js.map +1 -0
- package/es/common/event-transformer.d.ts +12 -0
- package/es/common/event-transformer.js +81 -0
- package/es/common/event-transformer.js.map +1 -0
- package/es/common/morphing-utils.js +29 -124
- package/es/common/morphing-utils.js.map +1 -1
- package/es/common/performance-raf.d.ts +8 -0
- package/es/common/performance-raf.js +24 -0
- package/es/common/performance-raf.js.map +1 -0
- package/es/common/polygon.js +4 -2
- package/es/common/polygon.js.map +1 -1
- package/es/common/render-area.js +2 -1
- package/es/common/segment/curve/cubic-bezier.d.ts +1 -2
- package/es/common/segment/curve/cubic-bezier.js +1 -8
- package/es/common/segment/curve/cubic-bezier.js.map +1 -1
- package/es/common/segment/curve/quadratic-bezier.d.ts +1 -0
- package/es/common/segment/curve/quadratic-bezier.js +5 -2
- package/es/common/segment/curve/quadratic-bezier.js.map +1 -1
- package/es/common/segment/index.d.ts +1 -0
- package/es/common/segment/index.js +2 -0
- package/es/common/segment/index.js.map +1 -1
- package/es/common/shape/arc.d.ts +1 -1
- package/es/common/shape/arc.js +7 -3
- package/es/common/shape/arc.js.map +1 -1
- package/es/common/simplify.js +1 -2
- package/es/common/split-path.js +1 -1
- package/es/common/split-path.js.map +1 -1
- package/es/common/store.js +1 -1
- package/es/common/text.js +1 -1
- package/es/common/utils.d.ts +0 -2
- package/es/common/utils.js +1 -5
- package/es/common/utils.js.map +1 -1
- package/es/core/application.js +1 -1
- package/es/core/camera.js +1 -1
- package/es/core/global.d.ts +10 -5
- package/es/core/global.js +26 -11
- package/es/core/global.js.map +1 -1
- package/es/core/stage.d.ts +9 -3
- package/es/core/stage.js +38 -22
- package/es/core/stage.js.map +1 -1
- package/es/core/window.d.ts +5 -4
- package/es/core/window.js +15 -12
- package/es/core/window.js.map +1 -1
- package/es/event/event-system.js +11 -10
- package/es/event/event-system.js.map +1 -1
- package/es/graphic/arc.d.ts +1 -2
- package/es/graphic/arc.js +3 -2
- package/es/graphic/arc.js.map +1 -1
- package/es/graphic/area.d.ts +1 -2
- package/es/graphic/area.js +4 -1
- package/es/graphic/area.js.map +1 -1
- package/es/graphic/circle.d.ts +1 -2
- package/es/graphic/circle.js +4 -2
- package/es/graphic/circle.js.map +1 -1
- package/es/graphic/config.js +2 -1
- package/es/graphic/config.js.map +1 -1
- package/es/graphic/graphic-service/graphic-module.js +1 -1
- package/es/graphic/graphic-service/graphic-module.js.map +1 -1
- package/es/graphic/graphic-service/graphic-service.js +1 -4
- package/es/graphic/graphic-service/graphic-service.js.map +1 -1
- package/es/graphic/graphic.d.ts +9 -12
- package/es/graphic/graphic.js +52 -109
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/group.js +7 -7
- package/es/graphic/group.js.map +1 -1
- package/es/graphic/line.d.ts +1 -2
- package/es/graphic/line.js +5 -1
- package/es/graphic/line.js.map +1 -1
- package/es/graphic/rect.js +5 -2
- package/es/graphic/rect.js.map +1 -1
- package/es/graphic/richtext/icon.d.ts +1 -1
- package/es/graphic/richtext/icon.js.map +1 -1
- package/es/graphic/richtext/paragraph.js +2 -2
- package/es/graphic/richtext/paragraph.js.map +1 -1
- package/es/graphic/star.d.ts +1 -2
- package/es/graphic/star.js +4 -2
- package/es/graphic/star.js.map +1 -1
- package/es/index.d.ts +4 -3
- package/es/index.js +7 -5
- package/es/index.js.map +1 -1
- package/es/interface/animate.d.ts +1 -160
- package/es/interface/animate.js +2 -1
- package/es/interface/animate.js.map +1 -1
- package/es/interface/animation/animate.d.ts +117 -0
- package/es/interface/animation/animate.js +6 -0
- package/es/interface/animation/animate.js.map +1 -0
- package/es/interface/animation/easing.d.ts +3 -0
- package/es/interface/animation/easing.js +2 -0
- package/es/interface/animation/easing.js.map +1 -0
- package/es/interface/animation/index.d.ts +5 -0
- package/es/interface/animation/index.js +10 -0
- package/es/interface/animation/index.js.map +1 -0
- package/es/interface/animation/ticker.d.ts +39 -0
- package/es/{animate/Ticker/type.js → interface/animation/ticker.js} +1 -1
- package/es/interface/animation/ticker.js.map +1 -0
- package/es/interface/animation/timeline.d.ts +17 -0
- package/es/interface/animation/timeline.js +2 -0
- package/es/interface/animation/timeline.js.map +1 -0
- package/es/interface/animation/type.d.ts +13 -0
- package/es/interface/animation/type.js +14 -0
- package/es/interface/animation/type.js.map +1 -0
- package/es/interface/context.d.ts +1 -0
- package/es/interface/context.js.map +1 -1
- package/es/interface/event-listener-manager.d.ts +7 -0
- package/es/interface/event-listener-manager.js +2 -0
- package/es/interface/event-listener-manager.js.map +1 -0
- package/es/interface/global.d.ts +4 -1
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic.d.ts +11 -3
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/index.d.ts +1 -1
- package/es/interface/index.js +2 -2
- package/es/interface/index.js.map +1 -1
- package/es/interface/picker.d.ts +1 -0
- package/es/interface/picker.js.map +1 -1
- package/es/interface/render.d.ts +10 -0
- package/es/interface/render.js.map +1 -1
- package/es/interface/stage.d.ts +4 -1
- package/es/interface/stage.js.map +1 -1
- package/es/interface/window.d.ts +1 -0
- package/es/interface/window.js.map +1 -1
- package/es/modules.d.ts +2 -1
- package/es/modules.js +6 -0
- package/es/modules.js.map +1 -1
- package/es/picker/global-picker-service.d.ts +1 -0
- package/es/picker/global-picker-service.js +1 -0
- package/es/picker/global-picker-service.js.map +1 -1
- package/es/picker/picker-service.d.ts +1 -0
- package/es/picker/picker-service.js +3 -0
- package/es/picker/picker-service.js.map +1 -1
- package/es/plugins/builtin-plugin/auto-render-plugin.js +8 -8
- package/es/plugins/builtin-plugin/auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js +13 -12
- package/es/plugins/builtin-plugin/dirty-bounds-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/flex-layout-plugin.js +12 -11
- package/es/plugins/builtin-plugin/flex-layout-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/html-attribute-plugin.js +0 -1
- package/es/plugins/builtin-plugin/html-attribute-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js +8 -5
- package/es/plugins/builtin-plugin/incremental-auto-render-plugin.js.map +1 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin.d.ts +2 -2
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js +4 -5
- package/es/plugins/builtin-plugin/richtext-edit-plugin.js.map +1 -1
- package/es/render/contributions/render/arc-render.d.ts +6 -4
- package/es/render/contributions/render/arc-render.js +22 -20
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/area-render.d.ts +2 -2
- package/es/render/contributions/render/area-render.js +5 -5
- package/es/render/contributions/render/area-render.js.map +1 -1
- package/es/render/contributions/render/base-render.d.ts +4 -2
- package/es/render/contributions/render/base-render.js +5 -2
- package/es/render/contributions/render/base-render.js.map +1 -1
- package/es/render/contributions/render/circle-render.d.ts +2 -2
- package/es/render/contributions/render/circle-render.js +3 -3
- package/es/render/contributions/render/circle-render.js.map +1 -1
- package/es/render/contributions/render/draw-contribution.d.ts +2 -0
- package/es/render/contributions/render/draw-contribution.js +28 -19
- package/es/render/contributions/render/draw-contribution.js.map +1 -1
- package/es/render/contributions/render/draw-interceptor.js +2 -1
- package/es/render/contributions/render/draw-interceptor.js.map +1 -1
- package/es/render/contributions/render/glyph-render.d.ts +1 -0
- package/es/render/contributions/render/glyph-render.js +1 -0
- package/es/render/contributions/render/glyph-render.js.map +1 -1
- package/es/render/contributions/render/graphic-render.d.ts +1 -0
- package/es/render/contributions/render/graphic-render.js.map +1 -1
- package/es/render/contributions/render/group-render.d.ts +3 -2
- package/es/render/contributions/render/group-render.js +19 -11
- package/es/render/contributions/render/group-render.js.map +1 -1
- package/es/render/contributions/render/image-render.d.ts +2 -2
- package/es/render/contributions/render/image-render.js +3 -3
- package/es/render/contributions/render/image-render.js.map +1 -1
- package/es/render/contributions/render/line-render.js +1 -1
- package/es/render/contributions/render/line-render.js.map +1 -1
- package/es/render/contributions/render/path-render.d.ts +2 -2
- package/es/render/contributions/render/path-render.js +3 -3
- package/es/render/contributions/render/path-render.js.map +1 -1
- package/es/render/contributions/render/polygon-render.d.ts +2 -2
- package/es/render/contributions/render/polygon-render.js +3 -3
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.d.ts +5 -3
- package/es/render/contributions/render/rect-render.js +20 -17
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.d.ts +6 -4
- package/es/render/contributions/render/symbol-render.js +19 -14
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/text-render.d.ts +2 -2
- package/es/render/contributions/render/text-render.js +3 -3
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/render-service.d.ts +2 -1
- package/es/render/render-service.js +3 -0
- package/es/render/render-service.js.map +1 -1
- package/package.json +2 -2
- package/cjs/animate/Ticker/default-ticker.d.ts +0 -40
- package/cjs/animate/Ticker/default-ticker.js +0 -140
- package/cjs/animate/Ticker/default-ticker.js.map +0 -1
- package/cjs/animate/Ticker/index.d.ts +0 -5
- package/cjs/animate/Ticker/index.js.map +0 -1
- package/cjs/animate/Ticker/manual-ticker-handler.d.ts +0 -15
- package/cjs/animate/Ticker/manual-ticker-handler.js +0 -36
- package/cjs/animate/Ticker/manual-ticker-handler.js.map +0 -1
- package/cjs/animate/Ticker/manual-ticker.d.ts +0 -19
- package/cjs/animate/Ticker/manual-ticker.js +0 -37
- package/cjs/animate/Ticker/manual-ticker.js.map +0 -1
- package/cjs/animate/Ticker/raf-tick-handler.d.ts +0 -9
- package/cjs/animate/Ticker/raf-tick-handler.js +0 -30
- package/cjs/animate/Ticker/raf-tick-handler.js.map +0 -1
- package/cjs/animate/Ticker/timeout-tick-handler.d.ts +0 -9
- package/cjs/animate/Ticker/timeout-tick-handler.js +0 -28
- package/cjs/animate/Ticker/timeout-tick-handler.js.map +0 -1
- package/cjs/animate/Ticker/type.d.ts +0 -6
- package/cjs/animate/Ticker/type.js.map +0 -1
- package/cjs/animate/animate.d.ts +0 -147
- package/cjs/animate/animate.js +0 -403
- package/cjs/animate/animate.js.map +0 -1
- package/cjs/animate/custom-animate.d.ts +0 -236
- package/cjs/animate/custom-animate.js +0 -722
- package/cjs/animate/custom-animate.js.map +0 -1
- package/cjs/animate/default-ticker.d.ts +0 -2
- package/cjs/animate/default-ticker.js +0 -14
- package/cjs/animate/default-ticker.js.map +0 -1
- package/cjs/animate/easing-func.d.ts +0 -1
- package/cjs/animate/easing-func.js +0 -16
- package/cjs/animate/easing-func.js.map +0 -1
- package/cjs/animate/easing.d.ts +0 -49
- package/cjs/animate/easing.js +0 -141
- package/cjs/animate/easing.js.map +0 -1
- package/cjs/animate/group-fade.d.ts +0 -16
- package/cjs/animate/group-fade.js +0 -66
- package/cjs/animate/group-fade.js.map +0 -1
- package/cjs/animate/index.d.ts +0 -8
- package/cjs/animate/index.js +0 -24
- package/cjs/animate/index.js.map +0 -1
- package/cjs/animate/morphing.d.ts +0 -52
- package/cjs/animate/morphing.js +0 -292
- package/cjs/animate/morphing.js.map +0 -1
- package/cjs/animate/timeline.d.ts +0 -17
- package/cjs/animate/timeline.js +0 -46
- package/cjs/animate/timeline.js.map +0 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
- package/cjs/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
- package/es/animate/Ticker/default-ticker.d.ts +0 -40
- package/es/animate/Ticker/default-ticker.js +0 -138
- package/es/animate/Ticker/default-ticker.js.map +0 -1
- package/es/animate/Ticker/index.d.ts +0 -5
- package/es/animate/Ticker/index.js +0 -10
- package/es/animate/Ticker/index.js.map +0 -1
- package/es/animate/Ticker/manual-ticker-handler.d.ts +0 -15
- package/es/animate/Ticker/manual-ticker-handler.js +0 -28
- package/es/animate/Ticker/manual-ticker-handler.js.map +0 -1
- package/es/animate/Ticker/manual-ticker.d.ts +0 -19
- package/es/animate/Ticker/manual-ticker.js +0 -31
- package/es/animate/Ticker/manual-ticker.js.map +0 -1
- package/es/animate/Ticker/raf-tick-handler.d.ts +0 -9
- package/es/animate/Ticker/raf-tick-handler.js +0 -22
- package/es/animate/Ticker/raf-tick-handler.js.map +0 -1
- package/es/animate/Ticker/timeout-tick-handler.d.ts +0 -9
- package/es/animate/Ticker/timeout-tick-handler.js +0 -20
- package/es/animate/Ticker/timeout-tick-handler.js.map +0 -1
- package/es/animate/Ticker/type.d.ts +0 -6
- package/es/animate/Ticker/type.js.map +0 -1
- package/es/animate/animate.d.ts +0 -147
- package/es/animate/animate.js +0 -398
- package/es/animate/animate.js.map +0 -1
- package/es/animate/custom-animate.d.ts +0 -236
- package/es/animate/custom-animate.js +0 -699
- package/es/animate/custom-animate.js.map +0 -1
- package/es/animate/default-ticker.d.ts +0 -2
- package/es/animate/default-ticker.js +0 -12
- package/es/animate/default-ticker.js.map +0 -1
- package/es/animate/easing-func.d.ts +0 -1
- package/es/animate/easing-func.js +0 -10
- package/es/animate/easing-func.js.map +0 -1
- package/es/animate/easing.d.ts +0 -49
- package/es/animate/easing.js +0 -134
- package/es/animate/easing.js.map +0 -1
- package/es/animate/group-fade.d.ts +0 -16
- package/es/animate/group-fade.js +0 -56
- package/es/animate/group-fade.js.map +0 -1
- package/es/animate/index.d.ts +0 -8
- package/es/animate/index.js +0 -16
- package/es/animate/index.js.map +0 -1
- package/es/animate/morphing.d.ts +0 -52
- package/es/animate/morphing.js +0 -295
- package/es/animate/morphing.js.map +0 -1
- package/es/animate/timeline.d.ts +0 -17
- package/es/animate/timeline.js +0 -42
- package/es/animate/timeline.js.map +0 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin-old.d.ts +0 -1
- package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js +0 -3
- package/es/plugins/builtin-plugin/richtext-edit-plugin-old.js.map +0 -1
package/es/animate/config.d.ts
CHANGED
package/es/animate/config.js
CHANGED
package/es/animate/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animate/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAmB;IACvD,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,UAAU;CACnB,CAAC
|
|
1
|
+
{"version":3,"sources":["../src/animate/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAmB;IACvD,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,UAAU;CACnB,CAAC","file":"config.js","sourcesContent":["import type { IAnimateConfig } from '../interface/graphic';\n\nexport const DefaultStateAnimateConfig: IAnimateConfig = {\n duration: 200,\n easing: 'cubicOut'\n};\n"]}
|
package/es/application.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ILayerService } from './interface/core';
|
|
2
2
|
import type { IGraphicUtil, ITransformUtil } from './interface/core';
|
|
3
|
-
import type { IGlobal, IGraphicService } from './interface';
|
|
3
|
+
import type { IGlobal, IGraphicService, IRenderService } from './interface';
|
|
4
4
|
export declare class Application {
|
|
5
5
|
global: IGlobal;
|
|
6
6
|
graphicUtil: IGraphicUtil;
|
|
7
7
|
graphicService: IGraphicService;
|
|
8
|
+
renderService: IRenderService;
|
|
8
9
|
transformUtil: ITransformUtil;
|
|
9
10
|
layerService: ILayerService;
|
|
10
11
|
}
|
package/es/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/application.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"sources":["../src/application.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,WAAW;CAOvB;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC","file":"application.js","sourcesContent":["import type { ILayerService } from './interface/core';\nimport type { IGraphicUtil, ITransformUtil } from './interface/core';\nimport type { IGlobal, IGraphicService, IRenderService } from './interface';\n\nexport class Application {\n global: IGlobal;\n graphicUtil: IGraphicUtil;\n graphicService: IGraphicService;\n renderService: IRenderService;\n transformUtil: ITransformUtil;\n layerService: ILayerService;\n}\n\nexport const application = new Application();\n"]}
|
package/es/canvas/constants.js
CHANGED
|
@@ -33,6 +33,7 @@ export declare class EmptyContext2d implements IContext2d {
|
|
|
33
33
|
get currentMatrix(): Matrix;
|
|
34
34
|
cloneMatrix(m: Matrix): IMatrix;
|
|
35
35
|
clear(): void;
|
|
36
|
+
reset(): void;
|
|
36
37
|
restore(): void;
|
|
37
38
|
highPerformanceRestore(): void;
|
|
38
39
|
rotate(rad: number, setTransform?: boolean): void;
|
|
@@ -49,6 +49,10 @@ let EmptyContext2d = class {
|
|
|
49
49
|
clear() {
|
|
50
50
|
this.save(), this.resetTransform(), this.restore();
|
|
51
51
|
}
|
|
52
|
+
reset() {
|
|
53
|
+
this.matrix.setValue(1, 0, 0, 1, 0, 0), this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0),
|
|
54
|
+
this.stack.length = 0;
|
|
55
|
+
}
|
|
52
56
|
restore() {
|
|
53
57
|
this.stack.length > 0 && (matrixAllocate.free(this.matrix), this.matrix = this.stack.pop(),
|
|
54
58
|
this.setTransformForCurrent());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/canvas/empty-context.ts"],"names":[],"mappings":"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","file":"empty-context.js","sourcesContent":["import type { IMatrix } from '@visactor/vutils';\nimport { Matrix } from '@visactor/vutils';\nimport { injectable } from '../common/inversify-lite';\nimport type {\n ICanvas,\n ICommonStyleParams,\n IContext2d,\n ISetCommonStyleParams,\n ISetStrokeStyleParams,\n IStrokeStyleParams,\n IConicalGradientData,\n ITextStyleParams\n} from '../interface';\nimport { contain, containStroke } from './util';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getScaledStroke } from '../common/canvas-utils';\nimport { matrixAllocate } from '../allocator/matrix-allocate';\n/**\n * 部分源码参考konva\n * MIT License\n\n Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)\n Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n\n// https://github.com/konvajs/konva/blob/master/src/Context.ts\nconst initMatrix = new Matrix(1, 0, 0, 1, 0, 0);\nconst globalPoint = { x: 0, y: 0 };\n\n@injectable()\nexport class EmptyContext2d implements IContext2d {\n declare path: CustomPath2D;\n declare canvas: null;\n declare stack: Matrix[];\n protected declare matrix: Matrix;\n protected declare applyedMatrix?: Matrix; // 被应用的matrix\n // 属性代理\n declare fillStyle: string | CanvasGradient | CanvasPattern;\n /**\n * @deprecated font方法不建议使用,请使用setTextStyle\n */\n declare font: string;\n declare globalAlpha: number;\n declare lineCap: string;\n declare lineDashOffset: number;\n declare lineJoin: string;\n declare lineWidth: number;\n declare miterLimit: number;\n declare shadowBlur: number;\n declare shadowColor: string;\n declare shadowOffsetX: number;\n declare shadowOffsetY: number;\n declare strokeStyle: string | CanvasGradient | CanvasPattern;\n declare textAlign: string;\n declare textBaseline: string;\n declare dpr: number;\n declare _clearMatrix: IMatrix;\n\n get nativeContext(): any {\n return this.path;\n }\n\n constructor(canvas: any, dpr: number) {\n this.matrix = new Matrix(1, 0, 0, 1, 0, 0);\n this.stack = [];\n this.dpr = dpr;\n this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n this.path = new CustomPath2D();\n this._clearMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n }\n\n getCanvas(): ICanvas {\n throw new Error('不支持getCanvas');\n }\n\n getContext() {\n throw new Error('不支持getContext');\n }\n /**\n * 设置当前ctx 的transform信息\n */\n setTransformForCurrent(force: boolean = false) {\n // 只作简单判断\n if (!force && this.applyedMatrix.equalToMatrix(this.matrix)) {\n return;\n }\n\n this.applyedMatrix = this.cloneMatrix(this.matrix);\n return;\n }\n /**\n * 获取当前矩阵信息\n */\n get currentMatrix() {\n return this.matrix;\n }\n\n cloneMatrix(m: Matrix) {\n return matrixAllocate.allocateByObj(m);\n }\n\n /**\n * 清空画布\n */\n clear() {\n this.save();\n this.resetTransform();\n this.restore();\n }\n\n restore() {\n if (this.stack.length > 0) {\n matrixAllocate.free(this.matrix);\n this.matrix = this.stack.pop() as Matrix;\n this.setTransformForCurrent();\n }\n }\n highPerformanceRestore() {\n if (this.stack.length > 0) {\n matrixAllocate.free(this.matrix);\n this.matrix = this.stack.pop() as Matrix;\n }\n }\n\n /**\n *\n * @param angle 弧度数\n */\n rotate(rad: number, setTransform: boolean = true) {\n this.matrix.rotate(rad);\n setTransform && this.setTransformForCurrent();\n }\n\n save() {\n const matrix = this.cloneMatrix(this.matrix);\n this.stack.push(matrix);\n }\n highPerformanceSave() {\n const matrix = this.cloneMatrix(this.matrix);\n this.stack.push(matrix);\n }\n\n /**\n * 基于当前matrix再次scale\n * @param sx\n * @param sy\n * @param setTransform 是否设置transform到context中\n */\n scale(sx: number, sy: number, setTransform: boolean = true) {\n this.matrix.scale(sx, sy);\n setTransform && this.setTransformForCurrent();\n }\n setScale(sx: number, sy: number, setTransform: boolean = true): void {\n this.matrix.setScale(sx, sy);\n setTransform && this.setTransformForCurrent();\n }\n /**\n * 基于某个点进行缩放\n * @param sx\n * @param sy\n * @param px\n * @param py\n */\n scalePoint(sx: number, sy: number, px: number, py: number, setTransform: boolean = true) {\n this.translate(px, py, false);\n this.scale(sx, sy, false);\n this.translate(-px, -py, false);\n setTransform && this.setTransformForCurrent();\n }\n /**\n *\n * @param a\n * @param b\n * @param c\n * @param d\n * @param e\n * @param f\n * @param setTransform\n */\n setTransform(\n a: number,\n b: number,\n c: number,\n d: number,\n e: number,\n f: number,\n setTransform: boolean = true,\n dpr: number = this.dpr\n ) {\n this.matrix.setValue(dpr * a, dpr * b, dpr * c, dpr * d, dpr * e, dpr * f);\n setTransform && this.setTransformForCurrent();\n }\n\n setTransformFromMatrix(matrix: Matrix, setTransform: boolean = true, dpr: number = this.dpr) {\n this.matrix.setValue(\n matrix.a * dpr,\n matrix.b * dpr,\n matrix.c * dpr,\n matrix.d * dpr,\n matrix.e * dpr,\n matrix.f * dpr\n );\n setTransform && this.setTransformForCurrent();\n }\n\n resetTransform(setTransform: boolean = true, dpr: number = this.dpr) {\n this.setTransform(dpr, 0, 0, dpr, 0, 0);\n setTransform && this.setTransformForCurrent();\n }\n\n // transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;\n transform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform: boolean = true) {\n this.matrix.multiply(a, b, c, d, e, f);\n setTransform && this.setTransformForCurrent();\n }\n transformFromMatrix(matrix: Matrix, setTransform?: boolean): void {\n this.matrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n setTransform && this.setTransformForCurrent();\n }\n\n translate(x: number, y: number, setTransform: boolean = true) {\n this.matrix.translate(x, y);\n setTransform && this.setTransformForCurrent();\n }\n /**\n * 旋转角度,自动转换为弧度\n * @param deg 角度数\n */\n rotateDegrees(deg: number, setTransform: boolean = true) {\n const rad = (deg * Math.PI) / 180;\n this.rotate(rad, setTransform);\n }\n\n /**\n * 绕点旋转\n * @param rad 弧度\n * @param x 旋转中心点x\n * @param y 旋转中心点y\n */\n rotateAbout(rad: number, x: number, y: number, setTransform: boolean = true) {\n this.translate(x, y, false);\n this.rotate(rad, false);\n this.translate(-x, -y, false);\n setTransform && this.setTransformForCurrent();\n }\n\n /**\n * 绕点旋转\n * @param deg 旋转角度\n * @param x 旋转中心点x\n * @param y 旋转中心点y\n */\n rotateDegreesAbout(deg: number, x: number, y: number, setTransform: boolean = true) {\n this.translate(x, y, false);\n this.rotateDegrees(deg, false);\n this.translate(-x, -y, false);\n setTransform && this.setTransformForCurrent();\n }\n\n // /**\n // * 全局坐标 -> 当前矩阵的局部坐标\n // * @param x x\n // * @param y y\n // */\n // transformPoint(x: number, y: number): Point {\n // const inverseMatrix = this.matrix.getInverse();\n // // dpr\n // x = x * this.dpr;\n // y = y * this.dpr;\n // return new Point(\n // x * inverseMatrix.a + y * inverseMatrix.c + inverseMatrix.e,\n // x * inverseMatrix.b + y * inverseMatrix.d + inverseMatrix.f\n // );\n // }\n\n // /**\n // * 坐标转换\n // * @param x x\n // * @param y y\n // */\n // transformPoint2(x: number, y: number): Point {\n // const inverseMatrix = this.matrix;\n // return new Point(\n // x * inverseMatrix.a + y * inverseMatrix.c + inverseMatrix.e,\n // x * inverseMatrix.b + y * inverseMatrix.d + inverseMatrix.f\n // );\n // }\n\n // transformPoint3(x: number, y: number, matrix: Matrix): Point {\n // // dpr\n // x = x * this.dpr;\n // y = y * this.dpr;\n // return new Point(x * matrix.a + y * matrix.c + matrix.e, x * matrix.b + y * matrix.d + matrix.f);\n // }\n\n //////// 代理方法\n // isPointInStroke ,drawFocusIfNeeded 方法没有代理,如有需要再添加\n\n beginPath() {\n this.path.clear();\n }\n\n clip(fillRule?: CanvasFillRule): void;\n clip(path: Path2D, fillRule?: CanvasFillRule): void;\n clip(path?: Path2D | CanvasFillRule, fillRule?: CanvasFillRule) {\n return;\n }\n\n arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean) {\n this.path.arc(x, y, radius, startAngle, endAngle, anticlockwise);\n }\n\n arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number) {\n this.path.arcTo(x1, y1, x2, y2, radiusX);\n }\n\n bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number) {\n this.path.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n\n closePath() {\n this.path.closePath();\n }\n\n ellipse(\n x: number,\n y: number,\n radiusX: number,\n radiusY: number,\n rotation: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ) {\n return;\n }\n lineTo(x: number, y: number) {\n this.path.lineTo(x, y);\n }\n\n moveTo(x: number, y: number) {\n this.path.moveTo(x, y);\n }\n\n quadraticCurveTo(cpx: number, cpy: number, x: number, y: number) {\n this.path.quadraticCurveTo(cpx, cpy, x, y);\n }\n\n rect(x: number, y: number, w: number, h: number) {\n this.path.rect(x, y, w, h);\n }\n\n createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData {\n return null;\n }\n\n createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n throw new Error('不支持createLinearGradient');\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n throw new Error('不支持createPattern');\n }\n\n createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient {\n throw new Error('不支持createRadialGradient');\n }\n\n createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradientData {\n return null;\n }\n\n // createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradient | null {\n // // let edit = false;\n // // let pattern: CanvasPattern | null;\n // // // eslint-disable-next-line @typescript-eslint/no-this-alias\n // // const ctx = this;\n // // const obj: IConicalGradient = {\n // // stops: [],\n // // addColorStop(offset: number, color: string) {\n // // this.stops.push([offset, color]);\n // // edit = true;\n // // },\n // // GetPattern(minW: number, minH: number, deltaAngle?: number): CanvasPattern | null {\n // // if (edit) {\n // // if (!deltaAngle) deltaAngle = endAngle - startAngle;\n // // pattern = createConicalGradient(ctx, this.stops, x, y, deltaAngle, startAngle, endAngle, minW, minH);\n // // edit = false;\n // // }\n // // return pattern;\n // // }\n // // };\n // // return obj;\n // }\n\n // fill(fillRule?: CanvasFillRule): void;\n // fill(path?: Path2D, fillRule?: CanvasFillRule): void;\n fill(path?: Path2D, fillRule?: CanvasFillRule) {\n return;\n }\n\n fillRect(x: number, y: number, width: number, height: number) {\n this.path.rect(x, y, width, height);\n }\n\n clearRect(x: number, y: number, w: number, h: number) {\n return;\n }\n\n fillText(text: string, x: number, y: number) {\n return;\n }\n\n getImageData(sx: number, sy: number, sw: number, sh: number): ImageData {\n return null;\n }\n\n getLineDash(): number[] {\n return [];\n }\n\n isPointInPath(x: number, y: number) {\n this.matrix.transformPoint({ x, y }, globalPoint);\n return contain(this.path.commandList, globalPoint.x, globalPoint.y);\n }\n\n isPointInStroke(x: number, y: number) {\n if (!this.lineWidth) {\n return false;\n }\n this.matrix.transformPoint({ x, y }, globalPoint);\n const lineWidth = getScaledStroke(this, this.lineWidth, this.dpr);\n return containStroke(this.path.commandList, lineWidth, globalPoint.x, globalPoint.y);\n }\n\n measureText(text: string): { width: number } {\n throw new Error('不支持measureText');\n }\n\n putImageData(imagedata: ImageData, dx: number, dy: number) {\n throw new Error('不支持measureText');\n }\n\n setLineDash(segments: number[]) {\n return;\n }\n\n stroke(path?: Path2D) {\n return;\n }\n\n strokeRect(x: number, y: number, width: number, height: number) {\n this.path.rect(x, y, width, height);\n }\n\n strokeText(text: string, x: number, y: number) {\n return;\n }\n\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n dstX: number,\n dstY: number\n ): void;\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n dstX: number,\n dstY: number,\n dstW: number,\n dstH: number\n ): void;\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n srcX: number,\n srcY: number,\n srcW: number,\n srcH: number,\n dstX: number,\n dstY: number,\n dstW: number,\n dstH: number\n ): void;\n\n drawImage() {\n return;\n }\n\n setCommonStyle(\n params: ISetCommonStyleParams,\n attribute: ICommonStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]\n ) {\n return;\n }\n\n _setCommonStyle(params: ISetCommonStyleParams, offsetX: number, offsetY: number, defaultParams?: ICommonStyleParams) {\n return;\n }\n\n setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams | IStrokeStyleParams[]\n ) {\n return;\n }\n _setStrokeStyle(params: ISetStrokeStyleParams, offsetX: number, offsetY: number, defaultParams?: IStrokeStyleParams) {\n return;\n }\n setTextStyleWithoutAlignBaseline(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams) {\n return;\n }\n setTextStyle(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams) {\n return;\n }\n\n draw() {\n return;\n }\n\n clearMatrix(setTransform: boolean = true, dpr: number = this.dpr) {\n this.setTransformFromMatrix(initMatrix, setTransform, dpr);\n }\n\n setClearMatrix(a: number, b: number, c: number, d: number, e: number, f: number) {\n this._clearMatrix.setValue(a, b, c, d, e, f);\n }\n\n onlyTranslate(dpr: number = this.dpr): boolean {\n return this.matrix.a === dpr && this.matrix.b === 0 && this.matrix.c === 0 && this.matrix.d === dpr;\n }\n\n release(...params: any): void {\n this.stack.forEach(m => matrixAllocate.free(m));\n this.stack.length = 0;\n return;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/canvas/empty-context.ts"],"names":[],"mappings":"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","file":"empty-context.js","sourcesContent":["import type { IMatrix } from '@visactor/vutils';\nimport { Matrix } from '@visactor/vutils';\nimport { injectable } from '../common/inversify-lite';\nimport type {\n ICanvas,\n ICommonStyleParams,\n IContext2d,\n ISetCommonStyleParams,\n ISetStrokeStyleParams,\n IStrokeStyleParams,\n IConicalGradientData,\n ITextStyleParams\n} from '../interface';\nimport { contain, containStroke } from './util';\nimport { CustomPath2D } from '../common/custom-path2d';\nimport { getScaledStroke } from '../common/canvas-utils';\nimport { matrixAllocate } from '../allocator/matrix-allocate';\n/**\n * 部分源码参考konva\n * MIT License\n\n Original work Copyright (C) 2011 - 2013 by Eric Rowell (KineticJS)\n Modified work Copyright (C) 2014 - present by Anton Lavrenov (Konva)\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n */\n\n// https://github.com/konvajs/konva/blob/master/src/Context.ts\nconst initMatrix = new Matrix(1, 0, 0, 1, 0, 0);\nconst globalPoint = { x: 0, y: 0 };\n\n@injectable()\nexport class EmptyContext2d implements IContext2d {\n declare path: CustomPath2D;\n declare canvas: null;\n declare stack: Matrix[];\n protected declare matrix: Matrix;\n protected declare applyedMatrix?: Matrix; // 被应用的matrix\n // 属性代理\n declare fillStyle: string | CanvasGradient | CanvasPattern;\n /**\n * @deprecated font方法不建议使用,请使用setTextStyle\n */\n declare font: string;\n declare globalAlpha: number;\n declare lineCap: string;\n declare lineDashOffset: number;\n declare lineJoin: string;\n declare lineWidth: number;\n declare miterLimit: number;\n declare shadowBlur: number;\n declare shadowColor: string;\n declare shadowOffsetX: number;\n declare shadowOffsetY: number;\n declare strokeStyle: string | CanvasGradient | CanvasPattern;\n declare textAlign: string;\n declare textBaseline: string;\n declare dpr: number;\n declare _clearMatrix: IMatrix;\n\n get nativeContext(): any {\n return this.path;\n }\n\n constructor(canvas: any, dpr: number) {\n this.matrix = new Matrix(1, 0, 0, 1, 0, 0);\n this.stack = [];\n this.dpr = dpr;\n this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n this.path = new CustomPath2D();\n this._clearMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n }\n\n getCanvas(): ICanvas {\n throw new Error('不支持getCanvas');\n }\n\n getContext() {\n throw new Error('不支持getContext');\n }\n /**\n * 设置当前ctx 的transform信息\n */\n setTransformForCurrent(force: boolean = false) {\n // 只作简单判断\n if (!force && this.applyedMatrix.equalToMatrix(this.matrix)) {\n return;\n }\n\n this.applyedMatrix = this.cloneMatrix(this.matrix);\n return;\n }\n /**\n * 获取当前矩阵信息\n */\n get currentMatrix() {\n return this.matrix;\n }\n\n cloneMatrix(m: Matrix) {\n return matrixAllocate.allocateByObj(m);\n }\n\n /**\n * 清空画布\n */\n clear() {\n this.save();\n this.resetTransform();\n this.restore();\n }\n\n reset() {\n this.matrix.setValue(1, 0, 0, 1, 0, 0);\n this.applyedMatrix = new Matrix(1, 0, 0, 1, 0, 0);\n this.stack.length = 0;\n }\n\n restore() {\n if (this.stack.length > 0) {\n matrixAllocate.free(this.matrix);\n this.matrix = this.stack.pop() as Matrix;\n this.setTransformForCurrent();\n }\n }\n highPerformanceRestore() {\n if (this.stack.length > 0) {\n matrixAllocate.free(this.matrix);\n this.matrix = this.stack.pop() as Matrix;\n }\n }\n\n /**\n *\n * @param angle 弧度数\n */\n rotate(rad: number, setTransform: boolean = true) {\n this.matrix.rotate(rad);\n setTransform && this.setTransformForCurrent();\n }\n\n save() {\n const matrix = this.cloneMatrix(this.matrix);\n this.stack.push(matrix);\n }\n highPerformanceSave() {\n const matrix = this.cloneMatrix(this.matrix);\n this.stack.push(matrix);\n }\n\n /**\n * 基于当前matrix再次scale\n * @param sx\n * @param sy\n * @param setTransform 是否设置transform到context中\n */\n scale(sx: number, sy: number, setTransform: boolean = true) {\n this.matrix.scale(sx, sy);\n setTransform && this.setTransformForCurrent();\n }\n setScale(sx: number, sy: number, setTransform: boolean = true): void {\n this.matrix.setScale(sx, sy);\n setTransform && this.setTransformForCurrent();\n }\n /**\n * 基于某个点进行缩放\n * @param sx\n * @param sy\n * @param px\n * @param py\n */\n scalePoint(sx: number, sy: number, px: number, py: number, setTransform: boolean = true) {\n this.translate(px, py, false);\n this.scale(sx, sy, false);\n this.translate(-px, -py, false);\n setTransform && this.setTransformForCurrent();\n }\n /**\n *\n * @param a\n * @param b\n * @param c\n * @param d\n * @param e\n * @param f\n * @param setTransform\n */\n setTransform(\n a: number,\n b: number,\n c: number,\n d: number,\n e: number,\n f: number,\n setTransform: boolean = true,\n dpr: number = this.dpr\n ) {\n this.matrix.setValue(dpr * a, dpr * b, dpr * c, dpr * d, dpr * e, dpr * f);\n setTransform && this.setTransformForCurrent();\n }\n\n setTransformFromMatrix(matrix: Matrix, setTransform: boolean = true, dpr: number = this.dpr) {\n this.matrix.setValue(\n matrix.a * dpr,\n matrix.b * dpr,\n matrix.c * dpr,\n matrix.d * dpr,\n matrix.e * dpr,\n matrix.f * dpr\n );\n setTransform && this.setTransformForCurrent();\n }\n\n resetTransform(setTransform: boolean = true, dpr: number = this.dpr) {\n this.setTransform(dpr, 0, 0, dpr, 0, 0);\n setTransform && this.setTransformForCurrent();\n }\n\n // transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void;\n transform(a: number, b: number, c: number, d: number, e: number, f: number, setTransform: boolean = true) {\n this.matrix.multiply(a, b, c, d, e, f);\n setTransform && this.setTransformForCurrent();\n }\n transformFromMatrix(matrix: Matrix, setTransform?: boolean): void {\n this.matrix.multiply(matrix.a, matrix.b, matrix.c, matrix.d, matrix.e, matrix.f);\n setTransform && this.setTransformForCurrent();\n }\n\n translate(x: number, y: number, setTransform: boolean = true) {\n this.matrix.translate(x, y);\n setTransform && this.setTransformForCurrent();\n }\n /**\n * 旋转角度,自动转换为弧度\n * @param deg 角度数\n */\n rotateDegrees(deg: number, setTransform: boolean = true) {\n const rad = (deg * Math.PI) / 180;\n this.rotate(rad, setTransform);\n }\n\n /**\n * 绕点旋转\n * @param rad 弧度\n * @param x 旋转中心点x\n * @param y 旋转中心点y\n */\n rotateAbout(rad: number, x: number, y: number, setTransform: boolean = true) {\n this.translate(x, y, false);\n this.rotate(rad, false);\n this.translate(-x, -y, false);\n setTransform && this.setTransformForCurrent();\n }\n\n /**\n * 绕点旋转\n * @param deg 旋转角度\n * @param x 旋转中心点x\n * @param y 旋转中心点y\n */\n rotateDegreesAbout(deg: number, x: number, y: number, setTransform: boolean = true) {\n this.translate(x, y, false);\n this.rotateDegrees(deg, false);\n this.translate(-x, -y, false);\n setTransform && this.setTransformForCurrent();\n }\n\n // /**\n // * 全局坐标 -> 当前矩阵的局部坐标\n // * @param x x\n // * @param y y\n // */\n // transformPoint(x: number, y: number): Point {\n // const inverseMatrix = this.matrix.getInverse();\n // // dpr\n // x = x * this.dpr;\n // y = y * this.dpr;\n // return new Point(\n // x * inverseMatrix.a + y * inverseMatrix.c + inverseMatrix.e,\n // x * inverseMatrix.b + y * inverseMatrix.d + inverseMatrix.f\n // );\n // }\n\n // /**\n // * 坐标转换\n // * @param x x\n // * @param y y\n // */\n // transformPoint2(x: number, y: number): Point {\n // const inverseMatrix = this.matrix;\n // return new Point(\n // x * inverseMatrix.a + y * inverseMatrix.c + inverseMatrix.e,\n // x * inverseMatrix.b + y * inverseMatrix.d + inverseMatrix.f\n // );\n // }\n\n // transformPoint3(x: number, y: number, matrix: Matrix): Point {\n // // dpr\n // x = x * this.dpr;\n // y = y * this.dpr;\n // return new Point(x * matrix.a + y * matrix.c + matrix.e, x * matrix.b + y * matrix.d + matrix.f);\n // }\n\n //////// 代理方法\n // isPointInStroke ,drawFocusIfNeeded 方法没有代理,如有需要再添加\n\n beginPath() {\n this.path.clear();\n }\n\n clip(fillRule?: CanvasFillRule): void;\n clip(path: Path2D, fillRule?: CanvasFillRule): void;\n clip(path?: Path2D | CanvasFillRule, fillRule?: CanvasFillRule) {\n return;\n }\n\n arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean) {\n this.path.arc(x, y, radius, startAngle, endAngle, anticlockwise);\n }\n\n arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void;\n arcTo(x1: number, y1: number, x2: number, y2: number, radiusX: number) {\n this.path.arcTo(x1, y1, x2, y2, radiusX);\n }\n\n bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number) {\n this.path.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n }\n\n closePath() {\n this.path.closePath();\n }\n\n ellipse(\n x: number,\n y: number,\n radiusX: number,\n radiusY: number,\n rotation: number,\n startAngle: number,\n endAngle: number,\n anticlockwise?: boolean\n ) {\n return;\n }\n lineTo(x: number, y: number) {\n this.path.lineTo(x, y);\n }\n\n moveTo(x: number, y: number) {\n this.path.moveTo(x, y);\n }\n\n quadraticCurveTo(cpx: number, cpy: number, x: number, y: number) {\n this.path.quadraticCurveTo(cpx, cpy, x, y);\n }\n\n rect(x: number, y: number, w: number, h: number) {\n this.path.rect(x, y, w, h);\n }\n\n createImageData(imageDataOrSw: number | ImageData, sh?: number): ImageData {\n return null;\n }\n\n createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient {\n throw new Error('不支持createLinearGradient');\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n throw new Error('不支持createPattern');\n }\n\n createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient {\n throw new Error('不支持createRadialGradient');\n }\n\n createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradientData {\n return null;\n }\n\n // createConicGradient(x: number, y: number, startAngle: number, endAngle: number): IConicalGradient | null {\n // // let edit = false;\n // // let pattern: CanvasPattern | null;\n // // // eslint-disable-next-line @typescript-eslint/no-this-alias\n // // const ctx = this;\n // // const obj: IConicalGradient = {\n // // stops: [],\n // // addColorStop(offset: number, color: string) {\n // // this.stops.push([offset, color]);\n // // edit = true;\n // // },\n // // GetPattern(minW: number, minH: number, deltaAngle?: number): CanvasPattern | null {\n // // if (edit) {\n // // if (!deltaAngle) deltaAngle = endAngle - startAngle;\n // // pattern = createConicalGradient(ctx, this.stops, x, y, deltaAngle, startAngle, endAngle, minW, minH);\n // // edit = false;\n // // }\n // // return pattern;\n // // }\n // // };\n // // return obj;\n // }\n\n // fill(fillRule?: CanvasFillRule): void;\n // fill(path?: Path2D, fillRule?: CanvasFillRule): void;\n fill(path?: Path2D, fillRule?: CanvasFillRule) {\n return;\n }\n\n fillRect(x: number, y: number, width: number, height: number) {\n this.path.rect(x, y, width, height);\n }\n\n clearRect(x: number, y: number, w: number, h: number) {\n return;\n }\n\n fillText(text: string, x: number, y: number) {\n return;\n }\n\n getImageData(sx: number, sy: number, sw: number, sh: number): ImageData {\n return null;\n }\n\n getLineDash(): number[] {\n return [];\n }\n\n isPointInPath(x: number, y: number) {\n this.matrix.transformPoint({ x, y }, globalPoint);\n return contain(this.path.commandList, globalPoint.x, globalPoint.y);\n }\n\n isPointInStroke(x: number, y: number) {\n if (!this.lineWidth) {\n return false;\n }\n this.matrix.transformPoint({ x, y }, globalPoint);\n const lineWidth = getScaledStroke(this, this.lineWidth, this.dpr);\n return containStroke(this.path.commandList, lineWidth, globalPoint.x, globalPoint.y);\n }\n\n measureText(text: string): { width: number } {\n throw new Error('不支持measureText');\n }\n\n putImageData(imagedata: ImageData, dx: number, dy: number) {\n throw new Error('不支持measureText');\n }\n\n setLineDash(segments: number[]) {\n return;\n }\n\n stroke(path?: Path2D) {\n return;\n }\n\n strokeRect(x: number, y: number, width: number, height: number) {\n this.path.rect(x, y, width, height);\n }\n\n strokeText(text: string, x: number, y: number) {\n return;\n }\n\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n dstX: number,\n dstY: number\n ): void;\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n dstX: number,\n dstY: number,\n dstW: number,\n dstH: number\n ): void;\n drawImage(\n image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | ImageBitmap,\n srcX: number,\n srcY: number,\n srcW: number,\n srcH: number,\n dstX: number,\n dstY: number,\n dstW: number,\n dstH: number\n ): void;\n\n drawImage() {\n return;\n }\n\n setCommonStyle(\n params: ISetCommonStyleParams,\n attribute: ICommonStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: ICommonStyleParams | Partial<ICommonStyleParams>[]\n ) {\n return;\n }\n\n _setCommonStyle(params: ISetCommonStyleParams, offsetX: number, offsetY: number, defaultParams?: ICommonStyleParams) {\n return;\n }\n\n setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams | IStrokeStyleParams[]\n ) {\n return;\n }\n _setStrokeStyle(params: ISetStrokeStyleParams, offsetX: number, offsetY: number, defaultParams?: IStrokeStyleParams) {\n return;\n }\n setTextStyleWithoutAlignBaseline(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams) {\n return;\n }\n setTextStyle(params: Partial<ITextStyleParams>, defaultParams?: ITextStyleParams) {\n return;\n }\n\n draw() {\n return;\n }\n\n clearMatrix(setTransform: boolean = true, dpr: number = this.dpr) {\n this.setTransformFromMatrix(initMatrix, setTransform, dpr);\n }\n\n setClearMatrix(a: number, b: number, c: number, d: number, e: number, f: number) {\n this._clearMatrix.setValue(a, b, c, d, e, f);\n }\n\n onlyTranslate(dpr: number = this.dpr): boolean {\n return this.matrix.a === dpr && this.matrix.b === 0 && this.matrix.c === 0 && this.matrix.d === dpr;\n }\n\n release(...params: any): void {\n this.stack.forEach(m => matrixAllocate.free(m));\n this.stack.length = 0;\n return;\n }\n}\n"]}
|
|
@@ -5,4 +5,5 @@ export declare function interpolateGradientLinearColor(fc: ILinearGradient, tc:
|
|
|
5
5
|
export declare function interpolateGradientRadialColor(fc: IRadialGradient, tc: IRadialGradient, ratio: number): false | IRadialGradient;
|
|
6
6
|
export declare function interpolateGradientConicalColor(fc: IConicalGradient, tc: IConicalGradient, ratio: number): false | IConicalGradient;
|
|
7
7
|
export declare function interpolatePureColorArray(from: [number, number, number, number], to: [number, number, number, number], ratio: number): [number, number, number, number];
|
|
8
|
+
export declare function interpolatePureColorArrayToStr(from: [number, number, number, number], to: [number, number, number, number], ratio: number): string;
|
|
8
9
|
export declare function colorStringInterpolationToStr(fromColor: string, toColor: string, ratio: number): string;
|
|
@@ -8,7 +8,10 @@ function colorArrayToString(color, alphaChannel = !1) {
|
|
|
8
8
|
|
|
9
9
|
export function interpolateColor(from, to, ratio, alphaChannel, cb) {
|
|
10
10
|
if (Array.isArray(from) && !isNumber(from[0]) || Array.isArray(to) && !isNumber(to[0])) {
|
|
11
|
-
return new Array(4).fill(0).map(((_, index) =>
|
|
11
|
+
return new Array(4).fill(0).map(((_, index) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
return _interpolateColor(isArray(from) ? null !== (_a = from[index]) && void 0 !== _a ? _a : from[0] : from, isArray(to) ? null !== (_b = to[index]) && void 0 !== _b ? _b : to[0] : to, ratio, alphaChannel);
|
|
14
|
+
}));
|
|
12
15
|
}
|
|
13
16
|
return _interpolateColor(from, to, ratio, alphaChannel, cb);
|
|
14
17
|
}
|
|
@@ -91,6 +94,10 @@ export function interpolatePureColorArray(from, to, ratio) {
|
|
|
91
94
|
return [ from[0] + (to[0] - from[0]) * ratio, from[1] + (to[1] - from[1]) * ratio, from[2] + (to[2] - from[2]) * ratio, from[3] + (to[3] - from[3]) * ratio ];
|
|
92
95
|
}
|
|
93
96
|
|
|
97
|
+
export function interpolatePureColorArrayToStr(from, to, ratio) {
|
|
98
|
+
return `rgba(${from[0] + (to[0] - from[0]) * ratio},${from[1] + (to[1] - from[1]) * ratio},${from[2] + (to[2] - from[2]) * ratio},${from[3] + (to[3] - from[3]) * ratio})`;
|
|
99
|
+
}
|
|
100
|
+
|
|
94
101
|
const _fromColorRGB = [ 0, 0, 0, 0 ], _toColorRGB = [ 0, 0, 0, 0 ];
|
|
95
102
|
|
|
96
103
|
export function colorStringInterpolationToStr(fromColor, toColor, ratio) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/color-string/interpolate.ts"],"names":[],"mappings":"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","file":"interpolate.js","sourcesContent":["import { ColorStore, ColorType } from './store';\nimport type { IGradientColor, ILinearGradient, IRadialGradient, IConicalGradient } from '../interface';\nimport { isArray, isNumber } from '@visactor/vutils';\n\nfunction colorArrayToString(\n color: string | IGradientColor | [number, number, number, number],\n alphaChannel: boolean = false\n) {\n if (Array.isArray(color) && isNumber(color[0])) {\n return alphaChannel\n ? `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])},${color[3].toFixed(2)})`\n : `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])})`;\n }\n return color;\n}\n\nexport function interpolateColor(\n from: [number, number, number, number] | [string, string, string, string] | string | IGradientColor,\n to: [number, number, number, number] | [string, string, string, string] | string | IGradientColor,\n ratio: number,\n alphaChannel: boolean,\n cb?: (fromArray: [number, number, number, number], toArray: [number, number, number, number]) => void\n): false | string | IGradientColor | string[] {\n if ((Array.isArray(from) && !isNumber(from[0])) || (Array.isArray(to) && !isNumber(to[0]))) {\n // 待性能优化\n const out: string[] = new Array(4).fill(0).map((_, index) => {\n return _interpolateColor(\n isArray(from) ? (from[index] as string) : from,\n isArray(to) ? (to[index] as string) : to,\n ratio,\n alphaChannel\n ) as string;\n });\n return out;\n // cb && cb(from!, to!);\n }\n return _interpolateColor(from as any, to as any, ratio, alphaChannel, cb);\n}\n\nexport function _interpolateColor(\n from: [number, number, number, number] | string | IGradientColor,\n to: [number, number, number, number] | string | IGradientColor,\n ratio: number,\n alphaChannel: boolean,\n cb?: (fromArray: [number, number, number, number], toArray: [number, number, number, number]) => void\n): false | string | IGradientColor | string[] {\n if (!(from && to)) {\n return (from && colorArrayToString(from)) || (to && colorArrayToString(to)) || (false as any);\n }\n let fromArray: [number, number, number, number];\n let toArray: [number, number, number, number];\n let fromGradient: boolean = false;\n let toGradient: boolean = false;\n if (Array.isArray(from)) {\n fromArray = from as [number, number, number, number];\n } else if (typeof from === 'string') {\n fromArray = ColorStore.Get(from, ColorType.Color255);\n } else {\n fromGradient = true;\n }\n if (Array.isArray(to)) {\n toArray = to as [number, number, number, number];\n } else if (typeof to === 'string') {\n toArray = ColorStore.Get(to, ColorType.Color255);\n } else {\n toGradient = true;\n }\n if (fromGradient !== toGradient) {\n // 纯色到渐变色,那就将纯色转成渐变色\n const gradient: IGradientColor = (fromGradient ? from : to) as IGradientColor;\n const pure = (fromGradient ? to : from) as string | [number, number, number, number];\n const gradientFromPure: IGradientColor = {\n ...gradient,\n stops: gradient.stops.map(v => ({ ...v, color: colorArrayToString(pure) as string }))\n };\n return fromGradient\n ? interpolateColor(gradient, gradientFromPure, ratio, alphaChannel, cb)\n : interpolateColor(gradientFromPure, gradient, ratio, alphaChannel, cb);\n }\n\n if (fromGradient) {\n if ((from as IGradientColor).gradient === (to as IGradientColor).gradient) {\n const fc: IGradientColor = from as IGradientColor;\n const tc: IGradientColor = to as IGradientColor;\n // 渐变色插值,只支持相同数量stopColor的插值,并且认为当前的stopColor数量是和from、to相同\n const fromStops = fc.stops;\n const toStops = tc.stops;\n if (fromStops.length !== toStops.length) {\n return false;\n }\n if (fc.gradient === 'linear') {\n return interpolateGradientLinearColor(fc, tc as ILinearGradient, ratio);\n } else if (fc.gradient === 'radial') {\n return interpolateGradientRadialColor(fc, tc as IRadialGradient, ratio);\n } else if (fc.gradient === 'conical') {\n return interpolateGradientConicalColor(fc, tc as IConicalGradient, ratio);\n }\n }\n return false;\n }\n cb && cb(fromArray!, toArray!);\n const result = interpolatePureColorArray(fromArray!, toArray!, ratio);\n return colorArrayToString(result, alphaChannel) as any;\n}\n\nexport function interpolateGradientLinearColor(\n fc: ILinearGradient,\n tc: ILinearGradient,\n ratio: number\n): false | ILinearGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: ILinearGradient = {\n gradient: 'linear',\n x0: fc.x0 + (tc.x0 - fc.x0) * ratio,\n x1: fc.x1 + (tc.x1 - fc.x1) * ratio,\n y0: fc.y0 + (tc.y0 - fc.y0) * ratio,\n y1: fc.y1 + (tc.y1 - fc.y1) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolateGradientRadialColor(\n fc: IRadialGradient,\n tc: IRadialGradient,\n ratio: number\n): false | IRadialGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: IRadialGradient = {\n gradient: 'radial',\n x0: fc.x0 + (tc.x0 - fc.x0) * ratio,\n x1: fc.x1 + (tc.x1 - fc.x1) * ratio,\n y0: fc.y0 + (tc.y0 - fc.y0) * ratio,\n y1: fc.y1 + (tc.y1 - fc.y1) * ratio,\n r0: fc.r0 + (tc.r0 - fc.r0) * ratio,\n r1: fc.r1 + (tc.r1 - fc.r1) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolateGradientConicalColor(\n fc: IConicalGradient,\n tc: IConicalGradient,\n ratio: number\n): false | IConicalGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: IConicalGradient = {\n gradient: 'conical',\n startAngle: fc.startAngle + (tc.startAngle - fc.startAngle) * ratio,\n endAngle: fc.endAngle + (tc.endAngle - fc.endAngle) * ratio,\n x: fc.x + (tc.x - fc.x) * ratio,\n y: fc.y + (tc.y - fc.y) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolatePureColorArray(\n from: [number, number, number, number],\n to: [number, number, number, number],\n ratio: number\n): [number, number, number, number] {\n return [\n from[0] + (to[0] - from[0]) * ratio,\n from[1] + (to[1] - from[1]) * ratio,\n from[2] + (to[2] - from[2]) * ratio,\n from[3] + (to[3] - from[3]) * ratio\n ];\n}\n\nconst _fromColorRGB: [number, number, number, number] = [0, 0, 0, 0];\nconst _toColorRGB: [number, number, number, number] = [0, 0, 0, 0];\nexport function colorStringInterpolationToStr(fromColor: string, toColor: string, ratio: number): string {\n ColorStore.Get(fromColor, ColorType.Color255, _fromColorRGB);\n ColorStore.Get(toColor, ColorType.Color255, _toColorRGB);\n return `rgba(${Math.round(_fromColorRGB[0] + (_toColorRGB[0] - _fromColorRGB[0]) * ratio)},${Math.round(\n _fromColorRGB[1] + (_toColorRGB[1] - _fromColorRGB[1]) * ratio\n )},${Math.round(_fromColorRGB[2] + (_toColorRGB[2] - _fromColorRGB[2]) * ratio)},${\n _fromColorRGB[3] + (_toColorRGB[3] - _fromColorRGB[3]) * ratio\n })`;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/color-string/interpolate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAErD,SAAS,kBAAkB,CACzB,KAAiE,EACjE,eAAwB,KAAK;IAE7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QAC9C,OAAO,YAAY;YACjB,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YACvG,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KACpF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAmG,EACnG,EAAiG,EACjG,KAAa,EACb,YAAqB,EACrB,EAAqG;IAErG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;QAE1F,MAAM,GAAG,GAAa,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;;YAC1D,OAAO,iBAAiB,CACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,EAC3D,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAA,EAAE,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,EAAE,EACnD,KAAK,EACL,YAAY,CACH,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;KAEZ;IACD,OAAO,iBAAiB,CAAC,IAAW,EAAE,EAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAgE,EAChE,EAA8D,EAC9D,KAAa,EACb,YAAqB,EACrB,EAAqG;IAErG,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QACjB,OAAO,CAAC,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAK,KAAa,CAAC;KAC/F;IACD,IAAI,SAA2C,CAAC;IAChD,IAAI,OAAyC,CAAC;IAC9C,IAAI,YAAY,GAAY,KAAK,CAAC;IAClC,IAAI,UAAU,GAAY,KAAK,CAAC;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,SAAS,GAAG,IAAwC,CAAC;KACtD;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACnC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KACtD;SAAM;QACL,YAAY,GAAG,IAAI,CAAC;KACrB;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACrB,OAAO,GAAG,EAAsC,CAAC;KAClD;SAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QACjC,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;KAClD;SAAM;QACL,UAAU,GAAG,IAAI,CAAC;KACnB;IACD,IAAI,YAAY,KAAK,UAAU,EAAE;QAE/B,MAAM,QAAQ,GAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAmB,CAAC;QAC9E,MAAM,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAA8C,CAAC;QACrF,MAAM,gBAAgB,mCACjB,QAAQ,KACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iCAAM,CAAC,KAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAW,IAAG,CAAC,GACtF,CAAC;QACF,OAAO,YAAY;YACjB,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;YACvE,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;KAC3E;IAED,IAAI,YAAY,EAAE;QAChB,IAAK,IAAuB,CAAC,QAAQ,KAAM,EAAqB,CAAC,QAAQ,EAAE;YACzE,MAAM,EAAE,GAAmB,IAAsB,CAAC;YAClD,MAAM,EAAE,GAAmB,EAAoB,CAAC;YAEhD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;YACzB,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE;gBACvC,OAAO,KAAK,CAAC;aACd;YACD,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,OAAO,8BAA8B,CAAC,EAAE,EAAE,EAAqB,EAAE,KAAK,CAAC,CAAC;aACzE;iBAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBACnC,OAAO,8BAA8B,CAAC,EAAE,EAAE,EAAqB,EAAE,KAAK,CAAC,CAAC;aACzE;iBAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACpC,OAAO,+BAA+B,CAAC,EAAE,EAAE,EAAsB,EAAE,KAAK,CAAC,CAAC;aAC3E;SACF;QACD,OAAO,KAAK,CAAC;KACd;IACD,EAAE,IAAI,EAAE,CAAC,SAAU,EAAE,OAAQ,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAU,EAAE,OAAQ,EAAE,KAAK,CAAC,CAAC;IACtE,OAAO,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,EAAmB,EACnB,EAAmB,EACnB,KAAa;IAEb,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,OAAO;gBACL,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7E,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK;aACzE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,EAAmB,EACnB,EAAmB,EACnB,KAAa;IAEb,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAoB;QAC7B,QAAQ,EAAE,QAAQ;QAClB,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK;QACnC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,OAAO;gBACL,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7E,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK;aACzE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,EAAoB,EACpB,EAAoB,EACpB,KAAa;IAEb,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC;IACxB,MAAM,KAAK,GAAqB;QAC9B,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK;QACnE,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK;QAC3D,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK;QAC/B,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK;QAC/B,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,OAAO;gBACL,KAAK,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;gBAC7E,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK;aACzE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAsC,EACtC,EAAoC,EACpC,KAAa;IAEb,OAAO;QACL,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;QACnC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;KACpC,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,8BAA8B,CAC5C,IAAsC,EACtC,EAAoC,EACpC,KAAa;IAGb,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IACvF,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAChC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,aAAa,GAAqC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrE,MAAM,WAAW,GAAqC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACnE,MAAM,UAAU,6BAA6B,CAAC,SAAiB,EAAE,OAAe,EAAE,KAAa;IAC7F,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC7D,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzD,OAAO,QAAQ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CACrG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAC7E,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,KAC3D,GAAG,CAAC;AACN,CAAC","file":"interpolate.js","sourcesContent":["import { ColorStore, ColorType } from './store';\nimport type { IGradientColor, ILinearGradient, IRadialGradient, IConicalGradient } from '../interface';\nimport { isArray, isNumber } from '@visactor/vutils';\n\nfunction colorArrayToString(\n color: string | IGradientColor | [number, number, number, number],\n alphaChannel: boolean = false\n) {\n if (Array.isArray(color) && isNumber(color[0])) {\n return alphaChannel\n ? `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])},${color[3].toFixed(2)})`\n : `rgb(${Math.round(color[0])},${Math.round(color[1])},${Math.round(color[2])})`;\n }\n return color;\n}\n\nexport function interpolateColor(\n from: [number, number, number, number] | [string, string, string, string] | string | IGradientColor,\n to: [number, number, number, number] | [string, string, string, string] | string | IGradientColor,\n ratio: number,\n alphaChannel: boolean,\n cb?: (fromArray: [number, number, number, number], toArray: [number, number, number, number]) => void\n): false | string | IGradientColor | string[] {\n if ((Array.isArray(from) && !isNumber(from[0])) || (Array.isArray(to) && !isNumber(to[0]))) {\n // 待性能优化\n const out: string[] = new Array(4).fill(0).map((_, index) => {\n return _interpolateColor(\n isArray(from) ? ((from[index] ?? from[0]) as string) : from,\n isArray(to) ? ((to[index] ?? to[0]) as string) : to,\n ratio,\n alphaChannel\n ) as string;\n });\n return out;\n // cb && cb(from!, to!);\n }\n return _interpolateColor(from as any, to as any, ratio, alphaChannel, cb);\n}\n\nexport function _interpolateColor(\n from: [number, number, number, number] | string | IGradientColor,\n to: [number, number, number, number] | string | IGradientColor,\n ratio: number,\n alphaChannel: boolean,\n cb?: (fromArray: [number, number, number, number], toArray: [number, number, number, number]) => void\n): false | string | IGradientColor | string[] {\n if (!(from && to)) {\n return (from && colorArrayToString(from)) || (to && colorArrayToString(to)) || (false as any);\n }\n let fromArray: [number, number, number, number];\n let toArray: [number, number, number, number];\n let fromGradient: boolean = false;\n let toGradient: boolean = false;\n if (Array.isArray(from)) {\n fromArray = from as [number, number, number, number];\n } else if (typeof from === 'string') {\n fromArray = ColorStore.Get(from, ColorType.Color255);\n } else {\n fromGradient = true;\n }\n if (Array.isArray(to)) {\n toArray = to as [number, number, number, number];\n } else if (typeof to === 'string') {\n toArray = ColorStore.Get(to, ColorType.Color255);\n } else {\n toGradient = true;\n }\n if (fromGradient !== toGradient) {\n // 纯色到渐变色,那就将纯色转成渐变色\n const gradient: IGradientColor = (fromGradient ? from : to) as IGradientColor;\n const pure = (fromGradient ? to : from) as string | [number, number, number, number];\n const gradientFromPure: IGradientColor = {\n ...gradient,\n stops: gradient.stops.map(v => ({ ...v, color: colorArrayToString(pure) as string }))\n };\n return fromGradient\n ? interpolateColor(gradient, gradientFromPure, ratio, alphaChannel, cb)\n : interpolateColor(gradientFromPure, gradient, ratio, alphaChannel, cb);\n }\n\n if (fromGradient) {\n if ((from as IGradientColor).gradient === (to as IGradientColor).gradient) {\n const fc: IGradientColor = from as IGradientColor;\n const tc: IGradientColor = to as IGradientColor;\n // 渐变色插值,只支持相同数量stopColor的插值,并且认为当前的stopColor数量是和from、to相同\n const fromStops = fc.stops;\n const toStops = tc.stops;\n if (fromStops.length !== toStops.length) {\n return false;\n }\n if (fc.gradient === 'linear') {\n return interpolateGradientLinearColor(fc, tc as ILinearGradient, ratio);\n } else if (fc.gradient === 'radial') {\n return interpolateGradientRadialColor(fc, tc as IRadialGradient, ratio);\n } else if (fc.gradient === 'conical') {\n return interpolateGradientConicalColor(fc, tc as IConicalGradient, ratio);\n }\n }\n return false;\n }\n cb && cb(fromArray!, toArray!);\n const result = interpolatePureColorArray(fromArray!, toArray!, ratio);\n return colorArrayToString(result, alphaChannel) as any;\n}\n\nexport function interpolateGradientLinearColor(\n fc: ILinearGradient,\n tc: ILinearGradient,\n ratio: number\n): false | ILinearGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: ILinearGradient = {\n gradient: 'linear',\n x0: fc.x0 + (tc.x0 - fc.x0) * ratio,\n x1: fc.x1 + (tc.x1 - fc.x1) * ratio,\n y0: fc.y0 + (tc.y0 - fc.y0) * ratio,\n y1: fc.y1 + (tc.y1 - fc.y1) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolateGradientRadialColor(\n fc: IRadialGradient,\n tc: IRadialGradient,\n ratio: number\n): false | IRadialGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: IRadialGradient = {\n gradient: 'radial',\n x0: fc.x0 + (tc.x0 - fc.x0) * ratio,\n x1: fc.x1 + (tc.x1 - fc.x1) * ratio,\n y0: fc.y0 + (tc.y0 - fc.y0) * ratio,\n y1: fc.y1 + (tc.y1 - fc.y1) * ratio,\n r0: fc.r0 + (tc.r0 - fc.r0) * ratio,\n r1: fc.r1 + (tc.r1 - fc.r1) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolateGradientConicalColor(\n fc: IConicalGradient,\n tc: IConicalGradient,\n ratio: number\n): false | IConicalGradient {\n const fStops = fc.stops;\n const tStops = tc.stops;\n const color: IConicalGradient = {\n gradient: 'conical',\n startAngle: fc.startAngle + (tc.startAngle - fc.startAngle) * ratio,\n endAngle: fc.endAngle + (tc.endAngle - fc.endAngle) * ratio,\n x: fc.x + (tc.x - fc.x) * ratio,\n y: fc.y + (tc.y - fc.y) * ratio,\n stops: new Array(fStops.length).fill(0).map((_, i) => {\n return {\n color: colorStringInterpolationToStr(fStops[i].color, tStops[i].color, ratio),\n offset: fStops[i].offset + (tStops[i].offset - fStops[i].offset) * ratio\n };\n })\n };\n return color;\n}\n\nexport function interpolatePureColorArray(\n from: [number, number, number, number],\n to: [number, number, number, number],\n ratio: number\n): [number, number, number, number] {\n return [\n from[0] + (to[0] - from[0]) * ratio,\n from[1] + (to[1] - from[1]) * ratio,\n from[2] + (to[2] - from[2]) * ratio,\n from[3] + (to[3] - from[3]) * ratio\n ];\n}\nexport function interpolatePureColorArrayToStr(\n from: [number, number, number, number],\n to: [number, number, number, number],\n ratio: number\n): string {\n // eslint-disable-next-line max-len\n return `rgba(${from[0] + (to[0] - from[0]) * ratio},${from[1] + (to[1] - from[1]) * ratio},${\n from[2] + (to[2] - from[2]) * ratio\n },${from[3] + (to[3] - from[3]) * ratio})`;\n}\n\nconst _fromColorRGB: [number, number, number, number] = [0, 0, 0, 0];\nconst _toColorRGB: [number, number, number, number] = [0, 0, 0, 0];\nexport function colorStringInterpolationToStr(fromColor: string, toColor: string, ratio: number): string {\n ColorStore.Get(fromColor, ColorType.Color255, _fromColorRGB);\n ColorStore.Get(toColor, ColorType.Color255, _toColorRGB);\n return `rgba(${Math.round(_fromColorRGB[0] + (_toColorRGB[0] - _fromColorRGB[0]) * ratio)},${Math.round(\n _fromColorRGB[1] + (_toColorRGB[1] - _fromColorRGB[1]) * ratio\n )},${Math.round(_fromColorRGB[2] + (_toColorRGB[2] - _fromColorRGB[2]) * ratio)},${\n _fromColorRGB[3] + (_toColorRGB[3] - _fromColorRGB[3]) * ratio\n })`;\n}\n"]}
|
package/es/color-string/store.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import type { interfaces } from '../common/inversify-lite';
|
|
2
|
+
import type { IContributionProvider } from '../interface';
|
|
2
3
|
export declare const ContributionProvider: unique symbol;
|
|
4
|
+
declare class ContributionProviderCache<T> implements IContributionProvider<T> {
|
|
5
|
+
protected caches?: T[];
|
|
6
|
+
protected serviceIdentifier: interfaces.ServiceIdentifier<T>;
|
|
7
|
+
protected container: interfaces.Container;
|
|
8
|
+
constructor(serviceIdentifier: interfaces.ServiceIdentifier<T>, container: interfaces.Container);
|
|
9
|
+
getContributions(): T[];
|
|
10
|
+
refresh(): void;
|
|
11
|
+
}
|
|
3
12
|
export declare function bindContributionProvider(bind: interfaces.Bind, id: any): void;
|
|
4
13
|
export declare function bindContributionProviderNoSingletonScope(bind: interfaces.Bind, id: any): void;
|
|
14
|
+
export declare class ContributionStore {
|
|
15
|
+
static store: Map<interfaces.ServiceIdentifier<any>, ContributionProviderCache<any>>;
|
|
16
|
+
static getStore(id: interfaces.ServiceIdentifier<any>): ContributionProviderCache<any>;
|
|
17
|
+
static setStore(id: interfaces.ServiceIdentifier<any>, cache: ContributionProviderCache<any>): void;
|
|
18
|
+
static refreshAllContributions(): void;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -2,12 +2,15 @@ export const ContributionProvider = Symbol("ContributionProvider");
|
|
|
2
2
|
|
|
3
3
|
class ContributionProviderCache {
|
|
4
4
|
constructor(serviceIdentifier, container) {
|
|
5
|
-
this.serviceIdentifier = serviceIdentifier, this.container = container;
|
|
5
|
+
this.serviceIdentifier = serviceIdentifier, this.container = container, ContributionStore.setStore(this.serviceIdentifier, this);
|
|
6
6
|
}
|
|
7
7
|
getContributions() {
|
|
8
8
|
return this.caches || (this.caches = [], this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier))),
|
|
9
9
|
this.caches;
|
|
10
10
|
}
|
|
11
|
+
refresh() {
|
|
12
|
+
this.caches && (this.caches.length = 0, this.container && this.container.isBound(this.serviceIdentifier) && this.caches.push(...this.container.getAll(this.serviceIdentifier)));
|
|
13
|
+
}
|
|
11
14
|
}
|
|
12
15
|
|
|
13
16
|
export function bindContributionProvider(bind, id) {
|
|
@@ -17,4 +20,20 @@ export function bindContributionProvider(bind, id) {
|
|
|
17
20
|
export function bindContributionProviderNoSingletonScope(bind, id) {
|
|
18
21
|
bind(ContributionProvider).toDynamicValue((({container: container}) => new ContributionProviderCache(id, container))).whenTargetNamed(id);
|
|
19
22
|
}
|
|
23
|
+
|
|
24
|
+
export class ContributionStore {
|
|
25
|
+
static getStore(id) {
|
|
26
|
+
return this.store.get(id);
|
|
27
|
+
}
|
|
28
|
+
static setStore(id, cache) {
|
|
29
|
+
this.store.set(id, cache);
|
|
30
|
+
}
|
|
31
|
+
static refreshAllContributions() {
|
|
32
|
+
this.store.forEach((cache => {
|
|
33
|
+
cache.refresh();
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
ContributionStore.store = new Map;
|
|
20
39
|
//# sourceMappingURL=contribution-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/contribution-provider.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,MAAM,yBAAyB;IAK7B,YAAY,iBAAkD,EAAE,SAA+B;QAC7F,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/common/contribution-provider.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE,MAAM,yBAAyB;IAK7B,YAAY,iBAAkD,EAAE,SAA+B;QAC7F,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS;gBACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,SAAS;YACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACvE,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAqB,EAAE,EAAO;IACrE,IAAI,CAAC,oBAAoB,CAAC;SACvB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SAC/E,gBAAgB,EAAE;SAClB,eAAe,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAqB,EAAE,EAAO;IACrF,IAAI,CAAC,oBAAoB,CAAC;SACvB,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;SAC/E,eAAe,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,OAAO,iBAAiB;IAG5B,MAAM,CAAC,QAAQ,CAAC,EAAqC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,EAAqC,EAAE,KAAqC;QAC1F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;;AAdM,uBAAK,GAA2E,IAAI,GAAG,EAAE,CAAC","file":"contribution-provider.js","sourcesContent":["import type { interfaces } from '../common/inversify-lite';\nimport type { IContributionProvider } from '../interface';\n\nexport const ContributionProvider = Symbol('ContributionProvider');\n\nclass ContributionProviderCache<T> implements IContributionProvider<T> {\n protected caches?: T[];\n protected serviceIdentifier: interfaces.ServiceIdentifier<T>;\n protected container: interfaces.Container;\n\n constructor(serviceIdentifier: interfaces.ServiceIdentifier<T>, container: interfaces.Container) {\n this.serviceIdentifier = serviceIdentifier;\n this.container = container;\n ContributionStore.setStore(this.serviceIdentifier, this);\n }\n\n getContributions(): T[] {\n if (!this.caches) {\n this.caches = [];\n this.container &&\n this.container.isBound(this.serviceIdentifier) &&\n this.caches.push(...this.container.getAll(this.serviceIdentifier));\n }\n return this.caches;\n }\n\n refresh() {\n if (!this.caches) {\n return;\n }\n this.caches.length = 0;\n this.container &&\n this.container.isBound(this.serviceIdentifier) &&\n this.caches.push(...this.container.getAll(this.serviceIdentifier));\n }\n}\n\nexport function bindContributionProvider(bind: interfaces.Bind, id: any): void {\n bind(ContributionProvider)\n .toDynamicValue(({ container }) => new ContributionProviderCache(id, container))\n .inSingletonScope()\n .whenTargetNamed(id);\n}\n\nexport function bindContributionProviderNoSingletonScope(bind: interfaces.Bind, id: any): void {\n bind(ContributionProvider)\n .toDynamicValue(({ container }) => new ContributionProviderCache(id, container))\n .whenTargetNamed(id);\n}\n\nexport class ContributionStore {\n static store: Map<interfaces.ServiceIdentifier<any>, ContributionProviderCache<any>> = new Map();\n\n static getStore(id: interfaces.ServiceIdentifier<any>): ContributionProviderCache<any> {\n return this.store.get(id);\n }\n\n static setStore(id: interfaces.ServiceIdentifier<any>, cache: ContributionProviderCache<any>): void {\n this.store.set(id, cache);\n }\n\n static refreshAllContributions(): void {\n this.store.forEach(cache => {\n cache.refresh();\n });\n }\n}\n"]}
|
|
@@ -84,8 +84,8 @@ export class CustomPath2D extends CurvePath {
|
|
|
84
84
|
list[enumCommandMap.M] = cmd => `M${cmd[1]} ${cmd[2]}`, list[enumCommandMap.L] = cmd => `L${cmd[1]} ${cmd[2]}`,
|
|
85
85
|
list[enumCommandMap.Q] = cmd => `Q${cmd[1]} ${cmd[2]} ${cmd[3]} ${cmd[4]}`, list[enumCommandMap.C] = cmd => `C${cmd[1]} ${cmd[2]} ${cmd[3]} ${cmd[4]} ${cmd[5]} ${cmd[6]}`,
|
|
86
86
|
list[enumCommandMap.A] = cmd => {
|
|
87
|
-
const bezierPathList = [];
|
|
88
|
-
addArcToBezierPath(bezierPathList,
|
|
87
|
+
const bezierPathList = [], x = cmd[1], y = cmd[2], radius = cmd[3], startAngle = cmd[4], endAngle = cmd[5], counterclockwise = cmd[6];
|
|
88
|
+
addArcToBezierPath(bezierPathList, startAngle, endAngle, x, y, radius, radius, counterclockwise);
|
|
89
89
|
let path = "";
|
|
90
90
|
for (let i = 0; i < bezierPathList.length; i += 6) path += `C${bezierPathList[i]} ${bezierPathList[i + 1]} ${bezierPathList[i + 2]} ${bezierPathList[i + 3]} ${bezierPathList[i + 4]} ${bezierPathList[i + 5]}`;
|
|
91
91
|
return path;
|