@visactor/vrender-core 0.22.9 → 0.22.10-alpha.1

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 (68) hide show
  1. package/cjs/common/bezier-utils.js +1 -2
  2. package/cjs/common/canvas-utils.js +5 -5
  3. package/cjs/common/canvas-utils.js.map +1 -1
  4. package/cjs/common/matrix.js +1 -1
  5. package/cjs/common/morphing-utils.js +1 -1
  6. package/cjs/common/path-svg.js +1 -1
  7. package/cjs/common/polygon.js +2 -2
  8. package/cjs/common/rect-utils.js +1 -1
  9. package/cjs/common/render-area.js +2 -1
  10. package/cjs/common/render-command-list.js +1 -1
  11. package/cjs/common/render-curve.js +1 -1
  12. package/cjs/common/render-utils.js +1 -1
  13. package/cjs/common/seg-context.js +1 -1
  14. package/cjs/common/simplify.js +1 -1
  15. package/cjs/common/sort.js +1 -1
  16. package/cjs/common/split-path.js +1 -1
  17. package/cjs/core/application.js +1 -1
  18. package/cjs/core/camera.js +1 -1
  19. package/cjs/core/constants.js +1 -1
  20. package/cjs/core/core-modules.js +1 -1
  21. package/cjs/core/global-module.js +0 -2
  22. package/cjs/core/global.js +1 -1
  23. package/cjs/core/graphic-utils.js +1 -1
  24. package/cjs/core/index.js +1 -1
  25. package/cjs/core/layer-service.js +1 -1
  26. package/cjs/core/layer.js +1 -1
  27. package/cjs/core/light.js +1 -1
  28. package/cjs/core/stage.js +1 -1
  29. package/cjs/core/window.js +1 -1
  30. package/cjs/graphic/graphic.d.ts +2 -0
  31. package/cjs/graphic/graphic.js.map +1 -1
  32. package/cjs/graphic/symbol.js +2 -1
  33. package/cjs/graphic/symbol.js.map +1 -1
  34. package/dist/index.es.js +10 -6
  35. package/es/common/bezier-utils.js +1 -2
  36. package/es/common/canvas-utils.js +5 -5
  37. package/es/common/canvas-utils.js.map +1 -1
  38. package/es/common/matrix.js +1 -1
  39. package/es/common/morphing-utils.js +1 -1
  40. package/es/common/path-svg.js +1 -1
  41. package/es/common/polygon.js +1 -1
  42. package/es/common/rect-utils.js +1 -1
  43. package/es/common/render-area.js +2 -1
  44. package/es/common/render-command-list.js +1 -1
  45. package/es/common/render-curve.js +1 -1
  46. package/es/common/render-utils.js +1 -1
  47. package/es/common/seg-context.js +1 -1
  48. package/es/common/simplify.js +1 -1
  49. package/es/common/sort.js +1 -1
  50. package/es/common/split-path.js +1 -1
  51. package/es/core/application.js +1 -1
  52. package/es/core/camera.js +1 -1
  53. package/es/core/constants.js +1 -1
  54. package/es/core/core-modules.js +1 -1
  55. package/es/core/global-module.js +0 -2
  56. package/es/core/global.js +1 -1
  57. package/es/core/graphic-utils.js +1 -1
  58. package/es/core/index.js +1 -1
  59. package/es/core/layer-service.js +1 -1
  60. package/es/core/layer.js +1 -1
  61. package/es/core/light.js +1 -1
  62. package/es/core/stage.js +1 -1
  63. package/es/core/window.js +1 -1
  64. package/es/graphic/graphic.d.ts +2 -0
  65. package/es/graphic/graphic.js.map +1 -1
  66. package/es/graphic/symbol.js +2 -1
  67. package/es/graphic/symbol.js.map +1 -1
  68. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/common/canvas-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,UAAU,eAAe,CAAC,OAAmB,EAAE,KAAa,EAAE,GAAW;IAC7E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvD,IAAI,MAAM,GAAG,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,CAAC,CAAC;KACV;IACD,WAAW,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClE,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAmB,EACnB,CAAqD,EACrD,MAAqE,EACrE,UAAkB,CAAC,EACnB,UAAkB,CAAC;;IAEnB,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QACpB,OAAO,OAAO,CAAC;KAChB;IACD,IAAI,MAA2C,CAAC;IAChD,IAAI,KAAsB,CAAC;IAC3B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,EAAE;gBACT,MAAM;aACP;SACF;KACF;SAAM;QACL,KAAK,GAAG,CAAC,CAAC;KACX;IACD,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;QAC9G,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC;QAG5B,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;YAC/D,CAAC,IAAI,MAAM,CAAC;YACZ,CAAC,IAAI,MAAM,CAAC;YACZ,CAAC,IAAI,MAAM,CAAC;YACZ,CAAC,IAAI,MAAM,CAAC;YACZ,IAAI,KAAK,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;gBACzC,CAAC,GAAG,CAAC,CAAC;gBACN,CAAC,GAAG,CAAC,CAAC;gBACN,CAAC,GAAG,MAAC,MAAc,CAAC,qBAAqB,mCAAI,CAAC,CAAC;gBAC/C,CAAC,GAAG,MAAC,MAAc,CAAC,sBAAsB,mCAAI,CAAC,CAAC;aACjD;SACF;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC/B,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;YACvC,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1D;aAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACtC,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3D;KACF;IACD,OAAO,MAAM,IAAI,QAAQ,CAAC;AAC5B,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB,EAAE,KAAsB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;;IACnH,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,EACvB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,EACvB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,EACvB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,CACxB,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzB,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAmB,EAAE,KAAsB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;;IACnH,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CACjD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,CAAC,GAAG,CAAC,EACzB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,CAAC,CAAC,EAChC,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,CAAC,GAAG,CAAC,EACzB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,CAAC,GAAG,CAAC,EACzB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,EAAE,mCAAI,GAAG,CAAC,CACnC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzB,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IACH,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAmB,EAAE,KAAuB,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;;IACnH,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAChD,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,EACtB,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,EACtB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,QAAQ,CACf,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACzB,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC;IACf,OAAQ,cAAsB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC","file":"canvas-utils.js","sourcesContent":["import type { IColor, IConicalGradient, ILinearGradient, IRadialGradient } from '../interface/color';\nimport type { IContext2d, ITransform } from '../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { isArray } from '@visactor/vutils';\nimport { GradientParser } from './color-utils';\n\nexport function getScaledStroke(context: IContext2d, width: number, dpr: number) {\n let strokeWidth = width;\n const { a, b, c, d } = context.currentMatrix;\n const scaleX = Math.sign(a) * Math.sqrt(a * a + b * b);\n const scaleY = Math.sign(d) * Math.sqrt(c * c + d * d);\n // 如果没有scaleX和scaleY,那么认为什么都不用绘制\n if (scaleX + scaleY === 0) {\n return 0;\n }\n strokeWidth = (strokeWidth / Math.abs(scaleX + scaleY)) * 2 * dpr;\n return strokeWidth;\n}\n\nexport function createColor(\n context: IContext2d,\n c: string | IColor | Array<string | IColor> | boolean,\n params: { AABBBounds?: IBoundsLike; attribute?: Partial<ITransform> },\n offsetX: number = 0,\n offsetY: number = 0\n): string | CanvasGradient {\n if (!c || c === true) {\n return 'black';\n }\n let result: string | CanvasGradient | undefined;\n let color: string | IColor;\n if (isArray(c)) {\n for (let i = 0; i < c.length; i++) {\n color = c[i];\n if (color) {\n break;\n }\n }\n } else {\n color = c;\n }\n color = GradientParser.Parse(color);\n if (typeof color === 'string') {\n return color;\n }\n // 如果是渐变色的话,需要根据bounds来计算渐变色的范围\n if (params.AABBBounds && (!params.attribute || params.attribute.scaleX !== 0 || params.attribute.scaleY !== 0)) {\n const bounds = params.AABBBounds;\n let w = bounds.x2 - bounds.x1;\n let h = bounds.y2 - bounds.y1;\n let x = bounds.x1 - offsetX;\n let y = bounds.y1 - offsetY;\n // 检测是否有angle、scale,如果有的话,说明context有transform。\n // 需要获取图元原始的bounds宽高,然后设置xy为0才行\n if (params.attribute) {\n const { scaleX = 1, scaleY = 1, angle = 0 } = params.attribute;\n w /= scaleX;\n h /= scaleY;\n x /= scaleX;\n y /= scaleY;\n if (angle || scaleX !== 1 || scaleY !== 1) {\n x = 0;\n y = 0;\n w = (params as any).widthWithoutTransform ?? w;\n h = (params as any).heightWithoutTransform ?? h;\n }\n }\n // TODO 不同scaleCenter有问题\n if (color.gradient === 'linear') {\n result = createLinearGradient(context, color, x, y, w, h);\n } else if (color.gradient === 'conical') {\n result = createConicGradient(context, color, x, y, w, h);\n } else if (color.gradient === 'radial') {\n result = createRadialGradient(context, color, x, y, w, h);\n }\n }\n return result || 'orange';\n}\n\nfunction createLinearGradient(context: IContext2d, color: ILinearGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createLinearGradient(\n x + (color.x0 ?? 0) * w,\n y + (color.y0 ?? 0) * h,\n x + (color.x1 ?? 1) * w,\n y + (color.y1 ?? 0) * h\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n return canvasGradient;\n}\n\nfunction createRadialGradient(context: IContext2d, color: IRadialGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createRadialGradient(\n x + (color.x0 ?? 0.5) * w,\n y + (color.y0 ?? 0.5) * h,\n Math.max(w, h) * (color.r0 ?? 0),\n x + (color.x1 ?? 0.5) * w,\n y + (color.y1 ?? 0.5) * h,\n Math.max(w, h) * (color.r1 ?? 0.5)\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n return canvasGradient;\n}\n\nfunction createConicGradient(context: IContext2d, color: IConicalGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createConicGradient(\n x + (color.x ?? 0) * w,\n y + (color.y ?? 0) * h,\n color.startAngle,\n color.endAngle\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n\n let deltaAngle;\n return (canvasGradient as any).GetPattern(w + x, h + y, deltaAngle);\n}\n"]}
1
+ {"version":3,"sources":["../src/common/canvas-utils.ts"],"names":[],"mappings":"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","file":"canvas-utils.js","sourcesContent":["import type { IColor, IConicalGradient, ILinearGradient, IRadialGradient } from '../interface/color';\nimport type { IContext2d, ITransform } from '../interface';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport { isArray } from '@visactor/vutils';\nimport { GradientParser } from './color-utils';\n\nexport function getScaledStroke(context: IContext2d, width: number, dpr: number) {\n let strokeWidth = width;\n const { a, b, c, d } = context.currentMatrix;\n const scaleX = Math.sign(a) * Math.sqrt(a * a + b * b);\n const scaleY = Math.sign(d) * Math.sqrt(c * c + d * d);\n // 如果没有scaleX和scaleY,那么认为什么都不用绘制\n if (scaleX + scaleY === 0) {\n return 0;\n }\n strokeWidth = (strokeWidth / Math.abs(scaleX + scaleY)) * 2 * dpr;\n return strokeWidth;\n}\n\nexport function createColor(\n context: IContext2d,\n c: string | IColor | Array<string | IColor> | boolean,\n params: { AABBBounds?: IBoundsLike; attribute?: Partial<ITransform> },\n offsetX: number = 0,\n offsetY: number = 0\n): string | CanvasGradient {\n if (!c || c === true) {\n return 'black';\n }\n let result: string | CanvasGradient | undefined;\n let color: string | IColor;\n if (isArray(c)) {\n for (let i = 0; i < c.length; i++) {\n color = c[i];\n if (color) {\n break;\n }\n }\n } else {\n color = c;\n }\n color = GradientParser.Parse(color);\n if (typeof color === 'string') {\n return color;\n }\n // 如果是渐变色的话,需要根据bounds来计算渐变色的范围\n if (params.AABBBounds && (!params.attribute || params.attribute.scaleX !== 0 || params.attribute.scaleY !== 0)) {\n const bounds = params.AABBBounds;\n let w = bounds.x2 - bounds.x1;\n let h = bounds.y2 - bounds.y1;\n let x = bounds.x1 - offsetX;\n let y = bounds.y1 - offsetY;\n // 检测是否有angle、scale,如果有的话,说明context有transform。\n // 需要获取图元原始的bounds宽高,然后设置xy为0才行\n if (params.attribute) {\n const { scaleX = 1, scaleY = 1, angle = 0 } = params.attribute;\n w /= scaleX;\n h /= scaleY;\n x /= scaleX;\n y /= scaleY;\n if (angle || scaleX !== 1 || scaleY !== 1) {\n // symbol的时候锚点是在中间的,所以bounds不能按0算\n x = (params as any).x1WithoutTransform ?? 0;\n y = (params as any).y1WithoutTransform ?? 0;\n w = (params as any).widthWithoutTransform ?? w;\n h = (params as any).heightWithoutTransform ?? h;\n }\n }\n // TODO 不同scaleCenter有问题\n if (color.gradient === 'linear') {\n result = createLinearGradient(context, color, x, y, w, h);\n } else if (color.gradient === 'conical') {\n result = createConicGradient(context, color, x, y, w, h);\n } else if (color.gradient === 'radial') {\n result = createRadialGradient(context, color, x, y, w, h);\n }\n }\n return result || 'orange';\n}\n\nfunction createLinearGradient(context: IContext2d, color: ILinearGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createLinearGradient(\n x + (color.x0 ?? 0) * w,\n y + (color.y0 ?? 0) * h,\n x + (color.x1 ?? 1) * w,\n y + (color.y1 ?? 0) * h\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n return canvasGradient;\n}\n\nfunction createRadialGradient(context: IContext2d, color: IRadialGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createRadialGradient(\n x + (color.x0 ?? 0.5) * w,\n y + (color.y0 ?? 0.5) * h,\n Math.max(w, h) * (color.r0 ?? 0),\n x + (color.x1 ?? 0.5) * w,\n y + (color.y1 ?? 0.5) * h,\n Math.max(w, h) * (color.r1 ?? 0.5)\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n return canvasGradient;\n}\n\nfunction createConicGradient(context: IContext2d, color: IConicalGradient, x: number, y: number, w: number, h: number) {\n const canvasGradient = context.createConicGradient(\n x + (color.x ?? 0) * w,\n y + (color.y ?? 0) * h,\n color.startAngle,\n color.endAngle\n );\n color.stops.forEach(stop => {\n canvasGradient.addColorStop(stop.offset, stop.color);\n });\n\n let deltaAngle;\n return (canvasGradient as any).GetPattern\n ? (canvasGradient as any).GetPattern(w + x, h + y, deltaAngle)\n : canvasGradient;\n}\n"]}
@@ -118,4 +118,4 @@ export function transformMat4(out, a, m) {
118
118
  return w = w || 1, out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w, out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w,
119
119
  out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w, out;
120
120
  }
121
- //# sourceMappingURL=matrix.js.map
121
+ //# sourceMappingURL=matrix.js.map
@@ -284,4 +284,4 @@ export function bezierCurversToPath(bezierCurves) {
284
284
  }
285
285
  return path;
286
286
  }
287
- //# sourceMappingURL=morphing-utils.js.map
287
+ //# sourceMappingURL=morphing-utils.js.map
@@ -55,4 +55,4 @@ export function parseSvgPath(str) {
55
55
  } else result.push(currCommandData);
56
56
  return result;
57
57
  }
58
- //# sourceMappingURL=path-svg.js.map
58
+ //# sourceMappingURL=path-svg.js.map
@@ -36,4 +36,4 @@ function getProportionPoint(point, segment, length, dx, dy) {
36
36
  y: point.y - dy * factor
37
37
  };
38
38
  }
39
- //# sourceMappingURL=polygon.js.map
39
+ //# sourceMappingURL=polygon.js.map
@@ -17,4 +17,4 @@ export const normalizeRectAttributes = attribute => {
17
17
  height: height
18
18
  };
19
19
  };
20
- //# sourceMappingURL=rect-utils.js.map
20
+ //# sourceMappingURL=rect-utils.js.map
@@ -60,4 +60,5 @@ function drawAreaBlock(path, topList, bottomList, params) {
60
60
  drawSegItem(path, curve, 1, params), needMoveTo = !1) : needMoveTo = !0;
61
61
  }
62
62
  path.closePath();
63
- }
63
+ }
64
+ //# sourceMappingURL=render-area.js.map
@@ -6,4 +6,4 @@ export function renderCommandList(commandList, context, x = 0, y = 0, sx = 1, sy
6
6
  commandFuncs[command[0]](command, context, x, y, sx, sy, z);
7
7
  }
8
8
  }
9
- //# sourceMappingURL=render-command-list.js.map
9
+ //# sourceMappingURL=render-command-list.js.map
@@ -93,4 +93,4 @@ export function drawIncrementalAreaSegments(path, lastSeg, segments, params) {
93
93
  path.closePath();
94
94
  }));
95
95
  }
96
- //# sourceMappingURL=render-curve.js.map
96
+ //# sourceMappingURL=render-curve.js.map
@@ -11,4 +11,4 @@ export function drawSegItem(ctx, curve, endPercent, params) {
11
11
  ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
12
12
  }
13
13
  }
14
- //# sourceMappingURL=render-utils.js.map
14
+ //# sourceMappingURL=render-utils.js.map
@@ -91,4 +91,4 @@ export class ReflectSegContext extends SegContext {
91
91
  return super.clear();
92
92
  }
93
93
  }
94
- //# sourceMappingURL=seg-context.js.map
94
+ //# sourceMappingURL=seg-context.js.map
@@ -30,4 +30,4 @@ export function flatten_simplify(points, tolerance, highestQuality) {
30
30
  if (points.length <= 10) return points;
31
31
  return points = highestQuality ? points : simplifyRadialDist(points, void 0 !== tolerance ? tolerance * tolerance : 1);
32
32
  }
33
- //# sourceMappingURL=simplify.js.map
33
+ //# sourceMappingURL=simplify.js.map
package/es/common/sort.js CHANGED
@@ -94,4 +94,4 @@ export function findNextGraphic(graphic, id, defaultZIndex, reverse = !1) {
94
94
  !1)), reverse);
95
95
  return result;
96
96
  }
97
- //# sourceMappingURL=sort.js.map
97
+ //# sourceMappingURL=sort.js.map
@@ -248,4 +248,4 @@ export const splitPath = (path, count) => {
248
248
  }
249
249
  return res;
250
250
  };
251
- //# sourceMappingURL=split-path.js.map
251
+ //# sourceMappingURL=split-path.js.map
@@ -1,2 +1,2 @@
1
1
  export const ApplicationContribution = Symbol("ApplicationContribution");
2
- //# sourceMappingURL=application.js.map
2
+ //# sourceMappingURL=application.js.map
package/es/core/camera.js CHANGED
@@ -66,4 +66,4 @@ export class OrthoCamera {
66
66
  export const registerOrthoCamera = () => {
67
67
  Factory.registerPlugin("OrthoCamera", OrthoCamera);
68
68
  };
69
- //# sourceMappingURL=camera.js.map
69
+ //# sourceMappingURL=camera.js.map
@@ -9,4 +9,4 @@ export const StaticLayerHandlerContribution = Symbol.for("StaticLayerHandlerCont
9
9
  export const DynamicLayerHandlerContribution = Symbol.for("DynamicLayerHandlerContribution");
10
10
 
11
11
  export const VirtualLayerHandlerContribution = Symbol.for("VirtualLayerHandlerContribution");
12
- //# sourceMappingURL=constants.js.map
12
+ //# sourceMappingURL=constants.js.map
@@ -17,4 +17,4 @@ export default new ContainerModule((bind => {
17
17
  bind(GraphicUtil).to(DefaultGraphicUtil).inSingletonScope(), bind(TransformUtil).to(DefaultTransformUtil).inSingletonScope(),
18
18
  bind(LayerService).to(DefaultLayerService).inSingletonScope();
19
19
  }));
20
- //# sourceMappingURL=core-modules.js.map
20
+ //# sourceMappingURL=core-modules.js.map
@@ -1,3 +1 @@
1
-
2
-
3
1
  //# sourceMappingURL=global-module.js.map
package/es/core/global.js CHANGED
@@ -223,4 +223,4 @@ let DefaultGlobal = class {
223
223
  DefaultGlobal = __decorate([ injectable(), __param(0, inject(ContributionProvider)), __param(0, named(EnvContribution)), __metadata("design:paramtypes", [ Object ]) ], DefaultGlobal);
224
224
 
225
225
  export { DefaultGlobal };
226
- //# sourceMappingURL=global.js.map
226
+ //# sourceMappingURL=global.js.map
@@ -184,4 +184,4 @@ let DefaultTransformUtil = class {
184
184
  DefaultTransformUtil = __decorate([ injectable(), __metadata("design:paramtypes", []) ], DefaultTransformUtil);
185
185
 
186
186
  export { DefaultTransformUtil };
187
- //# sourceMappingURL=graphic-utils.js.map
187
+ //# sourceMappingURL=graphic-utils.js.map
package/es/core/index.js CHANGED
@@ -15,4 +15,4 @@ export * from "./layer-service";
15
15
  export * from "./constants";
16
16
 
17
17
  export * from "../interface/core";
18
- //# sourceMappingURL=index.js.map
18
+ //# sourceMappingURL=index.js.map
@@ -83,4 +83,4 @@ DefaultLayerService.idprefix = "visactor_layer", DefaultLayerService.prefix_coun
83
83
  DefaultLayerService = DefaultLayerService_1 = __decorate([ injectable(), __metadata("design:paramtypes", []) ], DefaultLayerService);
84
84
 
85
85
  export { DefaultLayerService };
86
- //# sourceMappingURL=layer-service.js.map
86
+ //# sourceMappingURL=layer-service.js.map
package/es/core/layer.js CHANGED
@@ -112,4 +112,4 @@ export class Layer extends Group {
112
112
  }, params)), this.afterDrawCbs.forEach((c => c(this)));
113
113
  }
114
114
  }
115
- //# sourceMappingURL=layer.js.map
115
+ //# sourceMappingURL=layer.js.map
package/es/core/light.js CHANGED
@@ -23,4 +23,4 @@ export class DirectionalLight {
23
23
  export const registerDirectionalLight = () => {
24
24
  Factory.registerPlugin("DirectionalLight", DirectionalLight);
25
25
  };
26
- //# sourceMappingURL=light.js.map
26
+ //# sourceMappingURL=light.js.map
package/es/core/stage.js CHANGED
@@ -547,4 +547,4 @@ export class Stage extends Group {
547
547
  this.pickerService;
548
548
  }
549
549
  }
550
- //# sourceMappingURL=stage.js.map
550
+ //# sourceMappingURL=stage.js.map
package/es/core/window.js CHANGED
@@ -159,4 +159,4 @@ let DefaultWindow = class {
159
159
  DefaultWindow = __decorate([ injectable(), __metadata("design:paramtypes", []) ], DefaultWindow);
160
160
 
161
161
  export { DefaultWindow };
162
- //# sourceMappingURL=window.js.map
162
+ //# sourceMappingURL=window.js.map
@@ -63,6 +63,8 @@ export declare abstract class Graphic<T extends Partial<IGraphicAttribute> = Par
63
63
  in3dMode?: boolean;
64
64
  widthWithoutTransform?: number;
65
65
  heightWithoutTransform?: number;
66
+ x1WithoutTransform?: number;
67
+ y1WithoutTransform?: number;
66
68
  protected _AABBBounds: IAABBBounds;
67
69
  get AABBBounds(): IAABBBounds;
68
70
  protected _OBBBounds?: IOBBBounds;