@visactor/vrender-core 1.1.6-alpha.0 → 1.1.7

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 (88) hide show
  1. package/cjs/common/canvas-utils.d.ts +4 -1
  2. package/cjs/common/canvas-utils.js +9 -4
  3. package/cjs/common/canvas-utils.js.map +1 -1
  4. package/cjs/common/polygon.d.ts +8 -0
  5. package/cjs/common/polygon.js +107 -3
  6. package/cjs/common/polygon.js.map +1 -1
  7. package/cjs/graphic/graphic-service/polygon-outer-border-bounds.d.ts +4 -0
  8. package/cjs/graphic/graphic-service/polygon-outer-border-bounds.js +36 -0
  9. package/cjs/graphic/graphic-service/polygon-outer-border-bounds.js.map +1 -0
  10. package/cjs/graphic/graphic.d.ts +9 -9
  11. package/cjs/graphic/graphic.js +45 -54
  12. package/cjs/graphic/graphic.js.map +1 -1
  13. package/cjs/graphic/group.d.ts +4 -6
  14. package/cjs/graphic/group.js +11 -21
  15. package/cjs/graphic/group.js.map +1 -1
  16. package/cjs/graphic/node-tree.d.ts +1 -2
  17. package/cjs/graphic/node-tree.js +1 -1
  18. package/cjs/graphic/node-tree.js.map +1 -1
  19. package/cjs/graphic/polygon.d.ts +2 -0
  20. package/cjs/graphic/polygon.js +12 -2
  21. package/cjs/graphic/polygon.js.map +1 -1
  22. package/cjs/graphic/richtext.d.ts +1 -2
  23. package/cjs/graphic/richtext.js +2 -2
  24. package/cjs/graphic/richtext.js.map +1 -1
  25. package/cjs/graphic/state/state-transition-orchestrator.d.ts +4 -0
  26. package/cjs/graphic/state/state-transition-orchestrator.js +11 -5
  27. package/cjs/graphic/state/state-transition-orchestrator.js.map +1 -1
  28. package/cjs/graphic/text.js +7 -3
  29. package/cjs/graphic/text.js.map +1 -1
  30. package/cjs/interface/graphic.d.ts +1 -1
  31. package/cjs/interface/graphic.js.map +1 -1
  32. package/cjs/interface/node-tree.d.ts +1 -2
  33. package/cjs/interface/node-tree.js.map +1 -1
  34. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -0
  35. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +40 -2
  36. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  37. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +5 -5
  38. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  39. package/cjs/render/contributions/render/draw-interceptor.d.ts +2 -0
  40. package/cjs/render/contributions/render/draw-interceptor.js +14 -2
  41. package/cjs/render/contributions/render/draw-interceptor.js.map +1 -1
  42. package/cjs/render/contributions/render/polygon-render.js +1 -1
  43. package/cjs/render/contributions/render/polygon-render.js.map +1 -1
  44. package/dist/index.es.js +454 -199
  45. package/es/common/canvas-utils.d.ts +4 -1
  46. package/es/common/canvas-utils.js +6 -2
  47. package/es/common/canvas-utils.js.map +1 -1
  48. package/es/common/polygon.d.ts +8 -0
  49. package/es/common/polygon.js +102 -0
  50. package/es/common/polygon.js.map +1 -1
  51. package/es/graphic/graphic-service/polygon-outer-border-bounds.d.ts +4 -0
  52. package/es/graphic/graphic-service/polygon-outer-border-bounds.js +32 -0
  53. package/es/graphic/graphic-service/polygon-outer-border-bounds.js.map +1 -0
  54. package/es/graphic/graphic.d.ts +9 -9
  55. package/es/graphic/graphic.js +45 -54
  56. package/es/graphic/graphic.js.map +1 -1
  57. package/es/graphic/group.d.ts +4 -6
  58. package/es/graphic/group.js +11 -21
  59. package/es/graphic/group.js.map +1 -1
  60. package/es/graphic/node-tree.d.ts +1 -2
  61. package/es/graphic/node-tree.js +1 -1
  62. package/es/graphic/node-tree.js.map +1 -1
  63. package/es/graphic/polygon.d.ts +2 -0
  64. package/es/graphic/polygon.js +14 -2
  65. package/es/graphic/polygon.js.map +1 -1
  66. package/es/graphic/richtext.d.ts +1 -2
  67. package/es/graphic/richtext.js +2 -2
  68. package/es/graphic/richtext.js.map +1 -1
  69. package/es/graphic/state/state-transition-orchestrator.d.ts +4 -0
  70. package/es/graphic/state/state-transition-orchestrator.js +11 -5
  71. package/es/graphic/state/state-transition-orchestrator.js.map +1 -1
  72. package/es/graphic/text.js +7 -3
  73. package/es/graphic/text.js.map +1 -1
  74. package/es/interface/graphic.d.ts +1 -1
  75. package/es/interface/graphic.js.map +1 -1
  76. package/es/interface/node-tree.d.ts +1 -2
  77. package/es/interface/node-tree.js.map +1 -1
  78. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +9 -0
  79. package/es/render/contributions/render/contributions/polygon-contribution-render.js +40 -0
  80. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  81. package/es/render/contributions/render/contributions/rect-contribution-render.js +5 -5
  82. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  83. package/es/render/contributions/render/draw-interceptor.d.ts +2 -0
  84. package/es/render/contributions/render/draw-interceptor.js +15 -3
  85. package/es/render/contributions/render/draw-interceptor.js.map +1 -1
  86. package/es/render/contributions/render/polygon-render.js +2 -2
  87. package/es/render/contributions/render/polygon-render.js.map +1 -1
  88. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":"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","file":"polygon-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { getTheme } from '../../../graphic/theme';\nimport { POLYGON_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IPolygon,\n IThemeAttribute,\n IGraphicRender,\n IPolygonRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { PolygonRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultPolygonBackgroundRenderContribution,\n defaultPolygonTextureRenderContribution\n} from './contributions/polygon-contribution-render';\n\nexport class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>) {\n super();\n this.builtinContributions = [defaultPolygonBackgroundRenderContribution, defaultPolygonTextureRenderContribution];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n polygon: IPolygon,\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 polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n cornerRadius = polygonAttribute.cornerRadius,\n x: originX = polygonAttribute.x,\n y: originY = polygonAttribute.y,\n closePath = polygonAttribute.closePath,\n fillStrokeOrder = polygonAttribute.fillStrokeOrder\n } = polygon.attribute;\n\n const data = this.valid(polygon, polygonAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n\n if ((cornerRadius as number) <= 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, cornerRadius, closePath);\n }\n // polygon 默认闭合\n closePath && context.closePath();\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(polygon, polygon.attribute, polygonAttribute);\n\n this.beforeRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n this._draw(polygon, polygonAttribute, false, drawContext, params);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/render/contributions/render/polygon-render.ts"],"names":[],"mappings":"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","file":"polygon-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { getTheme } from '../../../graphic/theme';\nimport { POLYGON_NUMBER_TYPE } from '../../../graphic/constants';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IPolygon,\n IThemeAttribute,\n IGraphicRender,\n IPolygonRenderContribution,\n IContributionProvider,\n IDrawContext,\n IGraphicRenderDrawParams,\n IRenderService\n} from '../../../interface';\nimport { drawPolygon, drawRoundedPolygon } from '../../../common/polygon';\nimport { PolygonRenderContribution } from './contributions/constants';\nimport { BaseRender } from './base-render';\nimport {\n defaultPolygonBackgroundRenderContribution,\n defaultPolygonRenderContribution,\n defaultPolygonTextureRenderContribution\n} from './contributions/polygon-contribution-render';\n\nexport class DefaultCanvasPolygonRender extends BaseRender<IPolygon> implements IGraphicRender {\n type: 'polygon';\n numberType: number = POLYGON_NUMBER_TYPE;\n\n constructor(protected readonly graphicRenderContributions: IContributionProvider<IPolygonRenderContribution>) {\n super();\n this.builtinContributions = [\n defaultPolygonRenderContribution,\n defaultPolygonBackgroundRenderContribution,\n defaultPolygonTextureRenderContribution\n ];\n this.init(graphicRenderContributions);\n }\n\n drawShape(\n polygon: IPolygon,\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 polygonAttribute = graphicService.themeService.getCurrentTheme().polygonAttribute;\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n const {\n points = polygonAttribute.points,\n cornerRadius = polygonAttribute.cornerRadius,\n x: originX = polygonAttribute.x,\n y: originY = polygonAttribute.y,\n closePath = polygonAttribute.closePath,\n fillStrokeOrder = polygonAttribute.fillStrokeOrder\n } = polygon.attribute;\n\n const data = this.valid(polygon, polygonAttribute, fillCb, strokeCb);\n if (!data) {\n return;\n }\n const { fVisible, sVisible, doFill, doStroke } = data;\n\n context.beginPath();\n\n if ((cornerRadius as number) <= 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n drawPolygon(context.camera ? context : context.nativeContext, points, x, y);\n } else {\n // FIXME: type\n drawRoundedPolygon(context.camera ? context : context.nativeContext, points, x, y, cornerRadius, closePath);\n }\n // polygon 默认闭合\n closePath && context.closePath();\n\n // shadow\n context.setShadowBlendStyle && context.setShadowBlendStyle(polygon, polygon.attribute, polygonAttribute);\n\n this.beforeRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n\n const _runFill = () => {\n if (doFill) {\n if (fillCb) {\n fillCb(context, polygon.attribute, polygonAttribute);\n } else if (fVisible) {\n // 存在fill\n context.setCommonStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.fill();\n }\n }\n };\n const _runStroke = () => {\n if (doStroke) {\n if (strokeCb) {\n strokeCb(context, polygon.attribute, polygonAttribute);\n } else if (sVisible) {\n // 存在stroke\n context.setStrokeStyle(polygon, polygon.attribute, originX - x, originY - y, polygonAttribute);\n context.stroke();\n }\n }\n };\n\n if (!fillStrokeOrder) {\n _runFill();\n _runStroke();\n } else {\n _runStroke();\n _runFill();\n }\n\n this.afterRenderStep(\n polygon,\n context,\n x,\n y,\n doFill,\n doStroke,\n fVisible,\n sVisible,\n polygonAttribute,\n drawContext,\n fillCb,\n strokeCb\n );\n }\n\n draw(polygon: IPolygon, renderService: IRenderService, drawContext: IDrawContext, params?: IGraphicRenderDrawParams) {\n const polygonAttribute = getTheme(polygon, params?.theme).polygon;\n this._draw(polygon, polygonAttribute, false, drawContext, params);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-core",
3
- "version": "1.1.6-alpha.0",
3
+ "version": "1.1.7",
4
4
  "description": "",
5
5
  "sideEffects": [
6
6
  "./src/modules.ts",
@@ -132,9 +132,9 @@
132
132
  "vite": "3.2.6",
133
133
  "typescript": "4.9.5",
134
134
  "cross-env": "^7.0.3",
135
- "@internal/bundler": "0.0.1",
136
135
  "@internal/eslint-config": "0.0.1",
137
- "@internal/ts-config": "0.0.1"
136
+ "@internal/ts-config": "0.0.1",
137
+ "@internal/bundler": "0.0.1"
138
138
  },
139
139
  "keywords": [
140
140
  "VisActor",