@visactor/vrender-core 0.17.9 → 0.17.11-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 (145) 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/graphic/text.js +2 -2
  30. package/cjs/graphic/text.js.map +1 -1
  31. package/cjs/interface/graphic.d.ts +2 -0
  32. package/cjs/interface/graphic.js.map +1 -1
  33. package/cjs/render/contributions/render/area-render.js +16 -11
  34. package/cjs/render/contributions/render/area-render.js.map +1 -1
  35. package/cjs/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  36. package/cjs/render/contributions/render/contributions/arc-contribution-render.js +2 -2
  37. package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  38. package/cjs/render/contributions/render/contributions/area-contribution-render.d.ts +1 -9
  39. package/cjs/render/contributions/render/contributions/area-contribution-render.js +3 -55
  40. package/cjs/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  41. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.d.ts +9 -0
  42. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js +26 -0
  43. package/cjs/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -0
  44. package/cjs/render/contributions/render/contributions/base-contribution-render.d.ts +1 -19
  45. package/cjs/render/contributions/render/contributions/base-contribution-render.js +2 -120
  46. package/cjs/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  47. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.d.ts +21 -0
  48. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js +128 -0
  49. package/cjs/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -0
  50. package/cjs/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  51. package/cjs/render/contributions/render/contributions/circle-contribution-render.js +2 -2
  52. package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  53. package/cjs/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  54. package/cjs/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  55. package/cjs/render/contributions/render/contributions/index.d.ts +2 -0
  56. package/cjs/render/contributions/render/contributions/index.js +2 -1
  57. package/cjs/render/contributions/render/contributions/index.js.map +1 -1
  58. package/cjs/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  59. package/cjs/render/contributions/render/contributions/path-contribution-render.js +2 -2
  60. package/cjs/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  61. package/cjs/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  62. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js +2 -2
  63. package/cjs/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  64. package/cjs/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  65. package/cjs/render/contributions/render/contributions/rect-contribution-render.js +2 -2
  66. package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  67. package/cjs/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  68. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +2 -2
  69. package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  70. package/cjs/render/contributions/render/line-render.js +2 -2
  71. package/cjs/render/contributions/render/line-render.js.map +1 -1
  72. package/dist/index.js +96 -173
  73. package/dist/index.min.js +1 -1
  74. package/es/common/render-area.js +2 -12
  75. package/es/common/render-area.js.map +1 -1
  76. package/es/common/render-curve.js +1 -13
  77. package/es/common/render-curve.js.map +1 -1
  78. package/es/common/render-utils.d.ts +10 -0
  79. package/es/common/render-utils.js +14 -0
  80. package/es/common/render-utils.js.map +1 -0
  81. package/es/common/seg-context.js +1 -2
  82. package/es/common/segment/basis.js +2 -8
  83. package/es/common/segment/basis.js.map +1 -1
  84. package/es/common/segment/common.d.ts +4 -1
  85. package/es/common/segment/common.js +11 -0
  86. package/es/common/segment/common.js.map +1 -1
  87. package/es/common/segment/linear-closed.d.ts +2 -16
  88. package/es/common/segment/linear-closed.js +4 -38
  89. package/es/common/segment/linear-closed.js.map +1 -1
  90. package/es/common/segment/linear.d.ts +1 -1
  91. package/es/common/segment/linear.js +2 -8
  92. package/es/common/segment/linear.js.map +1 -1
  93. package/es/common/segment/monotone.d.ts +2 -2
  94. package/es/common/segment/monotone.js +7 -13
  95. package/es/common/segment/monotone.js.map +1 -1
  96. package/es/common/sort.js +2 -1
  97. package/es/core/constants.js +1 -1
  98. package/es/core/stage.js +2 -1
  99. package/es/core/stage.js.map +1 -1
  100. package/es/graphic/config.js +2 -0
  101. package/es/graphic/config.js.map +1 -1
  102. package/es/graphic/text.js +2 -2
  103. package/es/graphic/text.js.map +1 -1
  104. package/es/interface/graphic.d.ts +2 -0
  105. package/es/interface/graphic.js.map +1 -1
  106. package/es/render/contributions/render/area-render.js +16 -11
  107. package/es/render/contributions/render/area-render.js.map +1 -1
  108. package/es/render/contributions/render/contributions/arc-contribution-render.d.ts +1 -1
  109. package/es/render/contributions/render/contributions/arc-contribution-render.js +3 -1
  110. package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
  111. package/es/render/contributions/render/contributions/area-contribution-render.d.ts +1 -9
  112. package/es/render/contributions/render/contributions/area-contribution-render.js +2 -51
  113. package/es/render/contributions/render/contributions/area-contribution-render.js.map +1 -1
  114. package/es/render/contributions/render/contributions/area-texture-contribution-render.d.ts +9 -0
  115. package/es/render/contributions/render/contributions/area-texture-contribution-render.js +18 -0
  116. package/es/render/contributions/render/contributions/area-texture-contribution-render.js.map +1 -0
  117. package/es/render/contributions/render/contributions/base-contribution-render.d.ts +1 -19
  118. package/es/render/contributions/render/contributions/base-contribution-render.js +0 -120
  119. package/es/render/contributions/render/contributions/base-contribution-render.js.map +1 -1
  120. package/es/render/contributions/render/contributions/base-texture-contribution-render.d.ts +21 -0
  121. package/es/render/contributions/render/contributions/base-texture-contribution-render.js +124 -0
  122. package/es/render/contributions/render/contributions/base-texture-contribution-render.js.map +1 -0
  123. package/es/render/contributions/render/contributions/circle-contribution-render.d.ts +1 -1
  124. package/es/render/contributions/render/contributions/circle-contribution-render.js +3 -1
  125. package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
  126. package/es/render/contributions/render/contributions/group-contribution-render.js.map +1 -1
  127. package/es/render/contributions/render/contributions/image-contribution-render.js.map +1 -1
  128. package/es/render/contributions/render/contributions/index.d.ts +2 -0
  129. package/es/render/contributions/render/contributions/index.js +4 -0
  130. package/es/render/contributions/render/contributions/index.js.map +1 -1
  131. package/es/render/contributions/render/contributions/path-contribution-render.d.ts +1 -1
  132. package/es/render/contributions/render/contributions/path-contribution-render.js +3 -1
  133. package/es/render/contributions/render/contributions/path-contribution-render.js.map +1 -1
  134. package/es/render/contributions/render/contributions/polygon-contribution-render.d.ts +1 -1
  135. package/es/render/contributions/render/contributions/polygon-contribution-render.js +3 -1
  136. package/es/render/contributions/render/contributions/polygon-contribution-render.js.map +1 -1
  137. package/es/render/contributions/render/contributions/rect-contribution-render.d.ts +1 -1
  138. package/es/render/contributions/render/contributions/rect-contribution-render.js +3 -1
  139. package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
  140. package/es/render/contributions/render/contributions/symbol-contribution-render.d.ts +1 -1
  141. package/es/render/contributions/render/contributions/symbol-contribution-render.js +3 -1
  142. package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
  143. package/es/render/contributions/render/line-render.js +2 -2
  144. package/es/render/contributions/render/line-render.js.map +1 -1
  145. package/package.json +2 -2
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];
@@ -13615,7 +13579,7 @@
13615
13579
  get cliped() {
13616
13580
  const textTheme = getTheme(this).text;
13617
13581
  const attribute = this.attribute;
13618
- if (!this.isSimplify()) {
13582
+ if (this.isMultiLine) {
13619
13583
  return undefined;
13620
13584
  }
13621
13585
  const { maxLineWidth = textTheme.maxLineWidth } = attribute;
@@ -13623,6 +13587,9 @@
13623
13587
  return false;
13624
13588
  }
13625
13589
  this.tryUpdateAABBBounds();
13590
+ if (attribute.direction === 'vertical' && this.cache.verticalList && this.cache.verticalList[0]) {
13591
+ return this.cache.verticalList[0].map(item => item.text).join('') !== attribute.text.toString();
13592
+ }
13626
13593
  if (this.clipedText == null) {
13627
13594
  return false;
13628
13595
  }
@@ -18872,6 +18839,7 @@
18872
18839
  __param(0, named(InteractiveSubRenderContribution)),
18873
18840
  __metadata("design:paramtypes", [Object])
18874
18841
  ], exports.DefaultBaseInteractiveRenderContribution);
18842
+
18875
18843
  class DefaultBaseTextureRenderContribution {
18876
18844
  constructor() {
18877
18845
  this.time = exports.BaseRenderContributionTime.afterFillStroke;
@@ -18990,6 +18958,9 @@
18990
18958
  if (!texture) {
18991
18959
  return;
18992
18960
  }
18961
+ this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);
18962
+ }
18963
+ drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding) {
18993
18964
  let pattern = this.textureMap.get(texture);
18994
18965
  if (!pattern) {
18995
18966
  switch (texture) {
@@ -19591,6 +19562,25 @@
19591
19562
  const defaultSymbolTextureRenderContribution = defaultBaseTextureRenderContribution;
19592
19563
  const defaultSymbolBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
19593
19564
 
19565
+ class DefaultAreaTextureRenderContribution extends DefaultBaseTextureRenderContribution {
19566
+ constructor() {
19567
+ super(...arguments);
19568
+ this.time = exports.BaseRenderContributionTime.afterFillStroke;
19569
+ }
19570
+ drawShape(graphic, context, x, y, doFill, doStroke, fVisible, sVisible, graphicAttribute, drawContext, fillCb, strokeCb, options) {
19571
+ var _a, _b, _c, _d;
19572
+ if (!this.textureMap) {
19573
+ this.initTextureMap(context, graphic.stage);
19574
+ }
19575
+ const { attribute = graphic.attribute } = options || {};
19576
+ 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;
19577
+ if (!texture) {
19578
+ return;
19579
+ }
19580
+ this.drawTexture(texture, graphic, context, x, y, graphicAttribute, textureColor, textureSize, texturePadding);
19581
+ }
19582
+ }
19583
+
19594
19584
  exports.DefaultCanvasArcRender = class DefaultCanvasArcRender extends BaseRender {
19595
19585
  constructor(arcRenderContribitions) {
19596
19586
  super();
@@ -19870,6 +19860,31 @@
19870
19860
  __metadata("design:paramtypes", [Object])
19871
19861
  ], exports.DefaultCanvasCircleRender);
19872
19862
 
19863
+ function drawSegItem(ctx, curve, endPercent, params) {
19864
+ if (!curve.p1) {
19865
+ return;
19866
+ }
19867
+ const { offsetX = 0, offsetY = 0, offsetZ = 0 } = params || {};
19868
+ if (endPercent === 1) {
19869
+ if (curve.p2 && curve.p3) {
19870
+ 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);
19871
+ }
19872
+ else {
19873
+ ctx.lineTo(offsetX + curve.p1.x, offsetY + curve.p1.y, offsetZ);
19874
+ }
19875
+ }
19876
+ else {
19877
+ if (curve.p2 && curve.p3) {
19878
+ const [curve1] = divideCubic(curve, endPercent);
19879
+ 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);
19880
+ }
19881
+ else {
19882
+ const p = curve.getPointAt(endPercent);
19883
+ ctx.lineTo(offsetX + p.x, offsetY + p.y, offsetZ);
19884
+ }
19885
+ }
19886
+ }
19887
+
19873
19888
  function drawSegments(path, segPath, percent, clipRangeByDimension, params) {
19874
19889
  var _a;
19875
19890
  const { offsetX = 0, offsetY = 0, offsetZ = 0, mode = 'none', drawConnect = false, zeroX = 0, zeroY = 0 } = params || {};
@@ -19935,7 +19950,7 @@
19935
19950
  if (needMoveTo) {
19936
19951
  path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);
19937
19952
  }
19938
- drawSegItem$1(path, curve, 1, params);
19953
+ drawSegItem(path, curve, 1, params);
19939
19954
  needMoveTo = false;
19940
19955
  });
19941
19956
  }
@@ -20014,7 +20029,7 @@
20014
20029
  if (needMoveTo) {
20015
20030
  path.moveTo(curve.p0.x + offsetX, curve.p0.y + offsetY, offsetZ);
20016
20031
  }
20017
- drawSegItem$1(path, curve, vutils.min(_p, 1), params);
20032
+ drawSegItem(path, curve, vutils.min(_p, 1), params);
20018
20033
  needMoveTo = false;
20019
20034
  }
20020
20035
  }
@@ -20058,30 +20073,6 @@
20058
20073
  path.closePath();
20059
20074
  });
20060
20075
  }
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
20076
 
20086
20077
  exports.DefaultCanvasLineRender = class DefaultCanvasLineRender extends BaseRender {
20087
20078
  constructor() {
@@ -20194,10 +20185,10 @@
20194
20185
  const z = (_a = this.z) !== null && _a !== void 0 ? _a : 0;
20195
20186
  const { points } = line.attribute;
20196
20187
  const startP = points[0];
20197
- context.moveTo(startP.x, startP.y, z);
20188
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20198
20189
  for (let i = 1; i < points.length; i++) {
20199
20190
  const p = points[i];
20200
- context.lineTo(p.x, p.y, z);
20191
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20201
20192
  }
20202
20193
  context.setShadowBlendStyle && context.setShadowBlendStyle(line, line.attribute, lineAttribute);
20203
20194
  const { x: originX = 0, x: originY = 0 } = line.attribute;
@@ -20624,84 +20615,7 @@
20624
20615
  }
20625
20616
  path.closePath();
20626
20617
  }
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
20618
 
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
20619
  const defaultAreaTextureRenderContribution = new DefaultAreaTextureRenderContribution();
20706
20620
  const defaultAreaBackgroundRenderContribution = defaultBaseBackgroundRenderContribution;
20707
20621
 
@@ -20741,17 +20655,18 @@
20741
20655
  const z = (_a = this.z) !== null && _a !== void 0 ? _a : 0;
20742
20656
  const { points } = area.attribute;
20743
20657
  const startP = points[0];
20744
- context.moveTo(startP.x, startP.y, z);
20658
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20745
20659
  for (let i = 1; i < points.length; i++) {
20746
20660
  const p = points[i];
20747
- context.lineTo(p.x, p.y, z);
20661
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20748
20662
  }
20749
20663
  for (let i = points.length - 1; i >= 0; i--) {
20750
20664
  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);
20665
+ 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
20666
  }
20753
20667
  context.closePath();
20754
20668
  context.setShadowBlendStyle && context.setShadowBlendStyle(area, area.attribute, areaAttribute);
20669
+ this.beforeRenderStep(area, context, offsetX, offsetY, !!fillOpacity, false, fill, false, areaAttribute, drawContext, fillCb, null, { attribute: area.attribute });
20755
20670
  const { x: originX = 0, x: originY = 0 } = area.attribute;
20756
20671
  if (fill !== false) {
20757
20672
  if (fillCb) {
@@ -20762,28 +20677,34 @@
20762
20677
  context.fill();
20763
20678
  }
20764
20679
  }
20680
+ this.afterRenderStep(area, context, offsetX, offsetY, !!fillOpacity, false, fill, false, areaAttribute, drawContext, fillCb, null, { attribute: area.attribute });
20765
20681
  if (stroke) {
20766
20682
  const { stroke = areaAttribute && areaAttribute.stroke } = area.attribute;
20767
20683
  if (vutils.isArray(stroke) && (stroke[0] || stroke[2]) && stroke[1] === false) {
20768
20684
  context.beginPath();
20769
20685
  if (stroke[0]) {
20770
- context.moveTo(startP.x, startP.y, z);
20686
+ context.moveTo(startP.x + offsetX, startP.y + offsetY, z);
20771
20687
  for (let i = 1; i < points.length; i++) {
20772
20688
  const p = points[i];
20773
- context.lineTo(p.x, p.y, z);
20689
+ context.lineTo(p.x + offsetX, p.y + offsetY, z);
20774
20690
  }
20775
20691
  }
20776
20692
  else if (stroke[2]) {
20777
20693
  const endP = points[points.length - 1];
20778
- context.moveTo(endP.x, endP.y, z);
20694
+ context.moveTo(endP.x + offsetX, endP.y + offsetY, z);
20779
20695
  for (let i = points.length - 2; i >= 0; i--) {
20780
20696
  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);
20697
+ 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
20698
  }
20783
20699
  }
20784
20700
  }
20785
- context.setStrokeStyle(area, area.attribute, originX - offsetX, originY - offsetY, areaAttribute);
20786
- context.stroke();
20701
+ if (strokeCb) {
20702
+ strokeCb(context, area.attribute, areaAttribute);
20703
+ }
20704
+ else {
20705
+ context.setStrokeStyle(area, area.attribute, originX - offsetX, originY - offsetY, areaAttribute);
20706
+ context.stroke();
20707
+ }
20787
20708
  }
20788
20709
  }
20789
20710
  drawShape(area, context, x, y, drawContext, params, fillCb, strokeCb) {
@@ -25207,6 +25128,7 @@
25207
25128
  if (this.supportInteractiveLayer && !this.interactiveLayer) {
25208
25129
  this.interactiveLayer = this.createLayer();
25209
25130
  this.interactiveLayer.name = '_builtin_interactive';
25131
+ this.interactiveLayer.attribute.pickable = false;
25210
25132
  this.nextFrameRenderLayerSet.add(this.interactiveLayer);
25211
25133
  }
25212
25134
  }
@@ -27305,6 +27227,7 @@
27305
27227
  exports.DefaultArcRenderContribution = DefaultArcRenderContribution;
27306
27228
  exports.DefaultAreaAllocate = DefaultAreaAllocate;
27307
27229
  exports.DefaultAreaAttribute = DefaultAreaAttribute;
27230
+ exports.DefaultAreaTextureRenderContribution = DefaultAreaTextureRenderContribution;
27308
27231
  exports.DefaultAttribute = DefaultAttribute;
27309
27232
  exports.DefaultBaseBackgroundRenderContribution = DefaultBaseBackgroundRenderContribution;
27310
27233
  exports.DefaultBaseTextureRenderContribution = DefaultBaseTextureRenderContribution;
@@ -27574,9 +27497,9 @@
27574
27497
  exports.genLinearSegments = genLinearSegments;
27575
27498
  exports.genLinearTypeSegments = genLinearTypeSegments;
27576
27499
  exports.genMonotoneXSegments = genMonotoneXSegments;
27500
+ exports.genMonotoneXTypeSegments = genMonotoneXTypeSegments;
27577
27501
  exports.genMonotoneYSegments = genMonotoneYSegments;
27578
- exports.genMonotpneXTypeSegments = genMonotpneXTypeSegments;
27579
- exports.genMonotpneYTypeSegments = genMonotpneYTypeSegments;
27502
+ exports.genMonotoneYTypeSegments = genMonotoneYTypeSegments;
27580
27503
  exports.genNumberType = genNumberType;
27581
27504
  exports.genStepSegments = genStepSegments;
27582
27505
  exports.genStepTypeSegments = genStepTypeSegments;