@wcardinal/wcardinal-ui 0.404.0 → 0.405.0

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 (151) hide show
  1. package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +0 -3
  2. package/dist/types/wcardinal/ui/shape/e-shape-points-formatted.d.ts +2 -0
  3. package/dist/types/wcardinal/ui/shape/e-shape-points.d.ts +2 -0
  4. package/dist/types/wcardinal/ui/shape/e-shape-text.d.ts +3 -0
  5. package/dist/types/wcardinal/ui/shape/e-shape-uploaded.d.ts +5 -5
  6. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +1 -1
  7. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +3 -3
  8. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +9 -7
  9. package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +3 -3
  10. package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +3 -3
  11. package/dist/types/wcardinal/ui/shape/variant/builder-label.d.ts +10 -9
  12. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +4 -1
  13. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +2 -2
  14. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +3 -3
  15. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +2 -2
  16. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +3 -3
  17. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +2 -2
  18. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +4 -3
  19. package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +3 -3
  20. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +3 -3
  21. package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/shape/variant/builder-null.d.ts +10 -9
  23. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +3 -2
  24. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +3 -3
  25. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +3 -2
  26. package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +3 -3
  27. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +9 -7
  28. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +3 -3
  29. package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +3 -2
  30. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +5 -2
  31. package/dist/types/wcardinal/ui/shape/variant/create-line-of-any-uploaded.d.ts +2 -2
  32. package/dist/types/wcardinal/ui/shape/variant/e-shape-bar-points.d.ts +1 -0
  33. package/dist/types/wcardinal/ui/shape/variant/e-shape-group-points.d.ts +1 -0
  34. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.d.ts +3 -0
  35. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-points.d.ts +3 -0
  36. package/dist/types/wcardinal/ui/shape/variant/e-shape-text-impl.d.ts +5 -0
  37. package/dist/wcardinal/ui/shape/e-shape-buffer.js +11 -27
  38. package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
  39. package/dist/wcardinal/ui/shape/e-shape-points-formatted.js.map +1 -1
  40. package/dist/wcardinal/ui/shape/e-shape-points.js.map +1 -1
  41. package/dist/wcardinal/ui/shape/e-shape-text.js.map +1 -1
  42. package/dist/wcardinal/ui/shape/e-shape-uploaded.js +22 -8
  43. package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
  44. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +1 -1
  45. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
  46. package/dist/wcardinal/ui/shape/variant/build-line.js +6 -5
  47. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  48. package/dist/wcardinal/ui/shape/variant/build-text.js +1 -1
  49. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  50. package/dist/wcardinal/ui/shape/variant/builder-bar.js +6 -4
  51. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  52. package/dist/wcardinal/ui/shape/variant/builder-base.js +22 -1
  53. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  54. package/dist/wcardinal/ui/shape/variant/builder-circle.js +6 -4
  55. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  56. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +6 -4
  57. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  58. package/dist/wcardinal/ui/shape/variant/builder-label.js +13 -6
  59. package/dist/wcardinal/ui/shape/variant/builder-label.js.map +1 -1
  60. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +36 -5
  61. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  62. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +4 -2
  63. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  64. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +6 -4
  65. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  66. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +4 -2
  67. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  68. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +6 -4
  69. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  70. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +4 -2
  71. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  72. package/dist/wcardinal/ui/shape/variant/builder-line.js +34 -5
  73. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  74. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +6 -4
  75. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  76. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +6 -4
  77. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  78. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +6 -4
  79. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  80. package/dist/wcardinal/ui/shape/variant/builder-null.js +11 -4
  81. package/dist/wcardinal/ui/shape/variant/builder-null.js.map +1 -1
  82. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -5
  83. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  84. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +7 -5
  85. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  86. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -5
  87. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  88. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +6 -4
  89. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  90. package/dist/wcardinal/ui/shape/variant/builder-text.js +36 -4
  91. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  92. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -5
  93. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  94. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -5
  95. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  96. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  97. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +2 -2
  98. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
  99. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +2 -2
  100. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
  101. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +1 -1
  102. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
  103. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +2 -2
  104. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
  105. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +2 -2
  106. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
  107. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +4 -4
  108. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
  109. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +16 -16
  110. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js +1 -1
  112. package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +2 -2
  114. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +2 -2
  116. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +2 -2
  118. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +2 -2
  120. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
  121. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +2 -2
  122. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
  123. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +2 -2
  124. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
  125. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js +7 -0
  126. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js +14 -0
  128. package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js.map +1 -1
  129. package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js +15 -2
  130. package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js.map +1 -1
  131. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +19 -3
  132. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js +57 -24
  134. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js.map +1 -1
  135. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  136. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  137. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  138. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  139. package/dist/wcardinal-ui-theme-dark.js +1 -1
  140. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  141. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  142. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  143. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  144. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  145. package/dist/wcardinal-ui-theme-white.js +1 -1
  146. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  147. package/dist/wcardinal-ui.cjs.js +441 -198
  148. package/dist/wcardinal-ui.js +441 -198
  149. package/dist/wcardinal-ui.min.js +2 -2
  150. package/dist/wcardinal-ui.min.js.map +1 -1
  151. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.404.0
2
+ Winter Cardinal UI v0.405.0
3
3
  Copyright (C) 2019 Toshiba Corporation
4
4
  SPDX-License-Identifier: Apache-2.0
5
5
 
@@ -68,7 +68,6 @@
68
68
  */
69
69
  var EShapeUploadedImpl = /** @class */ (function () {
70
70
  function EShapeUploadedImpl(buffer, vertexOffset, indexOffset, vertexCount, indexCount, builders) {
71
- this.buffer = buffer;
72
71
  this._builders = builders;
73
72
  this._vertexOffset = vertexOffset;
74
73
  this._indexOffset = indexOffset;
@@ -77,20 +76,38 @@
77
76
  }
78
77
  EShapeUploadedImpl.prototype.init = function (shape) {
79
78
  shape.uploaded = this;
80
- var buffer = this.buffer;
81
79
  var builders = this._builders;
82
80
  for (var i = 0, imax = builders.length; i < imax; ++i) {
83
- builders[i].init(buffer);
81
+ builders[i].init();
84
82
  }
85
83
  this.update(shape);
86
84
  return this;
87
85
  };
86
+ EShapeUploadedImpl.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
87
+ var builders = this._builders;
88
+ var voffset = vertexOffset;
89
+ var ioffset = indexOffset;
90
+ for (var i = 0, imax = builders.length; i < imax; ++i) {
91
+ var builder = builders[i];
92
+ if (!builder.reinit(buffer, shape, voffset, ioffset)) {
93
+ return false;
94
+ }
95
+ var vertexCount = builder.vertexCount;
96
+ var indexCount = builder.indexCount;
97
+ voffset += vertexCount;
98
+ ioffset += indexCount;
99
+ }
100
+ this._vertexCount = voffset - vertexOffset;
101
+ this._indexCount = ioffset - indexOffset;
102
+ this.update(shape);
103
+ return true;
104
+ };
88
105
  EShapeUploadedImpl.prototype.update = function (shape) {
89
- var buffer = this.buffer;
90
106
  var builders = this._builders;
91
107
  for (var i = 0, imax = builders.length; i < imax; ++i) {
92
- builders[i].update(buffer, shape);
108
+ builders[i].update(shape);
93
109
  }
110
+ return this;
94
111
  };
95
112
  EShapeUploadedImpl.prototype.isCompatible = function (shape) {
96
113
  var builders = this._builders;
@@ -101,9 +118,6 @@
101
118
  }
102
119
  return true;
103
120
  };
104
- EShapeUploadedImpl.prototype.getBuffer = function () {
105
- return this.buffer;
106
- };
107
121
  EShapeUploadedImpl.prototype.getVertexOffset = function () {
108
122
  return this._vertexOffset;
109
123
  };
@@ -486,7 +500,7 @@
486
500
  var TEXT_FMIN = 0.00001;
487
501
  var TEXT_WORK_POINT = new pixi_js.Point();
488
502
  var toTextBufferCount = function (shape) {
489
- var l = shape.text.value.length;
503
+ var l = shape.text.plength;
490
504
  return ((l >> 3) + (0 < (l & 0x7) ? 1 : 0)) << 3;
491
505
  };
492
506
  var buildTextClipping = function (clippings, voffset, vcount) {
@@ -1483,7 +1497,8 @@
1483
1497
  * SPDX-License-Identifier: Apache-2.0
1484
1498
  */
1485
1499
  var BuilderBase = /** @class */ (function () {
1486
- function BuilderBase(vertexOffset, indexOffset, vertexCount, indexCount) {
1500
+ function BuilderBase(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
1501
+ this.buffer = buffer;
1487
1502
  this.vertexOffset = vertexOffset;
1488
1503
  this.indexOffset = indexOffset;
1489
1504
  this.vertexCount = vertexCount;
@@ -1503,6 +1518,26 @@
1503
1518
  this.texture = null;
1504
1519
  this.textureTransformId = -1;
1505
1520
  }
1521
+ BuilderBase.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
1522
+ if (this.buffer !== buffer ||
1523
+ this.vertexOffset !== vertexOffset ||
1524
+ this.indexOffset !== indexOffset) {
1525
+ if (buffer.check(vertexOffset, indexOffset, this.vertexCount, this.indexCount)) {
1526
+ this.inited = BuilderFlag.NONE;
1527
+ this.buffer = buffer;
1528
+ this.vertexOffset = vertexOffset;
1529
+ this.indexOffset = indexOffset;
1530
+ this.init();
1531
+ return true;
1532
+ }
1533
+ else {
1534
+ return false;
1535
+ }
1536
+ }
1537
+ else {
1538
+ return true;
1539
+ }
1540
+ };
1506
1541
  BuilderBase.prototype.isCompatible = function (shape) {
1507
1542
  return true;
1508
1543
  };
@@ -2105,6 +2140,13 @@
2105
2140
  enumerable: false,
2106
2141
  configurable: true
2107
2142
  });
2143
+ Object.defineProperty(EShapeBarPoints.prototype, "plength", {
2144
+ get: function () {
2145
+ return 2;
2146
+ },
2147
+ enumerable: false,
2148
+ configurable: true
2149
+ });
2108
2150
  Object.defineProperty(EShapeBarPoints.prototype, "id", {
2109
2151
  get: function () {
2110
2152
  this.update();
@@ -7778,6 +7820,7 @@
7778
7820
  this._parent = parent;
7779
7821
  this._enable = true;
7780
7822
  this._value = value;
7823
+ this._plength = this._length = value.length;
7781
7824
  this._color = color;
7782
7825
  this._alpha = alpha;
7783
7826
  this._family = family;
@@ -7813,39 +7856,60 @@
7813
7856
  set: function (value) {
7814
7857
  if (this._value !== value) {
7815
7858
  this._value = value;
7816
- // Compatibility check
7817
- var parent_1 = this._parent;
7818
- var uploaded = parent_1.uploaded;
7819
- if (uploaded == null || !uploaded.isCompatible(parent_1)) {
7820
- this.atlas = undefined;
7821
- parent_1.toDirty();
7822
- return;
7859
+ var length_1 = value.length;
7860
+ this._length = length_1;
7861
+ if (this._plength < length_1) {
7862
+ this._plength = length_1;
7823
7863
  }
7824
- // Character code check
7825
- var atlas = this.atlas;
7826
- var characters = atlas && atlas.characters;
7827
- if (characters != null) {
7828
- for (var i = 0, imax = value.length; i < imax; ++i) {
7829
- var char = value[i];
7830
- if (!(char in characters)) {
7831
- this.atlas = undefined;
7832
- parent_1.toDirty();
7833
- return;
7834
- }
7835
- }
7864
+ if (this.isCompatible(value)) {
7865
+ this._parent.updateUploaded();
7836
7866
  }
7837
7867
  else {
7838
7868
  this.atlas = undefined;
7839
- parent_1.toDirty();
7840
- return;
7869
+ this._parent.toDirty();
7841
7870
  }
7842
- // Update uploaded
7843
- parent_1.updateUploaded();
7844
7871
  }
7845
7872
  },
7846
7873
  enumerable: false,
7847
7874
  configurable: true
7848
7875
  });
7876
+ EShapeTextImpl.prototype.isCompatible = function (value) {
7877
+ // Compatibility check
7878
+ var parent = this._parent;
7879
+ var uploaded = parent.uploaded;
7880
+ if (uploaded == null || !uploaded.isCompatible(parent)) {
7881
+ return false;
7882
+ }
7883
+ // Character code check
7884
+ var atlas = this.atlas;
7885
+ var characters = atlas && atlas.characters;
7886
+ if (characters != null) {
7887
+ for (var i = 0, imax = value.length; i < imax; ++i) {
7888
+ var char = value[i];
7889
+ if (!(char in characters)) {
7890
+ return false;
7891
+ }
7892
+ }
7893
+ }
7894
+ else {
7895
+ return false;
7896
+ }
7897
+ return true;
7898
+ };
7899
+ Object.defineProperty(EShapeTextImpl.prototype, "length", {
7900
+ get: function () {
7901
+ return this._length;
7902
+ },
7903
+ enumerable: false,
7904
+ configurable: true
7905
+ });
7906
+ Object.defineProperty(EShapeTextImpl.prototype, "plength", {
7907
+ get: function () {
7908
+ return this._plength;
7909
+ },
7910
+ enumerable: false,
7911
+ configurable: true
7912
+ });
7849
7913
  Object.defineProperty(EShapeTextImpl.prototype, "family", {
7850
7914
  get: function () {
7851
7915
  return this._family;
@@ -7979,7 +8043,18 @@
7979
8043
  var isChangedUploaded = false;
7980
8044
  if (value != null && this._value !== value) {
7981
8045
  this._value = value;
7982
- isChangedDirty = true;
8046
+ var length_2 = value.length;
8047
+ this._length = length_2;
8048
+ if (this._plength < length_2) {
8049
+ this._plength = length_2;
8050
+ }
8051
+ if (this.isCompatible(value)) {
8052
+ isChangedUploaded = true;
8053
+ }
8054
+ else {
8055
+ this.atlas = undefined;
8056
+ isChangedDirty = true;
8057
+ }
7983
8058
  }
7984
8059
  if (color != null && this._color !== color) {
7985
8060
  this._color = color;
@@ -8517,22 +8592,24 @@
8517
8592
  */
8518
8593
  var BuilderBar = /** @class */ (function (_super) {
8519
8594
  __extends(BuilderBar, _super);
8520
- function BuilderBar(vertexOffset, indexOffset) {
8521
- var _this = _super.call(this, vertexOffset, indexOffset, BAR_VERTEX_COUNT, BAR_INDEX_COUNT) || this;
8595
+ function BuilderBar(buffer, vertexOffset, indexOffset) {
8596
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, BAR_VERTEX_COUNT, BAR_INDEX_COUNT) || this;
8522
8597
  _this.pointsId = -1;
8523
8598
  _this.pointsStyle = EShapePointsStyle.NONE;
8524
8599
  return _this;
8525
8600
  }
8526
- BuilderBar.prototype.init = function (buffer) {
8601
+ BuilderBar.prototype.init = function () {
8527
8602
  var voffset = this.vertexOffset;
8528
8603
  var ioffset = this.indexOffset;
8604
+ var buffer = this.buffer;
8529
8605
  buffer.updateClippings();
8530
8606
  buffer.updateIndices();
8531
8607
  buildBarClipping(buffer.clippings, voffset);
8532
8608
  buildBarIndex(buffer.indices, voffset, ioffset);
8533
8609
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
8534
8610
  };
8535
- BuilderBar.prototype.update = function (buffer, shape) {
8611
+ BuilderBar.prototype.update = function (shape) {
8612
+ var buffer = this.buffer;
8536
8613
  this.updateVertexStepAndColorFill(buffer, shape);
8537
8614
  this.updateColorStroke(buffer, shape);
8538
8615
  this.updateUv(buffer, shape);
@@ -8602,7 +8679,8 @@
8602
8679
  * SPDX-License-Identifier: Apache-2.0
8603
8680
  */
8604
8681
  var BuilderText = /** @class */ (function () {
8605
- function BuilderText(vertexOffset, indexOffset, vertexCount, indexCount) {
8682
+ function BuilderText(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
8683
+ this.buffer = buffer;
8606
8684
  this.vertexOffset = vertexOffset;
8607
8685
  this.indexOffset = indexOffset;
8608
8686
  this.vertexCount = vertexCount;
@@ -8637,10 +8715,11 @@
8637
8715
  this.clipping = false;
8638
8716
  this.fitting = false;
8639
8717
  }
8640
- BuilderText.prototype.init = function (buffer) {
8718
+ BuilderText.prototype.init = function () {
8641
8719
  var vcount = this.vertexCount;
8642
8720
  if (0 < vcount) {
8643
8721
  // Clippings
8722
+ var buffer = this.buffer;
8644
8723
  var voffset = this.vertexOffset;
8645
8724
  buffer.updateClippings();
8646
8725
  buildTextClipping(buffer.clippings, voffset, vcount);
@@ -8649,21 +8728,51 @@
8649
8728
  buildTextIndex(buffer.indices, voffset, this.indexOffset, this.indexCount);
8650
8729
  }
8651
8730
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
8731
+ return this;
8732
+ };
8733
+ BuilderText.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
8734
+ var tcount = toTextBufferCount(shape);
8735
+ var vertexCount = tcount << TEXT_VERTEX_COUNT_SHIFT;
8736
+ var indexCount = tcount << TEXT_INDEX_COUNT_SHIFT;
8737
+ if (this.buffer !== buffer ||
8738
+ this.vertexOffset !== vertexOffset ||
8739
+ this.indexOffset !== indexOffset ||
8740
+ this.vertexCount !== vertexCount ||
8741
+ this.indexCount !== indexCount) {
8742
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
8743
+ this.inited = BuilderFlag.NONE;
8744
+ this.buffer = buffer;
8745
+ this.vertexOffset = vertexOffset;
8746
+ this.indexOffset = indexOffset;
8747
+ this.vertexCount = vertexCount;
8748
+ this.indexCount = indexCount;
8749
+ this.init();
8750
+ return true;
8751
+ }
8752
+ else {
8753
+ return false;
8754
+ }
8755
+ }
8756
+ else {
8757
+ return true;
8758
+ }
8652
8759
  };
8653
8760
  BuilderText.prototype.isCompatible = function (shape) {
8654
8761
  return toTextBufferCount(shape) << TEXT_VERTEX_COUNT_SHIFT === this.vertexCount;
8655
8762
  };
8656
- BuilderText.prototype.update = function (buffer, shape) {
8763
+ BuilderText.prototype.update = function (shape) {
8657
8764
  var vcount = this.vertexCount;
8658
8765
  if (0 < vcount) {
8659
8766
  var textAtlas = shape.text.atlas;
8660
8767
  if (textAtlas != null) {
8768
+ var buffer = this.buffer;
8661
8769
  this.updateVertex(buffer, shape, textAtlas);
8662
8770
  this.updateColorFill(buffer, shape);
8663
8771
  this.updateColorStroke(buffer, shape);
8664
8772
  this.updateStep(buffer, shape);
8665
8773
  }
8666
8774
  }
8775
+ return this;
8667
8776
  };
8668
8777
  BuilderText.prototype.updateVertex = function (buffer, shape, textAtlas) {
8669
8778
  var size = shape.size;
@@ -8832,8 +8941,8 @@
8832
8941
  var icount = BAR_INDEX_COUNT + ticount;
8833
8942
  if (buffer.check(voffset, ioffset, vcount, icount)) {
8834
8943
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
8835
- new BuilderBar(voffset, ioffset),
8836
- new BuilderText(voffset + BAR_VERTEX_COUNT, ioffset + BAR_INDEX_COUNT, tvcount, ticount)
8944
+ new BuilderBar(buffer, voffset, ioffset),
8945
+ new BuilderText(buffer, voffset + BAR_VERTEX_COUNT, ioffset + BAR_INDEX_COUNT, tvcount, ticount)
8837
8946
  ]).init(shape);
8838
8947
  }
8839
8948
  return null;
@@ -19750,6 +19859,8 @@
19750
19859
  this._valuesBaseLength = 0;
19751
19860
  this._values = [];
19752
19861
  this._segments = [];
19862
+ this._length = 0;
19863
+ this._plength = 0;
19753
19864
  var parentSize = parent.size;
19754
19865
  var parentSizeX = parentSize.x;
19755
19866
  var parentSizeY = parentSize.y;
@@ -19761,7 +19872,14 @@
19761
19872
  }
19762
19873
  Object.defineProperty(EShapeLinePoints.prototype, "length", {
19763
19874
  get: function () {
19764
- return this._values.length >> 1;
19875
+ return this._length;
19876
+ },
19877
+ enumerable: false,
19878
+ configurable: true
19879
+ });
19880
+ Object.defineProperty(EShapeLinePoints.prototype, "plength", {
19881
+ get: function () {
19882
+ return this._plength;
19765
19883
  },
19766
19884
  enumerable: false,
19767
19885
  configurable: true
@@ -19818,7 +19936,6 @@
19818
19936
  if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
19819
19937
  var uploaded = parent.uploaded;
19820
19938
  if (uploaded && !uploaded.isCompatible(parent)) {
19821
- parent.uploaded = undefined;
19822
19939
  parent.toDirty();
19823
19940
  }
19824
19941
  }
@@ -19922,6 +20039,7 @@
19922
20039
  if (result == null) {
19923
20040
  result = {
19924
20041
  length: 0,
20042
+ plength: 0,
19925
20043
  values: [],
19926
20044
  segments: [],
19927
20045
  boundary: [0, 0, 0, 0],
@@ -19932,6 +20050,9 @@
19932
20050
  var segments = this._segments;
19933
20051
  var length_1 = values.length >> 1;
19934
20052
  formatter(length_1, values, segments, style, result);
20053
+ if (result.plength < result.length) {
20054
+ result.plength = result.length;
20055
+ }
19935
20056
  toPointsBoundary(result.values, result.boundary);
19936
20057
  }
19937
20058
  else {
@@ -20021,6 +20142,11 @@
20021
20142
  }
20022
20143
  }
20023
20144
  }
20145
+ var newLength = newValuesLength >> 1;
20146
+ this._length = newLength;
20147
+ if (this._plength < newLength) {
20148
+ this._plength = newLength;
20149
+ }
20024
20150
  }
20025
20151
  // Segments
20026
20152
  if (newSegments != null) {
@@ -20086,7 +20212,6 @@
20086
20212
  parent_1.updateUploaded();
20087
20213
  }
20088
20214
  else {
20089
- parent_1.uploaded = undefined;
20090
20215
  parent_1.toDirty();
20091
20216
  }
20092
20217
  }
@@ -21768,12 +21893,6 @@
21768
21893
  }
21769
21894
  }
21770
21895
  };
21771
- EShapeBuffer.prototype.isCompatible = function (shape, uploaded, vindex, iindex) {
21772
- return (uploaded.getBuffer() === this &&
21773
- uploaded.getVertexOffset() === vindex &&
21774
- uploaded.getIndexOffset() === iindex &&
21775
- uploaded.isCompatible(shape));
21776
- };
21777
21896
  EShapeBuffer.prototype.update = function (iterator, antialiasWeight, noMoreThanOne) {
21778
21897
  var builder = this._builder;
21779
21898
  builder.begin();
@@ -21782,28 +21901,18 @@
21782
21901
  var shape = iterator.get();
21783
21902
  for (; shape != null; shape = iterator.next()) {
21784
21903
  var uploaded = shape.uploaded;
21785
- if (uploaded == null || !this.isCompatible(shape, uploaded, vindex, iindex)) {
21786
- break;
21787
- }
21788
- uploaded.update(shape);
21789
- uploaded.buildUnit(builder);
21790
- vindex += uploaded.getVertexCount();
21791
- iindex += uploaded.getIndexCount();
21792
- if (noMoreThanOne) {
21793
- iterator.next();
21794
- builder.end();
21795
- this._vertexCount = vindex;
21796
- this._indexCount = iindex;
21797
- return 0 < builder.units.length;
21798
- }
21799
- }
21800
- for (; shape != null; shape = iterator.next()) {
21801
- var creater = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];
21802
- if (creater == null) {
21803
- break;
21804
- }
21805
- var uploaded = creater(this, shape, vindex, iindex, antialiasWeight);
21806
21904
  if (uploaded == null) {
21905
+ var creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];
21906
+ if (creator == null) {
21907
+ break;
21908
+ }
21909
+ var newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);
21910
+ if (newUploaded == null) {
21911
+ break;
21912
+ }
21913
+ uploaded = newUploaded;
21914
+ }
21915
+ else if (!uploaded.reinit(this, shape, vindex, iindex)) {
21807
21916
  break;
21808
21917
  }
21809
21918
  uploaded.buildUnit(builder);
@@ -36234,18 +36343,20 @@
36234
36343
  */
36235
36344
  var BuilderRectangleRounded = /** @class */ (function (_super) {
36236
36345
  __extends(BuilderRectangleRounded, _super);
36237
- function BuilderRectangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
36238
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
36346
+ function BuilderRectangleRounded(buffer, vertexOffset, indexOffset) {
36347
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_ROUNDED_VERTEX_COUNT, RECTANGLE_ROUNDED_INDEX_COUNT) || this;
36239
36348
  _this.radius = 0;
36240
36349
  _this.corner = 0;
36241
36350
  return _this;
36242
36351
  }
36243
- BuilderRectangleRounded.prototype.init = function (buffer) {
36352
+ BuilderRectangleRounded.prototype.init = function () {
36353
+ var buffer = this.buffer;
36244
36354
  buffer.updateIndices();
36245
36355
  buildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
36246
36356
  this.inited |= BuilderFlag.INDEX;
36247
36357
  };
36248
- BuilderRectangleRounded.prototype.update = function (buffer, shape) {
36358
+ BuilderRectangleRounded.prototype.update = function (shape) {
36359
+ var buffer = this.buffer;
36249
36360
  this.updateVertexClippingStepAndUv(buffer, shape);
36250
36361
  this.updateColorFill(buffer, shape);
36251
36362
  this.updateColorStroke(buffer, shape);
@@ -36327,8 +36438,8 @@
36327
36438
  var icount = RECTANGLE_ROUNDED_INDEX_COUNT + ticount;
36328
36439
  if (buffer.check(voffset, ioffset, vcount, icount)) {
36329
36440
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
36330
- new BuilderRectangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
36331
- new BuilderText(voffset + RECTANGLE_ROUNDED_VERTEX_COUNT, ioffset + RECTANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
36441
+ new BuilderRectangleRounded(buffer, voffset, ioffset),
36442
+ new BuilderText(buffer, voffset + RECTANGLE_ROUNDED_VERTEX_COUNT, ioffset + RECTANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
36332
36443
  ]).init(shape);
36333
36444
  }
36334
36445
  return null;
@@ -37199,10 +37310,11 @@
37199
37310
  */
37200
37311
  var BuilderCircle = /** @class */ (function (_super) {
37201
37312
  __extends(BuilderCircle, _super);
37202
- function BuilderCircle(vertexOffset, indexOffset) {
37203
- return _super.call(this, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
37313
+ function BuilderCircle(buffer, vertexOffset, indexOffset) {
37314
+ return _super.call(this, buffer, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
37204
37315
  }
37205
- BuilderCircle.prototype.init = function (buffer) {
37316
+ BuilderCircle.prototype.init = function () {
37317
+ var buffer = this.buffer;
37206
37318
  buffer.updateClippings();
37207
37319
  buffer.updateIndices();
37208
37320
  var voffset = this.vertexOffset;
@@ -37210,7 +37322,8 @@
37210
37322
  buildCircleIndex(buffer.indices, voffset, this.indexOffset);
37211
37323
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37212
37324
  };
37213
- BuilderCircle.prototype.update = function (buffer, shape) {
37325
+ BuilderCircle.prototype.update = function (shape) {
37326
+ var buffer = this.buffer;
37214
37327
  this.updateVertexAndStep(buffer, shape);
37215
37328
  this.updateColorFill(buffer, shape);
37216
37329
  this.updateColorStroke(buffer, shape);
@@ -37276,8 +37389,8 @@
37276
37389
  var icount = CIRCLE_INDEX_COUNT + ticount;
37277
37390
  if (buffer.check(voffset, ioffset, vcount, icount)) {
37278
37391
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
37279
- new BuilderCircle(voffset, ioffset),
37280
- new BuilderText(voffset + CIRCLE_VERTEX_COUNT, ioffset + CIRCLE_INDEX_COUNT, tvcount, ticount)
37392
+ new BuilderCircle(buffer, voffset, ioffset),
37393
+ new BuilderText(buffer, voffset + CIRCLE_VERTEX_COUNT, ioffset + CIRCLE_INDEX_COUNT, tvcount, ticount)
37281
37394
  ]).init(shape);
37282
37395
  }
37283
37396
  return null;
@@ -37302,21 +37415,22 @@
37302
37415
 
37303
37416
  var LINE_FMIN = 0.00001;
37304
37417
  var LINE_WORK_POINT = new pixi_js.Point();
37305
- var toPointsCount = function (points) {
37418
+ var toPointCount = function (points) {
37306
37419
  if (points) {
37307
- return points.formatted.length;
37420
+ return points.formatted.plength;
37308
37421
  }
37309
37422
  return 0;
37310
37423
  };
37311
37424
  var toLinePointCount = function (points) {
37312
- return Math.ceil(toPointsCount(points) / 12) * 12;
37425
+ var pointCount = toPointCount(points);
37426
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
37313
37427
  };
37314
37428
  var toLineVertexCount = function (pointCount, isClosed) {
37315
37429
  if (isClosed) {
37316
- return pointCount * 4 + 2;
37430
+ return (pointCount << 2) + 2;
37317
37431
  }
37318
37432
  else {
37319
- return pointCount * 4;
37433
+ return pointCount << 2;
37320
37434
  }
37321
37435
  };
37322
37436
  var toLineIndexCount = function (pointCount, isClosed) {
@@ -37704,24 +37818,53 @@
37704
37818
  */
37705
37819
  var BuilderLine = /** @class */ (function (_super) {
37706
37820
  __extends(BuilderLine, _super);
37707
- function BuilderLine(vertexOffset, indexOffset, vertexCount, indexCount) {
37708
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
37821
+ function BuilderLine(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
37822
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount) || this;
37709
37823
  _this.pointId = -1;
37710
37824
  _this.pointCount = 0;
37711
37825
  _this.pointsClosed = false;
37712
37826
  _this.length = 1;
37713
37827
  return _this;
37714
37828
  }
37715
- BuilderLine.prototype.init = function (buffer) {
37829
+ BuilderLine.prototype.init = function () {
37830
+ var buffer = this.buffer;
37716
37831
  buffer.updateIndices();
37717
37832
  buildLineIndex(buffer.indices, this.vertexOffset, this.indexOffset, this.indexCount);
37718
37833
  this.inited |= BuilderFlag.INDEX;
37719
37834
  };
37835
+ BuilderLine.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
37836
+ var pointCount = toLinePointCount(shape.points);
37837
+ var vertexCount = toLineVertexCount(pointCount, true);
37838
+ var indexCount = toLineIndexCount(pointCount, true);
37839
+ if (this.buffer !== buffer ||
37840
+ this.vertexOffset !== vertexOffset ||
37841
+ this.indexOffset !== indexOffset ||
37842
+ this.vertexCount !== vertexCount ||
37843
+ this.indexCount !== indexCount) {
37844
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
37845
+ this.inited = BuilderFlag.NONE;
37846
+ this.buffer = buffer;
37847
+ this.vertexOffset = vertexOffset;
37848
+ this.indexOffset = indexOffset;
37849
+ this.vertexCount = vertexCount;
37850
+ this.indexCount = indexCount;
37851
+ this.init();
37852
+ return true;
37853
+ }
37854
+ else {
37855
+ return false;
37856
+ }
37857
+ }
37858
+ else {
37859
+ return true;
37860
+ }
37861
+ };
37720
37862
  BuilderLine.prototype.isCompatible = function (shape) {
37721
37863
  var vcount = toLineVertexCount(toLinePointCount(shape.points), true);
37722
37864
  return vcount === this.vertexCount;
37723
37865
  };
37724
- BuilderLine.prototype.update = function (buffer, shape) {
37866
+ BuilderLine.prototype.update = function (shape) {
37867
+ var buffer = this.buffer;
37725
37868
  this.updateLineClipping(buffer, shape);
37726
37869
  this.updateLineVertexStepAndColorFill(buffer, shape);
37727
37870
  this.updateColorStroke(buffer, shape);
@@ -37970,19 +38113,21 @@
37970
38113
  */
37971
38114
  var BuilderMarkerTriangle = /** @class */ (function (_super) {
37972
38115
  __extends(BuilderMarkerTriangle, _super);
37973
- function BuilderMarkerTriangle(vertexOffset, indexOffset) {
37974
- var _this = _super.call(this, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
38116
+ function BuilderMarkerTriangle(buffer, vertexOffset, indexOffset) {
38117
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
37975
38118
  _this.pointId = -1;
37976
38119
  return _this;
37977
38120
  }
37978
- BuilderMarkerTriangle.prototype.init = function (buffer) {
38121
+ BuilderMarkerTriangle.prototype.init = function () {
38122
+ var buffer = this.buffer;
37979
38123
  buffer.updateClippings();
37980
38124
  buffer.updateIndices();
37981
38125
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
37982
38126
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
37983
38127
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37984
38128
  };
37985
- BuilderMarkerTriangle.prototype.update = function (buffer, shape) {
38129
+ BuilderMarkerTriangle.prototype.update = function (shape) {
38130
+ var buffer = this.buffer;
37986
38131
  this.updateVertexStepAndUv(buffer, shape);
37987
38132
  this.updateColorFill(buffer, shape);
37988
38133
  this.updateColorStroke(buffer, shape);
@@ -38087,12 +38232,13 @@
38087
38232
  */
38088
38233
  var BuilderMarkerCircle = /** @class */ (function (_super) {
38089
38234
  __extends(BuilderMarkerCircle, _super);
38090
- function BuilderMarkerCircle(vertexOffset, indexOffset) {
38091
- var _this = _super.call(this, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
38235
+ function BuilderMarkerCircle(buffer, vertexOffset, indexOffset) {
38236
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
38092
38237
  _this.pointId = -1;
38093
38238
  return _this;
38094
38239
  }
38095
- BuilderMarkerCircle.prototype.init = function (buffer) {
38240
+ BuilderMarkerCircle.prototype.init = function () {
38241
+ var buffer = this.buffer;
38096
38242
  buffer.updateClippings();
38097
38243
  buffer.updateIndices();
38098
38244
  var vertexOffset = this.vertexOffset;
@@ -38100,7 +38246,8 @@
38100
38246
  buildCircleIndex(buffer.indices, vertexOffset, this.indexOffset);
38101
38247
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
38102
38248
  };
38103
- BuilderMarkerCircle.prototype.update = function (buffer, shape) {
38249
+ BuilderMarkerCircle.prototype.update = function (shape) {
38250
+ var buffer = this.buffer;
38104
38251
  this.updateVertexAndStep(buffer, shape);
38105
38252
  this.updateColorFill(buffer, shape);
38106
38253
  this.updateColorStroke(buffer, shape);
@@ -38208,20 +38355,27 @@
38208
38355
  * SPDX-License-Identifier: Apache-2.0
38209
38356
  */
38210
38357
  var BuilderNull = /** @class */ (function () {
38211
- function BuilderNull(vertexOffset, indexOffset) {
38358
+ function BuilderNull(buffer, vertexOffset, indexOffset) {
38359
+ this.buffer = buffer;
38212
38360
  this.vertexOffset = vertexOffset;
38213
38361
  this.indexOffset = indexOffset;
38214
38362
  this.vertexCount = 0;
38215
38363
  this.indexCount = 0;
38216
38364
  this.texture = null;
38217
38365
  }
38218
- BuilderNull.prototype.init = function (buffer) {
38219
- // DO NOTHING
38366
+ BuilderNull.prototype.init = function () {
38367
+ return this;
38368
+ };
38369
+ BuilderNull.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
38370
+ this.buffer = buffer;
38371
+ this.vertexOffset = vertexOffset;
38372
+ this.indexOffset = indexOffset;
38373
+ return true;
38220
38374
  };
38221
38375
  BuilderNull.prototype.isCompatible = function (shape) {
38222
38376
  return true;
38223
38377
  };
38224
- BuilderNull.prototype.update = function (buffer, shape) {
38378
+ BuilderNull.prototype.update = function (shape) {
38225
38379
  this.texture = toTexture(shape);
38226
38380
  };
38227
38381
  BuilderNull.prototype.buildUnit = function (builder) {
@@ -38651,17 +38805,19 @@
38651
38805
  */
38652
38806
  var BuilderMarkerRectangle = /** @class */ (function (_super) {
38653
38807
  __extends(BuilderMarkerRectangle, _super);
38654
- function BuilderMarkerRectangle(vertexOffset, indexOffset) {
38655
- var _this = _super.call(this, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
38808
+ function BuilderMarkerRectangle(buffer, vertexOffset, indexOffset) {
38809
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
38656
38810
  _this.pointId = -1;
38657
38811
  return _this;
38658
38812
  }
38659
- BuilderMarkerRectangle.prototype.init = function (buffer) {
38813
+ BuilderMarkerRectangle.prototype.init = function () {
38814
+ var buffer = this.buffer;
38660
38815
  buffer.updateIndices();
38661
38816
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
38662
38817
  this.inited |= BuilderFlag.INDEX;
38663
38818
  };
38664
- BuilderMarkerRectangle.prototype.update = function (buffer, shape) {
38819
+ BuilderMarkerRectangle.prototype.update = function (shape) {
38820
+ var buffer = this.buffer;
38665
38821
  this.updateVertexClippingStepAndUv(buffer, shape);
38666
38822
  this.updateColorFill(buffer, shape);
38667
38823
  this.updateColorStroke(buffer, shape);
@@ -38800,31 +38956,31 @@
38800
38956
  }
38801
38957
  return 0;
38802
38958
  };
38803
- var toBuilderMarkerHead = function (type, vertexOffset, indexOffset) {
38959
+ var toBuilderMarkerHead = function (type, buffer, vertexOffset, indexOffset) {
38804
38960
  switch (type) {
38805
38961
  case EShapePointsMarkerType.NONE:
38806
- return new BuilderNull(vertexOffset, indexOffset);
38962
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38807
38963
  case EShapePointsMarkerType.CIRCLE:
38808
- return new BuilderMarkerCircleHead(vertexOffset, indexOffset);
38964
+ return new BuilderMarkerCircleHead(buffer, vertexOffset, indexOffset);
38809
38965
  case EShapePointsMarkerType.TRIANGLE:
38810
- return new BuilderMarkerTriangleHead(vertexOffset, indexOffset);
38966
+ return new BuilderMarkerTriangleHead(buffer, vertexOffset, indexOffset);
38811
38967
  case EShapePointsMarkerType.RECTANGLE:
38812
- return new BuilderMarkerRectangleHead(vertexOffset, indexOffset);
38968
+ return new BuilderMarkerRectangleHead(buffer, vertexOffset, indexOffset);
38813
38969
  }
38814
- return new BuilderNull(vertexOffset, indexOffset);
38970
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38815
38971
  };
38816
- var toBuilderMarkerTail = function (type, vertexOffset, indexOffset) {
38972
+ var toBuilderMarkerTail = function (type, buffer, vertexOffset, indexOffset) {
38817
38973
  switch (type) {
38818
38974
  case EShapePointsMarkerType.NONE:
38819
- return new BuilderNull(vertexOffset, indexOffset);
38975
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38820
38976
  case EShapePointsMarkerType.CIRCLE:
38821
- return new BuilderMarkerCircleTail(vertexOffset, indexOffset);
38977
+ return new BuilderMarkerCircleTail(buffer, vertexOffset, indexOffset);
38822
38978
  case EShapePointsMarkerType.TRIANGLE:
38823
- return new BuilderMarkerTriangleTail(vertexOffset, indexOffset);
38979
+ return new BuilderMarkerTriangleTail(buffer, vertexOffset, indexOffset);
38824
38980
  case EShapePointsMarkerType.RECTANGLE:
38825
- return new BuilderMarkerRectangleTail(vertexOffset, indexOffset);
38981
+ return new BuilderMarkerRectangleTail(buffer, vertexOffset, indexOffset);
38826
38982
  }
38827
- return new BuilderNull(vertexOffset, indexOffset);
38983
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38828
38984
  };
38829
38985
  var createLineUploaded = function (buffer, shape, voffset, ioffset, antialiasWeight) {
38830
38986
  // Line
@@ -38861,10 +39017,10 @@
38861
39017
  var icount = licount + mhicount + mticount + ticount;
38862
39018
  if (buffer.check(voffset, ioffset, vcount, icount)) {
38863
39019
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
38864
- new BuilderLine(voffset, ioffset, lvcount, licount),
38865
- toBuilderMarkerTail(mttype, mtvoffset, mtioffset),
38866
- toBuilderMarkerHead(mhtype, mhvoffset, mhioffset),
38867
- new BuilderText(tvoffset, tioffset, tvcount, ticount)
39020
+ new BuilderLine(buffer, voffset, ioffset, lvcount, licount),
39021
+ toBuilderMarkerTail(mttype, buffer, mtvoffset, mtioffset),
39022
+ toBuilderMarkerHead(mhtype, buffer, mhvoffset, mhioffset),
39023
+ new BuilderText(buffer, tvoffset, tioffset, tvcount, ticount)
38868
39024
  ]).init(shape);
38869
39025
  }
38870
39026
  return null;
@@ -39363,15 +39519,17 @@
39363
39519
  */
39364
39520
  var BuilderRectanglePivoted = /** @class */ (function (_super) {
39365
39521
  __extends(BuilderRectanglePivoted, _super);
39366
- function BuilderRectanglePivoted() {
39367
- return _super !== null && _super.apply(this, arguments) || this;
39522
+ function BuilderRectanglePivoted(buffer, vertexOffset, indexOffset) {
39523
+ return _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
39368
39524
  }
39369
- BuilderRectanglePivoted.prototype.init = function (buffer) {
39525
+ BuilderRectanglePivoted.prototype.init = function () {
39526
+ var buffer = this.buffer;
39370
39527
  buffer.updateIndices();
39371
39528
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
39372
39529
  this.inited |= BuilderFlag.INDEX;
39373
39530
  };
39374
- BuilderRectanglePivoted.prototype.update = function (buffer, shape) {
39531
+ BuilderRectanglePivoted.prototype.update = function (shape) {
39532
+ var buffer = this.buffer;
39375
39533
  this.updateVertexClippingStepAndUv(buffer, shape);
39376
39534
  this.updateColorFill(buffer, shape);
39377
39535
  this.updateColorStroke(buffer, shape);
@@ -39444,8 +39602,8 @@
39444
39602
  var icount = RECTANGLE_INDEX_COUNT + ticount;
39445
39603
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39446
39604
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39447
- new BuilderRectanglePivoted(voffset, ioffset, vcount - tvcount, icount - ticount),
39448
- new BuilderText(voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
39605
+ new BuilderRectanglePivoted(buffer, voffset, ioffset),
39606
+ new BuilderText(buffer, voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
39449
39607
  ]).init(shape);
39450
39608
  }
39451
39609
  return null;
@@ -39463,7 +39621,7 @@
39463
39621
  var icount = ticount;
39464
39622
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39465
39623
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39466
- new BuilderText(voffset, ioffset, tvcount, ticount)
39624
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
39467
39625
  ]).init(shape);
39468
39626
  }
39469
39627
  return null;
@@ -39750,6 +39908,20 @@
39750
39908
  enumerable: false,
39751
39909
  configurable: true
39752
39910
  });
39911
+ Object.defineProperty(EShapeGroupPoints.prototype, "plength", {
39912
+ get: function () {
39913
+ var children = this._parent.children;
39914
+ if (0 < children.length) {
39915
+ var points = children[children.length - 1].points;
39916
+ if (points != null) {
39917
+ return points.plength;
39918
+ }
39919
+ }
39920
+ return 0;
39921
+ },
39922
+ enumerable: false,
39923
+ configurable: true
39924
+ });
39753
39925
  Object.defineProperty(EShapeGroupPoints.prototype, "id", {
39754
39926
  get: function () {
39755
39927
  var children = this._parent.children;
@@ -40452,15 +40624,17 @@
40452
40624
  */
40453
40625
  var BuilderRectangle = /** @class */ (function (_super) {
40454
40626
  __extends(BuilderRectangle, _super);
40455
- function BuilderRectangle() {
40456
- return _super !== null && _super.apply(this, arguments) || this;
40627
+ function BuilderRectangle(buffer, vertexOffset, indexOffset) {
40628
+ return _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
40457
40629
  }
40458
- BuilderRectangle.prototype.init = function (buffer) {
40630
+ BuilderRectangle.prototype.init = function () {
40631
+ var buffer = this.buffer;
40459
40632
  buffer.updateIndices();
40460
40633
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
40461
40634
  this.inited |= BuilderFlag.INDEX;
40462
40635
  };
40463
- BuilderRectangle.prototype.update = function (buffer, shape) {
40636
+ BuilderRectangle.prototype.update = function (shape) {
40637
+ var buffer = this.buffer;
40464
40638
  this.updateVertexClippingStepAndUv(buffer, shape);
40465
40639
  this.updateColorFill(buffer, shape);
40466
40640
  this.updateColorStroke(buffer, shape);
@@ -40533,8 +40707,8 @@
40533
40707
  var icount = RECTANGLE_INDEX_COUNT + ticount;
40534
40708
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40535
40709
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40536
- new BuilderRectangle(voffset, ioffset, vcount - tvcount, icount - ticount),
40537
- new BuilderText(voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
40710
+ new BuilderRectangle(buffer, voffset, ioffset),
40711
+ new BuilderText(buffer, voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
40538
40712
  ]).init(shape);
40539
40713
  }
40540
40714
  return null;
@@ -40769,21 +40943,23 @@
40769
40943
  */
40770
40944
  var BuilderImageSdf = /** @class */ (function (_super) {
40771
40945
  __extends(BuilderImageSdf, _super);
40772
- function BuilderImageSdf(vertexOffset, indexOffset) {
40773
- var _this = _super.call(this, vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT) || this;
40946
+ function BuilderImageSdf(buffer, vertexOffset, indexOffset) {
40947
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT) || this;
40774
40948
  _this.textureWidth = -1;
40775
40949
  _this.textureHeight = -1;
40776
40950
  return _this;
40777
40951
  }
40778
- BuilderImageSdf.prototype.init = function (buffer) {
40952
+ BuilderImageSdf.prototype.init = function () {
40779
40953
  var voffset = this.vertexOffset;
40954
+ var buffer = this.buffer;
40780
40955
  buffer.updateClippings();
40781
40956
  buffer.updateIndices();
40782
40957
  buildImageSdfClipping(buffer.clippings, voffset);
40783
40958
  buildImageSdfIndex(buffer.indices, voffset, this.indexOffset);
40784
40959
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
40785
40960
  };
40786
- BuilderImageSdf.prototype.update = function (buffer, shape) {
40961
+ BuilderImageSdf.prototype.update = function (shape) {
40962
+ var buffer = this.buffer;
40787
40963
  this.updateVertexAndStep(buffer, shape);
40788
40964
  this.updateColorFill(buffer, shape);
40789
40965
  this.updateColorStroke(buffer, shape);
@@ -40859,8 +41035,8 @@
40859
41035
  var icount = IMAGE_SDF_INDEX_COUNT + ticount;
40860
41036
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40861
41037
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40862
- new BuilderImageSdf(voffset, ioffset),
40863
- new BuilderText(voffset + IMAGE_SDF_VERTEX_COUNT, ioffset + IMAGE_SDF_INDEX_COUNT, tvcount, ticount)
41038
+ new BuilderImageSdf(buffer, voffset, ioffset),
41039
+ new BuilderText(buffer, voffset + IMAGE_SDF_VERTEX_COUNT, ioffset + IMAGE_SDF_INDEX_COUNT, tvcount, ticount)
40864
41040
  ]).init(shape);
40865
41041
  }
40866
41042
  return null;
@@ -40904,20 +41080,27 @@
40904
41080
  * SPDX-License-Identifier: Apache-2.0
40905
41081
  */
40906
41082
  var BuilderLabel = /** @class */ (function () {
40907
- function BuilderLabel(vertexOffset, indexOffset, vertexCount, indexCount) {
41083
+ function BuilderLabel(buffer, vertexOffset, indexOffset) {
41084
+ this.buffer = buffer;
40908
41085
  this.vertexOffset = vertexOffset;
40909
41086
  this.indexOffset = indexOffset;
40910
- this.vertexCount = vertexCount;
40911
- this.indexCount = indexCount;
41087
+ this.vertexCount = 0;
41088
+ this.indexCount = 0;
40912
41089
  this.texture = null;
40913
41090
  }
40914
- BuilderLabel.prototype.init = function (buffer) {
40915
- // DO NOTHING
41091
+ BuilderLabel.prototype.init = function () {
41092
+ return this;
41093
+ };
41094
+ BuilderLabel.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
41095
+ this.buffer = buffer;
41096
+ this.vertexOffset = vertexOffset;
41097
+ this.indexOffset = indexOffset;
41098
+ return true;
40916
41099
  };
40917
41100
  BuilderLabel.prototype.isCompatible = function (shape) {
40918
41101
  return true;
40919
41102
  };
40920
- BuilderLabel.prototype.update = function (buffer, shape) {
41103
+ BuilderLabel.prototype.update = function (shape) {
40921
41104
  this.texture = toTexture(shape);
40922
41105
  };
40923
41106
  BuilderLabel.prototype.buildUnit = function (builder) {
@@ -40944,8 +41127,8 @@
40944
41127
  var icount = ticount;
40945
41128
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40946
41129
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40947
- new BuilderLabel(voffset, ioffset, vcount - tvcount, icount - ticount),
40948
- new BuilderText(voffset, ioffset, tvcount, ticount)
41130
+ new BuilderLabel(buffer, voffset, ioffset),
41131
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
40949
41132
  ]).init(shape);
40950
41133
  }
40951
41134
  return null;
@@ -41081,7 +41264,7 @@
41081
41264
  };
41082
41265
 
41083
41266
  var toLineOfAnyPointCount = function (pointCount) {
41084
- return Math.ceil(pointCount / 12) * 12;
41267
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
41085
41268
  };
41086
41269
  var buildLineOfAnyColor = function (voffset, vcountPerPoint, point, pointCount, colors, isEnabled, colorDef, alphaDef) {
41087
41270
  if (isEnabled) {
@@ -41135,8 +41318,8 @@
41135
41318
  */
41136
41319
  var BuilderLineOfAny = /** @class */ (function (_super) {
41137
41320
  __extends(BuilderLineOfAny, _super);
41138
- function BuilderLineOfAny(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
41139
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
41321
+ function BuilderLineOfAny(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
41322
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount) || this;
41140
41323
  _this.pointId = -1;
41141
41324
  _this.pointCount = 0;
41142
41325
  _this.pointCountReserved = pointCountReserved;
@@ -41144,10 +41327,39 @@
41144
41327
  _this.pointOffsetId = -1;
41145
41328
  _this.pointFillId = -1;
41146
41329
  _this.pointStrokeId = -1;
41330
+ _this.vcountPerPoint = vcountPerPoint;
41331
+ _this.icountPerPoint = icountPerPoint;
41147
41332
  return _this;
41148
41333
  }
41334
+ BuilderLineOfAny.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
41335
+ var pointCount = toLineOfAnyPointCount(toPointCount(shape.points));
41336
+ if (this.buffer !== buffer ||
41337
+ this.vertexOffset !== vertexOffset ||
41338
+ this.indexOffset !== indexOffset ||
41339
+ this.pointCountReserved !== pointCount) {
41340
+ var vertexCount = pointCount * this.vcountPerPoint;
41341
+ var indexCount = pointCount * this.icountPerPoint;
41342
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
41343
+ this.inited = BuilderFlag.NONE;
41344
+ this.buffer = buffer;
41345
+ this.vertexOffset = vertexOffset;
41346
+ this.indexOffset = indexOffset;
41347
+ this.vertexCount = vertexCount;
41348
+ this.indexCount = indexCount;
41349
+ this.pointCountReserved = pointCount;
41350
+ this.init();
41351
+ return true;
41352
+ }
41353
+ else {
41354
+ return false;
41355
+ }
41356
+ }
41357
+ else {
41358
+ return true;
41359
+ }
41360
+ };
41149
41361
  BuilderLineOfAny.prototype.isCompatible = function (shape) {
41150
- var pointCount = toLineOfAnyPointCount(toPointsCount(shape.points));
41362
+ var pointCount = toLineOfAnyPointCount(toPointCount(shape.points));
41151
41363
  return pointCount === this.pointCountReserved;
41152
41364
  };
41153
41365
  BuilderLineOfAny.prototype.updateLineOfAnyColorFill = function (buffer, shape, points, vcountPerPoint) {
@@ -41159,7 +41371,9 @@
41159
41371
  var colorFill = fill.color;
41160
41372
  var alphaFill = isFillEnabled ? fill.alpha : 0;
41161
41373
  var isFillChanged = colorFill !== this.colorFill || alphaFill !== this.alphaFill;
41162
- if (isPointFillChanged || isFillChanged) {
41374
+ var isNotInited = !(this.inited & BuilderFlag.COLOR_FILL);
41375
+ if (isNotInited || isPointFillChanged || isFillChanged) {
41376
+ this.inited |= BuilderFlag.COLOR_FILL;
41163
41377
  this.colorFill = colorFill;
41164
41378
  this.alphaFill = alphaFill;
41165
41379
  this.pointFillId = pointFillId;
@@ -41634,6 +41848,8 @@
41634
41848
  this._values = [];
41635
41849
  this._valuesLength = 0;
41636
41850
  this._segments = [];
41851
+ this._length = 0;
41852
+ this._plength = 0;
41637
41853
  this._size = new EShapeLineOfAnyPointsPointImpl(this, EShapeDefaults.SIZE_X, EShapeDefaults.SIZE_Y);
41638
41854
  this._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);
41639
41855
  this._fill = new EShapeLineOfAnyPointsFillImpl(parent);
@@ -41642,7 +41858,14 @@
41642
41858
  }
41643
41859
  Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "length", {
41644
41860
  get: function () {
41645
- return this._values.length >> 1;
41861
+ return this._length;
41862
+ },
41863
+ enumerable: false,
41864
+ configurable: true
41865
+ });
41866
+ Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "plength", {
41867
+ get: function () {
41868
+ return this._plength;
41646
41869
  },
41647
41870
  enumerable: false,
41648
41871
  configurable: true
@@ -41787,6 +42010,11 @@
41787
42010
  isUpdated = true;
41788
42011
  }
41789
42012
  }
42013
+ var newLength = newValuesLength >> 1;
42014
+ this._length = newLength;
42015
+ if (this._plength < newLength) {
42016
+ this._plength = newLength;
42017
+ }
41790
42018
  }
41791
42019
  //
41792
42020
  if (isDirty) {
@@ -41798,7 +42026,6 @@
41798
42026
  parent_1.updateUploaded();
41799
42027
  }
41800
42028
  else {
41801
- parent_1.uploaded = undefined;
41802
42029
  parent_1.toDirty();
41803
42030
  }
41804
42031
  }
@@ -41873,7 +42100,8 @@
41873
42100
  function BuilderLineOfCircles() {
41874
42101
  return _super !== null && _super.apply(this, arguments) || this;
41875
42102
  }
41876
- BuilderLineOfCircles.prototype.init = function (buffer) {
42103
+ BuilderLineOfCircles.prototype.init = function () {
42104
+ var buffer = this.buffer;
41877
42105
  buffer.updateClippings();
41878
42106
  buffer.updateIndices();
41879
42107
  var clippings = buffer.clippings;
@@ -41889,9 +42117,10 @@
41889
42117
  }
41890
42118
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
41891
42119
  };
41892
- BuilderLineOfCircles.prototype.update = function (buffer, shape) {
42120
+ BuilderLineOfCircles.prototype.update = function (shape) {
41893
42121
  var points = shape.points;
41894
42122
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42123
+ var buffer = this.buffer;
41895
42124
  this.updateVertexAndStep(buffer, shape, points);
41896
42125
  this.updateLineOfAnyColorFill(buffer, shape, points, CIRCLE_VERTEX_COUNT);
41897
42126
  this.updateLineOfAnyColorStroke(buffer, shape, points, CIRCLE_VERTEX_COUNT);
@@ -42009,15 +42238,15 @@
42009
42238
  var tvcount = tcount << TEXT_VERTEX_COUNT_SHIFT;
42010
42239
  var ticount = tcount << TEXT_INDEX_COUNT_SHIFT;
42011
42240
  var points = shape.points;
42012
- var pointCount = toLineOfAnyPointCount(toPointsCount(points));
42241
+ var pointCount = toLineOfAnyPointCount(toPointCount(points));
42013
42242
  var pvcount = pointCount * vcountPerPoint;
42014
42243
  var picount = pointCount * icountPerPoint;
42015
42244
  var vcount = pvcount + tvcount;
42016
42245
  var icount = picount + ticount;
42017
42246
  if (buffer.check(voffset, ioffset, vcount, icount)) {
42018
42247
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
42019
- new constructor(voffset, ioffset, pvcount, picount, pointCount),
42020
- new BuilderText(voffset + pvcount, ioffset + picount, tvcount, ticount)
42248
+ new constructor(buffer, voffset, ioffset, pvcount, picount, pointCount, vcountPerPoint, icountPerPoint),
42249
+ new BuilderText(buffer, voffset + pvcount, ioffset + picount, tvcount, ticount)
42021
42250
  ]).init(shape);
42022
42251
  }
42023
42252
  return null;
@@ -42100,13 +42329,14 @@
42100
42329
  */
42101
42330
  var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
42102
42331
  __extends(BuilderLineOfRectangleRoundeds, _super);
42103
- function BuilderLineOfRectangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42104
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
42332
+ function BuilderLineOfRectangleRoundeds(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
42333
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) || this;
42105
42334
  _this.radius = 0;
42106
42335
  _this.corner = 0;
42107
42336
  return _this;
42108
42337
  }
42109
- BuilderLineOfRectangleRoundeds.prototype.init = function (buffer) {
42338
+ BuilderLineOfRectangleRoundeds.prototype.init = function () {
42339
+ var buffer = this.buffer;
42110
42340
  buffer.updateIndices();
42111
42341
  var indices = buffer.indices;
42112
42342
  var voffset = this.vertexOffset;
@@ -42118,9 +42348,10 @@
42118
42348
  }
42119
42349
  this.inited |= BuilderFlag.INDEX;
42120
42350
  };
42121
- BuilderLineOfRectangleRoundeds.prototype.update = function (buffer, shape) {
42351
+ BuilderLineOfRectangleRoundeds.prototype.update = function (shape) {
42122
42352
  var points = shape.points;
42123
42353
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42354
+ var buffer = this.buffer;
42124
42355
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42125
42356
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
42126
42357
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
@@ -42339,7 +42570,8 @@
42339
42570
  function BuilderLineOfRectangles() {
42340
42571
  return _super !== null && _super.apply(this, arguments) || this;
42341
42572
  }
42342
- BuilderLineOfRectangles.prototype.init = function (buffer) {
42573
+ BuilderLineOfRectangles.prototype.init = function () {
42574
+ var buffer = this.buffer;
42343
42575
  buffer.updateIndices();
42344
42576
  var indices = buffer.indices;
42345
42577
  var voffset = this.vertexOffset;
@@ -42351,9 +42583,10 @@
42351
42583
  }
42352
42584
  this.inited |= BuilderFlag.INDEX;
42353
42585
  };
42354
- BuilderLineOfRectangles.prototype.update = function (buffer, shape) {
42586
+ BuilderLineOfRectangles.prototype.update = function (shape) {
42355
42587
  var points = shape.points;
42356
42588
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42589
+ var buffer = this.buffer;
42357
42590
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42358
42591
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
42359
42592
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
@@ -42964,13 +43197,14 @@
42964
43197
  */
42965
43198
  var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
42966
43199
  __extends(BuilderLineOfTriangleRoundeds, _super);
42967
- function BuilderLineOfTriangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42968
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
43200
+ function BuilderLineOfTriangleRoundeds(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
43201
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) || this;
42969
43202
  _this.radius = 0;
42970
43203
  _this.corner = 0;
42971
43204
  return _this;
42972
43205
  }
42973
- BuilderLineOfTriangleRoundeds.prototype.init = function (buffer) {
43206
+ BuilderLineOfTriangleRoundeds.prototype.init = function () {
43207
+ var buffer = this.buffer;
42974
43208
  buffer.updateIndices();
42975
43209
  var voffset = this.vertexOffset;
42976
43210
  var ioffset = this.indexOffset;
@@ -42981,9 +43215,10 @@
42981
43215
  }
42982
43216
  this.inited |= BuilderFlag.INDEX;
42983
43217
  };
42984
- BuilderLineOfTriangleRoundeds.prototype.update = function (buffer, shape) {
43218
+ BuilderLineOfTriangleRoundeds.prototype.update = function (shape) {
42985
43219
  var points = shape.points;
42986
43220
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43221
+ var buffer = this.buffer;
42987
43222
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42988
43223
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
42989
43224
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
@@ -43346,7 +43581,8 @@
43346
43581
  function BuilderLineOfTriangles() {
43347
43582
  return _super !== null && _super.apply(this, arguments) || this;
43348
43583
  }
43349
- BuilderLineOfTriangles.prototype.init = function (buffer) {
43584
+ BuilderLineOfTriangles.prototype.init = function () {
43585
+ var buffer = this.buffer;
43350
43586
  buffer.updateClippings();
43351
43587
  buffer.updateIndices();
43352
43588
  var clippings = buffer.clippings;
@@ -43362,9 +43598,10 @@
43362
43598
  }
43363
43599
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43364
43600
  };
43365
- BuilderLineOfTriangles.prototype.update = function (buffer, shape) {
43601
+ BuilderLineOfTriangles.prototype.update = function (shape) {
43366
43602
  var points = shape.points;
43367
43603
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43604
+ var buffer = this.buffer;
43368
43605
  this.updateVertexStepAndUvs(buffer, shape, points);
43369
43606
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
43370
43607
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
@@ -43570,7 +43807,7 @@
43570
43807
  */
43571
43808
  var createNullUploaded = function (buffer, shape, voffset, ioffset) {
43572
43809
  return new EShapeUploadedImpl(buffer, voffset, ioffset, 0, 0, [
43573
- new BuilderNull(voffset, ioffset)
43810
+ new BuilderNull(buffer, voffset, ioffset)
43574
43811
  ]).init(shape);
43575
43812
  };
43576
43813
 
@@ -43790,10 +44027,11 @@
43790
44027
  */
43791
44028
  var BuilderSemicircle = /** @class */ (function (_super) {
43792
44029
  __extends(BuilderSemicircle, _super);
43793
- function BuilderSemicircle(vertexOffset, indexOffset) {
43794
- return _super.call(this, vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_INDEX_COUNT) || this;
44030
+ function BuilderSemicircle(buffer, vertexOffset, indexOffset) {
44031
+ return _super.call(this, buffer, vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_INDEX_COUNT) || this;
43795
44032
  }
43796
- BuilderSemicircle.prototype.init = function (buffer) {
44033
+ BuilderSemicircle.prototype.init = function () {
44034
+ var buffer = this.buffer;
43797
44035
  buffer.updateClippings();
43798
44036
  buffer.updateIndices();
43799
44037
  var voffset = this.vertexOffset;
@@ -43801,7 +44039,8 @@
43801
44039
  buildSemicircleIndex(buffer.indices, voffset, this.indexOffset);
43802
44040
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43803
44041
  };
43804
- BuilderSemicircle.prototype.update = function (buffer, shape) {
44042
+ BuilderSemicircle.prototype.update = function (shape) {
44043
+ var buffer = this.buffer;
43805
44044
  this.updateVertexAndStep(buffer, shape);
43806
44045
  this.updateColorFill(buffer, shape);
43807
44046
  this.updateColorStroke(buffer, shape);
@@ -43867,8 +44106,8 @@
43867
44106
  var icount = SEMICIRCLE_INDEX_COUNT + ticount;
43868
44107
  if (buffer.check(voffset, ioffset, vcount, icount)) {
43869
44108
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
43870
- new BuilderSemicircle(voffset, ioffset),
43871
- new BuilderText(voffset + SEMICIRCLE_VERTEX_COUNT, ioffset + SEMICIRCLE_INDEX_COUNT, tvcount, ticount)
44109
+ new BuilderSemicircle(buffer, voffset, ioffset),
44110
+ new BuilderText(buffer, voffset + SEMICIRCLE_VERTEX_COUNT, ioffset + SEMICIRCLE_INDEX_COUNT, tvcount, ticount)
43872
44111
  ]).init(shape);
43873
44112
  }
43874
44113
  return null;
@@ -43937,17 +44176,19 @@
43937
44176
  */
43938
44177
  var BuilderTriangle = /** @class */ (function (_super) {
43939
44178
  __extends(BuilderTriangle, _super);
43940
- function BuilderTriangle() {
43941
- return _super !== null && _super.apply(this, arguments) || this;
44179
+ function BuilderTriangle(buffer, vertexOffset, indexOffset) {
44180
+ return _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
43942
44181
  }
43943
- BuilderTriangle.prototype.init = function (buffer) {
44182
+ BuilderTriangle.prototype.init = function () {
44183
+ var buffer = this.buffer;
43944
44184
  buffer.updateClippings();
43945
44185
  buffer.updateIndices();
43946
44186
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
43947
44187
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
43948
44188
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43949
44189
  };
43950
- BuilderTriangle.prototype.update = function (buffer, shape) {
44190
+ BuilderTriangle.prototype.update = function (shape) {
44191
+ var buffer = this.buffer;
43951
44192
  this.updateVertexStepAndUv(buffer, shape);
43952
44193
  this.updateColorFill(buffer, shape);
43953
44194
  this.updateColorStroke(buffer, shape);
@@ -44009,8 +44250,8 @@
44009
44250
  var icount = TRIANGLE_INDEX_COUNT + ticount;
44010
44251
  if (buffer.check(voffset, ioffset, vcount, icount)) {
44011
44252
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
44012
- new BuilderTriangle(voffset, ioffset, vcount - tvcount, icount - ticount),
44013
- new BuilderText(voffset + TRIANGLE_VERTEX_COUNT, ioffset + TRIANGLE_INDEX_COUNT, tvcount, ticount)
44253
+ new BuilderTriangle(buffer, voffset, ioffset),
44254
+ new BuilderText(buffer, voffset + TRIANGLE_VERTEX_COUNT, ioffset + TRIANGLE_INDEX_COUNT, tvcount, ticount)
44014
44255
  ]).init(shape);
44015
44256
  }
44016
44257
  return null;
@@ -44039,18 +44280,20 @@
44039
44280
  */
44040
44281
  var BuilderTriangleRounded = /** @class */ (function (_super) {
44041
44282
  __extends(BuilderTriangleRounded, _super);
44042
- function BuilderTriangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
44043
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
44283
+ function BuilderTriangleRounded(buffer, vertexOffset, indexOffset) {
44284
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_ROUNDED_VERTEX_COUNT, TRIANGLE_ROUNDED_INDEX_COUNT) || this;
44044
44285
  _this.radius = 0;
44045
44286
  _this.corner = 0;
44046
44287
  return _this;
44047
44288
  }
44048
- BuilderTriangleRounded.prototype.init = function (buffer) {
44289
+ BuilderTriangleRounded.prototype.init = function () {
44290
+ var buffer = this.buffer;
44049
44291
  buffer.updateIndices();
44050
44292
  buildTriangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
44051
44293
  this.inited |= BuilderFlag.INDEX;
44052
44294
  };
44053
- BuilderTriangleRounded.prototype.update = function (buffer, shape) {
44295
+ BuilderTriangleRounded.prototype.update = function (shape) {
44296
+ var buffer = this.buffer;
44054
44297
  this.updateVertexClippingStepAndUv(buffer, shape);
44055
44298
  this.updateColorFill(buffer, shape);
44056
44299
  this.updateColorStroke(buffer, shape);
@@ -44126,8 +44369,8 @@
44126
44369
  var icount = TRIANGLE_ROUNDED_INDEX_COUNT + ticount;
44127
44370
  if (buffer.check(voffset, ioffset, vcount, icount)) {
44128
44371
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
44129
- new BuilderTriangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
44130
- new BuilderText(voffset + TRIANGLE_ROUNDED_VERTEX_COUNT, ioffset + TRIANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
44372
+ new BuilderTriangleRounded(buffer, voffset, ioffset),
44373
+ new BuilderText(buffer, voffset + TRIANGLE_ROUNDED_VERTEX_COUNT, ioffset + TRIANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
44131
44374
  ]).init(shape);
44132
44375
  }
44133
44376
  return null;
@@ -76766,7 +77009,7 @@
76766
77009
  buildImageSdfUv: buildImageSdfUv,
76767
77010
  toLineOfAnyPointCount: toLineOfAnyPointCount,
76768
77011
  buildLineOfAnyColor: buildLineOfAnyColor,
76769
- toPointsCount: toPointsCount,
77012
+ toPointCount: toPointCount,
76770
77013
  toLinePointCount: toLinePointCount,
76771
77014
  toLineVertexCount: toLineVertexCount,
76772
77015
  toLineIndexCount: toLineIndexCount,