@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
 
@@ -71,7 +71,6 @@ var EShapeUploadeds = {};
71
71
  */
72
72
  var EShapeUploadedImpl = /** @class */ (function () {
73
73
  function EShapeUploadedImpl(buffer, vertexOffset, indexOffset, vertexCount, indexCount, builders) {
74
- this.buffer = buffer;
75
74
  this._builders = builders;
76
75
  this._vertexOffset = vertexOffset;
77
76
  this._indexOffset = indexOffset;
@@ -80,20 +79,38 @@ var EShapeUploadedImpl = /** @class */ (function () {
80
79
  }
81
80
  EShapeUploadedImpl.prototype.init = function (shape) {
82
81
  shape.uploaded = this;
83
- var buffer = this.buffer;
84
82
  var builders = this._builders;
85
83
  for (var i = 0, imax = builders.length; i < imax; ++i) {
86
- builders[i].init(buffer);
84
+ builders[i].init();
87
85
  }
88
86
  this.update(shape);
89
87
  return this;
90
88
  };
89
+ EShapeUploadedImpl.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
90
+ var builders = this._builders;
91
+ var voffset = vertexOffset;
92
+ var ioffset = indexOffset;
93
+ for (var i = 0, imax = builders.length; i < imax; ++i) {
94
+ var builder = builders[i];
95
+ if (!builder.reinit(buffer, shape, voffset, ioffset)) {
96
+ return false;
97
+ }
98
+ var vertexCount = builder.vertexCount;
99
+ var indexCount = builder.indexCount;
100
+ voffset += vertexCount;
101
+ ioffset += indexCount;
102
+ }
103
+ this._vertexCount = voffset - vertexOffset;
104
+ this._indexCount = ioffset - indexOffset;
105
+ this.update(shape);
106
+ return true;
107
+ };
91
108
  EShapeUploadedImpl.prototype.update = function (shape) {
92
- var buffer = this.buffer;
93
109
  var builders = this._builders;
94
110
  for (var i = 0, imax = builders.length; i < imax; ++i) {
95
- builders[i].update(buffer, shape);
111
+ builders[i].update(shape);
96
112
  }
113
+ return this;
97
114
  };
98
115
  EShapeUploadedImpl.prototype.isCompatible = function (shape) {
99
116
  var builders = this._builders;
@@ -104,9 +121,6 @@ var EShapeUploadedImpl = /** @class */ (function () {
104
121
  }
105
122
  return true;
106
123
  };
107
- EShapeUploadedImpl.prototype.getBuffer = function () {
108
- return this.buffer;
109
- };
110
124
  EShapeUploadedImpl.prototype.getVertexOffset = function () {
111
125
  return this._vertexOffset;
112
126
  };
@@ -489,7 +503,7 @@ var TEXT_INDEX_COUNT_SHIFT = 1;
489
503
  var TEXT_FMIN = 0.00001;
490
504
  var TEXT_WORK_POINT = new pixi_js.Point();
491
505
  var toTextBufferCount = function (shape) {
492
- var l = shape.text.value.length;
506
+ var l = shape.text.plength;
493
507
  return ((l >> 3) + (0 < (l & 0x7) ? 1 : 0)) << 3;
494
508
  };
495
509
  var buildTextClipping = function (clippings, voffset, vcount) {
@@ -1486,7 +1500,8 @@ var EShapeStrokeSide = {
1486
1500
  * SPDX-License-Identifier: Apache-2.0
1487
1501
  */
1488
1502
  var BuilderBase = /** @class */ (function () {
1489
- function BuilderBase(vertexOffset, indexOffset, vertexCount, indexCount) {
1503
+ function BuilderBase(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
1504
+ this.buffer = buffer;
1490
1505
  this.vertexOffset = vertexOffset;
1491
1506
  this.indexOffset = indexOffset;
1492
1507
  this.vertexCount = vertexCount;
@@ -1506,6 +1521,26 @@ var BuilderBase = /** @class */ (function () {
1506
1521
  this.texture = null;
1507
1522
  this.textureTransformId = -1;
1508
1523
  }
1524
+ BuilderBase.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
1525
+ if (this.buffer !== buffer ||
1526
+ this.vertexOffset !== vertexOffset ||
1527
+ this.indexOffset !== indexOffset) {
1528
+ if (buffer.check(vertexOffset, indexOffset, this.vertexCount, this.indexCount)) {
1529
+ this.inited = BuilderFlag.NONE;
1530
+ this.buffer = buffer;
1531
+ this.vertexOffset = vertexOffset;
1532
+ this.indexOffset = indexOffset;
1533
+ this.init();
1534
+ return true;
1535
+ }
1536
+ else {
1537
+ return false;
1538
+ }
1539
+ }
1540
+ else {
1541
+ return true;
1542
+ }
1543
+ };
1509
1544
  BuilderBase.prototype.isCompatible = function (shape) {
1510
1545
  return true;
1511
1546
  };
@@ -2108,6 +2143,13 @@ var EShapeBarPoints = /** @class */ (function () {
2108
2143
  enumerable: false,
2109
2144
  configurable: true
2110
2145
  });
2146
+ Object.defineProperty(EShapeBarPoints.prototype, "plength", {
2147
+ get: function () {
2148
+ return 2;
2149
+ },
2150
+ enumerable: false,
2151
+ configurable: true
2152
+ });
2111
2153
  Object.defineProperty(EShapeBarPoints.prototype, "id", {
2112
2154
  get: function () {
2113
2155
  this.update();
@@ -7781,6 +7823,7 @@ var EShapeTextImpl = /** @class */ (function () {
7781
7823
  this._parent = parent;
7782
7824
  this._enable = true;
7783
7825
  this._value = value;
7826
+ this._plength = this._length = value.length;
7784
7827
  this._color = color;
7785
7828
  this._alpha = alpha;
7786
7829
  this._family = family;
@@ -7816,39 +7859,60 @@ var EShapeTextImpl = /** @class */ (function () {
7816
7859
  set: function (value) {
7817
7860
  if (this._value !== value) {
7818
7861
  this._value = value;
7819
- // Compatibility check
7820
- var parent_1 = this._parent;
7821
- var uploaded = parent_1.uploaded;
7822
- if (uploaded == null || !uploaded.isCompatible(parent_1)) {
7823
- this.atlas = undefined;
7824
- parent_1.toDirty();
7825
- return;
7862
+ var length_1 = value.length;
7863
+ this._length = length_1;
7864
+ if (this._plength < length_1) {
7865
+ this._plength = length_1;
7826
7866
  }
7827
- // Character code check
7828
- var atlas = this.atlas;
7829
- var characters = atlas && atlas.characters;
7830
- if (characters != null) {
7831
- for (var i = 0, imax = value.length; i < imax; ++i) {
7832
- var char = value[i];
7833
- if (!(char in characters)) {
7834
- this.atlas = undefined;
7835
- parent_1.toDirty();
7836
- return;
7837
- }
7838
- }
7867
+ if (this.isCompatible(value)) {
7868
+ this._parent.updateUploaded();
7839
7869
  }
7840
7870
  else {
7841
7871
  this.atlas = undefined;
7842
- parent_1.toDirty();
7843
- return;
7872
+ this._parent.toDirty();
7844
7873
  }
7845
- // Update uploaded
7846
- parent_1.updateUploaded();
7847
7874
  }
7848
7875
  },
7849
7876
  enumerable: false,
7850
7877
  configurable: true
7851
7878
  });
7879
+ EShapeTextImpl.prototype.isCompatible = function (value) {
7880
+ // Compatibility check
7881
+ var parent = this._parent;
7882
+ var uploaded = parent.uploaded;
7883
+ if (uploaded == null || !uploaded.isCompatible(parent)) {
7884
+ return false;
7885
+ }
7886
+ // Character code check
7887
+ var atlas = this.atlas;
7888
+ var characters = atlas && atlas.characters;
7889
+ if (characters != null) {
7890
+ for (var i = 0, imax = value.length; i < imax; ++i) {
7891
+ var char = value[i];
7892
+ if (!(char in characters)) {
7893
+ return false;
7894
+ }
7895
+ }
7896
+ }
7897
+ else {
7898
+ return false;
7899
+ }
7900
+ return true;
7901
+ };
7902
+ Object.defineProperty(EShapeTextImpl.prototype, "length", {
7903
+ get: function () {
7904
+ return this._length;
7905
+ },
7906
+ enumerable: false,
7907
+ configurable: true
7908
+ });
7909
+ Object.defineProperty(EShapeTextImpl.prototype, "plength", {
7910
+ get: function () {
7911
+ return this._plength;
7912
+ },
7913
+ enumerable: false,
7914
+ configurable: true
7915
+ });
7852
7916
  Object.defineProperty(EShapeTextImpl.prototype, "family", {
7853
7917
  get: function () {
7854
7918
  return this._family;
@@ -7982,7 +8046,18 @@ var EShapeTextImpl = /** @class */ (function () {
7982
8046
  var isChangedUploaded = false;
7983
8047
  if (value != null && this._value !== value) {
7984
8048
  this._value = value;
7985
- isChangedDirty = true;
8049
+ var length_2 = value.length;
8050
+ this._length = length_2;
8051
+ if (this._plength < length_2) {
8052
+ this._plength = length_2;
8053
+ }
8054
+ if (this.isCompatible(value)) {
8055
+ isChangedUploaded = true;
8056
+ }
8057
+ else {
8058
+ this.atlas = undefined;
8059
+ isChangedDirty = true;
8060
+ }
7986
8061
  }
7987
8062
  if (color != null && this._color !== color) {
7988
8063
  this._color = color;
@@ -8520,22 +8595,24 @@ var EShapeBar = /** @class */ (function (_super) {
8520
8595
  */
8521
8596
  var BuilderBar = /** @class */ (function (_super) {
8522
8597
  __extends(BuilderBar, _super);
8523
- function BuilderBar(vertexOffset, indexOffset) {
8524
- var _this = _super.call(this, vertexOffset, indexOffset, BAR_VERTEX_COUNT, BAR_INDEX_COUNT) || this;
8598
+ function BuilderBar(buffer, vertexOffset, indexOffset) {
8599
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, BAR_VERTEX_COUNT, BAR_INDEX_COUNT) || this;
8525
8600
  _this.pointsId = -1;
8526
8601
  _this.pointsStyle = EShapePointsStyle.NONE;
8527
8602
  return _this;
8528
8603
  }
8529
- BuilderBar.prototype.init = function (buffer) {
8604
+ BuilderBar.prototype.init = function () {
8530
8605
  var voffset = this.vertexOffset;
8531
8606
  var ioffset = this.indexOffset;
8607
+ var buffer = this.buffer;
8532
8608
  buffer.updateClippings();
8533
8609
  buffer.updateIndices();
8534
8610
  buildBarClipping(buffer.clippings, voffset);
8535
8611
  buildBarIndex(buffer.indices, voffset, ioffset);
8536
8612
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
8537
8613
  };
8538
- BuilderBar.prototype.update = function (buffer, shape) {
8614
+ BuilderBar.prototype.update = function (shape) {
8615
+ var buffer = this.buffer;
8539
8616
  this.updateVertexStepAndColorFill(buffer, shape);
8540
8617
  this.updateColorStroke(buffer, shape);
8541
8618
  this.updateUv(buffer, shape);
@@ -8605,7 +8682,8 @@ var BuilderBar = /** @class */ (function (_super) {
8605
8682
  * SPDX-License-Identifier: Apache-2.0
8606
8683
  */
8607
8684
  var BuilderText = /** @class */ (function () {
8608
- function BuilderText(vertexOffset, indexOffset, vertexCount, indexCount) {
8685
+ function BuilderText(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
8686
+ this.buffer = buffer;
8609
8687
  this.vertexOffset = vertexOffset;
8610
8688
  this.indexOffset = indexOffset;
8611
8689
  this.vertexCount = vertexCount;
@@ -8640,10 +8718,11 @@ var BuilderText = /** @class */ (function () {
8640
8718
  this.clipping = false;
8641
8719
  this.fitting = false;
8642
8720
  }
8643
- BuilderText.prototype.init = function (buffer) {
8721
+ BuilderText.prototype.init = function () {
8644
8722
  var vcount = this.vertexCount;
8645
8723
  if (0 < vcount) {
8646
8724
  // Clippings
8725
+ var buffer = this.buffer;
8647
8726
  var voffset = this.vertexOffset;
8648
8727
  buffer.updateClippings();
8649
8728
  buildTextClipping(buffer.clippings, voffset, vcount);
@@ -8652,21 +8731,51 @@ var BuilderText = /** @class */ (function () {
8652
8731
  buildTextIndex(buffer.indices, voffset, this.indexOffset, this.indexCount);
8653
8732
  }
8654
8733
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
8734
+ return this;
8735
+ };
8736
+ BuilderText.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
8737
+ var tcount = toTextBufferCount(shape);
8738
+ var vertexCount = tcount << TEXT_VERTEX_COUNT_SHIFT;
8739
+ var indexCount = tcount << TEXT_INDEX_COUNT_SHIFT;
8740
+ if (this.buffer !== buffer ||
8741
+ this.vertexOffset !== vertexOffset ||
8742
+ this.indexOffset !== indexOffset ||
8743
+ this.vertexCount !== vertexCount ||
8744
+ this.indexCount !== indexCount) {
8745
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
8746
+ this.inited = BuilderFlag.NONE;
8747
+ this.buffer = buffer;
8748
+ this.vertexOffset = vertexOffset;
8749
+ this.indexOffset = indexOffset;
8750
+ this.vertexCount = vertexCount;
8751
+ this.indexCount = indexCount;
8752
+ this.init();
8753
+ return true;
8754
+ }
8755
+ else {
8756
+ return false;
8757
+ }
8758
+ }
8759
+ else {
8760
+ return true;
8761
+ }
8655
8762
  };
8656
8763
  BuilderText.prototype.isCompatible = function (shape) {
8657
8764
  return toTextBufferCount(shape) << TEXT_VERTEX_COUNT_SHIFT === this.vertexCount;
8658
8765
  };
8659
- BuilderText.prototype.update = function (buffer, shape) {
8766
+ BuilderText.prototype.update = function (shape) {
8660
8767
  var vcount = this.vertexCount;
8661
8768
  if (0 < vcount) {
8662
8769
  var textAtlas = shape.text.atlas;
8663
8770
  if (textAtlas != null) {
8771
+ var buffer = this.buffer;
8664
8772
  this.updateVertex(buffer, shape, textAtlas);
8665
8773
  this.updateColorFill(buffer, shape);
8666
8774
  this.updateColorStroke(buffer, shape);
8667
8775
  this.updateStep(buffer, shape);
8668
8776
  }
8669
8777
  }
8778
+ return this;
8670
8779
  };
8671
8780
  BuilderText.prototype.updateVertex = function (buffer, shape, textAtlas) {
8672
8781
  var size = shape.size;
@@ -8835,8 +8944,8 @@ var createBarUploaded = function (buffer, shape, voffset, ioffset, antialiasWeig
8835
8944
  var icount = BAR_INDEX_COUNT + ticount;
8836
8945
  if (buffer.check(voffset, ioffset, vcount, icount)) {
8837
8946
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
8838
- new BuilderBar(voffset, ioffset),
8839
- new BuilderText(voffset + BAR_VERTEX_COUNT, ioffset + BAR_INDEX_COUNT, tvcount, ticount)
8947
+ new BuilderBar(buffer, voffset, ioffset),
8948
+ new BuilderText(buffer, voffset + BAR_VERTEX_COUNT, ioffset + BAR_INDEX_COUNT, tvcount, ticount)
8840
8949
  ]).init(shape);
8841
8950
  }
8842
8951
  return null;
@@ -19753,6 +19862,8 @@ var EShapeLinePoints = /** @class */ (function () {
19753
19862
  this._valuesBaseLength = 0;
19754
19863
  this._values = [];
19755
19864
  this._segments = [];
19865
+ this._length = 0;
19866
+ this._plength = 0;
19756
19867
  var parentSize = parent.size;
19757
19868
  var parentSizeX = parentSize.x;
19758
19869
  var parentSizeY = parentSize.y;
@@ -19764,7 +19875,14 @@ var EShapeLinePoints = /** @class */ (function () {
19764
19875
  }
19765
19876
  Object.defineProperty(EShapeLinePoints.prototype, "length", {
19766
19877
  get: function () {
19767
- return this._values.length >> 1;
19878
+ return this._length;
19879
+ },
19880
+ enumerable: false,
19881
+ configurable: true
19882
+ });
19883
+ Object.defineProperty(EShapeLinePoints.prototype, "plength", {
19884
+ get: function () {
19885
+ return this._plength;
19768
19886
  },
19769
19887
  enumerable: false,
19770
19888
  configurable: true
@@ -19821,7 +19939,6 @@ var EShapeLinePoints = /** @class */ (function () {
19821
19939
  if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
19822
19940
  var uploaded = parent.uploaded;
19823
19941
  if (uploaded && !uploaded.isCompatible(parent)) {
19824
- parent.uploaded = undefined;
19825
19942
  parent.toDirty();
19826
19943
  }
19827
19944
  }
@@ -19925,6 +20042,7 @@ var EShapeLinePoints = /** @class */ (function () {
19925
20042
  if (result == null) {
19926
20043
  result = {
19927
20044
  length: 0,
20045
+ plength: 0,
19928
20046
  values: [],
19929
20047
  segments: [],
19930
20048
  boundary: [0, 0, 0, 0],
@@ -19935,6 +20053,9 @@ var EShapeLinePoints = /** @class */ (function () {
19935
20053
  var segments = this._segments;
19936
20054
  var length_1 = values.length >> 1;
19937
20055
  formatter(length_1, values, segments, style, result);
20056
+ if (result.plength < result.length) {
20057
+ result.plength = result.length;
20058
+ }
19938
20059
  toPointsBoundary(result.values, result.boundary);
19939
20060
  }
19940
20061
  else {
@@ -20024,6 +20145,11 @@ var EShapeLinePoints = /** @class */ (function () {
20024
20145
  }
20025
20146
  }
20026
20147
  }
20148
+ var newLength = newValuesLength >> 1;
20149
+ this._length = newLength;
20150
+ if (this._plength < newLength) {
20151
+ this._plength = newLength;
20152
+ }
20027
20153
  }
20028
20154
  // Segments
20029
20155
  if (newSegments != null) {
@@ -20089,7 +20215,6 @@ var EShapeLinePoints = /** @class */ (function () {
20089
20215
  parent_1.updateUploaded();
20090
20216
  }
20091
20217
  else {
20092
- parent_1.uploaded = undefined;
20093
20218
  parent_1.toDirty();
20094
20219
  }
20095
20220
  }
@@ -21771,12 +21896,6 @@ var EShapeBuffer = /** @class */ (function () {
21771
21896
  }
21772
21897
  }
21773
21898
  };
21774
- EShapeBuffer.prototype.isCompatible = function (shape, uploaded, vindex, iindex) {
21775
- return (uploaded.getBuffer() === this &&
21776
- uploaded.getVertexOffset() === vindex &&
21777
- uploaded.getIndexOffset() === iindex &&
21778
- uploaded.isCompatible(shape));
21779
- };
21780
21899
  EShapeBuffer.prototype.update = function (iterator, antialiasWeight, noMoreThanOne) {
21781
21900
  var builder = this._builder;
21782
21901
  builder.begin();
@@ -21785,28 +21904,18 @@ var EShapeBuffer = /** @class */ (function () {
21785
21904
  var shape = iterator.get();
21786
21905
  for (; shape != null; shape = iterator.next()) {
21787
21906
  var uploaded = shape.uploaded;
21788
- if (uploaded == null || !this.isCompatible(shape, uploaded, vindex, iindex)) {
21789
- break;
21790
- }
21791
- uploaded.update(shape);
21792
- uploaded.buildUnit(builder);
21793
- vindex += uploaded.getVertexCount();
21794
- iindex += uploaded.getIndexCount();
21795
- if (noMoreThanOne) {
21796
- iterator.next();
21797
- builder.end();
21798
- this._vertexCount = vindex;
21799
- this._indexCount = iindex;
21800
- return 0 < builder.units.length;
21801
- }
21802
- }
21803
- for (; shape != null; shape = iterator.next()) {
21804
- var creater = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];
21805
- if (creater == null) {
21806
- break;
21807
- }
21808
- var uploaded = creater(this, shape, vindex, iindex, antialiasWeight);
21809
21907
  if (uploaded == null) {
21908
+ var creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];
21909
+ if (creator == null) {
21910
+ break;
21911
+ }
21912
+ var newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);
21913
+ if (newUploaded == null) {
21914
+ break;
21915
+ }
21916
+ uploaded = newUploaded;
21917
+ }
21918
+ else if (!uploaded.reinit(this, shape, vindex, iindex)) {
21810
21919
  break;
21811
21920
  }
21812
21921
  uploaded.buildUnit(builder);
@@ -36237,18 +36346,20 @@ var buildRectangleRoundedUv = function (uvs, voffset, textureUvs, worldSize) {
36237
36346
  */
36238
36347
  var BuilderRectangleRounded = /** @class */ (function (_super) {
36239
36348
  __extends(BuilderRectangleRounded, _super);
36240
- function BuilderRectangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
36241
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
36349
+ function BuilderRectangleRounded(buffer, vertexOffset, indexOffset) {
36350
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_ROUNDED_VERTEX_COUNT, RECTANGLE_ROUNDED_INDEX_COUNT) || this;
36242
36351
  _this.radius = 0;
36243
36352
  _this.corner = 0;
36244
36353
  return _this;
36245
36354
  }
36246
- BuilderRectangleRounded.prototype.init = function (buffer) {
36355
+ BuilderRectangleRounded.prototype.init = function () {
36356
+ var buffer = this.buffer;
36247
36357
  buffer.updateIndices();
36248
36358
  buildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
36249
36359
  this.inited |= BuilderFlag.INDEX;
36250
36360
  };
36251
- BuilderRectangleRounded.prototype.update = function (buffer, shape) {
36361
+ BuilderRectangleRounded.prototype.update = function (shape) {
36362
+ var buffer = this.buffer;
36252
36363
  this.updateVertexClippingStepAndUv(buffer, shape);
36253
36364
  this.updateColorFill(buffer, shape);
36254
36365
  this.updateColorStroke(buffer, shape);
@@ -36330,8 +36441,8 @@ var createRectangleRoundedUploaded = function (buffer, shape, voffset, ioffset,
36330
36441
  var icount = RECTANGLE_ROUNDED_INDEX_COUNT + ticount;
36331
36442
  if (buffer.check(voffset, ioffset, vcount, icount)) {
36332
36443
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
36333
- new BuilderRectangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
36334
- new BuilderText(voffset + RECTANGLE_ROUNDED_VERTEX_COUNT, ioffset + RECTANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
36444
+ new BuilderRectangleRounded(buffer, voffset, ioffset),
36445
+ new BuilderText(buffer, voffset + RECTANGLE_ROUNDED_VERTEX_COUNT, ioffset + RECTANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
36335
36446
  ]).init(shape);
36336
36447
  }
36337
36448
  return null;
@@ -37202,10 +37313,11 @@ var buildCircleUv = function (uvs, voffset, textureUvs) {
37202
37313
  */
37203
37314
  var BuilderCircle = /** @class */ (function (_super) {
37204
37315
  __extends(BuilderCircle, _super);
37205
- function BuilderCircle(vertexOffset, indexOffset) {
37206
- return _super.call(this, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
37316
+ function BuilderCircle(buffer, vertexOffset, indexOffset) {
37317
+ return _super.call(this, buffer, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
37207
37318
  }
37208
- BuilderCircle.prototype.init = function (buffer) {
37319
+ BuilderCircle.prototype.init = function () {
37320
+ var buffer = this.buffer;
37209
37321
  buffer.updateClippings();
37210
37322
  buffer.updateIndices();
37211
37323
  var voffset = this.vertexOffset;
@@ -37213,7 +37325,8 @@ var BuilderCircle = /** @class */ (function (_super) {
37213
37325
  buildCircleIndex(buffer.indices, voffset, this.indexOffset);
37214
37326
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37215
37327
  };
37216
- BuilderCircle.prototype.update = function (buffer, shape) {
37328
+ BuilderCircle.prototype.update = function (shape) {
37329
+ var buffer = this.buffer;
37217
37330
  this.updateVertexAndStep(buffer, shape);
37218
37331
  this.updateColorFill(buffer, shape);
37219
37332
  this.updateColorStroke(buffer, shape);
@@ -37279,8 +37392,8 @@ var createCircleUploaded = function (buffer, shape, voffset, ioffset, antialiasW
37279
37392
  var icount = CIRCLE_INDEX_COUNT + ticount;
37280
37393
  if (buffer.check(voffset, ioffset, vcount, icount)) {
37281
37394
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
37282
- new BuilderCircle(voffset, ioffset),
37283
- new BuilderText(voffset + CIRCLE_VERTEX_COUNT, ioffset + CIRCLE_INDEX_COUNT, tvcount, ticount)
37395
+ new BuilderCircle(buffer, voffset, ioffset),
37396
+ new BuilderText(buffer, voffset + CIRCLE_VERTEX_COUNT, ioffset + CIRCLE_INDEX_COUNT, tvcount, ticount)
37284
37397
  ]).init(shape);
37285
37398
  }
37286
37399
  return null;
@@ -37305,21 +37418,22 @@ var loadShapeCircle = function () {
37305
37418
 
37306
37419
  var LINE_FMIN = 0.00001;
37307
37420
  var LINE_WORK_POINT = new pixi_js.Point();
37308
- var toPointsCount = function (points) {
37421
+ var toPointCount = function (points) {
37309
37422
  if (points) {
37310
- return points.formatted.length;
37423
+ return points.formatted.plength;
37311
37424
  }
37312
37425
  return 0;
37313
37426
  };
37314
37427
  var toLinePointCount = function (points) {
37315
- return Math.ceil(toPointsCount(points) / 12) * 12;
37428
+ var pointCount = toPointCount(points);
37429
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
37316
37430
  };
37317
37431
  var toLineVertexCount = function (pointCount, isClosed) {
37318
37432
  if (isClosed) {
37319
- return pointCount * 4 + 2;
37433
+ return (pointCount << 2) + 2;
37320
37434
  }
37321
37435
  else {
37322
- return pointCount * 4;
37436
+ return pointCount << 2;
37323
37437
  }
37324
37438
  };
37325
37439
  var toLineIndexCount = function (pointCount, isClosed) {
@@ -37707,24 +37821,53 @@ var buildTransformedLineClosedSegmentVertexStepAndColorFill = function (vertices
37707
37821
  */
37708
37822
  var BuilderLine = /** @class */ (function (_super) {
37709
37823
  __extends(BuilderLine, _super);
37710
- function BuilderLine(vertexOffset, indexOffset, vertexCount, indexCount) {
37711
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
37824
+ function BuilderLine(buffer, vertexOffset, indexOffset, vertexCount, indexCount) {
37825
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount) || this;
37712
37826
  _this.pointId = -1;
37713
37827
  _this.pointCount = 0;
37714
37828
  _this.pointsClosed = false;
37715
37829
  _this.length = 1;
37716
37830
  return _this;
37717
37831
  }
37718
- BuilderLine.prototype.init = function (buffer) {
37832
+ BuilderLine.prototype.init = function () {
37833
+ var buffer = this.buffer;
37719
37834
  buffer.updateIndices();
37720
37835
  buildLineIndex(buffer.indices, this.vertexOffset, this.indexOffset, this.indexCount);
37721
37836
  this.inited |= BuilderFlag.INDEX;
37722
37837
  };
37838
+ BuilderLine.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
37839
+ var pointCount = toLinePointCount(shape.points);
37840
+ var vertexCount = toLineVertexCount(pointCount, true);
37841
+ var indexCount = toLineIndexCount(pointCount, true);
37842
+ if (this.buffer !== buffer ||
37843
+ this.vertexOffset !== vertexOffset ||
37844
+ this.indexOffset !== indexOffset ||
37845
+ this.vertexCount !== vertexCount ||
37846
+ this.indexCount !== indexCount) {
37847
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
37848
+ this.inited = BuilderFlag.NONE;
37849
+ this.buffer = buffer;
37850
+ this.vertexOffset = vertexOffset;
37851
+ this.indexOffset = indexOffset;
37852
+ this.vertexCount = vertexCount;
37853
+ this.indexCount = indexCount;
37854
+ this.init();
37855
+ return true;
37856
+ }
37857
+ else {
37858
+ return false;
37859
+ }
37860
+ }
37861
+ else {
37862
+ return true;
37863
+ }
37864
+ };
37723
37865
  BuilderLine.prototype.isCompatible = function (shape) {
37724
37866
  var vcount = toLineVertexCount(toLinePointCount(shape.points), true);
37725
37867
  return vcount === this.vertexCount;
37726
37868
  };
37727
- BuilderLine.prototype.update = function (buffer, shape) {
37869
+ BuilderLine.prototype.update = function (shape) {
37870
+ var buffer = this.buffer;
37728
37871
  this.updateLineClipping(buffer, shape);
37729
37872
  this.updateLineVertexStepAndColorFill(buffer, shape);
37730
37873
  this.updateColorStroke(buffer, shape);
@@ -37973,19 +38116,21 @@ var BuilderMarkerBase = /** @class */ (function (_super) {
37973
38116
  */
37974
38117
  var BuilderMarkerTriangle = /** @class */ (function (_super) {
37975
38118
  __extends(BuilderMarkerTriangle, _super);
37976
- function BuilderMarkerTriangle(vertexOffset, indexOffset) {
37977
- var _this = _super.call(this, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
38119
+ function BuilderMarkerTriangle(buffer, vertexOffset, indexOffset) {
38120
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
37978
38121
  _this.pointId = -1;
37979
38122
  return _this;
37980
38123
  }
37981
- BuilderMarkerTriangle.prototype.init = function (buffer) {
38124
+ BuilderMarkerTriangle.prototype.init = function () {
38125
+ var buffer = this.buffer;
37982
38126
  buffer.updateClippings();
37983
38127
  buffer.updateIndices();
37984
38128
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
37985
38129
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
37986
38130
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37987
38131
  };
37988
- BuilderMarkerTriangle.prototype.update = function (buffer, shape) {
38132
+ BuilderMarkerTriangle.prototype.update = function (shape) {
38133
+ var buffer = this.buffer;
37989
38134
  this.updateVertexStepAndUv(buffer, shape);
37990
38135
  this.updateColorFill(buffer, shape);
37991
38136
  this.updateColorStroke(buffer, shape);
@@ -38090,12 +38235,13 @@ var BuilderMarkerTriangleTail = /** @class */ (function (_super) {
38090
38235
  */
38091
38236
  var BuilderMarkerCircle = /** @class */ (function (_super) {
38092
38237
  __extends(BuilderMarkerCircle, _super);
38093
- function BuilderMarkerCircle(vertexOffset, indexOffset) {
38094
- var _this = _super.call(this, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
38238
+ function BuilderMarkerCircle(buffer, vertexOffset, indexOffset) {
38239
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT) || this;
38095
38240
  _this.pointId = -1;
38096
38241
  return _this;
38097
38242
  }
38098
- BuilderMarkerCircle.prototype.init = function (buffer) {
38243
+ BuilderMarkerCircle.prototype.init = function () {
38244
+ var buffer = this.buffer;
38099
38245
  buffer.updateClippings();
38100
38246
  buffer.updateIndices();
38101
38247
  var vertexOffset = this.vertexOffset;
@@ -38103,7 +38249,8 @@ var BuilderMarkerCircle = /** @class */ (function (_super) {
38103
38249
  buildCircleIndex(buffer.indices, vertexOffset, this.indexOffset);
38104
38250
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
38105
38251
  };
38106
- BuilderMarkerCircle.prototype.update = function (buffer, shape) {
38252
+ BuilderMarkerCircle.prototype.update = function (shape) {
38253
+ var buffer = this.buffer;
38107
38254
  this.updateVertexAndStep(buffer, shape);
38108
38255
  this.updateColorFill(buffer, shape);
38109
38256
  this.updateColorStroke(buffer, shape);
@@ -38211,20 +38358,27 @@ var BuilderMarkerCircleTail = /** @class */ (function (_super) {
38211
38358
  * SPDX-License-Identifier: Apache-2.0
38212
38359
  */
38213
38360
  var BuilderNull = /** @class */ (function () {
38214
- function BuilderNull(vertexOffset, indexOffset) {
38361
+ function BuilderNull(buffer, vertexOffset, indexOffset) {
38362
+ this.buffer = buffer;
38215
38363
  this.vertexOffset = vertexOffset;
38216
38364
  this.indexOffset = indexOffset;
38217
38365
  this.vertexCount = 0;
38218
38366
  this.indexCount = 0;
38219
38367
  this.texture = null;
38220
38368
  }
38221
- BuilderNull.prototype.init = function (buffer) {
38222
- // DO NOTHING
38369
+ BuilderNull.prototype.init = function () {
38370
+ return this;
38371
+ };
38372
+ BuilderNull.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
38373
+ this.buffer = buffer;
38374
+ this.vertexOffset = vertexOffset;
38375
+ this.indexOffset = indexOffset;
38376
+ return true;
38223
38377
  };
38224
38378
  BuilderNull.prototype.isCompatible = function (shape) {
38225
38379
  return true;
38226
38380
  };
38227
- BuilderNull.prototype.update = function (buffer, shape) {
38381
+ BuilderNull.prototype.update = function (shape) {
38228
38382
  this.texture = toTexture(shape);
38229
38383
  };
38230
38384
  BuilderNull.prototype.buildUnit = function (builder) {
@@ -38654,17 +38808,19 @@ var buildRectangleUv = function (uvs, voffset, textureUvs, worldSize) {
38654
38808
  */
38655
38809
  var BuilderMarkerRectangle = /** @class */ (function (_super) {
38656
38810
  __extends(BuilderMarkerRectangle, _super);
38657
- function BuilderMarkerRectangle(vertexOffset, indexOffset) {
38658
- var _this = _super.call(this, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
38811
+ function BuilderMarkerRectangle(buffer, vertexOffset, indexOffset) {
38812
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
38659
38813
  _this.pointId = -1;
38660
38814
  return _this;
38661
38815
  }
38662
- BuilderMarkerRectangle.prototype.init = function (buffer) {
38816
+ BuilderMarkerRectangle.prototype.init = function () {
38817
+ var buffer = this.buffer;
38663
38818
  buffer.updateIndices();
38664
38819
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
38665
38820
  this.inited |= BuilderFlag.INDEX;
38666
38821
  };
38667
- BuilderMarkerRectangle.prototype.update = function (buffer, shape) {
38822
+ BuilderMarkerRectangle.prototype.update = function (shape) {
38823
+ var buffer = this.buffer;
38668
38824
  this.updateVertexClippingStepAndUv(buffer, shape);
38669
38825
  this.updateColorFill(buffer, shape);
38670
38826
  this.updateColorStroke(buffer, shape);
@@ -38803,31 +38959,31 @@ var toMarkerIndexCount = function (type) {
38803
38959
  }
38804
38960
  return 0;
38805
38961
  };
38806
- var toBuilderMarkerHead = function (type, vertexOffset, indexOffset) {
38962
+ var toBuilderMarkerHead = function (type, buffer, vertexOffset, indexOffset) {
38807
38963
  switch (type) {
38808
38964
  case EShapePointsMarkerType.NONE:
38809
- return new BuilderNull(vertexOffset, indexOffset);
38965
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38810
38966
  case EShapePointsMarkerType.CIRCLE:
38811
- return new BuilderMarkerCircleHead(vertexOffset, indexOffset);
38967
+ return new BuilderMarkerCircleHead(buffer, vertexOffset, indexOffset);
38812
38968
  case EShapePointsMarkerType.TRIANGLE:
38813
- return new BuilderMarkerTriangleHead(vertexOffset, indexOffset);
38969
+ return new BuilderMarkerTriangleHead(buffer, vertexOffset, indexOffset);
38814
38970
  case EShapePointsMarkerType.RECTANGLE:
38815
- return new BuilderMarkerRectangleHead(vertexOffset, indexOffset);
38971
+ return new BuilderMarkerRectangleHead(buffer, vertexOffset, indexOffset);
38816
38972
  }
38817
- return new BuilderNull(vertexOffset, indexOffset);
38973
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38818
38974
  };
38819
- var toBuilderMarkerTail = function (type, vertexOffset, indexOffset) {
38975
+ var toBuilderMarkerTail = function (type, buffer, vertexOffset, indexOffset) {
38820
38976
  switch (type) {
38821
38977
  case EShapePointsMarkerType.NONE:
38822
- return new BuilderNull(vertexOffset, indexOffset);
38978
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38823
38979
  case EShapePointsMarkerType.CIRCLE:
38824
- return new BuilderMarkerCircleTail(vertexOffset, indexOffset);
38980
+ return new BuilderMarkerCircleTail(buffer, vertexOffset, indexOffset);
38825
38981
  case EShapePointsMarkerType.TRIANGLE:
38826
- return new BuilderMarkerTriangleTail(vertexOffset, indexOffset);
38982
+ return new BuilderMarkerTriangleTail(buffer, vertexOffset, indexOffset);
38827
38983
  case EShapePointsMarkerType.RECTANGLE:
38828
- return new BuilderMarkerRectangleTail(vertexOffset, indexOffset);
38984
+ return new BuilderMarkerRectangleTail(buffer, vertexOffset, indexOffset);
38829
38985
  }
38830
- return new BuilderNull(vertexOffset, indexOffset);
38986
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38831
38987
  };
38832
38988
  var createLineUploaded = function (buffer, shape, voffset, ioffset, antialiasWeight) {
38833
38989
  // Line
@@ -38864,10 +39020,10 @@ var createLineUploaded = function (buffer, shape, voffset, ioffset, antialiasWei
38864
39020
  var icount = licount + mhicount + mticount + ticount;
38865
39021
  if (buffer.check(voffset, ioffset, vcount, icount)) {
38866
39022
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
38867
- new BuilderLine(voffset, ioffset, lvcount, licount),
38868
- toBuilderMarkerTail(mttype, mtvoffset, mtioffset),
38869
- toBuilderMarkerHead(mhtype, mhvoffset, mhioffset),
38870
- new BuilderText(tvoffset, tioffset, tvcount, ticount)
39023
+ new BuilderLine(buffer, voffset, ioffset, lvcount, licount),
39024
+ toBuilderMarkerTail(mttype, buffer, mtvoffset, mtioffset),
39025
+ toBuilderMarkerHead(mhtype, buffer, mhvoffset, mhioffset),
39026
+ new BuilderText(buffer, tvoffset, tioffset, tvcount, ticount)
38871
39027
  ]).init(shape);
38872
39028
  }
38873
39029
  return null;
@@ -39366,15 +39522,17 @@ var loadShapeConnectorLine = function () {
39366
39522
  */
39367
39523
  var BuilderRectanglePivoted = /** @class */ (function (_super) {
39368
39524
  __extends(BuilderRectanglePivoted, _super);
39369
- function BuilderRectanglePivoted() {
39370
- return _super !== null && _super.apply(this, arguments) || this;
39525
+ function BuilderRectanglePivoted(buffer, vertexOffset, indexOffset) {
39526
+ return _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
39371
39527
  }
39372
- BuilderRectanglePivoted.prototype.init = function (buffer) {
39528
+ BuilderRectanglePivoted.prototype.init = function () {
39529
+ var buffer = this.buffer;
39373
39530
  buffer.updateIndices();
39374
39531
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
39375
39532
  this.inited |= BuilderFlag.INDEX;
39376
39533
  };
39377
- BuilderRectanglePivoted.prototype.update = function (buffer, shape) {
39534
+ BuilderRectanglePivoted.prototype.update = function (shape) {
39535
+ var buffer = this.buffer;
39378
39536
  this.updateVertexClippingStepAndUv(buffer, shape);
39379
39537
  this.updateColorFill(buffer, shape);
39380
39538
  this.updateColorStroke(buffer, shape);
@@ -39447,8 +39605,8 @@ var createRectanglePivotedUploaded = function (buffer, shape, voffset, ioffset,
39447
39605
  var icount = RECTANGLE_INDEX_COUNT + ticount;
39448
39606
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39449
39607
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39450
- new BuilderRectanglePivoted(voffset, ioffset, vcount - tvcount, icount - ticount),
39451
- new BuilderText(voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
39608
+ new BuilderRectanglePivoted(buffer, voffset, ioffset),
39609
+ new BuilderText(buffer, voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
39452
39610
  ]).init(shape);
39453
39611
  }
39454
39612
  return null;
@@ -39466,7 +39624,7 @@ var createGroupUploaded = function (buffer, shape, voffset, ioffset) {
39466
39624
  var icount = ticount;
39467
39625
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39468
39626
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39469
- new BuilderText(voffset, ioffset, tvcount, ticount)
39627
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
39470
39628
  ]).init(shape);
39471
39629
  }
39472
39630
  return null;
@@ -39753,6 +39911,20 @@ var EShapeGroupPoints = /** @class */ (function () {
39753
39911
  enumerable: false,
39754
39912
  configurable: true
39755
39913
  });
39914
+ Object.defineProperty(EShapeGroupPoints.prototype, "plength", {
39915
+ get: function () {
39916
+ var children = this._parent.children;
39917
+ if (0 < children.length) {
39918
+ var points = children[children.length - 1].points;
39919
+ if (points != null) {
39920
+ return points.plength;
39921
+ }
39922
+ }
39923
+ return 0;
39924
+ },
39925
+ enumerable: false,
39926
+ configurable: true
39927
+ });
39756
39928
  Object.defineProperty(EShapeGroupPoints.prototype, "id", {
39757
39929
  get: function () {
39758
39930
  var children = this._parent.children;
@@ -40455,15 +40627,17 @@ var loadShapeGroupShadowed = function () {
40455
40627
  */
40456
40628
  var BuilderRectangle = /** @class */ (function (_super) {
40457
40629
  __extends(BuilderRectangle, _super);
40458
- function BuilderRectangle() {
40459
- return _super !== null && _super.apply(this, arguments) || this;
40630
+ function BuilderRectangle(buffer, vertexOffset, indexOffset) {
40631
+ return _super.call(this, buffer, vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT) || this;
40460
40632
  }
40461
- BuilderRectangle.prototype.init = function (buffer) {
40633
+ BuilderRectangle.prototype.init = function () {
40634
+ var buffer = this.buffer;
40462
40635
  buffer.updateIndices();
40463
40636
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
40464
40637
  this.inited |= BuilderFlag.INDEX;
40465
40638
  };
40466
- BuilderRectangle.prototype.update = function (buffer, shape) {
40639
+ BuilderRectangle.prototype.update = function (shape) {
40640
+ var buffer = this.buffer;
40467
40641
  this.updateVertexClippingStepAndUv(buffer, shape);
40468
40642
  this.updateColorFill(buffer, shape);
40469
40643
  this.updateColorStroke(buffer, shape);
@@ -40536,8 +40710,8 @@ var createRectangleUploaded = function (buffer, shape, voffset, ioffset, antiali
40536
40710
  var icount = RECTANGLE_INDEX_COUNT + ticount;
40537
40711
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40538
40712
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40539
- new BuilderRectangle(voffset, ioffset, vcount - tvcount, icount - ticount),
40540
- new BuilderText(voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
40713
+ new BuilderRectangle(buffer, voffset, ioffset),
40714
+ new BuilderText(buffer, voffset + RECTANGLE_VERTEX_COUNT, ioffset + RECTANGLE_INDEX_COUNT, tvcount, ticount)
40541
40715
  ]).init(shape);
40542
40716
  }
40543
40717
  return null;
@@ -40772,21 +40946,23 @@ var buildImageSdfUv = function (uvs, voffset, textureUv) {
40772
40946
  */
40773
40947
  var BuilderImageSdf = /** @class */ (function (_super) {
40774
40948
  __extends(BuilderImageSdf, _super);
40775
- function BuilderImageSdf(vertexOffset, indexOffset) {
40776
- var _this = _super.call(this, vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT) || this;
40949
+ function BuilderImageSdf(buffer, vertexOffset, indexOffset) {
40950
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT) || this;
40777
40951
  _this.textureWidth = -1;
40778
40952
  _this.textureHeight = -1;
40779
40953
  return _this;
40780
40954
  }
40781
- BuilderImageSdf.prototype.init = function (buffer) {
40955
+ BuilderImageSdf.prototype.init = function () {
40782
40956
  var voffset = this.vertexOffset;
40957
+ var buffer = this.buffer;
40783
40958
  buffer.updateClippings();
40784
40959
  buffer.updateIndices();
40785
40960
  buildImageSdfClipping(buffer.clippings, voffset);
40786
40961
  buildImageSdfIndex(buffer.indices, voffset, this.indexOffset);
40787
40962
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
40788
40963
  };
40789
- BuilderImageSdf.prototype.update = function (buffer, shape) {
40964
+ BuilderImageSdf.prototype.update = function (shape) {
40965
+ var buffer = this.buffer;
40790
40966
  this.updateVertexAndStep(buffer, shape);
40791
40967
  this.updateColorFill(buffer, shape);
40792
40968
  this.updateColorStroke(buffer, shape);
@@ -40862,8 +41038,8 @@ var createImageSdfUploaded = function (buffer, shape, voffset, ioffset, antialia
40862
41038
  var icount = IMAGE_SDF_INDEX_COUNT + ticount;
40863
41039
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40864
41040
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40865
- new BuilderImageSdf(voffset, ioffset),
40866
- new BuilderText(voffset + IMAGE_SDF_VERTEX_COUNT, ioffset + IMAGE_SDF_INDEX_COUNT, tvcount, ticount)
41041
+ new BuilderImageSdf(buffer, voffset, ioffset),
41042
+ new BuilderText(buffer, voffset + IMAGE_SDF_VERTEX_COUNT, ioffset + IMAGE_SDF_INDEX_COUNT, tvcount, ticount)
40867
41043
  ]).init(shape);
40868
41044
  }
40869
41045
  return null;
@@ -40907,20 +41083,27 @@ var loadShapeImageSdf = function () {
40907
41083
  * SPDX-License-Identifier: Apache-2.0
40908
41084
  */
40909
41085
  var BuilderLabel = /** @class */ (function () {
40910
- function BuilderLabel(vertexOffset, indexOffset, vertexCount, indexCount) {
41086
+ function BuilderLabel(buffer, vertexOffset, indexOffset) {
41087
+ this.buffer = buffer;
40911
41088
  this.vertexOffset = vertexOffset;
40912
41089
  this.indexOffset = indexOffset;
40913
- this.vertexCount = vertexCount;
40914
- this.indexCount = indexCount;
41090
+ this.vertexCount = 0;
41091
+ this.indexCount = 0;
40915
41092
  this.texture = null;
40916
41093
  }
40917
- BuilderLabel.prototype.init = function (buffer) {
40918
- // DO NOTHING
41094
+ BuilderLabel.prototype.init = function () {
41095
+ return this;
41096
+ };
41097
+ BuilderLabel.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
41098
+ this.buffer = buffer;
41099
+ this.vertexOffset = vertexOffset;
41100
+ this.indexOffset = indexOffset;
41101
+ return true;
40919
41102
  };
40920
41103
  BuilderLabel.prototype.isCompatible = function (shape) {
40921
41104
  return true;
40922
41105
  };
40923
- BuilderLabel.prototype.update = function (buffer, shape) {
41106
+ BuilderLabel.prototype.update = function (shape) {
40924
41107
  this.texture = toTexture(shape);
40925
41108
  };
40926
41109
  BuilderLabel.prototype.buildUnit = function (builder) {
@@ -40947,8 +41130,8 @@ var createLabelUploaded = function (buffer, shape, voffset, ioffset, antialiasWe
40947
41130
  var icount = ticount;
40948
41131
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40949
41132
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40950
- new BuilderLabel(voffset, ioffset, vcount - tvcount, icount - ticount),
40951
- new BuilderText(voffset, ioffset, tvcount, ticount)
41133
+ new BuilderLabel(buffer, voffset, ioffset),
41134
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
40952
41135
  ]).init(shape);
40953
41136
  }
40954
41137
  return null;
@@ -41084,7 +41267,7 @@ var buildNullUv = function (uvs, voffset, vcount) {
41084
41267
  };
41085
41268
 
41086
41269
  var toLineOfAnyPointCount = function (pointCount) {
41087
- return Math.ceil(pointCount / 12) * 12;
41270
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
41088
41271
  };
41089
41272
  var buildLineOfAnyColor = function (voffset, vcountPerPoint, point, pointCount, colors, isEnabled, colorDef, alphaDef) {
41090
41273
  if (isEnabled) {
@@ -41138,8 +41321,8 @@ var buildLineOfAnyColor = function (voffset, vcountPerPoint, point, pointCount,
41138
41321
  */
41139
41322
  var BuilderLineOfAny = /** @class */ (function (_super) {
41140
41323
  __extends(BuilderLineOfAny, _super);
41141
- function BuilderLineOfAny(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
41142
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
41324
+ function BuilderLineOfAny(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
41325
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount) || this;
41143
41326
  _this.pointId = -1;
41144
41327
  _this.pointCount = 0;
41145
41328
  _this.pointCountReserved = pointCountReserved;
@@ -41147,10 +41330,39 @@ var BuilderLineOfAny = /** @class */ (function (_super) {
41147
41330
  _this.pointOffsetId = -1;
41148
41331
  _this.pointFillId = -1;
41149
41332
  _this.pointStrokeId = -1;
41333
+ _this.vcountPerPoint = vcountPerPoint;
41334
+ _this.icountPerPoint = icountPerPoint;
41150
41335
  return _this;
41151
41336
  }
41337
+ BuilderLineOfAny.prototype.reinit = function (buffer, shape, vertexOffset, indexOffset) {
41338
+ var pointCount = toLineOfAnyPointCount(toPointCount(shape.points));
41339
+ if (this.buffer !== buffer ||
41340
+ this.vertexOffset !== vertexOffset ||
41341
+ this.indexOffset !== indexOffset ||
41342
+ this.pointCountReserved !== pointCount) {
41343
+ var vertexCount = pointCount * this.vcountPerPoint;
41344
+ var indexCount = pointCount * this.icountPerPoint;
41345
+ if (buffer.check(vertexOffset, indexOffset, vertexCount, indexCount)) {
41346
+ this.inited = BuilderFlag.NONE;
41347
+ this.buffer = buffer;
41348
+ this.vertexOffset = vertexOffset;
41349
+ this.indexOffset = indexOffset;
41350
+ this.vertexCount = vertexCount;
41351
+ this.indexCount = indexCount;
41352
+ this.pointCountReserved = pointCount;
41353
+ this.init();
41354
+ return true;
41355
+ }
41356
+ else {
41357
+ return false;
41358
+ }
41359
+ }
41360
+ else {
41361
+ return true;
41362
+ }
41363
+ };
41152
41364
  BuilderLineOfAny.prototype.isCompatible = function (shape) {
41153
- var pointCount = toLineOfAnyPointCount(toPointsCount(shape.points));
41365
+ var pointCount = toLineOfAnyPointCount(toPointCount(shape.points));
41154
41366
  return pointCount === this.pointCountReserved;
41155
41367
  };
41156
41368
  BuilderLineOfAny.prototype.updateLineOfAnyColorFill = function (buffer, shape, points, vcountPerPoint) {
@@ -41162,7 +41374,9 @@ var BuilderLineOfAny = /** @class */ (function (_super) {
41162
41374
  var colorFill = fill.color;
41163
41375
  var alphaFill = isFillEnabled ? fill.alpha : 0;
41164
41376
  var isFillChanged = colorFill !== this.colorFill || alphaFill !== this.alphaFill;
41165
- if (isPointFillChanged || isFillChanged) {
41377
+ var isNotInited = !(this.inited & BuilderFlag.COLOR_FILL);
41378
+ if (isNotInited || isPointFillChanged || isFillChanged) {
41379
+ this.inited |= BuilderFlag.COLOR_FILL;
41166
41380
  this.colorFill = colorFill;
41167
41381
  this.alphaFill = alphaFill;
41168
41382
  this.pointFillId = pointFillId;
@@ -41637,6 +41851,8 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
41637
41851
  this._values = [];
41638
41852
  this._valuesLength = 0;
41639
41853
  this._segments = [];
41854
+ this._length = 0;
41855
+ this._plength = 0;
41640
41856
  this._size = new EShapeLineOfAnyPointsPointImpl(this, EShapeDefaults.SIZE_X, EShapeDefaults.SIZE_Y);
41641
41857
  this._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);
41642
41858
  this._fill = new EShapeLineOfAnyPointsFillImpl(parent);
@@ -41645,7 +41861,14 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
41645
41861
  }
41646
41862
  Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "length", {
41647
41863
  get: function () {
41648
- return this._values.length >> 1;
41864
+ return this._length;
41865
+ },
41866
+ enumerable: false,
41867
+ configurable: true
41868
+ });
41869
+ Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "plength", {
41870
+ get: function () {
41871
+ return this._plength;
41649
41872
  },
41650
41873
  enumerable: false,
41651
41874
  configurable: true
@@ -41790,6 +42013,11 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
41790
42013
  isUpdated = true;
41791
42014
  }
41792
42015
  }
42016
+ var newLength = newValuesLength >> 1;
42017
+ this._length = newLength;
42018
+ if (this._plength < newLength) {
42019
+ this._plength = newLength;
42020
+ }
41793
42021
  }
41794
42022
  //
41795
42023
  if (isDirty) {
@@ -41801,7 +42029,6 @@ var EShapeLineOfAnyPointsImpl = /** @class */ (function () {
41801
42029
  parent_1.updateUploaded();
41802
42030
  }
41803
42031
  else {
41804
- parent_1.uploaded = undefined;
41805
42032
  parent_1.toDirty();
41806
42033
  }
41807
42034
  }
@@ -41876,7 +42103,8 @@ var BuilderLineOfCircles = /** @class */ (function (_super) {
41876
42103
  function BuilderLineOfCircles() {
41877
42104
  return _super !== null && _super.apply(this, arguments) || this;
41878
42105
  }
41879
- BuilderLineOfCircles.prototype.init = function (buffer) {
42106
+ BuilderLineOfCircles.prototype.init = function () {
42107
+ var buffer = this.buffer;
41880
42108
  buffer.updateClippings();
41881
42109
  buffer.updateIndices();
41882
42110
  var clippings = buffer.clippings;
@@ -41892,9 +42120,10 @@ var BuilderLineOfCircles = /** @class */ (function (_super) {
41892
42120
  }
41893
42121
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
41894
42122
  };
41895
- BuilderLineOfCircles.prototype.update = function (buffer, shape) {
42123
+ BuilderLineOfCircles.prototype.update = function (shape) {
41896
42124
  var points = shape.points;
41897
42125
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42126
+ var buffer = this.buffer;
41898
42127
  this.updateVertexAndStep(buffer, shape, points);
41899
42128
  this.updateLineOfAnyColorFill(buffer, shape, points, CIRCLE_VERTEX_COUNT);
41900
42129
  this.updateLineOfAnyColorStroke(buffer, shape, points, CIRCLE_VERTEX_COUNT);
@@ -42012,15 +42241,15 @@ var createLineOfAnyUploaded = function (buffer, shape, voffset, vcountPerPoint,
42012
42241
  var tvcount = tcount << TEXT_VERTEX_COUNT_SHIFT;
42013
42242
  var ticount = tcount << TEXT_INDEX_COUNT_SHIFT;
42014
42243
  var points = shape.points;
42015
- var pointCount = toLineOfAnyPointCount(toPointsCount(points));
42244
+ var pointCount = toLineOfAnyPointCount(toPointCount(points));
42016
42245
  var pvcount = pointCount * vcountPerPoint;
42017
42246
  var picount = pointCount * icountPerPoint;
42018
42247
  var vcount = pvcount + tvcount;
42019
42248
  var icount = picount + ticount;
42020
42249
  if (buffer.check(voffset, ioffset, vcount, icount)) {
42021
42250
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
42022
- new constructor(voffset, ioffset, pvcount, picount, pointCount),
42023
- new BuilderText(voffset + pvcount, ioffset + picount, tvcount, ticount)
42251
+ new constructor(buffer, voffset, ioffset, pvcount, picount, pointCount, vcountPerPoint, icountPerPoint),
42252
+ new BuilderText(buffer, voffset + pvcount, ioffset + picount, tvcount, ticount)
42024
42253
  ]).init(shape);
42025
42254
  }
42026
42255
  return null;
@@ -42103,13 +42332,14 @@ var loadShapeLineOfCircles = function () {
42103
42332
  */
42104
42333
  var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
42105
42334
  __extends(BuilderLineOfRectangleRoundeds, _super);
42106
- function BuilderLineOfRectangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42107
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
42335
+ function BuilderLineOfRectangleRoundeds(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
42336
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) || this;
42108
42337
  _this.radius = 0;
42109
42338
  _this.corner = 0;
42110
42339
  return _this;
42111
42340
  }
42112
- BuilderLineOfRectangleRoundeds.prototype.init = function (buffer) {
42341
+ BuilderLineOfRectangleRoundeds.prototype.init = function () {
42342
+ var buffer = this.buffer;
42113
42343
  buffer.updateIndices();
42114
42344
  var indices = buffer.indices;
42115
42345
  var voffset = this.vertexOffset;
@@ -42121,9 +42351,10 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
42121
42351
  }
42122
42352
  this.inited |= BuilderFlag.INDEX;
42123
42353
  };
42124
- BuilderLineOfRectangleRoundeds.prototype.update = function (buffer, shape) {
42354
+ BuilderLineOfRectangleRoundeds.prototype.update = function (shape) {
42125
42355
  var points = shape.points;
42126
42356
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42357
+ var buffer = this.buffer;
42127
42358
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42128
42359
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
42129
42360
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
@@ -42342,7 +42573,8 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
42342
42573
  function BuilderLineOfRectangles() {
42343
42574
  return _super !== null && _super.apply(this, arguments) || this;
42344
42575
  }
42345
- BuilderLineOfRectangles.prototype.init = function (buffer) {
42576
+ BuilderLineOfRectangles.prototype.init = function () {
42577
+ var buffer = this.buffer;
42346
42578
  buffer.updateIndices();
42347
42579
  var indices = buffer.indices;
42348
42580
  var voffset = this.vertexOffset;
@@ -42354,9 +42586,10 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
42354
42586
  }
42355
42587
  this.inited |= BuilderFlag.INDEX;
42356
42588
  };
42357
- BuilderLineOfRectangles.prototype.update = function (buffer, shape) {
42589
+ BuilderLineOfRectangles.prototype.update = function (shape) {
42358
42590
  var points = shape.points;
42359
42591
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42592
+ var buffer = this.buffer;
42360
42593
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42361
42594
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
42362
42595
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
@@ -42967,13 +43200,14 @@ var buildTriangleRoundedUv = function (uvs, voffset, textureUvs, radius, worldSi
42967
43200
  */
42968
43201
  var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
42969
43202
  __extends(BuilderLineOfTriangleRoundeds, _super);
42970
- function BuilderLineOfTriangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42971
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
43203
+ function BuilderLineOfTriangleRoundeds(buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) {
43204
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved, vcountPerPoint, icountPerPoint) || this;
42972
43205
  _this.radius = 0;
42973
43206
  _this.corner = 0;
42974
43207
  return _this;
42975
43208
  }
42976
- BuilderLineOfTriangleRoundeds.prototype.init = function (buffer) {
43209
+ BuilderLineOfTriangleRoundeds.prototype.init = function () {
43210
+ var buffer = this.buffer;
42977
43211
  buffer.updateIndices();
42978
43212
  var voffset = this.vertexOffset;
42979
43213
  var ioffset = this.indexOffset;
@@ -42984,9 +43218,10 @@ var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
42984
43218
  }
42985
43219
  this.inited |= BuilderFlag.INDEX;
42986
43220
  };
42987
- BuilderLineOfTriangleRoundeds.prototype.update = function (buffer, shape) {
43221
+ BuilderLineOfTriangleRoundeds.prototype.update = function (shape) {
42988
43222
  var points = shape.points;
42989
43223
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43224
+ var buffer = this.buffer;
42990
43225
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42991
43226
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
42992
43227
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
@@ -43349,7 +43584,8 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
43349
43584
  function BuilderLineOfTriangles() {
43350
43585
  return _super !== null && _super.apply(this, arguments) || this;
43351
43586
  }
43352
- BuilderLineOfTriangles.prototype.init = function (buffer) {
43587
+ BuilderLineOfTriangles.prototype.init = function () {
43588
+ var buffer = this.buffer;
43353
43589
  buffer.updateClippings();
43354
43590
  buffer.updateIndices();
43355
43591
  var clippings = buffer.clippings;
@@ -43365,9 +43601,10 @@ var BuilderLineOfTriangles = /** @class */ (function (_super) {
43365
43601
  }
43366
43602
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43367
43603
  };
43368
- BuilderLineOfTriangles.prototype.update = function (buffer, shape) {
43604
+ BuilderLineOfTriangles.prototype.update = function (shape) {
43369
43605
  var points = shape.points;
43370
43606
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43607
+ var buffer = this.buffer;
43371
43608
  this.updateVertexStepAndUvs(buffer, shape, points);
43372
43609
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
43373
43610
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
@@ -43573,7 +43810,7 @@ var loadShapeLineOfTriangles = function () {
43573
43810
  */
43574
43811
  var createNullUploaded = function (buffer, shape, voffset, ioffset) {
43575
43812
  return new EShapeUploadedImpl(buffer, voffset, ioffset, 0, 0, [
43576
- new BuilderNull(voffset, ioffset)
43813
+ new BuilderNull(buffer, voffset, ioffset)
43577
43814
  ]).init(shape);
43578
43815
  };
43579
43816
 
@@ -43793,10 +44030,11 @@ var buildSemicircleUv = function (uvs, voffset, textureUvs) {
43793
44030
  */
43794
44031
  var BuilderSemicircle = /** @class */ (function (_super) {
43795
44032
  __extends(BuilderSemicircle, _super);
43796
- function BuilderSemicircle(vertexOffset, indexOffset) {
43797
- return _super.call(this, vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_INDEX_COUNT) || this;
44033
+ function BuilderSemicircle(buffer, vertexOffset, indexOffset) {
44034
+ return _super.call(this, buffer, vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_INDEX_COUNT) || this;
43798
44035
  }
43799
- BuilderSemicircle.prototype.init = function (buffer) {
44036
+ BuilderSemicircle.prototype.init = function () {
44037
+ var buffer = this.buffer;
43800
44038
  buffer.updateClippings();
43801
44039
  buffer.updateIndices();
43802
44040
  var voffset = this.vertexOffset;
@@ -43804,7 +44042,8 @@ var BuilderSemicircle = /** @class */ (function (_super) {
43804
44042
  buildSemicircleIndex(buffer.indices, voffset, this.indexOffset);
43805
44043
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43806
44044
  };
43807
- BuilderSemicircle.prototype.update = function (buffer, shape) {
44045
+ BuilderSemicircle.prototype.update = function (shape) {
44046
+ var buffer = this.buffer;
43808
44047
  this.updateVertexAndStep(buffer, shape);
43809
44048
  this.updateColorFill(buffer, shape);
43810
44049
  this.updateColorStroke(buffer, shape);
@@ -43870,8 +44109,8 @@ var createSemicircleUploaded = function (buffer, shape, voffset, ioffset, antial
43870
44109
  var icount = SEMICIRCLE_INDEX_COUNT + ticount;
43871
44110
  if (buffer.check(voffset, ioffset, vcount, icount)) {
43872
44111
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
43873
- new BuilderSemicircle(voffset, ioffset),
43874
- new BuilderText(voffset + SEMICIRCLE_VERTEX_COUNT, ioffset + SEMICIRCLE_INDEX_COUNT, tvcount, ticount)
44112
+ new BuilderSemicircle(buffer, voffset, ioffset),
44113
+ new BuilderText(buffer, voffset + SEMICIRCLE_VERTEX_COUNT, ioffset + SEMICIRCLE_INDEX_COUNT, tvcount, ticount)
43875
44114
  ]).init(shape);
43876
44115
  }
43877
44116
  return null;
@@ -43940,17 +44179,19 @@ var loadShapeSemicircle = function () {
43940
44179
  */
43941
44180
  var BuilderTriangle = /** @class */ (function (_super) {
43942
44181
  __extends(BuilderTriangle, _super);
43943
- function BuilderTriangle() {
43944
- return _super !== null && _super.apply(this, arguments) || this;
44182
+ function BuilderTriangle(buffer, vertexOffset, indexOffset) {
44183
+ return _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT) || this;
43945
44184
  }
43946
- BuilderTriangle.prototype.init = function (buffer) {
44185
+ BuilderTriangle.prototype.init = function () {
44186
+ var buffer = this.buffer;
43947
44187
  buffer.updateClippings();
43948
44188
  buffer.updateIndices();
43949
44189
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
43950
44190
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
43951
44191
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43952
44192
  };
43953
- BuilderTriangle.prototype.update = function (buffer, shape) {
44193
+ BuilderTriangle.prototype.update = function (shape) {
44194
+ var buffer = this.buffer;
43954
44195
  this.updateVertexStepAndUv(buffer, shape);
43955
44196
  this.updateColorFill(buffer, shape);
43956
44197
  this.updateColorStroke(buffer, shape);
@@ -44012,8 +44253,8 @@ var createTriangleUploaded = function (buffer, shape, voffset, ioffset, antialia
44012
44253
  var icount = TRIANGLE_INDEX_COUNT + ticount;
44013
44254
  if (buffer.check(voffset, ioffset, vcount, icount)) {
44014
44255
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
44015
- new BuilderTriangle(voffset, ioffset, vcount - tvcount, icount - ticount),
44016
- new BuilderText(voffset + TRIANGLE_VERTEX_COUNT, ioffset + TRIANGLE_INDEX_COUNT, tvcount, ticount)
44256
+ new BuilderTriangle(buffer, voffset, ioffset),
44257
+ new BuilderText(buffer, voffset + TRIANGLE_VERTEX_COUNT, ioffset + TRIANGLE_INDEX_COUNT, tvcount, ticount)
44017
44258
  ]).init(shape);
44018
44259
  }
44019
44260
  return null;
@@ -44042,18 +44283,20 @@ var loadShapeTriangle = function () {
44042
44283
  */
44043
44284
  var BuilderTriangleRounded = /** @class */ (function (_super) {
44044
44285
  __extends(BuilderTriangleRounded, _super);
44045
- function BuilderTriangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
44046
- var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
44286
+ function BuilderTriangleRounded(buffer, vertexOffset, indexOffset) {
44287
+ var _this = _super.call(this, buffer, vertexOffset, indexOffset, TRIANGLE_ROUNDED_VERTEX_COUNT, TRIANGLE_ROUNDED_INDEX_COUNT) || this;
44047
44288
  _this.radius = 0;
44048
44289
  _this.corner = 0;
44049
44290
  return _this;
44050
44291
  }
44051
- BuilderTriangleRounded.prototype.init = function (buffer) {
44292
+ BuilderTriangleRounded.prototype.init = function () {
44293
+ var buffer = this.buffer;
44052
44294
  buffer.updateIndices();
44053
44295
  buildTriangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
44054
44296
  this.inited |= BuilderFlag.INDEX;
44055
44297
  };
44056
- BuilderTriangleRounded.prototype.update = function (buffer, shape) {
44298
+ BuilderTriangleRounded.prototype.update = function (shape) {
44299
+ var buffer = this.buffer;
44057
44300
  this.updateVertexClippingStepAndUv(buffer, shape);
44058
44301
  this.updateColorFill(buffer, shape);
44059
44302
  this.updateColorStroke(buffer, shape);
@@ -44129,8 +44372,8 @@ var createTriangleRoundedUploaded = function (buffer, shape, voffset, ioffset, a
44129
44372
  var icount = TRIANGLE_ROUNDED_INDEX_COUNT + ticount;
44130
44373
  if (buffer.check(voffset, ioffset, vcount, icount)) {
44131
44374
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
44132
- new BuilderTriangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
44133
- new BuilderText(voffset + TRIANGLE_ROUNDED_VERTEX_COUNT, ioffset + TRIANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
44375
+ new BuilderTriangleRounded(buffer, voffset, ioffset),
44376
+ new BuilderText(buffer, voffset + TRIANGLE_ROUNDED_VERTEX_COUNT, ioffset + TRIANGLE_ROUNDED_INDEX_COUNT, tvcount, ticount)
44134
44377
  ]).init(shape);
44135
44378
  }
44136
44379
  return null;
@@ -99469,8 +99712,8 @@ exports.toLineVertexCount = toLineVertexCount;
99469
99712
  exports.toLinkOptions = toLinkOptions;
99470
99713
  exports.toMerged = toMerged;
99471
99714
  exports.toPadded = toPadded;
99715
+ exports.toPointCount = toPointCount;
99472
99716
  exports.toPointsBoundary = toPointsBoundary;
99473
- exports.toPointsCount = toPointsCount;
99474
99717
  exports.toResized = toResized;
99475
99718
  exports.toScaleInvariant = toScaleInvariant;
99476
99719
  exports.toSizeNormalized = toSizeNormalized;