@visactor/vrender-core 0.17.9 → 0.17.10

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 (141) hide show
  1. package/cjs/common/render-area.js +3 -15
  2. package/cjs/common/render-area.js.map +1 -1
  3. package/cjs/common/render-curve.js +6 -17
  4. package/cjs/common/render-curve.js.map +1 -1
  5. package/cjs/common/render-utils.d.ts +10 -0
  6. package/cjs/common/render-utils.js +22 -0
  7. package/cjs/common/render-utils.js.map +1 -0
  8. package/cjs/common/seg-context.js +1 -2
  9. package/cjs/common/segment/basis.js +2 -3
  10. package/cjs/common/segment/basis.js.map +1 -1
  11. package/cjs/common/segment/common.d.ts +4 -1
  12. package/cjs/common/segment/common.js +13 -3
  13. package/cjs/common/segment/common.js.map +1 -1
  14. package/cjs/common/segment/linear-closed.d.ts +2 -16
  15. package/cjs/common/segment/linear-closed.js +3 -34
  16. package/cjs/common/segment/linear-closed.js.map +1 -1
  17. package/cjs/common/segment/linear.d.ts +1 -1
  18. package/cjs/common/segment/linear.js +2 -3
  19. package/cjs/common/segment/linear.js.map +1 -1
  20. package/cjs/common/segment/monotone.d.ts +2 -2
  21. package/cjs/common/segment/monotone.js +10 -12
  22. package/cjs/common/segment/monotone.js.map +1 -1
  23. package/cjs/common/sort.js +2 -1
  24. package/cjs/core/constants.js +1 -1
  25. package/cjs/core/stage.js +2 -1
  26. package/cjs/core/stage.js.map +1 -1
  27. package/cjs/graphic/config.js +2 -0
  28. package/cjs/graphic/config.js.map +1 -1
  29. package/cjs/interface/graphic.d.ts +2 -0
  30. package/cjs/interface/graphic.js.map +1 -1
  31. package/cjs/render/contributions/render/area-render.js +16 -11
  32. package/cjs/render/contributions/render/area-render.js.map +1 -1
  33. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  34. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +2 -2
  35. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  36. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +1 -9
  37. package/cjs/render/contributions/render/contributions/area-contribution-render.js +3 -55
  38. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  39. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.d.ts +9 -0
  40. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js +26 -0
  41. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -0
  42. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +1 -19
  43. package/cjs/render/contributions/render/contributions/base-contribution-render.js +2 -120
  44. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  45. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.d.ts +21 -0
  46. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +128 -0
  47. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -0
  48. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  49. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +2 -2
  50. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  51. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  52. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  53. package/cjs/render/contributions/render/contributions/index.d.ts +2 -0
  54. package/cjs/render/contributions/render/contributions/index.js +2 -1
  55. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  56. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  57. package/cjs/render/contributions/render/contributions/path-contribution-render.js +2 -2
  58. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  59. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  60. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +2 -2
  61. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  62. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  63. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +2 -2
  64. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  65. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  66. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +2 -2
  67. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  68. package/cjs/render/contributions/render/line-render.js +2 -2
  69. package/cjs/render/contributions/render/line-render.js.map +1 -1
  70. package/dist/index.js +92 -172
  71. package/dist/index.min.js +1 -1
  72. package/es/common/render-area.js +2 -12
  73. package/es/common/render-area.js.map +1 -1
  74. package/es/common/render-curve.js +1 -13
  75. package/es/common/render-curve.js.map +1 -1
  76. package/es/common/render-utils.d.ts +10 -0
  77. package/es/common/render-utils.js +14 -0
  78. package/es/common/render-utils.js.map +1 -0
  79. package/es/common/seg-context.js +1 -2
  80. package/es/common/segment/basis.js +2 -8
  81. package/es/common/segment/basis.js.map +1 -1
  82. package/es/common/segment/common.d.ts +4 -1
  83. package/es/common/segment/common.js +11 -0
  84. package/es/common/segment/common.js.map +1 -1
  85. package/es/common/segment/linear-closed.d.ts +2 -16
  86. package/es/common/segment/linear-closed.js +4 -38
  87. package/es/common/segment/linear-closed.js.map +1 -1
  88. package/es/common/segment/linear.d.ts +1 -1
  89. package/es/common/segment/linear.js +2 -8
  90. package/es/common/segment/linear.js.map +1 -1
  91. package/es/common/segment/monotone.d.ts +2 -2
  92. package/es/common/segment/monotone.js +7 -13
  93. package/es/common/segment/monotone.js.map +1 -1
  94. package/es/common/sort.js +2 -1
  95. package/es/core/constants.js +1 -1
  96. package/es/core/stage.js +2 -1
  97. package/es/core/stage.js.map +1 -1
  98. package/es/graphic/config.js +2 -0
  99. package/es/graphic/config.js.map +1 -1
  100. package/es/interface/graphic.d.ts +2 -0
  101. package/es/interface/graphic.js.map +1 -1
  102. package/es/render/contributions/render/area-render.js +16 -11
  103. package/es/render/contributions/render/area-render.js.map +1 -1
  104. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  105. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -1
  106. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  107. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +1 -9
  108. package/es/render/contributions/render/contributions/area-contribution-render.js +2 -51
  109. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  110. package/es/render/contributions/render/contributions/area-texture-contribution-render.d.ts +9 -0
  111. package/es/render/contributions/render/contributions/area-texture-contribution-render.js +18 -0
  112. package/es/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -0
  113. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +1 -19
  114. package/es/render/contributions/render/contributions/base-contribution-render.js +0 -120
  115. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  116. package/es/render/contributions/render/contributions/base-texture-contribution-render.d.ts +21 -0
  117. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +124 -0
  118. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -0
  119. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  120. package/es/render/contributions/render/contributions/circle-contribution-render.js +3 -1
  121. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  122. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  123. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  124. package/es/render/contributions/render/contributions/index.d.ts +2 -0
  125. package/es/render/contributions/render/contributions/index.js +4 -0
  126. package/es/render/contributions/render/contributions/index.js.map +1 -1
  127. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  128. package/es/render/contributions/render/contributions/path-contribution-render.js +3 -1
  129. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  130. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  131. package/es/render/contributions/render/contributions/polygon-contribution-render.js +3 -1
  132. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  133. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  134. package/es/render/contributions/render/contributions/rect-contribution-render.js +3 -1
  135. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  136. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  137. package/es/render/contributions/render/contributions/symbol-contribution-render.js +3 -1
  138. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  139. package/es/render/contributions/render/line-render.js +2 -2
  140. package/es/render/contributions/render/line-render.js.map +1 -1
  141. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -2139,6 +2139,15 @@
2139
2139
  }
2140
2140
  }
2141
2141
  }
2142
+ function genSegContext(curveType, direction, points) {
2143
+ const curveDirection = direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2144
+ ? exports.Direction.ROW
2145
+ : exports.Direction.COLUMN);
2146
+ if (curveType === 'monotoneY') {
2147
+ return new ReflectSegContext(curveType, curveDirection);
2148
+ }
2149
+ return new SegContext(curveType, curveDirection);
2150
+ }
2142
2151
 
2143
2152
  class Linear {
2144
2153
  constructor(context, startPoint) {
@@ -2188,9 +2197,7 @@
2188
2197
  if (points.length < 2 - Number(!!startPoint)) {
2189
2198
  return null;
2190
2199
  }
2191
- const segContext = new SegContext('linear', direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2192
- ? exports.Direction.ROW
2193
- : exports.Direction.COLUMN));
2200
+ const segContext = genSegContext('linear', direction, points);
2194
2201
  const linear = new Linear(segContext, startPoint);
2195
2202
  genLinearTypeSegments(linear, points);
2196
2203
  return segContext;
@@ -2267,9 +2274,7 @@
2267
2274
  if (points.length < 3 - Number(!!startPoint)) {
2268
2275
  return genLinearSegments(points, params);
2269
2276
  }
2270
- const segContext = new SegContext('basis', direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2271
- ? exports.Direction.ROW
2272
- : exports.Direction.COLUMN));
2277
+ const segContext = genSegContext('basis', direction, points);
2273
2278
  const basis = new Basis(segContext, startPoint);
2274
2279
  genBasisTypeSegments(basis, points);
2275
2280
  return segContext;
@@ -2370,7 +2375,7 @@
2370
2375
  return super.point({ y: p.x, x: p.y, defined: p.defined });
2371
2376
  }
2372
2377
  }
2373
- function genMonotpneXTypeSegments(path, points) {
2378
+ function genMonotoneXTypeSegments(path, points) {
2374
2379
  return genCurveSegments(path, points, 2);
2375
2380
  }
2376
2381
  function genMonotoneXSegments(points, params = {}) {
@@ -2381,14 +2386,12 @@
2381
2386
  if (points.length < 3 - Number(!!startPoint)) {
2382
2387
  return genLinearSegments(points, params);
2383
2388
  }
2384
- const segContext = new SegContext('monotoneX', direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2385
- ? exports.Direction.ROW
2386
- : exports.Direction.COLUMN));
2389
+ const segContext = genSegContext('monotoneX', direction, points);
2387
2390
  const monotoneX = new MonotoneX(segContext, startPoint);
2388
- genMonotpneXTypeSegments(monotoneX, points);
2391
+ genMonotoneXTypeSegments(monotoneX, points);
2389
2392
  return segContext;
2390
2393
  }
2391
- function genMonotpneYTypeSegments(path, points) {
2394
+ function genMonotoneYTypeSegments(path, points) {
2392
2395
  return genCurveSegments(path, points, 2);
2393
2396
  }
2394
2397
  function genMonotoneYSegments(points, params = {}) {
@@ -2399,11 +2402,9 @@
2399
2402
  if (points.length < 3 - Number(!!startPoint)) {
2400
2403
  return genLinearSegments(points, params);
2401
2404
  }
2402
- const segContext = new ReflectSegContext('monotoneY', direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2403
- ? exports.Direction.ROW
2404
- : exports.Direction.COLUMN));
2405
+ const segContext = genSegContext('monotoneY', direction, points);
2405
2406
  const monotoneY = new MonotoneY(segContext, startPoint);
2406
- genMonotpneYTypeSegments(monotoneY, points);
2407
+ genMonotoneYTypeSegments(monotoneY, points);
2407
2408
  return segContext;
2408
2409
  }
2409
2410
 
@@ -2484,54 +2485,17 @@
2484
2485
  return genCurveSegments(path, points, 1);
2485
2486
  }
2486
2487
 
2487
- class LinearClosed {
2488
- constructor(context, startPoint) {
2489
- this.context = context;
2490
- startPoint && (this.startPoint = startPoint);
2491
- }
2492
- areaStart() {
2493
- this._line = 0;
2494
- }
2495
- areaEnd() {
2496
- this._line = NaN;
2497
- }
2498
- lineStart() {
2499
- this._point = 0;
2500
- this.startPoint && this.point(this.startPoint);
2501
- }
2488
+ class LinearClosed extends Linear {
2502
2489
  lineEnd() {
2503
2490
  this.context.closePath();
2504
2491
  }
2505
- point(p) {
2506
- const x = p.x;
2507
- const y = p.y;
2508
- switch (this._point) {
2509
- case 0:
2510
- this._point = 1;
2511
- this._line
2512
- ? this.context.lineTo(x, y, this._lastDefined !== false && p.defined !== false, p)
2513
- : this.context.moveTo(x, y, p);
2514
- break;
2515
- case 1:
2516
- this._point = 2;
2517
- default:
2518
- this.context.lineTo(x, y, this._lastDefined !== false && p.defined !== false, p);
2519
- break;
2520
- }
2521
- this._lastDefined = p.defined;
2522
- }
2523
- tryUpdateLength() {
2524
- return this.context.tryUpdateLength();
2525
- }
2526
2492
  }
2527
2493
  function genLinearClosedSegments(points, params = {}) {
2528
2494
  const { direction, startPoint } = params;
2529
2495
  if (points.length < 2 - Number(!!startPoint)) {
2530
2496
  return null;
2531
2497
  }
2532
- const segContext = new SegContext('linear', direction !== null && direction !== void 0 ? direction : (vutils.abs(points[points.length - 1].x - points[0].x) > vutils.abs(points[points.length - 1].y - points[0].y)
2533
- ? exports.Direction.ROW
2534
- : exports.Direction.COLUMN));
2498
+ const segContext = genSegContext('linear', direction, points);
2535
2499
  const linear = new LinearClosed(segContext, startPoint);
2536
2500
  genLinearClosedTypeSegments(linear, points);
2537
2501
  return segContext;
@@ -3174,7 +3138,7 @@
3174
3138
  const DefaultDebugAttribute = {
3175
3139
  _debug_bounds: false
3176
3140
  };
3177
- const DefaultAttribute = Object.assign(Object.assign(Object.assign({ strokeSeg: null, pickable: true, childrenPickable: true, visible: true, zIndex: 0, layout: null, boundsPadding: 0, pickMode: 'accurate', customPickShape: null, boundsMode: 'accurate', keepDirIn3d: true, shadowRootIdx: 1, globalZIndex: 1, globalCompositeOperation: '', overflow: 'hidden' }, DefaultDebugAttribute), DefaultStyle), DefaultTransform);
3141
+ const DefaultAttribute = Object.assign(Object.assign(Object.assign({ strokeSeg: null, pickable: true, childrenPickable: true, fillPickable: true, strokePickable: true, visible: true, zIndex: 0, layout: null, boundsPadding: 0, pickMode: 'accurate', customPickShape: null, boundsMode: 'accurate', keepDirIn3d: true, shadowRootIdx: 1, globalZIndex: 1, globalCompositeOperation: '', overflow: 'hidden' }, DefaultDebugAttribute), DefaultStyle), DefaultTransform);
3178
3142
  function addAttributeToPrototype(obj, c, keys) {
3179
3143
  keys.forEach(key => {
3180
3144
  c.prototype[key] = obj[key];
@@ -18872,6 +18836,7 @@
18872
18836
  __param(0, named(InteractiveSubRenderContribution)),
18873
18837
  __metadata("design:paramtypes", [Object])
18874
18838
  ], exports.DefaultBaseInteractiveRenderContribution);
18839
+
18875
18840
  class DefaultBaseTextureRenderContribution {
18876
18841
  constructor() {
18877
18842
  this.time = exports.BaseRenderContributionTime.afterFillStroke;
@@ -18990,6 +18955,9 @@
18990
18955
  if (!texture) {
18991
18956
  return;
18992
18957
  }
18958
+ this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);
18959
+ }
18960
+ drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding) {
18993
18961
  let pattern = this.textureMap.get(texture);
18994
18962
  if (!pattern) {
18995
18963
  switch (texture) {
@@ -19591,6 +19559,25 @@
19591
19559
  const defaultSymbolTextureRenderContribution = defaultBaseTextureRenderContribution;
19592
19560
  const defaultSymbolBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
19593
19561
 
19562
+ class DefaultAreaTextureRenderContribution extends DefaultBaseTextureRenderContribution {
19563
+ constructor() {
19564
+ super(...arguments);
19565
+ this.time = exports.BaseRenderContributionTime.afterFillStroke;
19566
+ }
19567
+ drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
19568
+ var _a, _b, _c, _d;
19569
+ if (!this.textureMap) {
19570
+ this.initTextureMap(context, graphic.stage);
19571
+ }
19572
+ const { attribute = graphic.attribute } = options || {};
19573
+ const { texture = (_a = graphic.attribute.texture) !== null && _a !== void 0 ? _a : getAttributeFromDefaultAttrList(graphicAttribute, 'texture'), textureColor = (_b = graphic.attribute.textureColor) !== null && _b !== void 0 ? _b : getAttributeFromDefaultAttrList(graphicAttribute, 'textureColor'), textureSize = (_c = graphic.attribute.textureSize) !== null && _c !== void 0 ? _c : getAttributeFromDefaultAttrList(graphicAttribute, 'textureSize'), texturePadding = (_d = graphic.attribute.texturePadding) !== null && _d !== void 0 ? _d : getAttributeFromDefaultAttrList(graphicAttribute, 'texturePadding') } = attribute;
19574
+ if (!texture) {
19575
+ return;
19576
+ }
19577
+ this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);
19578
+ }
19579
+ }
19580
+
19594
19581
  exports.DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
19595
19582
  constructor(arcRenderContribitions) {
19596
19583
  super();
@@ -19870,6 +19857,31 @@
19870
19857
  __metadata("design:paramtypes", [Object])
19871
19858
  ], exports.DefaultCanvasCircleRender);
19872
19859
 
19860
+ function drawSegItem(ctx, curve, endPercent, params) {
19861
+ if (!curve.p1) {
19862
+ return;
19863
+ }
19864
+ const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};
19865
+ if (endPercent === 1) {
19866
+ if (curve.p2 && curve.p3) {
19867
+ ctx.bezierCurveTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetX + curve.p2.x, offsetY + curve.p2.y, offsetX + curve.p3.x, offsetY + curve.p3.y, offsetZ);
19868
+ }
19869
+ else {
19870
+ ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);
19871
+ }
19872
+ }
19873
+ else {
19874
+ if (curve.p2 && curve.p3) {
19875
+ const [curve1] = divideCubic(curve, endPercent);
19876
+ ctx.bezierCurveTo(offsetX + curve1.p1.x, offsetY + curve1.p1.y, offsetX + curve1.p2.x, offsetY + curve1.p2.y, offsetX + curve1.p3.x, offsetY + curve1.p3.y, offsetZ);
19877
+ }
19878
+ else {
19879
+ const p = curve.getPointAt(endPercent);
19880
+ ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
19881
+ }
19882
+ }
19883
+ }
19884
+
19873
19885
  function drawSegments(path, segPath, percent, clipRangeByDimension, params) {
19874
19886
  var _a;
19875
19887
  const { offsetX = 0, offsetY = 0, offsetZ = 0, mode = 'none', drawConnect = false, zeroX = 0, zeroY = 0 } = params || {};
@@ -19935,7 +19947,7 @@
19935
19947
  if (needMoveTo) {
19936
19948
  path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);
19937
19949
  }
19938
- drawSegItem$1(path, curve, 1, params);
19950
+ drawSegItem(path, curve, 1, params);
19939
19951
  needMoveTo = false;
19940
19952
  });
19941
19953
  }
@@ -20014,7 +20026,7 @@
20014
20026
  if (needMoveTo) {
20015
20027
  path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);
20016
20028
  }
20017
- drawSegItem$1(path, curve, vutils.min(_p, 1), params);
20029
+ drawSegItem(path, curve, vutils.min(_p, 1), params);
20018
20030
  needMoveTo = false;
20019
20031
  }
20020
20032
  }
@@ -20058,30 +20070,6 @@
20058
20070
  path.closePath();
20059
20071
  });
20060
20072
  }
20061
- function drawSegItem$1(ctx, curve, endPercent, params) {
20062
- if (!curve.p1) {
20063
- return;
20064
- }
20065
- const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};
20066
- if (endPercent === 1) {
20067
- if (curve.p2 && curve.p3) {
20068
- ctx.bezierCurveTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetX + curve.p2.x, offsetY + curve.p2.y, offsetX + curve.p3.x, offsetY + curve.p3.y, offsetZ);
20069
- }
20070
- else {
20071
- ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);
20072
- }
20073
- }
20074
- else {
20075
- if (curve.p2 && curve.p3) {
20076
- const [curve1] = divideCubic(curve, endPercent);
20077
- ctx.bezierCurveTo(offsetX + curve1.p1.x, offsetY + curve1.p1.y, offsetX + curve1.p2.x, offsetY + curve1.p2.y, offsetX + curve1.p3.x, offsetY + curve1.p3.y, offsetZ);
20078
- }
20079
- else {
20080
- const p = curve.getPointAt(endPercent);
20081
- ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
20082
- }
20083
- }
20084
- }
20085
20073
 
20086
20074
  exports.DefaultCanvasLineRender = class DefaultCanvasLineRender extends BaseRender {
20087
20075
  constructor() {
@@ -20194,10 +20182,10 @@
20194
20182
  const z = (_a = this.z) !== null && _a !== void 0 ? _a : 0;
20195
20183
  const { points } = line.attribute;
20196
20184
  const startP = points[0];
20197
- context.moveTo(startP.x, startP.y, z);
20185
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20198
20186
  for (let i = 1; i < points.length; i++) {
20199
20187
  const p = points[i];
20200
- context.lineTo(p.x, p.y, z);
20188
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20201
20189
  }
20202
20190
  context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);
20203
20191
  const { x: originX = 0, x: originY = 0 } = line.attribute;
@@ -20624,84 +20612,7 @@
20624
20612
  }
20625
20613
  path.closePath();
20626
20614
  }
20627
- function drawSegItem(ctx, curve, endPercent, params) {
20628
- if (!curve.p1) {
20629
- return;
20630
- }
20631
- const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};
20632
- if (endPercent === 1) {
20633
- if (curve.p2 && curve.p3) {
20634
- ctx.bezierCurveTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetX + curve.p2.x, offsetY + curve.p2.y, offsetX + curve.p3.x, offsetY + curve.p3.y, offsetZ);
20635
- }
20636
- else {
20637
- ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);
20638
- }
20639
- }
20640
- else {
20641
- if (curve.p2 && curve.p3) {
20642
- const [curve1] = divideCubic(curve, endPercent);
20643
- ctx.bezierCurveTo(offsetX + curve1.p1.x, offsetY + curve1.p1.y, offsetX + curve1.p2.x, offsetY + curve1.p2.y, offsetX + curve1.p3.x, offsetY + curve1.p3.y, offsetZ);
20644
- }
20645
- else {
20646
- const p = curve.getPointAt(endPercent);
20647
- ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
20648
- }
20649
- }
20650
- }
20651
20615
 
20652
- class DefaultAreaTextureRenderContribution extends DefaultBaseTextureRenderContribution {
20653
- constructor() {
20654
- super(...arguments);
20655
- this.time = exports.BaseRenderContributionTime.afterFillStroke;
20656
- }
20657
- drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
20658
- var _a, _b, _c, _d;
20659
- if (!this.textureMap) {
20660
- this.initTextureMap(context, graphic.stage);
20661
- }
20662
- const { attribute = graphic.attribute } = options || {};
20663
- const { texture = (_a = graphic.attribute.texture) !== null && _a !== void 0 ? _a : getAttributeFromDefaultAttrList(graphicAttribute, 'texture'), textureColor = (_b = graphic.attribute.textureColor) !== null && _b !== void 0 ? _b : getAttributeFromDefaultAttrList(graphicAttribute, 'textureColor'), textureSize = (_c = graphic.attribute.textureSize) !== null && _c !== void 0 ? _c : getAttributeFromDefaultAttrList(graphicAttribute, 'textureSize'), texturePadding = (_d = graphic.attribute.texturePadding) !== null && _d !== void 0 ? _d : getAttributeFromDefaultAttrList(graphicAttribute, 'texturePadding') } = attribute;
20664
- if (!texture) {
20665
- return;
20666
- }
20667
- let pattern = this.textureMap.get(texture);
20668
- if (!pattern) {
20669
- switch (texture) {
20670
- case 'circle':
20671
- pattern = this.createCirclePattern(textureSize, texturePadding, textureColor, context);
20672
- break;
20673
- case 'diamond':
20674
- pattern = this.createDiamondPattern(textureSize, texturePadding, textureColor, context);
20675
- break;
20676
- case 'rect':
20677
- pattern = this.createRectPattern(textureSize, texturePadding, textureColor, context);
20678
- break;
20679
- case 'vertical-line':
20680
- pattern = this.createVerticalLinePattern(textureSize, texturePadding, textureColor, context);
20681
- break;
20682
- case 'horizontal-line':
20683
- pattern = this.createHorizontalLinePattern(textureSize, texturePadding, textureColor, context);
20684
- break;
20685
- case 'bias-lr':
20686
- pattern = this.createBiasLRLinePattern(textureSize, texturePadding, textureColor, context);
20687
- break;
20688
- case 'bias-rl':
20689
- pattern = this.createBiasRLLinePattern(textureSize, texturePadding, textureColor, context);
20690
- break;
20691
- case 'grid':
20692
- pattern = this.createGridPattern(textureSize, texturePadding, textureColor, context);
20693
- break;
20694
- }
20695
- }
20696
- if (pattern) {
20697
- context.highPerformanceSave();
20698
- context.setCommonStyle(graphic, graphic.attribute, x, y, graphicAttribute);
20699
- context.fillStyle = pattern;
20700
- context.fill();
20701
- context.highPerformanceRestore();
20702
- }
20703
- }
20704
- }
20705
20616
  const defaultAreaTextureRenderContribution = new DefaultAreaTextureRenderContribution();
20706
20617
  const defaultAreaBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
20707
20618
 
@@ -20741,17 +20652,18 @@
20741
20652
  const z = (_a = this.z) !== null && _a !== void 0 ? _a : 0;
20742
20653
  const { points } = area.attribute;
20743
20654
  const startP = points[0];
20744
- context.moveTo(startP.x, startP.y, z);
20655
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20745
20656
  for (let i = 1; i < points.length; i++) {
20746
20657
  const p = points[i];
20747
- context.lineTo(p.x, p.y, z);
20658
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20748
20659
  }
20749
20660
  for (let i = points.length - 1; i >= 0; i--) {
20750
20661
  const p = points[i];
20751
- context.lineTo((_b = p.x1) !== null && _b !== void 0 ? _b : p.x, (_c = p.y1) !== null && _c !== void 0 ? _c : p.y, z);
20662
+ context.lineTo(((_b = p.x1) !== null && _b !== void 0 ? _b : p.x) + offsetX, ((_c = p.y1) !== null && _c !== void 0 ? _c : p.y) + offsetY, z);
20752
20663
  }
20753
20664
  context.closePath();
20754
20665
  context.setShadowBlendStyle && context.setShadowBlendStyle(area, area.attribute, areaAttribute);
20666
+ this.beforeRenderStep(area, context, offsetX, offsetY, !!fillOpacity, false, fill, false, areaAttribute, drawContext, fillCb, null, { attribute: area.attribute });
20755
20667
  const { x: originX = 0, x: originY = 0 } = area.attribute;
20756
20668
  if (fill !== false) {
20757
20669
  if (fillCb) {
@@ -20762,28 +20674,34 @@
20762
20674
  context.fill();
20763
20675
  }
20764
20676
  }
20677
+ this.afterRenderStep(area, context, offsetX, offsetY, !!fillOpacity, false, fill, false, areaAttribute, drawContext, fillCb, null, { attribute: area.attribute });
20765
20678
  if (stroke) {
20766
20679
  const { stroke = areaAttribute && areaAttribute.stroke } = area.attribute;
20767
20680
  if (vutils.isArray(stroke) && (stroke[0] || stroke[2]) && stroke[1] === false) {
20768
20681
  context.beginPath();
20769
20682
  if (stroke[0]) {
20770
- context.moveTo(startP.x, startP.y, z);
20683
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20771
20684
  for (let i = 1; i < points.length; i++) {
20772
20685
  const p = points[i];
20773
- context.lineTo(p.x, p.y, z);
20686
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20774
20687
  }
20775
20688
  }
20776
20689
  else if (stroke[2]) {
20777
20690
  const endP = points[points.length - 1];
20778
- context.moveTo(endP.x, endP.y, z);
20691
+ context.moveTo(endP.x + offsetX, endP.y + offsetY, z);
20779
20692
  for (let i = points.length - 2; i >= 0; i--) {
20780
20693
  const p = points[i];
20781
- context.lineTo((_d = p.x1) !== null && _d !== void 0 ? _d : p.x, (_e = p.y1) !== null && _e !== void 0 ? _e : p.y, z);
20694
+ context.lineTo(((_d = p.x1) !== null && _d !== void 0 ? _d : p.x) + offsetX, ((_e = p.y1) !== null && _e !== void 0 ? _e : p.y) + offsetY, z);
20782
20695
  }
20783
20696
  }
20784
20697
  }
20785
- context.setStrokeStyle(area, area.attribute, originX - offsetX, originY - offsetY, areaAttribute);
20786
- context.stroke();
20698
+ if (strokeCb) {
20699
+ strokeCb(context, area.attribute, areaAttribute);
20700
+ }
20701
+ else {
20702
+ context.setStrokeStyle(area, area.attribute, originX - offsetX, originY - offsetY, areaAttribute);
20703
+ context.stroke();
20704
+ }
20787
20705
  }
20788
20706
  }
20789
20707
  drawShape(area, context, x, y, drawContext, params, fillCb, strokeCb) {
@@ -25207,6 +25125,7 @@
25207
25125
  if (this.supportInteractiveLayer && !this.interactiveLayer) {
25208
25126
  this.interactiveLayer = this.createLayer();
25209
25127
  this.interactiveLayer.name = '_builtin_interactive';
25128
+ this.interactiveLayer.attribute.pickable = false;
25210
25129
  this.nextFrameRenderLayerSet.add(this.interactiveLayer);
25211
25130
  }
25212
25131
  }
@@ -27305,6 +27224,7 @@
27305
27224
  exports.DefaultArcRenderContribution = DefaultArcRenderContribution;
27306
27225
  exports.DefaultAreaAllocate = DefaultAreaAllocate;
27307
27226
  exports.DefaultAreaAttribute = DefaultAreaAttribute;
27227
+ exports.DefaultAreaTextureRenderContribution = DefaultAreaTextureRenderContribution;
27308
27228
  exports.DefaultAttribute = DefaultAttribute;
27309
27229
  exports.DefaultBaseBackgroundRenderContribution = DefaultBaseBackgroundRenderContribution;
27310
27230
  exports.DefaultBaseTextureRenderContribution = DefaultBaseTextureRenderContribution;
@@ -27574,9 +27494,9 @@
27574
27494
  exports.genLinearSegments = genLinearSegments;
27575
27495
  exports.genLinearTypeSegments = genLinearTypeSegments;
27576
27496
  exports.genMonotoneXSegments = genMonotoneXSegments;
27497
+ exports.genMonotoneXTypeSegments = genMonotoneXTypeSegments;
27577
27498
  exports.genMonotoneYSegments = genMonotoneYSegments;
27578
- exports.genMonotpneXTypeSegments = genMonotpneXTypeSegments;
27579
- exports.genMonotpneYTypeSegments = genMonotpneYTypeSegments;
27499
+ exports.genMonotoneYTypeSegments = genMonotoneYTypeSegments;
27580
27500
  exports.genNumberType = genNumberType;
27581
27501
  exports.genStepSegments = genStepSegments;
27582
27502
  exports.genStepTypeSegments = genStepTypeSegments;