@visactor/vrender 0.12.3 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/canvas/contributions/browser/conical-gradient.d.ts +2 -2
- package/cjs/canvas/contributions/browser/conical-gradient.js +1 -1
- package/cjs/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/cjs/canvas/contributions/feishu/context.d.ts +2 -1
- package/cjs/canvas/contributions/feishu/context.js +3 -0
- package/cjs/canvas/contributions/feishu/context.js.map +1 -1
- package/cjs/canvas/contributions/lynx/context.d.ts +1 -0
- package/cjs/canvas/contributions/lynx/context.js +3 -0
- package/cjs/canvas/contributions/lynx/context.js.map +1 -1
- package/cjs/canvas/contributions/modules.d.ts +1 -1
- package/cjs/canvas/contributions/modules.js +2 -2
- package/cjs/canvas/contributions/modules.js.map +1 -1
- package/cjs/canvas/contributions/taro/context.d.ts +2 -1
- package/cjs/canvas/contributions/taro/context.js +3 -0
- package/cjs/canvas/contributions/taro/context.js.map +1 -1
- package/cjs/canvas/contributions/tt/context.d.ts +2 -1
- package/cjs/canvas/contributions/tt/context.js +3 -0
- package/cjs/canvas/contributions/tt/context.js.map +1 -1
- package/cjs/canvas/contributions/wx/canvas.d.ts +48 -0
- package/cjs/canvas/contributions/wx/canvas.js +102 -0
- package/cjs/canvas/contributions/wx/canvas.js.map +1 -0
- package/cjs/canvas/contributions/wx/context.d.ts +7 -0
- package/cjs/canvas/contributions/wx/context.js +24 -0
- package/cjs/canvas/contributions/wx/context.js.map +1 -0
- package/cjs/canvas/contributions/wx/index.d.ts +2 -0
- package/cjs/canvas/contributions/wx/index.js +21 -0
- package/cjs/canvas/contributions/wx/index.js.map +1 -0
- package/cjs/canvas/contributions/wx/modules.d.ts +3 -0
- package/cjs/canvas/contributions/wx/modules.js +13 -0
- package/cjs/canvas/contributions/wx/modules.js.map +1 -0
- package/cjs/common/contribution-provider.js +1 -1
- package/cjs/common/contribution-provider.js.map +1 -1
- package/cjs/common/render-area.d.ts +1 -1
- package/cjs/common/render-area.js +1 -0
- package/cjs/common/render-area.js.map +1 -1
- package/cjs/core/contributions/env/base-contribution.d.ts +3 -1
- package/cjs/core/contributions/env/base-contribution.js +6 -0
- package/cjs/core/contributions/env/base-contribution.js.map +1 -1
- package/cjs/core/contributions/env/feishu-contribution.d.ts +2 -0
- package/cjs/core/contributions/env/feishu-contribution.js +8 -2
- package/cjs/core/contributions/env/feishu-contribution.js.map +1 -1
- package/cjs/core/contributions/env/lynx-contribution.d.ts +2 -0
- package/cjs/core/contributions/env/lynx-contribution.js +18 -4
- package/cjs/core/contributions/env/lynx-contribution.js.map +1 -1
- package/cjs/core/contributions/env/modules.js +2 -1
- package/cjs/core/contributions/env/modules.js.map +1 -1
- package/cjs/core/contributions/env/node-contribution.d.ts +3 -1
- package/cjs/core/contributions/env/node-contribution.js +6 -0
- package/cjs/core/contributions/env/node-contribution.js.map +1 -1
- package/cjs/core/contributions/env/taro-contribution.d.ts +2 -0
- package/cjs/core/contributions/env/taro-contribution.js +8 -2
- package/cjs/core/contributions/env/taro-contribution.js.map +1 -1
- package/cjs/core/contributions/env/wx-contribution.d.ts +39 -0
- package/cjs/core/contributions/env/wx-contribution.js +131 -0
- package/cjs/core/contributions/env/wx-contribution.js.map +1 -0
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js +1 -1
- package/cjs/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/cjs/core/contributions/window/modules.js +2 -1
- package/cjs/core/contributions/window/modules.js.map +1 -1
- package/cjs/core/contributions/window/wx-contribution.d.ts +46 -0
- package/cjs/core/contributions/window/wx-contribution.js +159 -0
- package/cjs/core/contributions/window/wx-contribution.js.map +1 -0
- package/cjs/core/global.d.ts +5 -3
- package/cjs/core/global.js +19 -6
- package/cjs/core/global.js.map +1 -1
- package/cjs/core/layer-service.d.ts +4 -2
- package/cjs/core/layer-service.js +10 -6
- package/cjs/core/layer-service.js.map +1 -1
- package/cjs/core/layer.d.ts +3 -6
- package/cjs/core/layer.js +6 -6
- package/cjs/core/layer.js.map +1 -1
- package/cjs/core/stage.d.ts +7 -3
- package/cjs/core/stage.js +21 -9
- package/cjs/core/stage.js.map +1 -1
- package/cjs/graphic/builtin-symbol/circle.d.ts +1 -0
- package/cjs/graphic/builtin-symbol/circle.js +4 -0
- package/cjs/graphic/builtin-symbol/circle.js.map +1 -1
- package/cjs/graphic/graphic.d.ts +2 -0
- package/cjs/graphic/graphic.js +11 -0
- package/cjs/graphic/graphic.js.map +1 -1
- package/cjs/graphic/text.js +1 -1
- package/cjs/graphic/text.js.map +1 -1
- package/cjs/index.d.ts +4 -1
- package/cjs/index.js +16 -15
- package/cjs/index.js.map +1 -1
- package/cjs/interface/contribution.d.ts +15 -37
- package/cjs/interface/contribution.js.map +1 -1
- package/cjs/interface/core.d.ts +2 -2
- package/cjs/interface/core.js.map +1 -1
- package/cjs/interface/global.d.ts +6 -1
- package/cjs/interface/global.js.map +1 -1
- package/cjs/interface/graphic/symbol.d.ts +1 -0
- package/cjs/interface/graphic/symbol.js.map +1 -1
- package/cjs/interface/graphic.d.ts +1 -0
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/interface/layer.d.ts +7 -0
- package/cjs/interface/layer.js.map +1 -1
- package/cjs/interface/plugin.d.ts +3 -1
- package/cjs/interface/plugin.js.map +1 -1
- package/cjs/interface/stage.d.ts +8 -2
- package/cjs/interface/stage.js.map +1 -1
- package/cjs/plugins/builtin-plugin/poptip-plugin.d.ts +1 -0
- package/cjs/plugins/builtin-plugin/poptip-plugin.js +3 -0
- package/cjs/plugins/builtin-plugin/poptip-plugin.js.map +1 -0
- package/cjs/plugins/constants.d.ts +2 -0
- package/cjs/plugins/constants.js +7 -0
- package/cjs/plugins/constants.js.map +1 -0
- package/cjs/plugins/plugin-modules.js +3 -2
- package/cjs/plugins/plugin-modules.js.map +1 -1
- package/cjs/plugins/plugin-service.d.ts +6 -4
- package/cjs/plugins/plugin-service.js +17 -8
- package/cjs/plugins/plugin-service.js.map +1 -1
- package/cjs/render/contributions/render/arc-render.d.ts +2 -1
- package/cjs/render/contributions/render/arc-render.js +48 -17
- package/cjs/render/contributions/render/arc-render.js.map +1 -1
- package/cjs/render/contributions/render/area-render.d.ts +1 -1
- package/cjs/render/contributions/render/area-render.js +22 -12
- package/cjs/render/contributions/render/area-render.js.map +1 -1
- package/cjs/render/contributions/render/circle-render.js +4 -4
- package/cjs/render/contributions/render/circle-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/area-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +17 -5
- package/cjs/render/contributions/render/contributions/base-contribution-render.js +28 -4
- package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/constants.d.ts +11 -0
- package/cjs/render/contributions/render/contributions/constants.js +12 -0
- package/cjs/render/contributions/render/contributions/constants.js.map +1 -0
- package/cjs/render/contributions/render/contributions/group-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/group-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/image-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/image-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +0 -1
- package/cjs/render/contributions/render/contributions/path-contribution-render.js +1 -3
- package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +0 -1
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +1 -3
- package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +4 -5
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +4 -6
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +2 -3
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +2 -4
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/text-contribution-render.d.ts +1 -0
- package/cjs/render/contributions/render/contributions/text-contribution-render.js +6 -0
- package/cjs/render/contributions/render/contributions/text-contribution-render.js.map +1 -0
- package/cjs/render/contributions/render/group-render.js +5 -5
- package/cjs/render/contributions/render/group-render.js.map +1 -1
- package/cjs/render/contributions/render/image-render.js +5 -5
- package/cjs/render/contributions/render/image-render.js.map +1 -1
- package/cjs/render/contributions/render/module.js +47 -36
- package/cjs/render/contributions/render/module.js.map +1 -1
- package/cjs/render/contributions/render/path-render.js +4 -4
- package/cjs/render/contributions/render/path-render.js.map +1 -1
- package/cjs/render/contributions/render/polygon-render.js +4 -4
- package/cjs/render/contributions/render/polygon-render.js.map +1 -1
- package/cjs/render/contributions/render/rect-render.js +4 -4
- package/cjs/render/contributions/render/rect-render.js.map +1 -1
- package/cjs/render/contributions/render/symbol-render.js +4 -4
- package/cjs/render/contributions/render/symbol-render.js.map +1 -1
- package/cjs/render/contributions/render/text-render.d.ts +5 -1
- package/cjs/render/contributions/render/text-render.js +26 -6
- package/cjs/render/contributions/render/text-render.js.map +1 -1
- package/cjs/render/index.d.ts +1 -0
- package/cjs/render/index.js +2 -1
- package/cjs/render/index.js.map +1 -1
- package/dist/index.js +3212 -2459
- package/dist/index.min.js +1 -1
- package/es/canvas/contributions/browser/conical-gradient.d.ts +2 -2
- package/es/canvas/contributions/browser/conical-gradient.js +1 -1
- package/es/canvas/contributions/browser/conical-gradient.js.map +1 -1
- package/es/canvas/contributions/feishu/context.d.ts +2 -1
- package/es/canvas/contributions/feishu/context.js +3 -0
- package/es/canvas/contributions/feishu/context.js.map +1 -1
- package/es/canvas/contributions/lynx/context.d.ts +1 -0
- package/es/canvas/contributions/lynx/context.js +3 -0
- package/es/canvas/contributions/lynx/context.js.map +1 -1
- package/es/canvas/contributions/modules.d.ts +1 -1
- package/es/canvas/contributions/modules.js +3 -1
- package/es/canvas/contributions/modules.js.map +1 -1
- package/es/canvas/contributions/taro/context.d.ts +2 -1
- package/es/canvas/contributions/taro/context.js +3 -0
- package/es/canvas/contributions/taro/context.js.map +1 -1
- package/es/canvas/contributions/tt/context.d.ts +2 -1
- package/es/canvas/contributions/tt/context.js +3 -0
- package/es/canvas/contributions/tt/context.js.map +1 -1
- package/es/canvas/contributions/wx/canvas.d.ts +48 -0
- package/es/canvas/contributions/wx/canvas.js +101 -0
- package/es/canvas/contributions/wx/canvas.js.map +1 -0
- package/es/canvas/contributions/wx/context.d.ts +7 -0
- package/es/canvas/contributions/wx/context.js +21 -0
- package/es/canvas/contributions/wx/context.js.map +1 -0
- package/es/canvas/contributions/wx/index.d.ts +2 -0
- package/es/canvas/contributions/wx/index.js +4 -0
- package/es/canvas/contributions/wx/index.js.map +1 -0
- package/es/canvas/contributions/wx/modules.d.ts +3 -0
- package/es/canvas/contributions/wx/modules.js +13 -0
- package/es/canvas/contributions/wx/modules.js.map +1 -0
- package/es/common/contribution-provider.js +1 -1
- package/es/common/contribution-provider.js.map +1 -1
- package/es/common/render-area.d.ts +1 -1
- package/es/common/render-area.js +1 -0
- package/es/common/render-area.js.map +1 -1
- package/es/core/contributions/env/base-contribution.d.ts +3 -1
- package/es/core/contributions/env/base-contribution.js +6 -0
- package/es/core/contributions/env/base-contribution.js.map +1 -1
- package/es/core/contributions/env/feishu-contribution.d.ts +2 -0
- package/es/core/contributions/env/feishu-contribution.js +8 -2
- package/es/core/contributions/env/feishu-contribution.js.map +1 -1
- package/es/core/contributions/env/lynx-contribution.d.ts +2 -0
- package/es/core/contributions/env/lynx-contribution.js +18 -4
- package/es/core/contributions/env/lynx-contribution.js.map +1 -1
- package/es/core/contributions/env/modules.js +3 -0
- package/es/core/contributions/env/modules.js.map +1 -1
- package/es/core/contributions/env/node-contribution.d.ts +3 -1
- package/es/core/contributions/env/node-contribution.js +6 -0
- package/es/core/contributions/env/node-contribution.js.map +1 -1
- package/es/core/contributions/env/taro-contribution.d.ts +2 -0
- package/es/core/contributions/env/taro-contribution.js +8 -2
- package/es/core/contributions/env/taro-contribution.js.map +1 -1
- package/es/core/contributions/env/wx-contribution.d.ts +39 -0
- package/es/core/contributions/env/wx-contribution.js +130 -0
- package/es/core/contributions/env/wx-contribution.js.map +1 -0
- package/es/core/contributions/layerHandler/canvas2d-contribution.js +1 -1
- package/es/core/contributions/layerHandler/canvas2d-contribution.js.map +1 -1
- package/es/core/contributions/window/modules.js +3 -0
- package/es/core/contributions/window/modules.js.map +1 -1
- package/es/core/contributions/window/wx-contribution.d.ts +46 -0
- package/es/core/contributions/window/wx-contribution.js +161 -0
- package/es/core/contributions/window/wx-contribution.js.map +1 -0
- package/es/core/global.d.ts +5 -3
- package/es/core/global.js +19 -6
- package/es/core/global.js.map +1 -1
- package/es/core/layer-service.d.ts +4 -2
- package/es/core/layer-service.js +10 -6
- package/es/core/layer-service.js.map +1 -1
- package/es/core/layer.d.ts +3 -6
- package/es/core/layer.js +7 -6
- package/es/core/layer.js.map +1 -1
- package/es/core/stage.d.ts +7 -3
- package/es/core/stage.js +22 -9
- package/es/core/stage.js.map +1 -1
- package/es/graphic/builtin-symbol/circle.d.ts +1 -0
- package/es/graphic/builtin-symbol/circle.js +4 -0
- package/es/graphic/builtin-symbol/circle.js.map +1 -1
- package/es/graphic/graphic.d.ts +2 -0
- package/es/graphic/graphic.js +11 -0
- package/es/graphic/graphic.js.map +1 -1
- package/es/graphic/text.js +1 -1
- package/es/graphic/text.js.map +1 -1
- package/es/index.d.ts +4 -1
- package/es/index.js +7 -1
- package/es/index.js.map +1 -1
- package/es/interface/contribution.d.ts +15 -37
- package/es/interface/contribution.js.map +1 -1
- package/es/interface/core.d.ts +2 -2
- package/es/interface/core.js.map +1 -1
- package/es/interface/global.d.ts +6 -1
- package/es/interface/global.js.map +1 -1
- package/es/interface/graphic/symbol.d.ts +1 -0
- package/es/interface/graphic/symbol.js.map +1 -1
- package/es/interface/graphic.d.ts +1 -0
- package/es/interface/graphic.js.map +1 -1
- package/es/interface/layer.d.ts +7 -0
- package/es/interface/layer.js.map +1 -1
- package/es/interface/plugin.d.ts +3 -1
- package/es/interface/plugin.js.map +1 -1
- package/es/interface/stage.d.ts +8 -2
- package/es/interface/stage.js.map +1 -1
- package/es/plugins/builtin-plugin/poptip-plugin.d.ts +1 -0
- package/es/plugins/builtin-plugin/poptip-plugin.js +3 -0
- package/es/plugins/builtin-plugin/poptip-plugin.js.map +1 -0
- package/es/plugins/constants.d.ts +2 -0
- package/es/plugins/constants.js +4 -0
- package/es/plugins/constants.js.map +1 -0
- package/es/plugins/plugin-modules.js +9 -2
- package/es/plugins/plugin-modules.js.map +1 -1
- package/es/plugins/plugin-service.d.ts +6 -4
- package/es/plugins/plugin-service.js +19 -6
- package/es/plugins/plugin-service.js.map +1 -1
- package/es/render/contributions/render/arc-render.d.ts +2 -1
- package/es/render/contributions/render/arc-render.js +47 -15
- package/es/render/contributions/render/arc-render.js.map +1 -1
- package/es/render/contributions/render/area-render.d.ts +1 -1
- package/es/render/contributions/render/area-render.js +21 -10
- package/es/render/contributions/render/area-render.js.map +1 -1
- 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/contributions/arc-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/arc-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/area-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/area-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/base-contribution-render.d.ts +17 -5
- package/es/render/contributions/render/contributions/base-contribution-render.js +30 -3
- package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/circle-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/constants.d.ts +11 -0
- package/es/render/contributions/render/contributions/constants.js +22 -0
- package/es/render/contributions/render/contributions/constants.js.map +1 -0
- package/es/render/contributions/render/contributions/group-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/group-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/image-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/image-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/path-contribution-render.d.ts +0 -1
- package/es/render/contributions/render/contributions/path-contribution-render.js +0 -2
- package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +0 -1
- package/es/render/contributions/render/contributions/polygon-contribution-render.js +0 -2
- package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +4 -5
- package/es/render/contributions/render/contributions/rect-contribution-render.js +3 -5
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +2 -3
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +1 -3
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/text-contribution-render.d.ts +1 -0
- package/es/render/contributions/render/contributions/text-contribution-render.js +2 -0
- package/es/render/contributions/render/contributions/text-contribution-render.js.map +1 -0
- package/es/render/contributions/render/group-render.js +3 -3
- package/es/render/contributions/render/group-render.js.map +1 -1
- 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/module.js +28 -14
- package/es/render/contributions/render/module.js.map +1 -1
- 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.js +3 -3
- package/es/render/contributions/render/polygon-render.js.map +1 -1
- package/es/render/contributions/render/rect-render.js +3 -3
- package/es/render/contributions/render/rect-render.js.map +1 -1
- package/es/render/contributions/render/symbol-render.js +3 -3
- package/es/render/contributions/render/symbol-render.js.map +1 -1
- package/es/render/contributions/render/text-render.d.ts +5 -1
- package/es/render/contributions/render/text-render.js +30 -6
- package/es/render/contributions/render/text-render.js.map +1 -1
- package/es/render/index.d.ts +1 -0
- package/es/render/index.js +2 -0
- package/es/render/index.js.map +1 -1
- package/es/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/text-render.ts"],"names":[],"mappings":"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","file":"text-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport { getTheme } from '../../../graphic/theme';\nimport { TEXT_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams\n} from '../../../interface';\nimport { textDrawOffsetX, textLayoutOffsetY } from '../../../common/text';\nimport type { IText, ITextGraphicAttribute } from '../../../interface/graphic/text';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\n\n@injectable()\nexport class DefaultCanvasTextRender extends BaseRender<IText> implements IGraphicRender {\n type: 'text';\n numberType: number = TEXT_NUMBER_TYPE;\n z: number;\n\n drawShape(\n text: IText,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const textAttribute = getTheme(text, params?.theme).text;\n const {\n text: str,\n fill = textAttribute.fill,\n stroke = textAttribute.stroke,\n fillOpacity = textAttribute.fillOpacity,\n strokeOpacity = textAttribute.strokeOpacity,\n opacity = textAttribute.opacity,\n lineWidth = textAttribute.lineWidth,\n visible = textAttribute.visible,\n underline = textAttribute.underline,\n lineThrough = textAttribute.lineThrough,\n keepDirIn3d = textAttribute.keepDirIn3d,\n // lineHeight = textAttribute.lineHeight,\n fontSize = textAttribute.fontSize,\n textBaseline = textAttribute.textBaseline,\n x: originX = textAttribute.x,\n y: originY = textAttribute.y\n } = text.attribute;\n\n const lineHeight = text.attribute.lineHeight ?? fontSize;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(text.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || fVisible || sVisible)) {\n return;\n }\n // 文字如果需要变换,那就需要将3dmatrix转成context的2dmatrix\n const transform3dMatrixToContextMatrix = !keepDirIn3d;\n\n const z = this.z || 0;\n\n context.beginPath();\n // shadow\n context.setShadowStyle && context.setShadowStyle(text, text.attribute, textAttribute);\n\n transform3dMatrixToContextMatrix && this.transformUseContext2d(text, textAttribute, z, context);\n if (Array.isArray(str)) {\n context.setTextStyleWithoutAlignBaseline(text.attribute, textAttribute, z);\n const { multilineLayout } = text;\n if (!multilineLayout) {\n context.highPerformanceRestore();\n return;\n } // 如果不存在的话,需要render层自行布局\n const { xOffset, yOffset } = multilineLayout.bbox;\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, text.attribute, textAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n multilineLayout.lines.forEach(line => {\n context.strokeText(line.str, (line.leftOffset || 0) + xOffset + x, (line.topOffset || 0) + yOffset + y, z);\n });\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, text.attribute, textAttribute);\n } else if (fVisible) {\n context.setCommonStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n multilineLayout.lines.forEach(line => {\n context.fillText(line.str, (line.leftOffset || 0) + xOffset + x, (line.topOffset || 0) + yOffset + y, z);\n this.drawMultiUnderLine(\n underline,\n lineThrough,\n text,\n (line.leftOffset || 0) + x, // 中下划线都是从文字左侧开始,因此不需要+xOffset\n (line.topOffset || 0) + yOffset + y,\n z,\n line.width,\n textAttribute,\n context\n );\n });\n }\n }\n } else {\n context.setTextStyle(text.attribute, textAttribute, z);\n const t = text.clipedText as string;\n let dy = 0;\n if (lineHeight !== fontSize) {\n if (textBaseline === 'top') {\n dy = (lineHeight - fontSize) / 2;\n } else if (textBaseline === 'middle') {\n // middle do nothing\n } else if (textBaseline === 'bottom') {\n dy = -(lineHeight - fontSize) / 2;\n } else {\n // alphabetic do nothing\n // dy = (lineHeight - fontSize) / 2 - fontSize * 0.79;\n }\n }\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, text.attribute, textAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n context.strokeText(t, x, y + dy, z);\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, text.attribute, textAttribute);\n } else if (fVisible) {\n context.setCommonStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n context.fillText(t, x, y + dy, z);\n this.drawUnderLine(underline, lineThrough, text, x, y + dy, z, textAttribute, context);\n }\n }\n }\n transform3dMatrixToContextMatrix && this.restoreTransformUseContext2d(text, textAttribute, z, context);\n }\n\n draw(text: IText, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n const textAttribute = getTheme(text, params?.theme).text;\n\n const { keepDirIn3d = textAttribute.keepDirIn3d } = text.attribute;\n // 文字如果需要变换,那就一定要计算3d矩阵\n const computed3dMatrix = !keepDirIn3d;\n const data = this.transform(text, textAttribute, context, computed3dMatrix);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(text, context, x, y, drawContext, params);\n this.z = 0;\n\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n drawUnderLine(\n underline: number,\n lineThrough: number,\n text: IText,\n x: number,\n y: number,\n z: number,\n textAttribute: Required<ITextGraphicAttribute>,\n context: IContext2d\n ) {\n if (lineThrough + underline <= 0) {\n return;\n }\n\n const {\n textAlign = textAttribute.textAlign,\n textBaseline = textAttribute.textBaseline,\n fontSize = textAttribute.fontSize,\n fill = textAttribute.fill,\n opacity = textAttribute.opacity,\n fillOpacity = textAttribute.fillOpacity\n } = text.attribute;\n const w = text.clipedWidth;\n const offsetX = textDrawOffsetX(textAlign, w);\n const offsetY = textLayoutOffsetY(textBaseline, fontSize, fontSize);\n const attribute = { lineWidth: 0, stroke: fill, opacity, strokeOpacity: fillOpacity };\n if (underline) {\n attribute.lineWidth = underline;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n if (lineThrough) {\n attribute.lineWidth = lineThrough;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize / 2;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n }\n\n drawMultiUnderLine(\n underline: number,\n lineThrough: number,\n text: IText,\n x: number,\n y: number,\n z: number,\n w: number,\n textAttribute: Required<ITextGraphicAttribute>,\n context: IContext2d\n ) {\n if (lineThrough + underline <= 0) {\n return;\n }\n\n const {\n textAlign = textAttribute.textAlign,\n fontSize = textAttribute.fontSize,\n fill = textAttribute.fill,\n opacity = textAttribute.opacity,\n fillOpacity = textAttribute.fillOpacity\n } = text.attribute;\n\n const offsetX = textDrawOffsetX(textAlign, w);\n const offsetY = textLayoutOffsetY('alphabetic', fontSize, fontSize);\n const attribute = { lineWidth: 0, stroke: fill, opacity, strokeOpacity: fillOpacity };\n let deltaY = -3;\n if (underline) {\n attribute.lineWidth = underline;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize + deltaY;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n deltaY = -1;\n if (lineThrough) {\n attribute.lineWidth = lineThrough;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize / 2 + deltaY;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/text-render.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAa9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAiB;IAO5D,YAGqB,uBAAuE;QAE1F,KAAK,EAAE,CAAC;QAFW,4BAAuB,GAAvB,uBAAuB,CAAgD;QAR5F,eAAU,GAAW,gBAAgB,CAAC;IAWtC,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAEZ,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,EACJ,IAAI,EAAE,GAAG,EACT,IAAI,GAAG,aAAa,CAAC,IAAI,EACzB,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,aAAa,GAAG,aAAa,CAAC,aAAa,EAC3C,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,WAAW,GAAG,aAAa,CAAC,WAAW,EAEvC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,YAAY,GAAG,aAAa,CAAC,YAAY,EACzC,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC5B,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC7B,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,UAAU,mCAAI,QAAQ,CAAC;QAGzD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE9C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE;YAC5B,OAAO;SACR;QAED,IAAI,CAAC,CAAC,MAAM,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,EAAE;YACjD,OAAO;SACR;QAED,MAAM,gCAAgC,GAAG,CAAC,WAAW,CAAC;QAEtD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,CAAC,SAAS,EAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;YAC5E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,6BAA6B,GAAG,EAAE,CAAC;YACxC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B,CAAC,gBAAgB,EAAE;oBAC1D,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC7C;qBAAM;oBACL,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAC5C;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC9C,CAAC,CAAC,SAAS,CACT,IAAI,EACJ,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QAGH,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtF,gCAAgC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACjC,OAAO;aACR;YACD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC;YAClD,IAAI,QAAQ,EAAE;gBACZ,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAClD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBACnC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7G,CAAC,CAAC,CAAC;iBACJ;aACF;YACD,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAChD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBACzG,IAAI,CAAC,kBAAkB,CACrB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAC1B,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EACnC,CAAC,EACD,IAAI,CAAC,KAAK,EACV,aAAa,EACb,OAAO,CACR,CAAC;oBACJ,CAAC,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAoB,CAAC;YACpC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,UAAU,KAAK,QAAQ,EAAE;gBAC3B,IAAI,YAAY,KAAK,KAAK,EAAE;oBAC1B,EAAE,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAClC;qBAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;iBAErC;qBAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;oBACpC,EAAE,GAAG,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACnC;qBAAM;iBAGN;aACF;YACD,IAAI,QAAQ,EAAE;gBACZ,IAAI,QAAQ,EAAE;oBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAClD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBACrC;aACF;YACD,IAAI,MAAM,EAAE;gBACV,IAAI,MAAM,EAAE;oBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;iBAChD;qBAAM,IAAI,QAAQ,EAAE;oBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;oBACtF,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;iBACxF;aACF;SACF;QACD,gCAAgC,IAAI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEvG,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7C,CAAC,CAAC,SAAS,CACT,IAAI,EACJ,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAE9B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QAEzD,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnE,MAAM,gBAAgB,GAAG,CAAC,WAAW,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC5E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEX,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;QAEtC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IACnC,CAAC;IAED,aAAa,CACX,SAAiB,EACjB,WAAmB,EACnB,IAAW,EACX,CAAS,EACT,CAAS,EACT,CAAS,EACT,aAA8C,EAC9C,OAAmB;QAEnB,IAAI,WAAW,GAAG,SAAS,IAAI,CAAC,EAAE;YAChC,OAAO;SACR;QAED,MAAM,EACJ,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,YAAY,GAAG,aAAa,CAAC,YAAY,EACzC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,IAAI,GAAG,aAAa,CAAC,IAAI,EACzB,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,WAAW,GAAG,aAAa,CAAC,WAAW,EACxC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;QACtF,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;QACD,IAAI,WAAW,EAAE;YACf,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;IACH,CAAC;IAED,kBAAkB,CAChB,SAAiB,EACjB,WAAmB,EACnB,IAAW,EACX,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,aAA8C,EAC9C,OAAmB;QAEnB,IAAI,WAAW,GAAG,SAAS,IAAI,CAAC,EAAE;YAChC,OAAO;SACR;QAED,MAAM,EACJ,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,IAAI,GAAG,aAAa,CAAC,IAAI,EACzB,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,WAAW,GAAG,aAAa,CAAC,WAAW,EACxC,GAAG,IAAI,CAAC,SAAS,CAAC;QAEnB,MAAM,OAAO,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;QACtF,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;QAChB,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;YAC3C,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;QACD,MAAM,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,WAAW,EAAE;YACf,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,MAAM,EAAE,CAAC;SAClB;IACH,CAAC;CACF,CAAA;AAhUY,uBAAuB;IADnC,UAAU,EAAE;IASR,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAC5B,WAAA,KAAK,CAAC,sBAAsB,CAAC,CAAA;;GATrB,uBAAuB,CAgUnC;SAhUY,uBAAuB","file":"text-render.js","sourcesContent":["import { inject, injectable, named } from 'inversify';\nimport { getTheme } from '../../../graphic/theme';\nimport { TEXT_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IThemeAttribute,\n IDrawContext,\n IRenderService,\n IGraphicRender,\n IGraphicRenderDrawParams,\n ITextRenderContribution,\n IContributionProvider\n} from '../../../interface';\nimport { textDrawOffsetX, textLayoutOffsetY } from '../../../common/text';\nimport type { IText, ITextGraphicAttribute } from '../../../interface/graphic/text';\nimport { fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { BaseRender } from './base-render';\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { TextRenderContribution } from './contributions/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\n\n@injectable()\nexport class DefaultCanvasTextRender extends BaseRender<IText> implements IGraphicRender {\n type: 'text';\n numberType: number = TEXT_NUMBER_TYPE;\n z: number;\n\n protected _textBeforeRenderContribitions: ITextRenderContribution[];\n protected _textAfterRenderContribitions: ITextRenderContribution[];\n constructor(\n @inject(ContributionProvider)\n @named(TextRenderContribution)\n protected readonly textRenderContribitions: IContributionProvider<ITextRenderContribution>\n ) {\n super();\n }\n\n drawShape(\n text: IText,\n context: IContext2d,\n x: number,\n y: number,\n drawContext: IDrawContext,\n params?: IGraphicRenderDrawParams,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const textAttribute = getTheme(text, params?.theme).text;\n const {\n text: str,\n fill = textAttribute.fill,\n stroke = textAttribute.stroke,\n fillOpacity = textAttribute.fillOpacity,\n strokeOpacity = textAttribute.strokeOpacity,\n opacity = textAttribute.opacity,\n lineWidth = textAttribute.lineWidth,\n visible = textAttribute.visible,\n underline = textAttribute.underline,\n lineThrough = textAttribute.lineThrough,\n keepDirIn3d = textAttribute.keepDirIn3d,\n // lineHeight = textAttribute.lineHeight,\n fontSize = textAttribute.fontSize,\n textBaseline = textAttribute.textBaseline,\n x: originX = textAttribute.x,\n y: originY = textAttribute.y\n } = text.attribute;\n\n const lineHeight = text.attribute.lineHeight ?? fontSize;\n\n // 不绘制或者透明\n const fVisible = fillVisible(opacity, fillOpacity);\n const sVisible = strokeVisible(opacity, strokeOpacity);\n const doFill = runFill(fill);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(text.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke || fVisible || sVisible)) {\n return;\n }\n // 文字如果需要变换,那就需要将3dmatrix转成context的2dmatrix\n const transform3dMatrixToContextMatrix = !keepDirIn3d;\n\n const z = this.z || 0;\n\n context.beginPath();\n\n if (!this._textBeforeRenderContribitions) {\n const contributions = this.textRenderContribitions.getContributions() || [];\n contributions.sort((a, b) => b.order - a.order);\n this._textBeforeRenderContribitions = [];\n this._textAfterRenderContribitions = [];\n contributions.forEach(c => {\n if (c.time === BaseRenderContributionTime.beforeFillStroke) {\n this._textBeforeRenderContribitions.push(c);\n } else {\n this._textAfterRenderContribitions.push(c);\n }\n });\n }\n this._textBeforeRenderContribitions.forEach(c => {\n c.drawShape(\n text,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n textAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n });\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(text, text.attribute, textAttribute);\n\n transform3dMatrixToContextMatrix && this.transformUseContext2d(text, textAttribute, z, context);\n if (Array.isArray(str)) {\n context.setTextStyleWithoutAlignBaseline(text.attribute, textAttribute, z);\n const { multilineLayout } = text;\n if (!multilineLayout) {\n context.highPerformanceRestore();\n return;\n } // 如果不存在的话,需要render层自行布局\n const { xOffset, yOffset } = multilineLayout.bbox;\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, text.attribute, textAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n multilineLayout.lines.forEach(line => {\n context.strokeText(line.str, (line.leftOffset || 0) + xOffset + x, (line.topOffset || 0) + yOffset + y, z);\n });\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, text.attribute, textAttribute);\n } else if (fVisible) {\n context.setCommonStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n multilineLayout.lines.forEach(line => {\n context.fillText(line.str, (line.leftOffset || 0) + xOffset + x, (line.topOffset || 0) + yOffset + y, z);\n this.drawMultiUnderLine(\n underline,\n lineThrough,\n text,\n (line.leftOffset || 0) + x, // 中下划线都是从文字左侧开始,因此不需要+xOffset\n (line.topOffset || 0) + yOffset + y,\n z,\n line.width,\n textAttribute,\n context\n );\n });\n }\n }\n } else {\n context.setTextStyle(text.attribute, textAttribute, z);\n const t = text.clipedText as string;\n let dy = 0;\n if (lineHeight !== fontSize) {\n if (textBaseline === 'top') {\n dy = (lineHeight - fontSize) / 2;\n } else if (textBaseline === 'middle') {\n // middle do nothing\n } else if (textBaseline === 'bottom') {\n dy = -(lineHeight - fontSize) / 2;\n } else {\n // alphabetic do nothing\n // dy = (lineHeight - fontSize) / 2 - fontSize * 0.79;\n }\n }\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, text.attribute, textAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n context.strokeText(t, x, y + dy, z);\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, text.attribute, textAttribute);\n } else if (fVisible) {\n context.setCommonStyle(text, text.attribute, originX - x, originY - y, textAttribute);\n context.fillText(t, x, y + dy, z);\n this.drawUnderLine(underline, lineThrough, text, x, y + dy, z, textAttribute, context);\n }\n }\n }\n transform3dMatrixToContextMatrix && this.restoreTransformUseContext2d(text, textAttribute, z, context);\n\n this._textAfterRenderContribitions.forEach(c => {\n c.drawShape(\n text,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n textAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n });\n }\n\n draw(text: IText, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const { context } = drawContext;\n if (!context) {\n return;\n }\n\n context.highPerformanceSave();\n\n const textAttribute = getTheme(text, params?.theme).text;\n\n const { keepDirIn3d = textAttribute.keepDirIn3d } = text.attribute;\n // 文字如果需要变换,那就一定要计算3d矩阵\n const computed3dMatrix = !keepDirIn3d;\n const data = this.transform(text, textAttribute, context, computed3dMatrix);\n const { x, y, z, lastModelMatrix } = data;\n\n this.z = z;\n this.drawShape(text, context, x, y, drawContext, params);\n this.z = 0;\n\n context.modelMatrix = lastModelMatrix;\n\n context.highPerformanceRestore();\n }\n\n drawUnderLine(\n underline: number,\n lineThrough: number,\n text: IText,\n x: number,\n y: number,\n z: number,\n textAttribute: Required<ITextGraphicAttribute>,\n context: IContext2d\n ) {\n if (lineThrough + underline <= 0) {\n return;\n }\n\n const {\n textAlign = textAttribute.textAlign,\n textBaseline = textAttribute.textBaseline,\n fontSize = textAttribute.fontSize,\n fill = textAttribute.fill,\n opacity = textAttribute.opacity,\n fillOpacity = textAttribute.fillOpacity\n } = text.attribute;\n const w = text.clipedWidth;\n const offsetX = textDrawOffsetX(textAlign, w);\n const offsetY = textLayoutOffsetY(textBaseline, fontSize, fontSize);\n const attribute = { lineWidth: 0, stroke: fill, opacity, strokeOpacity: fillOpacity };\n if (underline) {\n attribute.lineWidth = underline;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n if (lineThrough) {\n attribute.lineWidth = lineThrough;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize / 2;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n }\n\n drawMultiUnderLine(\n underline: number,\n lineThrough: number,\n text: IText,\n x: number,\n y: number,\n z: number,\n w: number,\n textAttribute: Required<ITextGraphicAttribute>,\n context: IContext2d\n ) {\n if (lineThrough + underline <= 0) {\n return;\n }\n\n const {\n textAlign = textAttribute.textAlign,\n fontSize = textAttribute.fontSize,\n fill = textAttribute.fill,\n opacity = textAttribute.opacity,\n fillOpacity = textAttribute.fillOpacity\n } = text.attribute;\n\n const offsetX = textDrawOffsetX(textAlign, w);\n const offsetY = textLayoutOffsetY('alphabetic', fontSize, fontSize);\n const attribute = { lineWidth: 0, stroke: fill, opacity, strokeOpacity: fillOpacity };\n let deltaY = -3;\n if (underline) {\n attribute.lineWidth = underline;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize + deltaY;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n deltaY = -1;\n if (lineThrough) {\n attribute.lineWidth = lineThrough;\n context.setStrokeStyle(text, attribute, x, y, textAttribute);\n context.beginPath();\n const dy = y + offsetY + fontSize / 2 + deltaY;\n context.moveTo(x + offsetX, dy, z);\n context.lineTo(x + offsetX + w, dy, z);\n context.stroke();\n }\n }\n}\n"]}
|
package/es/render/index.d.ts
CHANGED
package/es/render/index.js
CHANGED
package/es/render/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC","file":"index.js","sourcesContent":["// export { RenderService, IDrawContribution, IRenderService, IRenderServiceDrawParams } from './render-service';\n// export { GraphicRender, IGraphicRender } from './contributions/render/graphic-render';\nexport * from './render-service';\nexport * from './contributions/render';\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/index.ts"],"names":[],"mappings":"AAEA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gDAAgD,CAAC","file":"index.js","sourcesContent":["// export { RenderService, IDrawContribution, IRenderService, IRenderServiceDrawParams } from './render-service';\n// export { GraphicRender, IGraphicRender } from './contributions/render/graphic-render';\nexport * from './render-service';\nexport * from './contributions/render';\nexport * from './contributions/render/contributions/constants';\n"]}
|