@visactor/vrender-core 0.17.0-alpha.4 → 0.17.0-alpha.5

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.
Files changed (63) hide show
  1. package/cjs/core/global.d.ts +0 -1
  2. package/cjs/core/global.js +1 -1
  3. package/cjs/core/global.js.map +1 -1
  4. package/cjs/core/stage.d.ts +3 -2
  5. package/cjs/core/stage.js +10 -10
  6. package/cjs/core/stage.js.map +1 -1
  7. package/cjs/graphic/graphic.js +3 -2
  8. package/cjs/graphic/graphic.js.map +1 -1
  9. package/cjs/interface/global.d.ts +0 -1
  10. package/cjs/interface/global.js.map +1 -1
  11. package/cjs/interface/stage.d.ts +1 -0
  12. package/cjs/interface/stage.js.map +1 -1
  13. package/cjs/render/contributions/render/base-render.js +9 -7
  14. package/cjs/render/contributions/render/base-render.js.map +1 -1
  15. package/cjs/render/contributions/render/draw-contribution.d.ts +2 -2
  16. package/cjs/render/contributions/render/draw-contribution.js +2 -2
  17. package/cjs/render/contributions/render/draw-contribution.js.map +1 -1
  18. package/cjs/render/contributions/render/draw-interceptor.d.ts +9 -1
  19. package/cjs/render/contributions/render/draw-interceptor.js +30 -18
  20. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  21. package/cjs/render/contributions/render/module.js +0 -6
  22. package/cjs/render/contributions/render/module.js.map +1 -1
  23. package/cjs/render/contributions/render/path-render.d.ts +2 -1
  24. package/cjs/render/contributions/render/path-render.js +6 -4
  25. package/cjs/render/contributions/render/path-render.js.map +1 -1
  26. package/cjs/render/contributions/render/rect-render.d.ts +2 -1
  27. package/cjs/render/contributions/render/rect-render.js +5 -2
  28. package/cjs/render/contributions/render/rect-render.js.map +1 -1
  29. package/cjs/render/render-service.js +1 -1
  30. package/cjs/render/render-service.js.map +1 -1
  31. package/dist/index.js +106 -72
  32. package/dist/index.min.js +1 -1
  33. package/es/core/global.d.ts +0 -1
  34. package/es/core/global.js +1 -1
  35. package/es/core/global.js.map +1 -1
  36. package/es/core/stage.d.ts +3 -2
  37. package/es/core/stage.js +10 -10
  38. package/es/core/stage.js.map +1 -1
  39. package/es/graphic/graphic.js +3 -2
  40. package/es/graphic/graphic.js.map +1 -1
  41. package/es/interface/global.d.ts +0 -1
  42. package/es/interface/global.js.map +1 -1
  43. package/es/interface/stage.d.ts +1 -0
  44. package/es/interface/stage.js.map +1 -1
  45. package/es/render/contributions/render/base-render.js +10 -6
  46. package/es/render/contributions/render/base-render.js.map +1 -1
  47. package/es/render/contributions/render/draw-contribution.d.ts +2 -2
  48. package/es/render/contributions/render/draw-contribution.js +2 -2
  49. package/es/render/contributions/render/draw-contribution.js.map +1 -1
  50. package/es/render/contributions/render/draw-interceptor.d.ts +9 -1
  51. package/es/render/contributions/render/draw-interceptor.js +27 -26
  52. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  53. package/es/render/contributions/render/module.js +1 -4
  54. package/es/render/contributions/render/module.js.map +1 -1
  55. package/es/render/contributions/render/path-render.d.ts +2 -1
  56. package/es/render/contributions/render/path-render.js +5 -4
  57. package/es/render/contributions/render/path-render.js.map +1 -1
  58. package/es/render/contributions/render/rect-render.d.ts +2 -1
  59. package/es/render/contributions/render/rect-render.js +4 -2
  60. package/es/render/contributions/render/rect-render.js.map +1 -1
  61. package/es/render/render-service.js +1 -1
  62. package/es/render/render-service.js.map +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\n// import { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n CommonDrawItemInterceptorContribution,\n DrawItemInterceptor,\n InteractiveDrawItemInterceptorContribution,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport { DefaultSymbolRenderContribution } from './contributions/symbol-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n RectRenderContribution,\n CircleRenderContribution,\n ArcRenderContribution,\n AreaRenderContribution,\n TextRenderContribution,\n PathRenderContribution,\n PolygonRenderContribution,\n GroupRenderContribution,\n ImageRenderContribution,\n SymbolRenderContribution,\n InteractiveSubRenderContribution\n} from './contributions/constants';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseInteractiveRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './contributions';\n\nexport default new ContainerModule(bind => {\n bind(DefaultBaseBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultBaseTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(DrawContribution).to(DefaultDrawContribution);\n bind(IncrementalDrawContribution).to(DefaultIncrementalDrawContribution);\n\n // bind(RenderSelector).to(DefaultRenderSelector).inSingletonScope();\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender).inSingletonScope();\n bind(GraphicRender).toService(CircleRender);\n\n // circle 渲染器注入contributions\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender).inSingletonScope();\n bind(GraphicRender).toService(RectRender);\n\n // rect3d 渲染器\n bind(Rect3DRender).to(DefaultCanvasRect3dRender).inSingletonScope();\n bind(GraphicRender).toService(Rect3DRender);\n\n // rect 渲染器注入contributions\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(TextRender).to(DefaultCanvasTextRender).inSingletonScope();\n bind(GraphicRender).toService(TextRender);\n bindContributionProvider(bind, TextRenderContribution);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender).inSingletonScope();\n bind(GraphicRender).toService(PathRender);\n\n // path 渲染器注入contributions\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender).inSingletonScope();\n bind(GraphicRender).toService(SymbolRender);\n\n // symbol 渲染器注入contributions\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender).inSingletonScope();\n bind(GraphicRender).toService(ArcRender);\n\n // arc3d 渲染器\n bind(Arc3dRender).to(DefaultCanvasArc3DRender).inSingletonScope();\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender).inSingletonScope();\n bind(GraphicRender).toService(LineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender).inSingletonScope();\n bind(GraphicRender).toService(AreaRender);\n\n // area 渲染器注入contributions\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(GroupRender).to(DefaultCanvasGroupRender).inSingletonScope();\n bind(GraphicRender).toService(GroupRender);\n\n // group 渲染器注入contributions\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(PolygonRender).to(DefaultCanvasPolygonRender).inSingletonScope();\n bind(GraphicRender).toService(PolygonRender);\n\n // polygon 渲染器注入contributions\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(GlyphRender).to(DefaultCanvasGlyphRender).inSingletonScope();\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(ImageRender).to(DefaultCanvasImageRender).inSingletonScope();\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(RichTextRender).to(DefaultCanvasRichTextRender).inSingletonScope();\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(Pyramid3dRender).to(DefaultCanvasPyramid3dRender).inSingletonScope();\n bind(GraphicRender).toService(Pyramid3dRender);\n\n // 绑定通用interactive contribution\n bind(DefaultBaseInteractiveRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ArcRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PathRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(RectRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ImageRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(CircleRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(AreaRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bindContributionProvider(bind, InteractiveSubRenderContribution);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution);\n bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/module.ts"],"names":[],"mappings":"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","file":"module.js","sourcesContent":["import { ContainerModule } from '../../../common/inversify-lite';\nimport { bindContributionProvider } from '../../../common/contribution-provider';\nimport { DefaultCanvasCircleRender } from './circle-render';\nimport { DefaultCanvasRectRender } from './rect-render';\nimport { DefaultCanvasArcRender } from './arc-render';\nimport { DefaultDrawContribution } from './draw-contribution';\n// import { DefaultRenderSelector } from './render-slector';\nimport { DefaultCanvasSymbolRender } from './symbol-render';\nimport { DefaultCanvasTextRender } from './text-render';\nimport { DefaultCanvasPathRender } from './path-render';\nimport { DefaultCanvasLineRender } from './line-render';\nimport { DefaultCanvasAreaRender } from './area-render';\nimport { DefaultCanvasGroupRender } from './group-render';\nimport { DefaultCanvasPolygonRender } from './polygon-render';\nimport { DefaultCanvasImageRender } from './image-render';\nimport { DefaultIncrementalDrawContribution } from './incremental-draw-contribution';\nimport {\n ArcRender,\n AreaRender,\n CircleRender,\n DrawContribution,\n GlyphRender,\n GraphicRender,\n GroupRender,\n IncrementalDrawContribution,\n LineRender,\n PathRender,\n PolygonRender,\n Rect3DRender,\n RectRender,\n RenderSelector,\n RichTextRender,\n SymbolRender,\n TextRender,\n ImageRender,\n Arc3dRender,\n Pyramid3dRender\n} from './symbol';\nimport {\n Canvas3DDrawItemInterceptor,\n CommonDrawItemInterceptorContribution,\n DrawItemInterceptor,\n InteractiveDrawItemInterceptorContribution,\n ShadowRootDrawItemInterceptorContribution\n} from './draw-interceptor';\nimport { DefaultCanvasRect3dRender } from './rect3d-render';\nimport { DefaultIncrementalCanvasLineRender } from './incremental-line-render';\nimport { DefaultIncrementalCanvasAreaRender } from './incremental-area-render';\nimport { DefaultCanvasRichTextRender } from './richtext-render';\nimport { DefaultSymbolRenderContribution } from './contributions/symbol-contribution-render';\nimport { DefaultCanvasGlyphRender } from './glyph-render';\nimport { DefaultCanvasArc3DRender } from './arc3d-render';\nimport { DefaultCanvasPyramid3dRender } from './pyramid3d-render';\nimport {\n RectRenderContribution,\n CircleRenderContribution,\n ArcRenderContribution,\n AreaRenderContribution,\n TextRenderContribution,\n PathRenderContribution,\n PolygonRenderContribution,\n GroupRenderContribution,\n ImageRenderContribution,\n SymbolRenderContribution,\n InteractiveSubRenderContribution\n} from './contributions/constants';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseInteractiveRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './contributions';\n\nexport default new ContainerModule(bind => {\n bind(DefaultBaseBackgroundRenderContribution).toSelf().inSingletonScope();\n bind(DefaultBaseTextureRenderContribution).toSelf().inSingletonScope();\n\n bind(DrawContribution).to(DefaultDrawContribution);\n bind(IncrementalDrawContribution).to(DefaultIncrementalDrawContribution);\n\n // bind(RenderSelector).to(DefaultRenderSelector).inSingletonScope();\n\n // circle 渲染器\n bind(DefaultCanvasCircleRender).toSelf().inSingletonScope();\n bind(CircleRender).to(DefaultCanvasCircleRender).inSingletonScope();\n bind(GraphicRender).toService(CircleRender);\n\n // circle 渲染器注入contributions\n bindContributionProvider(bind, CircleRenderContribution);\n\n // rect 渲染器\n bind(DefaultCanvasRectRender).toSelf().inSingletonScope();\n bind(RectRender).to(DefaultCanvasRectRender).inSingletonScope();\n bind(GraphicRender).toService(RectRender);\n\n // rect3d 渲染器\n bind(Rect3DRender).to(DefaultCanvasRect3dRender).inSingletonScope();\n bind(GraphicRender).toService(Rect3DRender);\n\n // rect 渲染器注入contributions\n bindContributionProvider(bind, RectRenderContribution);\n\n // text 渲染器\n bind(TextRender).to(DefaultCanvasTextRender).inSingletonScope();\n bind(GraphicRender).toService(TextRender);\n bindContributionProvider(bind, TextRenderContribution);\n\n // path 渲染器\n bind(DefaultCanvasPathRender).toSelf().inSingletonScope();\n bind(PathRender).to(DefaultCanvasPathRender).inSingletonScope();\n bind(GraphicRender).toService(PathRender);\n\n // path 渲染器注入contributions\n bindContributionProvider(bind, PathRenderContribution);\n\n // symbol渲染器\n bind(DefaultCanvasSymbolRender).toSelf().inSingletonScope();\n bind(SymbolRender).to(DefaultCanvasSymbolRender).inSingletonScope();\n bind(GraphicRender).toService(SymbolRender);\n\n // symbol 渲染器注入contributions\n bindContributionProvider(bind, SymbolRenderContribution);\n\n // arc 渲染器\n bind(DefaultCanvasArcRender).toSelf().inSingletonScope();\n bind(ArcRender).to(DefaultCanvasArcRender).inSingletonScope();\n bind(GraphicRender).toService(ArcRender);\n\n // arc3d 渲染器\n bind(Arc3dRender).to(DefaultCanvasArc3DRender).inSingletonScope();\n bind(GraphicRender).toService(Arc3dRender);\n\n // arc 渲染器注入contributions\n bindContributionProvider(bind, ArcRenderContribution);\n\n // line渲染器\n bind(DefaultCanvasLineRender).toSelf().inSingletonScope();\n bind(LineRender).to(DefaultCanvasLineRender).inSingletonScope();\n bind(GraphicRender).toService(LineRender);\n\n // incremental-line渲染器\n bind(DefaultIncrementalCanvasLineRender).toSelf().inSingletonScope();\n bind(DefaultIncrementalCanvasAreaRender).toSelf().inSingletonScope();\n\n // area渲染器\n bind(DefaultCanvasAreaRender).toSelf().inSingletonScope();\n bind(AreaRender).to(DefaultCanvasAreaRender).inSingletonScope();\n bind(GraphicRender).toService(AreaRender);\n\n // area 渲染器注入contributions\n bindContributionProvider(bind, AreaRenderContribution);\n\n // group渲染器\n bind(GroupRender).to(DefaultCanvasGroupRender).inSingletonScope();\n bind(GraphicRender).toService(GroupRender);\n\n // group 渲染器注入contributions\n bindContributionProvider(bind, GroupRenderContribution);\n\n // polygon渲染器\n bind(PolygonRender).to(DefaultCanvasPolygonRender).inSingletonScope();\n bind(GraphicRender).toService(PolygonRender);\n\n // polygon 渲染器注入contributions\n bindContributionProvider(bind, PolygonRenderContribution);\n\n // glyph渲染器\n bind(GlyphRender).to(DefaultCanvasGlyphRender).inSingletonScope();\n bind(GraphicRender).toService(GlyphRender);\n\n // image渲染器\n bind(ImageRender).to(DefaultCanvasImageRender).inSingletonScope();\n bind(GraphicRender).toService(ImageRender);\n\n // image 渲染器注入contributions\n bindContributionProvider(bind, ImageRenderContribution);\n\n // richtext渲染器\n bind(RichTextRender).to(DefaultCanvasRichTextRender).inSingletonScope();\n bind(GraphicRender).toService(RichTextRender);\n\n // pyramid3d 渲染器\n bind(Pyramid3dRender).to(DefaultCanvasPyramid3dRender).inSingletonScope();\n bind(GraphicRender).toService(Pyramid3dRender);\n\n // 绑定通用interactive contribution\n bind(DefaultBaseInteractiveRenderContribution).toSelf().inSingletonScope();\n bind(TextRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ArcRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PathRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(SymbolRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(RectRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(ImageRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(CircleRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(AreaRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bind(PolygonRenderContribution).toService(DefaultBaseInteractiveRenderContribution);\n bindContributionProvider(bind, InteractiveSubRenderContribution);\n\n bindContributionProvider(bind, GraphicRender);\n\n // interceptor\n // bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);\n bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope();\n bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution);\n // bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);\n // bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope();\n // bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution);\n bindContributionProvider(bind, DrawItemInterceptor);\n});\n"]}
@@ -1,9 +1,10 @@
1
- import type { IPath, IContext2d, IThemeAttribute, IGraphicAttribute, IMarkAttribute, IPathRenderContribution, IGraphicRender, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService } from '../../../interface';
1
+ import type { IPath, IContext2d, IThemeAttribute, IGraphicAttribute, IMarkAttribute, IPathRenderContribution, IGraphicRender, IContributionProvider, IDrawContext, IGraphicRenderDrawParams, IRenderService, IPathGraphicAttribute } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {
4
4
  protected readonly pathRenderContribitions: IContributionProvider<IPathRenderContribution>;
5
5
  type: 'path';
6
6
  numberType: number;
7
+ tempTheme: Required<IPathGraphicAttribute>;
7
8
  constructor(pathRenderContribitions: IContributionProvider<IPathRenderContribution>);
8
9
  drawShape(path: IPath, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
10
  draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
@@ -25,12 +25,13 @@ let DefaultCanvasPathRender = class extends base_render_1.BaseRender {
25
25
  this.init(pathRenderContribitions);
26
26
  }
27
27
  drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
28
- var _a, _b;
29
- const pathAttribute = (0, theme_1.getTheme)(path, null == params ? void 0 : params.theme).path, {x: originX = pathAttribute.x, y: originY = pathAttribute.y} = path.attribute, z = null !== (_a = this.z) && void 0 !== _a ? _a : 0, data = this.valid(path, pathAttribute, fillCb, strokeCb);
28
+ var _a, _b, _c;
29
+ const pathAttribute = null !== (_a = this.tempTheme) && void 0 !== _a ? _a : (0,
30
+ theme_1.getTheme)(path, null == params ? void 0 : params.theme).path, {x: originX = pathAttribute.x, y: originY = pathAttribute.y} = path.attribute, z = null !== (_b = this.z) && void 0 !== _b ? _b : 0, data = this.valid(path, pathAttribute, fillCb, strokeCb);
30
31
  if (!data) return;
31
32
  const {fVisible: fVisible, sVisible: sVisible, doFill: doFill, doStroke: doStroke} = data;
32
33
  if (context.beginPath(), path.pathShape) (0, render_command_list_1.renderCommandList)(path.pathShape.commandList, context, x, y, 1, 1, z); else {
33
- const path2D = null !== (_b = path.attribute.path) && void 0 !== _b ? _b : pathAttribute.path;
34
+ const path2D = null !== (_c = path.attribute.path) && void 0 !== _c ? _c : pathAttribute.path;
34
35
  (0, render_command_list_1.renderCommandList)(path2D.commandList, context, x, y, 1, 1, z);
35
36
  }
36
37
  context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute),
@@ -41,7 +42,8 @@ let DefaultCanvasPathRender = class extends base_render_1.BaseRender {
41
42
  }
42
43
  draw(path, renderService, drawContext, params) {
43
44
  const pathAttribute = (0, theme_1.getTheme)(path, null == params ? void 0 : params.theme).path;
44
- this._draw(path, pathAttribute, !1, drawContext, params);
45
+ this.tempTheme = pathAttribute, this._draw(path, pathAttribute, !1, drawContext, params),
46
+ this.tempTheme = null;
45
47
  }
46
48
  };
47
49
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA2E;AAE3E,iFAA6E;AAC7E,6EAAwE;AAexE,kDAAkD;AAClD,0DAA8D;AAE9D,yDAAmE;AAEnE,+CAA2C;AAE3C,uFAGkD;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,wBAAiB;IAI5D,YAGqB,uBAAuE;QAE1F,KAAK,EAAE,CAAC;QAFW,4BAAuB,GAAvB,uBAAuB,CAAgD;QAL5F,eAAU,GAAW,4BAAgB,CAAC;QAQpC,IAAI,CAAC,oBAAoB,GAAG,CAAC,kEAAuC,EAAE,+DAAoC,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAGZ,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtF,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAA,uCAAiB,EAAE,IAAI,CAAC,SAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1F;aAAM;YACL,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,mCAAI,aAAa,CAAC,IAAI,CAAC;YACzD,IAAA,uCAAiB,EAAE,MAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAClF;QAGD,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEhG,IAAI,CAAC,gBAAgB,CACnB,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;QAEF,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;QACD,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;QAED,IAAI,CAAC,eAAe,CAClB,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;IACJ,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AA3GY,uBAAuB;IADnC,IAAA,2BAAU,GAAE;IAMR,WAAA,IAAA,uBAAM,EAAC,4CAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,sBAAK,EAAC,kCAAsB,CAAC,CAAA;;GANrB,uBAAuB,CA2GnC;AA3GY,0DAAuB","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport type {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute,\n IPathRenderContribution,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { PathRenderContribution } from './contributions/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport {\n defaultPathBackgroundRenderContribution,\n defaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly pathRenderContribitions: IContributionProvider<IPathRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];\n this.init(pathRenderContribitions);\n }\n\n drawShape(\n path: IPath,\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 pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = getTheme(path, params?.theme).path;\n const { x: originX = pathAttribute.x, y: originY = pathAttribute.y } = path.attribute;\n\n const z = this.z ?? 0;\n\n const data = this.valid(path, pathAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);\n\n this.beforeRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.fill();\n }\n }\n\n this.afterRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const pathAttribute = getTheme(path, params?.theme).path;\n this._draw(path, pathAttribute, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/path-render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mEAA2E;AAE3E,iFAA6E;AAC7E,6EAAwE;AAgBxE,kDAAkD;AAClD,0DAA8D;AAE9D,yDAAmE;AAEnE,+CAA2C;AAE3C,uFAGkD;AAG3C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,wBAAiB;IAK5D,YAGqB,uBAAuE;QAE1F,KAAK,EAAE,CAAC;QAFW,4BAAuB,GAAvB,uBAAuB,CAAgD;QAN5F,eAAU,GAAW,4BAAgB,CAAC;QASpC,IAAI,CAAC,oBAAoB,GAAG,CAAC,kEAAuC,EAAE,+DAAoC,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAGZ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,EAAE,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEtF,MAAM,CAAC,GAAG,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAEtD,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAA,uCAAiB,EAAE,IAAI,CAAC,SAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1F;aAAM;YACL,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,mCAAI,aAAa,CAAC,IAAI,CAAC;YACzD,IAAA,uCAAiB,EAAE,MAAwB,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAClF;QAGD,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEhG,IAAI,CAAC,gBAAgB,CACnB,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;QAEF,IAAI,QAAQ,EAAE;YACZ,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;QACD,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChD;iBAAM,IAAI,QAAQ,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;QAED,IAAI,CAAC,eAAe,CAClB,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;IACJ,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF,CAAA;AA9GY,uBAAuB;IADnC,IAAA,2BAAU,GAAE;IAOR,WAAA,IAAA,uBAAM,EAAC,4CAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,sBAAK,EAAC,kCAAsB,CAAC,CAAA;;GAPrB,uBAAuB,CA8GnC;AA9GY,0DAAuB","file":"path-render.js","sourcesContent":["import { inject, injectable, named } from '../../../common/inversify-lite';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport { renderCommandList } from '../../../common/render-command-list';\nimport type {\n IPath,\n ICustomPath2D,\n IContext2d,\n IThemeAttribute,\n IGraphicAttribute,\n IMarkAttribute,\n IPathRenderContribution,\n IGraphicRender,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IPathGraphicAttribute\n} from '../../../interface';\nimport { getTheme } from '../../../graphic/theme';\nimport { PATH_NUMBER_TYPE } from '../../../graphic/constants';\nimport { drawPathProxy, fillVisible, runFill, runStroke, strokeVisible } from './utils';\nimport { PathRenderContribution } from './contributions/constants';\nimport { BaseRenderContributionTime } from '../../../common/enums';\nimport { BaseRender } from './base-render';\nimport { mat4Allocate } from '../../../allocator/matrix-allocate';\nimport {\n defaultPathBackgroundRenderContribution,\n defaultPathTextureRenderContribution\n} from './contributions/path-contribution-render';\n\n@injectable()\nexport class DefaultCanvasPathRender extends BaseRender<IPath> implements IGraphicRender {\n type: 'path';\n numberType: number = PATH_NUMBER_TYPE;\n tempTheme: Required<IPathGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(PathRenderContribution)\n protected readonly pathRenderContribitions: IContributionProvider<IPathRenderContribution>\n ) {\n super();\n this.builtinContributions = [defaultPathBackgroundRenderContribution, defaultPathTextureRenderContribution];\n this.init(pathRenderContribitions);\n }\n\n drawShape(\n path: IPath,\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 pathAttribute = graphicService.themeService.getCurrentTheme().pathAttribute;\n const pathAttribute = this.tempTheme ?? getTheme(path, params?.theme).path;\n const { x: originX = pathAttribute.x, y: originY = pathAttribute.y } = path.attribute;\n\n const z = this.z ?? 0;\n\n const data = this.valid(path, pathAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n if (path.pathShape) {\n renderCommandList((path.pathShape as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n } else {\n const path2D = path.attribute.path ?? pathAttribute.path;\n renderCommandList((path2D as ICustomPath2D).commandList, context, x, y, 1, 1, z);\n }\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);\n\n this.beforeRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, path.attribute, pathAttribute);\n } else if (sVisible) {\n context.setStrokeStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.stroke();\n }\n }\n if (doFill) {\n if (fillCb) {\n fillCb(context, path.attribute, pathAttribute);\n } else if (fVisible) {\n context.setCommonStyle(path, path.attribute, originX - x, originY - y, pathAttribute);\n context.fill();\n }\n }\n\n this.afterRenderStep(\n path,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n pathAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(path: IPath, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const pathAttribute = getTheme(path, params?.theme).path;\n this.tempTheme = pathAttribute;\n this._draw(path, pathAttribute, false, drawContext, params);\n this.tempTheme = null;\n }\n}\n"]}
@@ -1,9 +1,10 @@
1
- import type { IGraphicAttribute, IContext2d, IMarkAttribute, IRect, IThemeAttribute, IGraphicRender, IDrawContext, IGraphicRenderDrawParams, IRenderService, IRectRenderContribution, IContributionProvider } from '../../../interface';
1
+ import type { IGraphicAttribute, IContext2d, IMarkAttribute, IRect, IThemeAttribute, IGraphicRender, IDrawContext, IGraphicRenderDrawParams, IRenderService, IRectRenderContribution, IContributionProvider, IRectGraphicAttribute } from '../../../interface';
2
2
  import { BaseRender } from './base-render';
3
3
  export declare class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {
4
4
  protected readonly rectRenderContribitions: IContributionProvider<IRectRenderContribution>;
5
5
  type: string;
6
6
  numberType: number;
7
+ tempTheme: Required<IRectGraphicAttribute>;
7
8
  constructor(rectRenderContribitions: IContributionProvider<IRectRenderContribution>);
8
9
  drawShape(rect: IRect, context: IContext2d, x: number, y: number, drawContext: IDrawContext, params?: IGraphicRenderDrawParams, fillCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean, strokeCb?: (ctx: IContext2d, markAttribute: Partial<IMarkAttribute & IGraphicAttribute>, themeAttribute: IThemeAttribute) => boolean): void;
9
10
  draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams): void;
@@ -25,7 +25,9 @@ let DefaultCanvasRectRender = class extends base_render_1.BaseRender {
25
25
  this.init(rectRenderContribitions);
26
26
  }
27
27
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb) {
28
- const rectAttribute = (0, theme_1.getTheme)(rect, null == params ? void 0 : params.theme).rect, {fill: fill = rectAttribute.fill, background: background, stroke: stroke = rectAttribute.stroke, width: width = rectAttribute.width, height: height = rectAttribute.height, cornerRadius: cornerRadius = rectAttribute.cornerRadius, opacity: opacity = rectAttribute.opacity, fillOpacity: fillOpacity = rectAttribute.fillOpacity, lineWidth: lineWidth = rectAttribute.lineWidth, strokeOpacity: strokeOpacity = rectAttribute.strokeOpacity, visible: visible = rectAttribute.visible, x: originX = rectAttribute.x, y: originY = rectAttribute.y} = rect.attribute, fVisible = (0,
28
+ var _a;
29
+ const rectAttribute = null !== (_a = this.tempTheme) && void 0 !== _a ? _a : (0,
30
+ theme_1.getTheme)(rect, null == params ? void 0 : params.theme).rect, {fill: fill = rectAttribute.fill, background: background, stroke: stroke = rectAttribute.stroke, width: width = rectAttribute.width, height: height = rectAttribute.height, cornerRadius: cornerRadius = rectAttribute.cornerRadius, opacity: opacity = rectAttribute.opacity, fillOpacity: fillOpacity = rectAttribute.fillOpacity, lineWidth: lineWidth = rectAttribute.lineWidth, strokeOpacity: strokeOpacity = rectAttribute.strokeOpacity, visible: visible = rectAttribute.visible, x: originX = rectAttribute.x, y: originY = rectAttribute.y} = rect.attribute, fVisible = (0,
29
31
  utils_1.rectFillVisible)(opacity, fillOpacity, width, height, fill), sVisible = (0,
30
32
  utils_1.rectStrokeVisible)(opacity, strokeOpacity, width, height), doFill = (0,
31
33
  utils_1.runFill)(fill, background), doStroke = (0, utils_1.runStroke)(stroke, lineWidth);
@@ -46,7 +48,8 @@ let DefaultCanvasRectRender = class extends base_render_1.BaseRender {
46
48
  }
47
49
  draw(rect, renderService, drawContext, params) {
48
50
  const rectAttribute = (0, theme_1.getTheme)(rect, null == params ? void 0 : params.theme).rect;
49
- this._draw(rect, rectAttribute, !1, drawContext, params);
51
+ this.tempTheme = rectAttribute, this._draw(rect, rectAttribute, !1, drawContext, params),
52
+ this.tempTheme = null;
50
53
  }
51
54
  };
52
55
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":"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","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { RECT_NUMBER_TYPE } from '../../../graphic/constants';\nimport { createRectPath } from '../../../common/shape/rect';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicRender,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IRectRenderContribution,\n IContributionProvider\n} from '../../../interface';\nimport { RectRenderContribution } from './contributions/constants';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRender } from './base-render';\nimport {\n defaultRectBackgroundRenderContribution,\n defaultRectRenderContribution,\n defaultRectTextureRenderContribution,\n splitRectAfterRenderContribution,\n splitRectBeforeRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly rectRenderContribitions: IContributionProvider<IRectRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultRectRenderContribution,\n defaultRectBackgroundRenderContribution,\n defaultRectTextureRenderContribution,\n splitRectAfterRenderContribution,\n splitRectBeforeRenderContribution\n ];\n this.init(rectRenderContribitions);\n }\n\n drawShape(\n rect: IRect,\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 rectAttribute = graphicService.themeService.getCurrentTheme().rectAttribute;\n const rectAttribute = getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n cornerRadius = rectAttribute.cornerRadius,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible,\n x: originX = rectAttribute.x,\n y: originY = rectAttribute.y\n } = rect.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute);\n\n this.beforeRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.stroke();\n }\n }\n\n this.afterRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const rectAttribute = getTheme(rect, params?.theme).rect;\n this._draw(rect, rectAttribute, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/rect-render.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA2C;AAC3C,mEAA2E;AAC3E,kDAAkD;AAClD,0DAA8D;AAC9D,qDAA4D;AAE5D,iFAA6E;AAe7E,yDAAmE;AACnE,mCAAiF;AACjF,+CAA2C;AAC3C,mDAMyB;AAGlB,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,wBAAiB;IAK5D,YAGqB,uBAAuE;QAE1F,KAAK,EAAE,CAAC;QAFW,4BAAuB,GAAvB,uBAAuB,CAAgD;QAP5F,SAAI,GAAG,MAAM,CAAC;QACd,eAAU,GAAW,4BAAgB,CAAC;QASpC,IAAI,CAAC,oBAAoB,GAAG;YAC1B,6CAA6B;YAC7B,uDAAuC;YACvC,oDAAoC;YACpC,gDAAgC;YAChC,iDAAiC;SAClC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CACP,IAAW,EACX,OAAmB,EACnB,CAAS,EACT,CAAS,EACT,WAAyB,EACzB,MAAiC,EACjC,MAIY,EACZ,QAIY;;QAEZ,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QAC3E,MAAM,EACJ,IAAI,GAAG,aAAa,CAAC,IAAI,EACzB,UAAU,EACV,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,KAAK,GAAG,aAAa,CAAC,KAAK,EAC3B,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,YAAY,GAAG,aAAa,CAAC,YAAY,EACzC,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,WAAW,GAAG,aAAa,CAAC,WAAW,EACvC,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,aAAa,GAAG,aAAa,CAAC,aAAa,EAC3C,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC5B,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC,EAC7B,GAAG,IAAI,CAAC,SAAS,CAAC;QAGnB,MAAM,QAAQ,GAAG,IAAA,uBAAe,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,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,CAAC,EAAE;YACzB,OAAO;SACR;QAGD,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,UAAU,CAAC,EAAE;YAC/D,OAAO;SACR;QAED,IAAI,YAAY,KAAK,CAAC,IAAI,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,IAAe,YAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;YAErG,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SACnC;aAAM;YACL,OAAO,CAAC,SAAS,EAAE,CAAC;YAGpB,IAAA,qBAAc,EAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;SAC5D;QAED,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,QAAQ;SACT,CAAC;QAGF,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAEhG,IAAI,CAAC,gBAAgB,CACnB,IAAI,EACJ,OAAO,EACP,CAAC,EACD,CAAC,EACD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,cAAc,CACf,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,EAAE;YACzB,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAChD;iBAAM,IAAI,QAAQ,EAAE;gBAEnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;QACD,IAAI,cAAc,CAAC,QAAQ,EAAE;YAC3B,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,EAAE;gBAEnB,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;gBACtF,OAAO,CAAC,MAAM,EAAE,CAAC;aAClB;SACF;QAED,IAAI,CAAC,eAAe,CAClB,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;IACJ,CAAC;IAED,IAAI,CAAC,IAAW,EAAE,aAA6B,EAAE,WAAyB,EAAE,MAAiC;QAC3G,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;CACF,CAAA;AAvJY,uBAAuB;IADnC,IAAA,2BAAU,GAAE;IAOR,WAAA,IAAA,uBAAM,EAAC,4CAAoB,CAAC,CAAA;IAC5B,WAAA,IAAA,sBAAK,EAAC,kCAAsB,CAAC,CAAA;;GAPrB,uBAAuB,CAuJnC;AAvJY,0DAAuB","file":"rect-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { inject, injectable, named } from '../../../common/inversify-lite';\nimport { getTheme } from '../../../graphic/theme';\nimport { RECT_NUMBER_TYPE } from '../../../graphic/constants';\nimport { createRectPath } from '../../../common/shape/rect';\n// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport { ContributionProvider } from '../../../common/contribution-provider';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IThemeAttribute,\n IGraphicRender,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService,\n IRectRenderContribution,\n IContributionProvider,\n IRectGraphicAttribute\n} from '../../../interface';\nimport { RectRenderContribution } from './contributions/constants';\nimport { rectFillVisible, rectStrokeVisible, runFill, runStroke } from './utils';\nimport { BaseRender } from './base-render';\nimport {\n defaultRectBackgroundRenderContribution,\n defaultRectRenderContribution,\n defaultRectTextureRenderContribution,\n splitRectAfterRenderContribution,\n splitRectBeforeRenderContribution\n} from './contributions';\n\n@injectable()\nexport class DefaultCanvasRectRender extends BaseRender<IRect> implements IGraphicRender {\n type = 'rect';\n numberType: number = RECT_NUMBER_TYPE;\n tempTheme: Required<IRectGraphicAttribute>;\n\n constructor(\n @inject(ContributionProvider)\n @named(RectRenderContribution)\n protected readonly rectRenderContribitions: IContributionProvider<IRectRenderContribution>\n ) {\n super();\n this.builtinContributions = [\n defaultRectRenderContribution,\n defaultRectBackgroundRenderContribution,\n defaultRectTextureRenderContribution,\n splitRectAfterRenderContribution,\n splitRectBeforeRenderContribution\n ];\n this.init(rectRenderContribitions);\n }\n\n drawShape(\n rect: IRect,\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 rectAttribute = this.tempTheme ?? getTheme(rect, params?.theme).rect;\n const {\n fill = rectAttribute.fill,\n background,\n stroke = rectAttribute.stroke,\n width = rectAttribute.width,\n height = rectAttribute.height,\n cornerRadius = rectAttribute.cornerRadius,\n opacity = rectAttribute.opacity,\n fillOpacity = rectAttribute.fillOpacity,\n lineWidth = rectAttribute.lineWidth,\n strokeOpacity = rectAttribute.strokeOpacity,\n visible = rectAttribute.visible,\n x: originX = rectAttribute.x,\n y: originY = rectAttribute.y\n } = rect.attribute;\n\n // 不绘制或者透明\n const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);\n const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);\n const doFill = runFill(fill, background);\n const doStroke = runStroke(stroke, lineWidth);\n\n if (!(rect.valid && visible)) {\n return;\n }\n\n if (!(doFill || doStroke)) {\n return;\n }\n\n // 如果存在fillCb和strokeCb,那就不直接跳过\n if (!(fVisible || sVisible || fillCb || strokeCb || background)) {\n return;\n }\n\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(x, y, width, height);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, x, y, width, height, cornerRadius);\n }\n\n const doFillOrStroke = {\n doFill,\n doStroke\n };\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(rect, rect.attribute, rectAttribute);\n\n this.beforeRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb,\n doFillOrStroke\n );\n\n if (doFillOrStroke.doFill) {\n if (fillCb) {\n fillCb(context, rect.attribute, rectAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.fill();\n }\n }\n if (doFillOrStroke.doStroke) {\n if (strokeCb) {\n strokeCb(context, rect.attribute, rectAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(rect, rect.attribute, originX - x, originY - y, rectAttribute);\n context.stroke();\n }\n }\n\n this.afterRenderStep(\n rect,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n rectAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(rect: IRect, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const rectAttribute = getTheme(rect, params?.theme).rect;\n this.tempTheme = rectAttribute;\n this._draw(rect, rectAttribute, false, drawContext, params);\n this.tempTheme = null;\n }\n}\n"]}
@@ -25,7 +25,7 @@ let DefaultRenderService = class {
25
25
  this.drawContribution = drawContribution;
26
26
  }
27
27
  prepare(updateBounds) {
28
- this.renderTreeRoots.forEach((g => {
28
+ updateBounds && this.renderTreeRoots.forEach((g => {
29
29
  this._prepare(g, updateBounds);
30
30
  }));
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/render-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAA8D;AAG9D,mDAA0D;AAE7C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5C,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAO1E,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAO/B,YAEmB,gBAAmC;QAAnC,qBAAgB,GAAhB,gBAAgB,CAAmB;IACnD,CAAC;IAGJ,OAAO,CAAC,YAAqB;QAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACS,QAAQ,CAAC,CAAW,EAAE,YAAqB;QACnD,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB;QACf,OAAO;IACT,CAAC;IAED,UAAU,CAAC,MAAgC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAgC;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,oBAAO,IAAI,CAAC,UAAU,EAAG,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,MAAgC;QACxC,IAAI,CAAC,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,oBAAO,IAAI,CAAC,UAAU,EAAG,CAAC;QACjG,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAgB,EAAE,MAAgC;QACvD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AArDY,oBAAoB;IADhC,IAAA,2BAAU,GAAE;IASR,WAAA,IAAA,uBAAM,EAAC,yBAAgB,CAAC,CAAA;;GARhB,oBAAoB,CAqDhC;AArDY,oDAAoB","file":"render-service.js","sourcesContent":["import { injectable, inject } from '../common/inversify-lite';\nimport type { IAABBBounds, IBounds } from '@visactor/vutils';\nimport type { IGroup, IGraphic, IRenderService, IRenderServiceDrawParams, IDrawContribution } from '../interface';\nimport { DrawContribution } from './contributions/render';\n\nexport const RenderService = Symbol.for('RenderService');\nexport const BeforeRenderConstribution = Symbol.for('BeforeRenderConstribution');\n\n/**\n * 渲染用的service,通常和stage一一绑定,\n * 并不是单例模式,所以会绑定此次渲染的一些数据\n */\n@injectable()\nexport class DefaultRenderService implements IRenderService {\n // 每次render都会变的数据\n dirtyBounds: IBounds;\n renderTreeRoots: IGraphic[]; // 此次render的数组\n renderLists: IGraphic[];\n drawParams: IRenderServiceDrawParams;\n\n constructor(\n @inject(DrawContribution)\n private readonly drawContribution: IDrawContribution\n ) {}\n\n // 渲染前准备工作,计算bounds等逻辑\n prepare(updateBounds: boolean): void {\n this.renderTreeRoots.forEach(g => {\n this._prepare(g, updateBounds);\n });\n return;\n }\n protected _prepare(g: IGraphic, updateBounds: boolean) {\n g.forEachChildren(g => {\n this._prepare(g as IGraphic, updateBounds);\n });\n g.update({ bounds: updateBounds, trans: true });\n }\n // 获取要渲染的list,可能存在一些不用渲染的内容,以及外描边\n prepareRenderList(): void {\n return;\n }\n // 渲染前流程\n beforeDraw(params: IRenderServiceDrawParams): void {\n return;\n }\n // 具体渲染\n draw(params: IRenderServiceDrawParams): void {\n this.drawContribution.draw(this, { ...this.drawParams });\n }\n // 渲染后流程\n afterDraw(params: IRenderServiceDrawParams): void {\n this.drawContribution.afterDraw && this.drawContribution.afterDraw(this, { ...this.drawParams });\n return;\n }\n // 对外暴露的绘制方法\n render(groups: IGroup[], params: IRenderServiceDrawParams): void {\n this.renderTreeRoots = groups;\n this.drawParams = params;\n const updateBounds = params.updateBounds;\n this.prepare(updateBounds);\n this.prepareRenderList();\n this.beforeDraw(params);\n this.draw(params);\n this.afterDraw(params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/render-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAA8D;AAG9D,mDAA0D;AAE7C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5C,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAO1E,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAO/B,YAEmB,gBAAmC;QAAnC,qBAAgB,GAAhB,gBAAgB,CAAmB;IACnD,CAAC;IAGJ,OAAO,CAAC,YAAqB;QAG3B,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;SACR;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACS,QAAQ,CAAC,CAAW,EAAE,YAAqB;QACnD,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,CAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB;QACf,OAAO;IACT,CAAC;IAED,UAAU,CAAC,MAAgC;QACzC,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAgC;QACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,oBAAO,IAAI,CAAC,UAAU,EAAG,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,MAAgC;QACxC,IAAI,CAAC,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,oBAAO,IAAI,CAAC,UAAU,EAAG,CAAC;QACjG,OAAO;IACT,CAAC;IAED,MAAM,CAAC,MAAgB,EAAE,MAAgC;QACvD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AA1DY,oBAAoB;IADhC,IAAA,2BAAU,GAAE;IASR,WAAA,IAAA,uBAAM,EAAC,yBAAgB,CAAC,CAAA;;GARhB,oBAAoB,CA0DhC;AA1DY,oDAAoB","file":"render-service.js","sourcesContent":["import { injectable, inject } from '../common/inversify-lite';\nimport type { IAABBBounds, IBounds } from '@visactor/vutils';\nimport type { IGroup, IGraphic, IRenderService, IRenderServiceDrawParams, IDrawContribution } from '../interface';\nimport { DrawContribution } from './contributions/render';\n\nexport const RenderService = Symbol.for('RenderService');\nexport const BeforeRenderConstribution = Symbol.for('BeforeRenderConstribution');\n\n/**\n * 渲染用的service,通常和stage一一绑定,\n * 并不是单例模式,所以会绑定此次渲染的一些数据\n */\n@injectable()\nexport class DefaultRenderService implements IRenderService {\n // 每次render都会变的数据\n dirtyBounds: IBounds;\n renderTreeRoots: IGraphic[]; // 此次render的数组\n renderLists: IGraphic[];\n drawParams: IRenderServiceDrawParams;\n\n constructor(\n @inject(DrawContribution)\n private readonly drawContribution: IDrawContribution\n ) {}\n\n // 渲染前准备工作,计算bounds等逻辑\n prepare(updateBounds: boolean): void {\n // 如果不需要计算Bounds,那么transMatrix也不需要计算\n // TODO 后期可能存在依赖transMatrix的插件,但目前不存在\n if (!updateBounds) {\n return;\n }\n this.renderTreeRoots.forEach(g => {\n this._prepare(g, updateBounds);\n });\n return;\n }\n protected _prepare(g: IGraphic, updateBounds: boolean) {\n g.forEachChildren(g => {\n this._prepare(g as IGraphic, updateBounds);\n });\n g.update({ bounds: updateBounds, trans: true });\n }\n // 获取要渲染的list,可能存在一些不用渲染的内容,以及外描边\n prepareRenderList(): void {\n return;\n }\n // 渲染前流程\n beforeDraw(params: IRenderServiceDrawParams): void {\n return;\n }\n // 具体渲染\n draw(params: IRenderServiceDrawParams): void {\n this.drawContribution.draw(this, { ...this.drawParams });\n }\n // 渲染后流程\n afterDraw(params: IRenderServiceDrawParams): void {\n this.drawContribution.afterDraw && this.drawContribution.afterDraw(this, { ...this.drawParams });\n return;\n }\n // 对外暴露的绘制方法\n render(groups: IGroup[], params: IRenderServiceDrawParams): void {\n this.renderTreeRoots = groups;\n this.drawParams = params;\n const updateBounds = params.updateBounds;\n this.prepare(updateBounds);\n this.prepareRenderList();\n this.beforeDraw(params);\n this.draw(params);\n this.afterDraw(params);\n }\n}\n"]}
package/dist/index.js CHANGED
@@ -1214,7 +1214,6 @@
1214
1214
  };
1215
1215
  this.measureTextMethod = 'native';
1216
1216
  this.optimizeVisible = false;
1217
- this.optmizeSkipCheckBoundariesThreshold = 0;
1218
1217
  }
1219
1218
  bindContribution(params) {
1220
1219
  const promiseArr = [];
@@ -10336,12 +10335,12 @@
10336
10335
  this.in3dMode = false;
10337
10336
  }
10338
10337
  getOffsetXY(attr, includeScroll = false) {
10338
+ var _a, _b;
10339
10339
  const { dx = attr.dx, dy = attr.dy } = this.attribute;
10340
10340
  if (includeScroll && this.parent) {
10341
- const groupTheme = getTheme(this.parent).group;
10342
- const { scrollX = groupTheme.scrollX, scrollY = groupTheme.scrollY } = this.parent.attribute;
10343
- point.x = dx + scrollX;
10344
- point.y = dy + scrollY;
10341
+ const attribute = this.parent.attribute;
10342
+ point.x = dx + ((_a = attribute.scrollX) !== null && _a !== void 0 ? _a : 0);
10343
+ point.y = dy + ((_b = attribute.scrollY) !== null && _b !== void 0 ? _b : 0);
10345
10344
  }
10346
10345
  else {
10347
10346
  point.x = dx;
@@ -18039,6 +18038,7 @@
18039
18038
  return richText.AABBBounds;
18040
18039
  }
18041
18040
 
18041
+ const result = { x: 0, y: 0, z: 0, lastModelMatrix: null };
18042
18042
  class BaseRender {
18043
18043
  init(contributions) {
18044
18044
  if (contributions) {
@@ -18089,13 +18089,17 @@
18089
18089
  };
18090
18090
  }
18091
18091
  transform(graphic, graphicAttribute, context, use3dMatrixIn3dMode = false) {
18092
- const transMatrix = graphic.transMatrix;
18093
18092
  const { x = graphicAttribute.x, y = graphicAttribute.y, z = graphicAttribute.z, scaleX = graphicAttribute.scaleX, scaleY = graphicAttribute.scaleY, angle = graphicAttribute.angle, postMatrix } = graphic.attribute;
18094
- const onlyTranslate = transMatrix.onlyTranslate() && !postMatrix;
18095
18093
  const lastModelMatrix = context.modelMatrix;
18096
18094
  const camera = context.camera;
18097
- const result = { x, y, z, lastModelMatrix };
18095
+ result.x = x;
18096
+ result.y = y;
18097
+ result.z = z;
18098
+ result.lastModelMatrix = lastModelMatrix;
18098
18099
  const shouldTransform3d = camera && (use3dMatrixIn3dMode || shouldUseMat4(graphic));
18100
+ const onlyTranslate = shouldTransform3d
18101
+ ? graphic.transMatrix.onlyTranslate() && !postMatrix
18102
+ : scaleX === 1 && scaleY === 1 && angle === 0 && !postMatrix;
18099
18103
  if (shouldTransform3d) {
18100
18104
  const nextModelMatrix = mat4Allocate.allocate();
18101
18105
  const modelMatrix = mat4Allocate.allocate();
@@ -20543,10 +20547,10 @@
20543
20547
  this.init(pathRenderContribitions);
20544
20548
  }
20545
20549
  drawShape(path, context, x, y, drawContext, params, fillCb, strokeCb) {
20546
- var _a, _b;
20547
- const pathAttribute = getTheme(path, params === null || params === void 0 ? void 0 : params.theme).path;
20550
+ var _a, _b, _c;
20551
+ const pathAttribute = (_a = this.tempTheme) !== null && _a !== void 0 ? _a : getTheme(path, params === null || params === void 0 ? void 0 : params.theme).path;
20548
20552
  const { x: originX = pathAttribute.x, y: originY = pathAttribute.y } = path.attribute;
20549
- const z = (_a = this.z) !== null && _a !== void 0 ? _a : 0;
20553
+ const z = (_b = this.z) !== null && _b !== void 0 ? _b : 0;
20550
20554
  const data = this.valid(path, pathAttribute, fillCb, strokeCb);
20551
20555
  if (!data) {
20552
20556
  return;
@@ -20557,7 +20561,7 @@
20557
20561
  renderCommandList(path.pathShape.commandList, context, x, y, 1, 1, z);
20558
20562
  }
20559
20563
  else {
20560
- const path2D = (_b = path.attribute.path) !== null && _b !== void 0 ? _b : pathAttribute.path;
20564
+ const path2D = (_c = path.attribute.path) !== null && _c !== void 0 ? _c : pathAttribute.path;
20561
20565
  renderCommandList(path2D.commandList, context, x, y, 1, 1, z);
20562
20566
  }
20563
20567
  context.setShadowBlendStyle && context.setShadowBlendStyle(path, path.attribute, pathAttribute);
@@ -20584,7 +20588,9 @@
20584
20588
  }
20585
20589
  draw(path, renderService, drawContext, params) {
20586
20590
  const pathAttribute = getTheme(path, params === null || params === void 0 ? void 0 : params.theme).path;
20591
+ this.tempTheme = pathAttribute;
20587
20592
  this._draw(path, pathAttribute, false, drawContext, params);
20593
+ this.tempTheme = null;
20588
20594
  }
20589
20595
  };
20590
20596
  exports.DefaultCanvasPathRender = __decorate([
@@ -20610,7 +20616,8 @@
20610
20616
  this.init(rectRenderContribitions);
20611
20617
  }
20612
20618
  drawShape(rect, context, x, y, drawContext, params, fillCb, strokeCb) {
20613
- const rectAttribute = getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
20619
+ var _a;
20620
+ const rectAttribute = (_a = this.tempTheme) !== null && _a !== void 0 ? _a : getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
20614
20621
  const { fill = rectAttribute.fill, background, stroke = rectAttribute.stroke, width = rectAttribute.width, height = rectAttribute.height, cornerRadius = rectAttribute.cornerRadius, opacity = rectAttribute.opacity, fillOpacity = rectAttribute.fillOpacity, lineWidth = rectAttribute.lineWidth, strokeOpacity = rectAttribute.strokeOpacity, visible = rectAttribute.visible, x: originX = rectAttribute.x, y: originY = rectAttribute.y } = rect.attribute;
20615
20622
  const fVisible = rectFillVisible(opacity, fillOpacity, width, height, fill);
20616
20623
  const sVisible = rectStrokeVisible(opacity, strokeOpacity, width, height);
@@ -20661,7 +20668,9 @@
20661
20668
  }
20662
20669
  draw(rect, renderService, drawContext, params) {
20663
20670
  const rectAttribute = getTheme(rect, params === null || params === void 0 ? void 0 : params.theme).rect;
20671
+ this.tempTheme = rectAttribute;
20664
20672
  this._draw(rect, rectAttribute, false, drawContext, params);
20673
+ this.tempTheme = null;
20665
20674
  }
20666
20675
  };
20667
20676
  exports.DefaultCanvasRectRender = __decorate([
@@ -21311,6 +21320,9 @@
21311
21320
  this.drawContribution = drawContribution;
21312
21321
  }
21313
21322
  prepare(updateBounds) {
21323
+ if (!updateBounds) {
21324
+ return;
21325
+ }
21314
21326
  this.renderTreeRoots.forEach(g => {
21315
21327
  this._prepare(g, updateBounds);
21316
21328
  });
@@ -22008,7 +22020,7 @@
22008
22020
 
22009
22021
  const DrawItemInterceptor = Symbol.for('DrawItemInterceptor');
22010
22022
  const tempDirtyBounds = new vutils.AABBBounds();
22011
- let ShadowRootDrawItemInterceptorContribution = class ShadowRootDrawItemInterceptorContribution {
22023
+ class ShadowRootDrawItemInterceptorContribution {
22012
22024
  constructor() {
22013
22025
  this.order = 1;
22014
22026
  }
@@ -22043,22 +22055,18 @@
22043
22055
  }
22044
22056
  return true;
22045
22057
  }
22046
- };
22047
- ShadowRootDrawItemInterceptorContribution = __decorate([
22048
- injectable()
22049
- ], ShadowRootDrawItemInterceptorContribution);
22050
- let CommonDrawItemInterceptorContribution = class CommonDrawItemInterceptorContribution {
22058
+ }
22059
+ class DebugDrawItemInterceptorContribution {
22051
22060
  constructor() {
22052
22061
  this.order = 1;
22062
+ this.interceptors = [
22063
+ new ShadowRootDrawItemInterceptorContribution(),
22064
+ new Canvas3DDrawItemInterceptor(),
22065
+ new InteractiveDrawItemInterceptorContribution()
22066
+ ];
22053
22067
  }
22054
22068
  afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
22055
- if (graphic.attribute.shadowRootIdx > 0 || !graphic.attribute.shadowRootIdx) {
22056
- this.drawItem(graphic, renderService, drawContext, drawContribution, params);
22057
- }
22058
- return false;
22059
- }
22060
- beforeDrawItem(graphic, renderService, drawContext, drawContribution, params) {
22061
- if (graphic.attribute.shadowRootIdx < 0) {
22069
+ if (graphic.attribute._debug_bounds) {
22062
22070
  this.drawItem(graphic, renderService, drawContext, drawContribution, params);
22063
22071
  }
22064
22072
  return false;
@@ -22081,11 +22089,46 @@
22081
22089
  context.highPerformanceRestore();
22082
22090
  return true;
22083
22091
  }
22092
+ }
22093
+ let CommonDrawItemInterceptorContribution = class CommonDrawItemInterceptorContribution {
22094
+ constructor() {
22095
+ this.order = 1;
22096
+ this.interceptors = [
22097
+ new ShadowRootDrawItemInterceptorContribution(),
22098
+ new Canvas3DDrawItemInterceptor(),
22099
+ new InteractiveDrawItemInterceptorContribution(),
22100
+ new DebugDrawItemInterceptorContribution()
22101
+ ];
22102
+ }
22103
+ afterDrawItem(graphic, renderService, drawContext, drawContribution, params) {
22104
+ for (let i = 0; i < this.interceptors.length; i++) {
22105
+ if (this.interceptors[i].afterDrawItem &&
22106
+ this.interceptors[i].afterDrawItem(graphic, renderService, drawContext, drawContribution, params)) {
22107
+ return true;
22108
+ }
22109
+ }
22110
+ return false;
22111
+ }
22112
+ beforeDrawItem(graphic, renderService, drawContext, drawContribution, params) {
22113
+ if ((!graphic.in3dMode || drawContext.in3dInterceptor) &&
22114
+ !graphic.shadowRoot &&
22115
+ !(graphic.baseGraphic || graphic.attribute.globalZIndex || graphic.interactiveGraphic)) {
22116
+ return false;
22117
+ }
22118
+ for (let i = 0; i < this.interceptors.length; i++) {
22119
+ if (this.interceptors[i].beforeDrawItem &&
22120
+ this.interceptors[i].beforeDrawItem(graphic, renderService, drawContext, drawContribution, params)) {
22121
+ return true;
22122
+ }
22123
+ }
22124
+ return false;
22125
+ }
22084
22126
  };
22085
22127
  CommonDrawItemInterceptorContribution = __decorate([
22086
- injectable()
22128
+ injectable(),
22129
+ __metadata("design:paramtypes", [])
22087
22130
  ], CommonDrawItemInterceptorContribution);
22088
- let InteractiveDrawItemInterceptorContribution = class InteractiveDrawItemInterceptorContribution {
22131
+ class InteractiveDrawItemInterceptorContribution {
22089
22132
  constructor() {
22090
22133
  this.order = 1;
22091
22134
  }
@@ -22156,11 +22199,8 @@
22156
22199
  }
22157
22200
  return (_a = group.shadowRoot) !== null && _a !== void 0 ? _a : group.attachShadow();
22158
22201
  }
22159
- };
22160
- InteractiveDrawItemInterceptorContribution = __decorate([
22161
- injectable()
22162
- ], InteractiveDrawItemInterceptorContribution);
22163
- let Canvas3DDrawItemInterceptor = class Canvas3DDrawItemInterceptor {
22202
+ }
22203
+ class Canvas3DDrawItemInterceptor {
22164
22204
  constructor() {
22165
22205
  this.order = 1;
22166
22206
  }
@@ -22300,10 +22340,7 @@
22300
22340
  initCanvasCtx(context) {
22301
22341
  context.setTransformForCurrent();
22302
22342
  }
22303
- };
22304
- Canvas3DDrawItemInterceptor = __decorate([
22305
- injectable()
22306
- ], Canvas3DDrawItemInterceptor);
22343
+ }
22307
22344
 
22308
22345
  class DefaultBoundsAllocate {
22309
22346
  constructor() {
@@ -22375,12 +22412,11 @@
22375
22412
  .sort((a, b) => a.order - b.order);
22376
22413
  }
22377
22414
  prepareForDraw(renderService, drawContext) {
22378
- const count = renderService.renderTreeRoots.reduce((a, b) => a + b.count, 0);
22379
- if (count < this.global.optmizeSkipCheckBoundariesThreshold) {
22380
- this.useDirtyBounds = false;
22415
+ if (drawContext.updateBounds) {
22416
+ this.useDirtyBounds = true;
22381
22417
  }
22382
22418
  else {
22383
- this.useDirtyBounds = true;
22419
+ this.useDirtyBounds = !drawContext.stage.params.optimize.disableCheckGraphicWidthOutRange;
22384
22420
  }
22385
22421
  }
22386
22422
  draw(renderService, drawContext) {
@@ -22460,7 +22496,7 @@
22460
22496
  if (this.useDirtyBounds && !vutils.isRectIntersect(group.AABBBounds, this.dirtyBounds, false)) {
22461
22497
  return;
22462
22498
  }
22463
- let nextM;
22499
+ let nextM = parentMatrix;
22464
22500
  let tempBounds;
22465
22501
  if (this.useDirtyBounds) {
22466
22502
  tempBounds = boundsAllocate.allocateByObj(this.dirtyBounds);
@@ -22553,10 +22589,9 @@
22553
22589
  if (this.InterceptorContributions.length) {
22554
22590
  for (let i = 0; i < this.InterceptorContributions.length; i++) {
22555
22591
  const drawContribution = this.InterceptorContributions[i];
22556
- if (drawContribution.beforeDrawItem) {
22557
- if (drawContribution.beforeDrawItem(graphic, this.currentRenderService, drawContext, this, params)) {
22558
- return;
22559
- }
22592
+ if (drawContribution.beforeDrawItem &&
22593
+ drawContribution.beforeDrawItem(graphic, this.currentRenderService, drawContext, this, params)) {
22594
+ return;
22560
22595
  }
22561
22596
  }
22562
22597
  }
@@ -23739,14 +23774,8 @@
23739
23774
  bind(PolygonRenderContribution).toService(exports.DefaultBaseInteractiveRenderContribution);
23740
23775
  bindContributionProvider(bind, InteractiveSubRenderContribution);
23741
23776
  bindContributionProvider(bind, GraphicRender);
23742
- bind(ShadowRootDrawItemInterceptorContribution).toSelf().inSingletonScope();
23743
- bind(DrawItemInterceptor).toService(ShadowRootDrawItemInterceptorContribution);
23744
23777
  bind(CommonDrawItemInterceptorContribution).toSelf().inSingletonScope();
23745
23778
  bind(DrawItemInterceptor).toService(CommonDrawItemInterceptorContribution);
23746
- bind(Canvas3DDrawItemInterceptor).toSelf().inSingletonScope();
23747
- bind(DrawItemInterceptor).toService(Canvas3DDrawItemInterceptor);
23748
- bind(InteractiveDrawItemInterceptorContribution).toSelf().inSingletonScope();
23749
- bind(DrawItemInterceptor).toService(InteractiveDrawItemInterceptorContribution);
23750
23779
  bindContributionProvider(bind, DrawItemInterceptor);
23751
23780
  });
23752
23781
 
@@ -24817,9 +24846,26 @@
24817
24846
  this.tryInitEventSystem();
24818
24847
  return this._eventSystem;
24819
24848
  }
24820
- constructor(params) {
24849
+ constructor(params = {}) {
24821
24850
  var _a;
24822
24851
  super({});
24852
+ this._onVisibleChange = (visible) => {
24853
+ if (this._skipRender < 0) {
24854
+ return;
24855
+ }
24856
+ if (visible) {
24857
+ if (this.dirtyBounds) {
24858
+ this.dirtyBounds.setValue(0, 0, this._viewBox.width(), this._viewBox.height());
24859
+ }
24860
+ if (this._skipRender > 1) {
24861
+ this.renderNextFrame();
24862
+ }
24863
+ this._skipRender = 0;
24864
+ }
24865
+ else {
24866
+ this._skipRender = 1;
24867
+ }
24868
+ };
24823
24869
  this.beforeRender = (stage) => {
24824
24870
  this._beforeRender && this._beforeRender(stage);
24825
24871
  };
@@ -24888,6 +24934,9 @@
24888
24934
  this.timeline = new DefaultTimeline();
24889
24935
  this.ticker.addTimeline(this.timeline);
24890
24936
  this.timeline.pause();
24937
+ if (!params.optimize) {
24938
+ params.optimize = {};
24939
+ }
24891
24940
  this.optmize(params.optimize);
24892
24941
  if (params.background && vutils.isString(this._background) && this._background.includes('/')) {
24893
24942
  this.setAttributes({ background: this._background });
@@ -24923,7 +24972,7 @@
24923
24972
  this._skipRender = -Infinity;
24924
24973
  }
24925
24974
  else {
24926
- if (this.params && this.params.optimize && this.params.optimize.skipRenderWithOutRange !== false) {
24975
+ if (this.params.optimize.skipRenderWithOutRange !== false) {
24927
24976
  this._skipRender = this.window.isVisible() ? 0 : 1;
24928
24977
  }
24929
24978
  else {
@@ -24932,30 +24981,15 @@
24932
24981
  }
24933
24982
  }
24934
24983
  optmize(params) {
24935
- this.optmizeRender(params === null || params === void 0 ? void 0 : params.skipRenderWithOutRange);
24984
+ this.optmizeRender(params.skipRenderWithOutRange);
24985
+ this.params.optimize = params;
24936
24986
  }
24937
24987
  optmizeRender(skipRenderWithOutRange = false) {
24938
24988
  if (!skipRenderWithOutRange) {
24939
24989
  return;
24940
24990
  }
24941
24991
  this._skipRender = this._skipRender < 0 ? this._skipRender : this.window.isVisible() ? 0 : 1;
24942
- this.window.onVisibleChange(visible => {
24943
- if (this._skipRender < 0) {
24944
- return;
24945
- }
24946
- if (visible) {
24947
- if (this.dirtyBounds) {
24948
- this.dirtyBounds.setValue(0, 0, this._viewBox.width(), this._viewBox.height());
24949
- }
24950
- if (this._skipRender > 1) {
24951
- this.renderNextFrame();
24952
- }
24953
- this._skipRender = 0;
24954
- }
24955
- else {
24956
- this._skipRender = 1;
24957
- }
24958
- });
24992
+ this.window.onVisibleChange(this._onVisibleChange);
24959
24993
  }
24960
24994
  getTimeline() {
24961
24995
  return this.timeline;