@wcardinal/wcardinal-ui 0.403.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 (157) hide show
  1. package/dist/types/wcardinal/ui/d-base-overflow-mask-simple.d.ts +3 -0
  2. package/dist/types/wcardinal/ui/d-base-overflow-mask.d.ts +6 -0
  3. package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +0 -3
  4. package/dist/types/wcardinal/ui/shape/e-shape-points-formatted.d.ts +2 -0
  5. package/dist/types/wcardinal/ui/shape/e-shape-points.d.ts +2 -0
  6. package/dist/types/wcardinal/ui/shape/e-shape-text.d.ts +3 -0
  7. package/dist/types/wcardinal/ui/shape/e-shape-uploaded.d.ts +5 -5
  8. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +1 -1
  9. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +3 -3
  10. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +9 -7
  11. package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +3 -3
  12. package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +3 -3
  13. package/dist/types/wcardinal/ui/shape/variant/builder-label.d.ts +10 -9
  14. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +4 -1
  15. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +2 -2
  16. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +3 -3
  17. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +2 -2
  18. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +3 -3
  19. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +2 -2
  20. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +4 -3
  21. package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +3 -3
  22. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +3 -3
  23. package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +3 -3
  24. package/dist/types/wcardinal/ui/shape/variant/builder-null.d.ts +10 -9
  25. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +3 -2
  26. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +3 -3
  27. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +3 -2
  28. package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +3 -3
  29. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +9 -7
  30. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +3 -3
  31. package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +3 -2
  32. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +5 -2
  33. package/dist/types/wcardinal/ui/shape/variant/create-line-of-any-uploaded.d.ts +2 -2
  34. package/dist/types/wcardinal/ui/shape/variant/e-shape-bar-points.d.ts +1 -0
  35. package/dist/types/wcardinal/ui/shape/variant/e-shape-group-points.d.ts +1 -0
  36. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.d.ts +3 -0
  37. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-points.d.ts +3 -0
  38. package/dist/types/wcardinal/ui/shape/variant/e-shape-text-impl.d.ts +5 -0
  39. package/dist/wcardinal/ui/d-base-overflow-mask-simple.js +9 -0
  40. package/dist/wcardinal/ui/d-base-overflow-mask-simple.js.map +1 -1
  41. package/dist/wcardinal/ui/d-base-overflow-mask.js +19 -2
  42. package/dist/wcardinal/ui/d-base-overflow-mask.js.map +1 -1
  43. package/dist/wcardinal/ui/shape/e-shape-buffer.js +11 -27
  44. package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
  45. package/dist/wcardinal/ui/shape/e-shape-points-formatted.js.map +1 -1
  46. package/dist/wcardinal/ui/shape/e-shape-points.js.map +1 -1
  47. package/dist/wcardinal/ui/shape/e-shape-text.js.map +1 -1
  48. package/dist/wcardinal/ui/shape/e-shape-uploaded.js +22 -8
  49. package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
  50. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +1 -1
  51. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
  52. package/dist/wcardinal/ui/shape/variant/build-line.js +6 -5
  53. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  54. package/dist/wcardinal/ui/shape/variant/build-text.js +1 -1
  55. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  56. package/dist/wcardinal/ui/shape/variant/builder-bar.js +6 -4
  57. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  58. package/dist/wcardinal/ui/shape/variant/builder-base.js +22 -1
  59. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  60. package/dist/wcardinal/ui/shape/variant/builder-circle.js +6 -4
  61. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  62. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +6 -4
  63. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  64. package/dist/wcardinal/ui/shape/variant/builder-label.js +13 -6
  65. package/dist/wcardinal/ui/shape/variant/builder-label.js.map +1 -1
  66. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +36 -5
  67. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  68. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +4 -2
  69. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  70. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +6 -4
  71. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  72. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +4 -2
  73. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  74. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +6 -4
  75. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  76. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +4 -2
  77. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  78. package/dist/wcardinal/ui/shape/variant/builder-line.js +34 -5
  79. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  80. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +6 -4
  81. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  82. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +6 -4
  83. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  84. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +6 -4
  85. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  86. package/dist/wcardinal/ui/shape/variant/builder-null.js +11 -4
  87. package/dist/wcardinal/ui/shape/variant/builder-null.js.map +1 -1
  88. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -5
  89. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  90. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +7 -5
  91. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  92. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -5
  93. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  94. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +6 -4
  95. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  96. package/dist/wcardinal/ui/shape/variant/builder-text.js +36 -4
  97. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  98. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -5
  99. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  100. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -5
  101. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  102. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  103. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +2 -2
  104. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
  105. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +2 -2
  106. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
  107. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +1 -1
  108. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
  109. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +2 -2
  110. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +2 -2
  112. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +4 -4
  114. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +16 -16
  116. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js +1 -1
  118. package/dist/wcardinal/ui/shape/variant/create-null-uploaded.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +2 -2
  120. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
  121. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +2 -2
  122. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
  123. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +2 -2
  124. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
  125. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +2 -2
  126. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
  127. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +2 -2
  128. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
  129. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +2 -2
  130. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
  131. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js +7 -0
  132. package/dist/wcardinal/ui/shape/variant/e-shape-bar-points.js.map +1 -1
  133. package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js +14 -0
  134. package/dist/wcardinal/ui/shape/variant/e-shape-group-points.js.map +1 -1
  135. package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js +15 -2
  136. package/dist/wcardinal/ui/shape/variant/e-shape-line-of-any-points-impl.js.map +1 -1
  137. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js +19 -3
  138. package/dist/wcardinal/ui/shape/variant/e-shape-line-points.js.map +1 -1
  139. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js +57 -24
  140. package/dist/wcardinal/ui/shape/variant/e-shape-text-impl.js.map +1 -1
  141. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  142. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  143. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  144. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  145. package/dist/wcardinal-ui-theme-dark.js +1 -1
  146. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  147. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  148. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  149. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  150. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  151. package/dist/wcardinal-ui-theme-white.js +1 -1
  152. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  153. package/dist/wcardinal-ui.cjs.js +469 -200
  154. package/dist/wcardinal-ui.js +469 -200
  155. package/dist/wcardinal-ui.min.js +2 -2
  156. package/dist/wcardinal-ui.min.js.map +1 -1
  157. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*
2
- Winter Cardinal UI v0.403.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;
@@ -15219,6 +15328,11 @@
15219
15328
  function DBaseOverflowMask(parent) {
15220
15329
  var _this = _super.call(this) || this;
15221
15330
  _this.parent = parent;
15331
+ _this._isInitialized = false;
15332
+ _this._width = 0;
15333
+ _this._height = 0;
15334
+ _this._cornderRadius = 0;
15335
+ _this._cornerMask = DCornerMask.NONE;
15222
15336
  return _this;
15223
15337
  }
15224
15338
  DBaseOverflowMask.prototype.render = function (renderer) {
@@ -15226,11 +15340,23 @@
15226
15340
  _super.prototype.render.call(this, renderer);
15227
15341
  };
15228
15342
  DBaseOverflowMask.prototype.onReflow = function (base, width, height) {
15229
- var x = 0;
15230
- var y = 0;
15231
15343
  var corner = base.corner;
15232
15344
  var cornerRadius = Math.max(0, corner.getRadius() - 0.5);
15233
15345
  var cornerMask = corner.getMask();
15346
+ if (this._isInitialized &&
15347
+ this._width === width &&
15348
+ this._height === height &&
15349
+ this._cornderRadius === cornerRadius &&
15350
+ this._cornerMask === cornerMask) {
15351
+ return;
15352
+ }
15353
+ this._isInitialized = true;
15354
+ this._width = width;
15355
+ this._height = height;
15356
+ this._cornderRadius = cornerRadius;
15357
+ this._cornerMask = cornerMask;
15358
+ var x = 0;
15359
+ var y = 0;
15234
15360
  var tl = cornerMask & DCornerMask.TOP_LEFT ? 0 : cornerRadius;
15235
15361
  var tr = cornerMask & DCornerMask.TOP_RIGHT ? 0 : cornerRadius;
15236
15362
  var bl = cornerMask & DCornerMask.BOTTOM_LEFT ? 0 : cornerRadius;
@@ -19733,6 +19859,8 @@
19733
19859
  this._valuesBaseLength = 0;
19734
19860
  this._values = [];
19735
19861
  this._segments = [];
19862
+ this._length = 0;
19863
+ this._plength = 0;
19736
19864
  var parentSize = parent.size;
19737
19865
  var parentSizeX = parentSize.x;
19738
19866
  var parentSizeY = parentSize.y;
@@ -19744,7 +19872,14 @@
19744
19872
  }
19745
19873
  Object.defineProperty(EShapeLinePoints.prototype, "length", {
19746
19874
  get: function () {
19747
- 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;
19748
19883
  },
19749
19884
  enumerable: false,
19750
19885
  configurable: true
@@ -19801,7 +19936,6 @@
19801
19936
  if (this._formatter || this._style & EShapePointsStyle.FORMATTER_MASK) {
19802
19937
  var uploaded = parent.uploaded;
19803
19938
  if (uploaded && !uploaded.isCompatible(parent)) {
19804
- parent.uploaded = undefined;
19805
19939
  parent.toDirty();
19806
19940
  }
19807
19941
  }
@@ -19905,6 +20039,7 @@
19905
20039
  if (result == null) {
19906
20040
  result = {
19907
20041
  length: 0,
20042
+ plength: 0,
19908
20043
  values: [],
19909
20044
  segments: [],
19910
20045
  boundary: [0, 0, 0, 0],
@@ -19915,6 +20050,9 @@
19915
20050
  var segments = this._segments;
19916
20051
  var length_1 = values.length >> 1;
19917
20052
  formatter(length_1, values, segments, style, result);
20053
+ if (result.plength < result.length) {
20054
+ result.plength = result.length;
20055
+ }
19918
20056
  toPointsBoundary(result.values, result.boundary);
19919
20057
  }
19920
20058
  else {
@@ -20004,6 +20142,11 @@
20004
20142
  }
20005
20143
  }
20006
20144
  }
20145
+ var newLength = newValuesLength >> 1;
20146
+ this._length = newLength;
20147
+ if (this._plength < newLength) {
20148
+ this._plength = newLength;
20149
+ }
20007
20150
  }
20008
20151
  // Segments
20009
20152
  if (newSegments != null) {
@@ -20069,7 +20212,6 @@
20069
20212
  parent_1.updateUploaded();
20070
20213
  }
20071
20214
  else {
20072
- parent_1.uploaded = undefined;
20073
20215
  parent_1.toDirty();
20074
20216
  }
20075
20217
  }
@@ -21751,12 +21893,6 @@
21751
21893
  }
21752
21894
  }
21753
21895
  };
21754
- EShapeBuffer.prototype.isCompatible = function (shape, uploaded, vindex, iindex) {
21755
- return (uploaded.getBuffer() === this &&
21756
- uploaded.getVertexOffset() === vindex &&
21757
- uploaded.getIndexOffset() === iindex &&
21758
- uploaded.isCompatible(shape));
21759
- };
21760
21896
  EShapeBuffer.prototype.update = function (iterator, antialiasWeight, noMoreThanOne) {
21761
21897
  var builder = this._builder;
21762
21898
  builder.begin();
@@ -21765,28 +21901,18 @@
21765
21901
  var shape = iterator.get();
21766
21902
  for (; shape != null; shape = iterator.next()) {
21767
21903
  var uploaded = shape.uploaded;
21768
- if (uploaded == null || !this.isCompatible(shape, uploaded, vindex, iindex)) {
21769
- break;
21770
- }
21771
- uploaded.update(shape);
21772
- uploaded.buildUnit(builder);
21773
- vindex += uploaded.getVertexCount();
21774
- iindex += uploaded.getIndexCount();
21775
- if (noMoreThanOne) {
21776
- iterator.next();
21777
- builder.end();
21778
- this._vertexCount = vindex;
21779
- this._indexCount = iindex;
21780
- return 0 < builder.units.length;
21781
- }
21782
- }
21783
- for (; shape != null; shape = iterator.next()) {
21784
- var creater = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];
21785
- if (creater == null) {
21786
- break;
21787
- }
21788
- var uploaded = creater(this, shape, vindex, iindex, antialiasWeight);
21789
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)) {
21790
21916
  break;
21791
21917
  }
21792
21918
  uploaded.buildUnit(builder);
@@ -28158,6 +28284,9 @@
28158
28284
  function DBaseOverflowMaskSimple(parent) {
28159
28285
  var _this = _super.call(this) || this;
28160
28286
  _this.parent = parent;
28287
+ _this._isInitialized = false;
28288
+ _this._width = _this.width;
28289
+ _this._height = _this.height;
28161
28290
  return _this;
28162
28291
  }
28163
28292
  DBaseOverflowMaskSimple.prototype.render = function (renderer) {
@@ -28165,6 +28294,12 @@
28165
28294
  _super.prototype.render.call(this, renderer);
28166
28295
  };
28167
28296
  DBaseOverflowMaskSimple.prototype.onReflow = function (base, width, height) {
28297
+ if (this._isInitialized && this._width === width && this._height === height) {
28298
+ return;
28299
+ }
28300
+ this._isInitialized = true;
28301
+ this._width = width;
28302
+ this._height = height;
28168
28303
  this.clear();
28169
28304
  this.beginFill(0xffffff, 1);
28170
28305
  this.drawRect(0, 0, width, height);
@@ -36208,18 +36343,20 @@
36208
36343
  */
36209
36344
  var BuilderRectangleRounded = /** @class */ (function (_super) {
36210
36345
  __extends(BuilderRectangleRounded, _super);
36211
- function BuilderRectangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
36212
- 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;
36213
36348
  _this.radius = 0;
36214
36349
  _this.corner = 0;
36215
36350
  return _this;
36216
36351
  }
36217
- BuilderRectangleRounded.prototype.init = function (buffer) {
36352
+ BuilderRectangleRounded.prototype.init = function () {
36353
+ var buffer = this.buffer;
36218
36354
  buffer.updateIndices();
36219
36355
  buildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
36220
36356
  this.inited |= BuilderFlag.INDEX;
36221
36357
  };
36222
- BuilderRectangleRounded.prototype.update = function (buffer, shape) {
36358
+ BuilderRectangleRounded.prototype.update = function (shape) {
36359
+ var buffer = this.buffer;
36223
36360
  this.updateVertexClippingStepAndUv(buffer, shape);
36224
36361
  this.updateColorFill(buffer, shape);
36225
36362
  this.updateColorStroke(buffer, shape);
@@ -36301,8 +36438,8 @@
36301
36438
  var icount = RECTANGLE_ROUNDED_INDEX_COUNT + ticount;
36302
36439
  if (buffer.check(voffset, ioffset, vcount, icount)) {
36303
36440
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
36304
- new BuilderRectangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
36305
- 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)
36306
36443
  ]).init(shape);
36307
36444
  }
36308
36445
  return null;
@@ -37173,10 +37310,11 @@
37173
37310
  */
37174
37311
  var BuilderCircle = /** @class */ (function (_super) {
37175
37312
  __extends(BuilderCircle, _super);
37176
- function BuilderCircle(vertexOffset, indexOffset) {
37177
- 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;
37178
37315
  }
37179
- BuilderCircle.prototype.init = function (buffer) {
37316
+ BuilderCircle.prototype.init = function () {
37317
+ var buffer = this.buffer;
37180
37318
  buffer.updateClippings();
37181
37319
  buffer.updateIndices();
37182
37320
  var voffset = this.vertexOffset;
@@ -37184,7 +37322,8 @@
37184
37322
  buildCircleIndex(buffer.indices, voffset, this.indexOffset);
37185
37323
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37186
37324
  };
37187
- BuilderCircle.prototype.update = function (buffer, shape) {
37325
+ BuilderCircle.prototype.update = function (shape) {
37326
+ var buffer = this.buffer;
37188
37327
  this.updateVertexAndStep(buffer, shape);
37189
37328
  this.updateColorFill(buffer, shape);
37190
37329
  this.updateColorStroke(buffer, shape);
@@ -37250,8 +37389,8 @@
37250
37389
  var icount = CIRCLE_INDEX_COUNT + ticount;
37251
37390
  if (buffer.check(voffset, ioffset, vcount, icount)) {
37252
37391
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
37253
- new BuilderCircle(voffset, ioffset),
37254
- 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)
37255
37394
  ]).init(shape);
37256
37395
  }
37257
37396
  return null;
@@ -37276,21 +37415,22 @@
37276
37415
 
37277
37416
  var LINE_FMIN = 0.00001;
37278
37417
  var LINE_WORK_POINT = new pixi_js.Point();
37279
- var toPointsCount = function (points) {
37418
+ var toPointCount = function (points) {
37280
37419
  if (points) {
37281
- return points.formatted.length;
37420
+ return points.formatted.plength;
37282
37421
  }
37283
37422
  return 0;
37284
37423
  };
37285
37424
  var toLinePointCount = function (points) {
37286
- return Math.ceil(toPointsCount(points) / 12) * 12;
37425
+ var pointCount = toPointCount(points);
37426
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
37287
37427
  };
37288
37428
  var toLineVertexCount = function (pointCount, isClosed) {
37289
37429
  if (isClosed) {
37290
- return pointCount * 4 + 2;
37430
+ return (pointCount << 2) + 2;
37291
37431
  }
37292
37432
  else {
37293
- return pointCount * 4;
37433
+ return pointCount << 2;
37294
37434
  }
37295
37435
  };
37296
37436
  var toLineIndexCount = function (pointCount, isClosed) {
@@ -37678,24 +37818,53 @@
37678
37818
  */
37679
37819
  var BuilderLine = /** @class */ (function (_super) {
37680
37820
  __extends(BuilderLine, _super);
37681
- function BuilderLine(vertexOffset, indexOffset, vertexCount, indexCount) {
37682
- 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;
37683
37823
  _this.pointId = -1;
37684
37824
  _this.pointCount = 0;
37685
37825
  _this.pointsClosed = false;
37686
37826
  _this.length = 1;
37687
37827
  return _this;
37688
37828
  }
37689
- BuilderLine.prototype.init = function (buffer) {
37829
+ BuilderLine.prototype.init = function () {
37830
+ var buffer = this.buffer;
37690
37831
  buffer.updateIndices();
37691
37832
  buildLineIndex(buffer.indices, this.vertexOffset, this.indexOffset, this.indexCount);
37692
37833
  this.inited |= BuilderFlag.INDEX;
37693
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
+ };
37694
37862
  BuilderLine.prototype.isCompatible = function (shape) {
37695
37863
  var vcount = toLineVertexCount(toLinePointCount(shape.points), true);
37696
37864
  return vcount === this.vertexCount;
37697
37865
  };
37698
- BuilderLine.prototype.update = function (buffer, shape) {
37866
+ BuilderLine.prototype.update = function (shape) {
37867
+ var buffer = this.buffer;
37699
37868
  this.updateLineClipping(buffer, shape);
37700
37869
  this.updateLineVertexStepAndColorFill(buffer, shape);
37701
37870
  this.updateColorStroke(buffer, shape);
@@ -37944,19 +38113,21 @@
37944
38113
  */
37945
38114
  var BuilderMarkerTriangle = /** @class */ (function (_super) {
37946
38115
  __extends(BuilderMarkerTriangle, _super);
37947
- function BuilderMarkerTriangle(vertexOffset, indexOffset) {
37948
- 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;
37949
38118
  _this.pointId = -1;
37950
38119
  return _this;
37951
38120
  }
37952
- BuilderMarkerTriangle.prototype.init = function (buffer) {
38121
+ BuilderMarkerTriangle.prototype.init = function () {
38122
+ var buffer = this.buffer;
37953
38123
  buffer.updateClippings();
37954
38124
  buffer.updateIndices();
37955
38125
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
37956
38126
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
37957
38127
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
37958
38128
  };
37959
- BuilderMarkerTriangle.prototype.update = function (buffer, shape) {
38129
+ BuilderMarkerTriangle.prototype.update = function (shape) {
38130
+ var buffer = this.buffer;
37960
38131
  this.updateVertexStepAndUv(buffer, shape);
37961
38132
  this.updateColorFill(buffer, shape);
37962
38133
  this.updateColorStroke(buffer, shape);
@@ -38061,12 +38232,13 @@
38061
38232
  */
38062
38233
  var BuilderMarkerCircle = /** @class */ (function (_super) {
38063
38234
  __extends(BuilderMarkerCircle, _super);
38064
- function BuilderMarkerCircle(vertexOffset, indexOffset) {
38065
- 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;
38066
38237
  _this.pointId = -1;
38067
38238
  return _this;
38068
38239
  }
38069
- BuilderMarkerCircle.prototype.init = function (buffer) {
38240
+ BuilderMarkerCircle.prototype.init = function () {
38241
+ var buffer = this.buffer;
38070
38242
  buffer.updateClippings();
38071
38243
  buffer.updateIndices();
38072
38244
  var vertexOffset = this.vertexOffset;
@@ -38074,7 +38246,8 @@
38074
38246
  buildCircleIndex(buffer.indices, vertexOffset, this.indexOffset);
38075
38247
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
38076
38248
  };
38077
- BuilderMarkerCircle.prototype.update = function (buffer, shape) {
38249
+ BuilderMarkerCircle.prototype.update = function (shape) {
38250
+ var buffer = this.buffer;
38078
38251
  this.updateVertexAndStep(buffer, shape);
38079
38252
  this.updateColorFill(buffer, shape);
38080
38253
  this.updateColorStroke(buffer, shape);
@@ -38182,20 +38355,27 @@
38182
38355
  * SPDX-License-Identifier: Apache-2.0
38183
38356
  */
38184
38357
  var BuilderNull = /** @class */ (function () {
38185
- function BuilderNull(vertexOffset, indexOffset) {
38358
+ function BuilderNull(buffer, vertexOffset, indexOffset) {
38359
+ this.buffer = buffer;
38186
38360
  this.vertexOffset = vertexOffset;
38187
38361
  this.indexOffset = indexOffset;
38188
38362
  this.vertexCount = 0;
38189
38363
  this.indexCount = 0;
38190
38364
  this.texture = null;
38191
38365
  }
38192
- BuilderNull.prototype.init = function (buffer) {
38193
- // 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;
38194
38374
  };
38195
38375
  BuilderNull.prototype.isCompatible = function (shape) {
38196
38376
  return true;
38197
38377
  };
38198
- BuilderNull.prototype.update = function (buffer, shape) {
38378
+ BuilderNull.prototype.update = function (shape) {
38199
38379
  this.texture = toTexture(shape);
38200
38380
  };
38201
38381
  BuilderNull.prototype.buildUnit = function (builder) {
@@ -38625,17 +38805,19 @@
38625
38805
  */
38626
38806
  var BuilderMarkerRectangle = /** @class */ (function (_super) {
38627
38807
  __extends(BuilderMarkerRectangle, _super);
38628
- function BuilderMarkerRectangle(vertexOffset, indexOffset) {
38629
- 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;
38630
38810
  _this.pointId = -1;
38631
38811
  return _this;
38632
38812
  }
38633
- BuilderMarkerRectangle.prototype.init = function (buffer) {
38813
+ BuilderMarkerRectangle.prototype.init = function () {
38814
+ var buffer = this.buffer;
38634
38815
  buffer.updateIndices();
38635
38816
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
38636
38817
  this.inited |= BuilderFlag.INDEX;
38637
38818
  };
38638
- BuilderMarkerRectangle.prototype.update = function (buffer, shape) {
38819
+ BuilderMarkerRectangle.prototype.update = function (shape) {
38820
+ var buffer = this.buffer;
38639
38821
  this.updateVertexClippingStepAndUv(buffer, shape);
38640
38822
  this.updateColorFill(buffer, shape);
38641
38823
  this.updateColorStroke(buffer, shape);
@@ -38774,31 +38956,31 @@
38774
38956
  }
38775
38957
  return 0;
38776
38958
  };
38777
- var toBuilderMarkerHead = function (type, vertexOffset, indexOffset) {
38959
+ var toBuilderMarkerHead = function (type, buffer, vertexOffset, indexOffset) {
38778
38960
  switch (type) {
38779
38961
  case EShapePointsMarkerType.NONE:
38780
- return new BuilderNull(vertexOffset, indexOffset);
38962
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38781
38963
  case EShapePointsMarkerType.CIRCLE:
38782
- return new BuilderMarkerCircleHead(vertexOffset, indexOffset);
38964
+ return new BuilderMarkerCircleHead(buffer, vertexOffset, indexOffset);
38783
38965
  case EShapePointsMarkerType.TRIANGLE:
38784
- return new BuilderMarkerTriangleHead(vertexOffset, indexOffset);
38966
+ return new BuilderMarkerTriangleHead(buffer, vertexOffset, indexOffset);
38785
38967
  case EShapePointsMarkerType.RECTANGLE:
38786
- return new BuilderMarkerRectangleHead(vertexOffset, indexOffset);
38968
+ return new BuilderMarkerRectangleHead(buffer, vertexOffset, indexOffset);
38787
38969
  }
38788
- return new BuilderNull(vertexOffset, indexOffset);
38970
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38789
38971
  };
38790
- var toBuilderMarkerTail = function (type, vertexOffset, indexOffset) {
38972
+ var toBuilderMarkerTail = function (type, buffer, vertexOffset, indexOffset) {
38791
38973
  switch (type) {
38792
38974
  case EShapePointsMarkerType.NONE:
38793
- return new BuilderNull(vertexOffset, indexOffset);
38975
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38794
38976
  case EShapePointsMarkerType.CIRCLE:
38795
- return new BuilderMarkerCircleTail(vertexOffset, indexOffset);
38977
+ return new BuilderMarkerCircleTail(buffer, vertexOffset, indexOffset);
38796
38978
  case EShapePointsMarkerType.TRIANGLE:
38797
- return new BuilderMarkerTriangleTail(vertexOffset, indexOffset);
38979
+ return new BuilderMarkerTriangleTail(buffer, vertexOffset, indexOffset);
38798
38980
  case EShapePointsMarkerType.RECTANGLE:
38799
- return new BuilderMarkerRectangleTail(vertexOffset, indexOffset);
38981
+ return new BuilderMarkerRectangleTail(buffer, vertexOffset, indexOffset);
38800
38982
  }
38801
- return new BuilderNull(vertexOffset, indexOffset);
38983
+ return new BuilderNull(buffer, vertexOffset, indexOffset);
38802
38984
  };
38803
38985
  var createLineUploaded = function (buffer, shape, voffset, ioffset, antialiasWeight) {
38804
38986
  // Line
@@ -38835,10 +39017,10 @@
38835
39017
  var icount = licount + mhicount + mticount + ticount;
38836
39018
  if (buffer.check(voffset, ioffset, vcount, icount)) {
38837
39019
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
38838
- new BuilderLine(voffset, ioffset, lvcount, licount),
38839
- toBuilderMarkerTail(mttype, mtvoffset, mtioffset),
38840
- toBuilderMarkerHead(mhtype, mhvoffset, mhioffset),
38841
- 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)
38842
39024
  ]).init(shape);
38843
39025
  }
38844
39026
  return null;
@@ -39337,15 +39519,17 @@
39337
39519
  */
39338
39520
  var BuilderRectanglePivoted = /** @class */ (function (_super) {
39339
39521
  __extends(BuilderRectanglePivoted, _super);
39340
- function BuilderRectanglePivoted() {
39341
- 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;
39342
39524
  }
39343
- BuilderRectanglePivoted.prototype.init = function (buffer) {
39525
+ BuilderRectanglePivoted.prototype.init = function () {
39526
+ var buffer = this.buffer;
39344
39527
  buffer.updateIndices();
39345
39528
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
39346
39529
  this.inited |= BuilderFlag.INDEX;
39347
39530
  };
39348
- BuilderRectanglePivoted.prototype.update = function (buffer, shape) {
39531
+ BuilderRectanglePivoted.prototype.update = function (shape) {
39532
+ var buffer = this.buffer;
39349
39533
  this.updateVertexClippingStepAndUv(buffer, shape);
39350
39534
  this.updateColorFill(buffer, shape);
39351
39535
  this.updateColorStroke(buffer, shape);
@@ -39418,8 +39602,8 @@
39418
39602
  var icount = RECTANGLE_INDEX_COUNT + ticount;
39419
39603
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39420
39604
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39421
- new BuilderRectanglePivoted(voffset, ioffset, vcount - tvcount, icount - ticount),
39422
- 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)
39423
39607
  ]).init(shape);
39424
39608
  }
39425
39609
  return null;
@@ -39437,7 +39621,7 @@
39437
39621
  var icount = ticount;
39438
39622
  if (buffer.check(voffset, ioffset, vcount, icount)) {
39439
39623
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
39440
- new BuilderText(voffset, ioffset, tvcount, ticount)
39624
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
39441
39625
  ]).init(shape);
39442
39626
  }
39443
39627
  return null;
@@ -39724,6 +39908,20 @@
39724
39908
  enumerable: false,
39725
39909
  configurable: true
39726
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
+ });
39727
39925
  Object.defineProperty(EShapeGroupPoints.prototype, "id", {
39728
39926
  get: function () {
39729
39927
  var children = this._parent.children;
@@ -40426,15 +40624,17 @@
40426
40624
  */
40427
40625
  var BuilderRectangle = /** @class */ (function (_super) {
40428
40626
  __extends(BuilderRectangle, _super);
40429
- function BuilderRectangle() {
40430
- 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;
40431
40629
  }
40432
- BuilderRectangle.prototype.init = function (buffer) {
40630
+ BuilderRectangle.prototype.init = function () {
40631
+ var buffer = this.buffer;
40433
40632
  buffer.updateIndices();
40434
40633
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
40435
40634
  this.inited |= BuilderFlag.INDEX;
40436
40635
  };
40437
- BuilderRectangle.prototype.update = function (buffer, shape) {
40636
+ BuilderRectangle.prototype.update = function (shape) {
40637
+ var buffer = this.buffer;
40438
40638
  this.updateVertexClippingStepAndUv(buffer, shape);
40439
40639
  this.updateColorFill(buffer, shape);
40440
40640
  this.updateColorStroke(buffer, shape);
@@ -40507,8 +40707,8 @@
40507
40707
  var icount = RECTANGLE_INDEX_COUNT + ticount;
40508
40708
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40509
40709
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40510
- new BuilderRectangle(voffset, ioffset, vcount - tvcount, icount - ticount),
40511
- 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)
40512
40712
  ]).init(shape);
40513
40713
  }
40514
40714
  return null;
@@ -40743,21 +40943,23 @@
40743
40943
  */
40744
40944
  var BuilderImageSdf = /** @class */ (function (_super) {
40745
40945
  __extends(BuilderImageSdf, _super);
40746
- function BuilderImageSdf(vertexOffset, indexOffset) {
40747
- 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;
40748
40948
  _this.textureWidth = -1;
40749
40949
  _this.textureHeight = -1;
40750
40950
  return _this;
40751
40951
  }
40752
- BuilderImageSdf.prototype.init = function (buffer) {
40952
+ BuilderImageSdf.prototype.init = function () {
40753
40953
  var voffset = this.vertexOffset;
40954
+ var buffer = this.buffer;
40754
40955
  buffer.updateClippings();
40755
40956
  buffer.updateIndices();
40756
40957
  buildImageSdfClipping(buffer.clippings, voffset);
40757
40958
  buildImageSdfIndex(buffer.indices, voffset, this.indexOffset);
40758
40959
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
40759
40960
  };
40760
- BuilderImageSdf.prototype.update = function (buffer, shape) {
40961
+ BuilderImageSdf.prototype.update = function (shape) {
40962
+ var buffer = this.buffer;
40761
40963
  this.updateVertexAndStep(buffer, shape);
40762
40964
  this.updateColorFill(buffer, shape);
40763
40965
  this.updateColorStroke(buffer, shape);
@@ -40833,8 +41035,8 @@
40833
41035
  var icount = IMAGE_SDF_INDEX_COUNT + ticount;
40834
41036
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40835
41037
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40836
- new BuilderImageSdf(voffset, ioffset),
40837
- 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)
40838
41040
  ]).init(shape);
40839
41041
  }
40840
41042
  return null;
@@ -40878,20 +41080,27 @@
40878
41080
  * SPDX-License-Identifier: Apache-2.0
40879
41081
  */
40880
41082
  var BuilderLabel = /** @class */ (function () {
40881
- function BuilderLabel(vertexOffset, indexOffset, vertexCount, indexCount) {
41083
+ function BuilderLabel(buffer, vertexOffset, indexOffset) {
41084
+ this.buffer = buffer;
40882
41085
  this.vertexOffset = vertexOffset;
40883
41086
  this.indexOffset = indexOffset;
40884
- this.vertexCount = vertexCount;
40885
- this.indexCount = indexCount;
41087
+ this.vertexCount = 0;
41088
+ this.indexCount = 0;
40886
41089
  this.texture = null;
40887
41090
  }
40888
- BuilderLabel.prototype.init = function (buffer) {
40889
- // 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;
40890
41099
  };
40891
41100
  BuilderLabel.prototype.isCompatible = function (shape) {
40892
41101
  return true;
40893
41102
  };
40894
- BuilderLabel.prototype.update = function (buffer, shape) {
41103
+ BuilderLabel.prototype.update = function (shape) {
40895
41104
  this.texture = toTexture(shape);
40896
41105
  };
40897
41106
  BuilderLabel.prototype.buildUnit = function (builder) {
@@ -40918,8 +41127,8 @@
40918
41127
  var icount = ticount;
40919
41128
  if (buffer.check(voffset, ioffset, vcount, icount)) {
40920
41129
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
40921
- new BuilderLabel(voffset, ioffset, vcount - tvcount, icount - ticount),
40922
- new BuilderText(voffset, ioffset, tvcount, ticount)
41130
+ new BuilderLabel(buffer, voffset, ioffset),
41131
+ new BuilderText(buffer, voffset, ioffset, tvcount, ticount)
40923
41132
  ]).init(shape);
40924
41133
  }
40925
41134
  return null;
@@ -41055,7 +41264,7 @@
41055
41264
  };
41056
41265
 
41057
41266
  var toLineOfAnyPointCount = function (pointCount) {
41058
- return Math.ceil(pointCount / 12) * 12;
41267
+ return ((pointCount >> 4) + (0 < (pointCount & 0xf) ? 1 : 0)) << 4;
41059
41268
  };
41060
41269
  var buildLineOfAnyColor = function (voffset, vcountPerPoint, point, pointCount, colors, isEnabled, colorDef, alphaDef) {
41061
41270
  if (isEnabled) {
@@ -41109,8 +41318,8 @@
41109
41318
  */
41110
41319
  var BuilderLineOfAny = /** @class */ (function (_super) {
41111
41320
  __extends(BuilderLineOfAny, _super);
41112
- function BuilderLineOfAny(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
41113
- 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;
41114
41323
  _this.pointId = -1;
41115
41324
  _this.pointCount = 0;
41116
41325
  _this.pointCountReserved = pointCountReserved;
@@ -41118,10 +41327,39 @@
41118
41327
  _this.pointOffsetId = -1;
41119
41328
  _this.pointFillId = -1;
41120
41329
  _this.pointStrokeId = -1;
41330
+ _this.vcountPerPoint = vcountPerPoint;
41331
+ _this.icountPerPoint = icountPerPoint;
41121
41332
  return _this;
41122
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
+ };
41123
41361
  BuilderLineOfAny.prototype.isCompatible = function (shape) {
41124
- var pointCount = toLineOfAnyPointCount(toPointsCount(shape.points));
41362
+ var pointCount = toLineOfAnyPointCount(toPointCount(shape.points));
41125
41363
  return pointCount === this.pointCountReserved;
41126
41364
  };
41127
41365
  BuilderLineOfAny.prototype.updateLineOfAnyColorFill = function (buffer, shape, points, vcountPerPoint) {
@@ -41133,7 +41371,9 @@
41133
41371
  var colorFill = fill.color;
41134
41372
  var alphaFill = isFillEnabled ? fill.alpha : 0;
41135
41373
  var isFillChanged = colorFill !== this.colorFill || alphaFill !== this.alphaFill;
41136
- if (isPointFillChanged || isFillChanged) {
41374
+ var isNotInited = !(this.inited & BuilderFlag.COLOR_FILL);
41375
+ if (isNotInited || isPointFillChanged || isFillChanged) {
41376
+ this.inited |= BuilderFlag.COLOR_FILL;
41137
41377
  this.colorFill = colorFill;
41138
41378
  this.alphaFill = alphaFill;
41139
41379
  this.pointFillId = pointFillId;
@@ -41608,6 +41848,8 @@
41608
41848
  this._values = [];
41609
41849
  this._valuesLength = 0;
41610
41850
  this._segments = [];
41851
+ this._length = 0;
41852
+ this._plength = 0;
41611
41853
  this._size = new EShapeLineOfAnyPointsPointImpl(this, EShapeDefaults.SIZE_X, EShapeDefaults.SIZE_Y);
41612
41854
  this._offset = new EShapeLineOfAnyPointsPointImpl(this, 0, 0);
41613
41855
  this._fill = new EShapeLineOfAnyPointsFillImpl(parent);
@@ -41616,7 +41858,14 @@
41616
41858
  }
41617
41859
  Object.defineProperty(EShapeLineOfAnyPointsImpl.prototype, "length", {
41618
41860
  get: function () {
41619
- 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;
41620
41869
  },
41621
41870
  enumerable: false,
41622
41871
  configurable: true
@@ -41761,6 +42010,11 @@
41761
42010
  isUpdated = true;
41762
42011
  }
41763
42012
  }
42013
+ var newLength = newValuesLength >> 1;
42014
+ this._length = newLength;
42015
+ if (this._plength < newLength) {
42016
+ this._plength = newLength;
42017
+ }
41764
42018
  }
41765
42019
  //
41766
42020
  if (isDirty) {
@@ -41772,7 +42026,6 @@
41772
42026
  parent_1.updateUploaded();
41773
42027
  }
41774
42028
  else {
41775
- parent_1.uploaded = undefined;
41776
42029
  parent_1.toDirty();
41777
42030
  }
41778
42031
  }
@@ -41847,7 +42100,8 @@
41847
42100
  function BuilderLineOfCircles() {
41848
42101
  return _super !== null && _super.apply(this, arguments) || this;
41849
42102
  }
41850
- BuilderLineOfCircles.prototype.init = function (buffer) {
42103
+ BuilderLineOfCircles.prototype.init = function () {
42104
+ var buffer = this.buffer;
41851
42105
  buffer.updateClippings();
41852
42106
  buffer.updateIndices();
41853
42107
  var clippings = buffer.clippings;
@@ -41863,9 +42117,10 @@
41863
42117
  }
41864
42118
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
41865
42119
  };
41866
- BuilderLineOfCircles.prototype.update = function (buffer, shape) {
42120
+ BuilderLineOfCircles.prototype.update = function (shape) {
41867
42121
  var points = shape.points;
41868
42122
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42123
+ var buffer = this.buffer;
41869
42124
  this.updateVertexAndStep(buffer, shape, points);
41870
42125
  this.updateLineOfAnyColorFill(buffer, shape, points, CIRCLE_VERTEX_COUNT);
41871
42126
  this.updateLineOfAnyColorStroke(buffer, shape, points, CIRCLE_VERTEX_COUNT);
@@ -41983,15 +42238,15 @@
41983
42238
  var tvcount = tcount << TEXT_VERTEX_COUNT_SHIFT;
41984
42239
  var ticount = tcount << TEXT_INDEX_COUNT_SHIFT;
41985
42240
  var points = shape.points;
41986
- var pointCount = toLineOfAnyPointCount(toPointsCount(points));
42241
+ var pointCount = toLineOfAnyPointCount(toPointCount(points));
41987
42242
  var pvcount = pointCount * vcountPerPoint;
41988
42243
  var picount = pointCount * icountPerPoint;
41989
42244
  var vcount = pvcount + tvcount;
41990
42245
  var icount = picount + ticount;
41991
42246
  if (buffer.check(voffset, ioffset, vcount, icount)) {
41992
42247
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
41993
- new constructor(voffset, ioffset, pvcount, picount, pointCount),
41994
- 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)
41995
42250
  ]).init(shape);
41996
42251
  }
41997
42252
  return null;
@@ -42074,13 +42329,14 @@
42074
42329
  */
42075
42330
  var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
42076
42331
  __extends(BuilderLineOfRectangleRoundeds, _super);
42077
- function BuilderLineOfRectangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42078
- 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;
42079
42334
  _this.radius = 0;
42080
42335
  _this.corner = 0;
42081
42336
  return _this;
42082
42337
  }
42083
- BuilderLineOfRectangleRoundeds.prototype.init = function (buffer) {
42338
+ BuilderLineOfRectangleRoundeds.prototype.init = function () {
42339
+ var buffer = this.buffer;
42084
42340
  buffer.updateIndices();
42085
42341
  var indices = buffer.indices;
42086
42342
  var voffset = this.vertexOffset;
@@ -42092,9 +42348,10 @@
42092
42348
  }
42093
42349
  this.inited |= BuilderFlag.INDEX;
42094
42350
  };
42095
- BuilderLineOfRectangleRoundeds.prototype.update = function (buffer, shape) {
42351
+ BuilderLineOfRectangleRoundeds.prototype.update = function (shape) {
42096
42352
  var points = shape.points;
42097
42353
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42354
+ var buffer = this.buffer;
42098
42355
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42099
42356
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
42100
42357
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);
@@ -42313,7 +42570,8 @@
42313
42570
  function BuilderLineOfRectangles() {
42314
42571
  return _super !== null && _super.apply(this, arguments) || this;
42315
42572
  }
42316
- BuilderLineOfRectangles.prototype.init = function (buffer) {
42573
+ BuilderLineOfRectangles.prototype.init = function () {
42574
+ var buffer = this.buffer;
42317
42575
  buffer.updateIndices();
42318
42576
  var indices = buffer.indices;
42319
42577
  var voffset = this.vertexOffset;
@@ -42325,9 +42583,10 @@
42325
42583
  }
42326
42584
  this.inited |= BuilderFlag.INDEX;
42327
42585
  };
42328
- BuilderLineOfRectangles.prototype.update = function (buffer, shape) {
42586
+ BuilderLineOfRectangles.prototype.update = function (shape) {
42329
42587
  var points = shape.points;
42330
42588
  if (points instanceof EShapeLineOfAnyPointsImpl) {
42589
+ var buffer = this.buffer;
42331
42590
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42332
42591
  this.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
42333
42592
  this.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_VERTEX_COUNT);
@@ -42938,13 +43197,14 @@
42938
43197
  */
42939
43198
  var BuilderLineOfTriangleRoundeds = /** @class */ (function (_super) {
42940
43199
  __extends(BuilderLineOfTriangleRoundeds, _super);
42941
- function BuilderLineOfTriangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
42942
- 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;
42943
43202
  _this.radius = 0;
42944
43203
  _this.corner = 0;
42945
43204
  return _this;
42946
43205
  }
42947
- BuilderLineOfTriangleRoundeds.prototype.init = function (buffer) {
43206
+ BuilderLineOfTriangleRoundeds.prototype.init = function () {
43207
+ var buffer = this.buffer;
42948
43208
  buffer.updateIndices();
42949
43209
  var voffset = this.vertexOffset;
42950
43210
  var ioffset = this.indexOffset;
@@ -42955,9 +43215,10 @@
42955
43215
  }
42956
43216
  this.inited |= BuilderFlag.INDEX;
42957
43217
  };
42958
- BuilderLineOfTriangleRoundeds.prototype.update = function (buffer, shape) {
43218
+ BuilderLineOfTriangleRoundeds.prototype.update = function (shape) {
42959
43219
  var points = shape.points;
42960
43220
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43221
+ var buffer = this.buffer;
42961
43222
  this.updateVertexClippingStepAndUv(buffer, shape, points);
42962
43223
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
42963
43224
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_ROUNDED_VERTEX_COUNT);
@@ -43320,7 +43581,8 @@
43320
43581
  function BuilderLineOfTriangles() {
43321
43582
  return _super !== null && _super.apply(this, arguments) || this;
43322
43583
  }
43323
- BuilderLineOfTriangles.prototype.init = function (buffer) {
43584
+ BuilderLineOfTriangles.prototype.init = function () {
43585
+ var buffer = this.buffer;
43324
43586
  buffer.updateClippings();
43325
43587
  buffer.updateIndices();
43326
43588
  var clippings = buffer.clippings;
@@ -43336,9 +43598,10 @@
43336
43598
  }
43337
43599
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43338
43600
  };
43339
- BuilderLineOfTriangles.prototype.update = function (buffer, shape) {
43601
+ BuilderLineOfTriangles.prototype.update = function (shape) {
43340
43602
  var points = shape.points;
43341
43603
  if (points instanceof EShapeLineOfAnyPointsImpl) {
43604
+ var buffer = this.buffer;
43342
43605
  this.updateVertexStepAndUvs(buffer, shape, points);
43343
43606
  this.updateLineOfAnyColorFill(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
43344
43607
  this.updateLineOfAnyColorStroke(buffer, shape, points, TRIANGLE_VERTEX_COUNT);
@@ -43544,7 +43807,7 @@
43544
43807
  */
43545
43808
  var createNullUploaded = function (buffer, shape, voffset, ioffset) {
43546
43809
  return new EShapeUploadedImpl(buffer, voffset, ioffset, 0, 0, [
43547
- new BuilderNull(voffset, ioffset)
43810
+ new BuilderNull(buffer, voffset, ioffset)
43548
43811
  ]).init(shape);
43549
43812
  };
43550
43813
 
@@ -43764,10 +44027,11 @@
43764
44027
  */
43765
44028
  var BuilderSemicircle = /** @class */ (function (_super) {
43766
44029
  __extends(BuilderSemicircle, _super);
43767
- function BuilderSemicircle(vertexOffset, indexOffset) {
43768
- 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;
43769
44032
  }
43770
- BuilderSemicircle.prototype.init = function (buffer) {
44033
+ BuilderSemicircle.prototype.init = function () {
44034
+ var buffer = this.buffer;
43771
44035
  buffer.updateClippings();
43772
44036
  buffer.updateIndices();
43773
44037
  var voffset = this.vertexOffset;
@@ -43775,7 +44039,8 @@
43775
44039
  buildSemicircleIndex(buffer.indices, voffset, this.indexOffset);
43776
44040
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43777
44041
  };
43778
- BuilderSemicircle.prototype.update = function (buffer, shape) {
44042
+ BuilderSemicircle.prototype.update = function (shape) {
44043
+ var buffer = this.buffer;
43779
44044
  this.updateVertexAndStep(buffer, shape);
43780
44045
  this.updateColorFill(buffer, shape);
43781
44046
  this.updateColorStroke(buffer, shape);
@@ -43841,8 +44106,8 @@
43841
44106
  var icount = SEMICIRCLE_INDEX_COUNT + ticount;
43842
44107
  if (buffer.check(voffset, ioffset, vcount, icount)) {
43843
44108
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
43844
- new BuilderSemicircle(voffset, ioffset),
43845
- 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)
43846
44111
  ]).init(shape);
43847
44112
  }
43848
44113
  return null;
@@ -43911,17 +44176,19 @@
43911
44176
  */
43912
44177
  var BuilderTriangle = /** @class */ (function (_super) {
43913
44178
  __extends(BuilderTriangle, _super);
43914
- function BuilderTriangle() {
43915
- 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;
43916
44181
  }
43917
- BuilderTriangle.prototype.init = function (buffer) {
44182
+ BuilderTriangle.prototype.init = function () {
44183
+ var buffer = this.buffer;
43918
44184
  buffer.updateClippings();
43919
44185
  buffer.updateIndices();
43920
44186
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
43921
44187
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
43922
44188
  this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
43923
44189
  };
43924
- BuilderTriangle.prototype.update = function (buffer, shape) {
44190
+ BuilderTriangle.prototype.update = function (shape) {
44191
+ var buffer = this.buffer;
43925
44192
  this.updateVertexStepAndUv(buffer, shape);
43926
44193
  this.updateColorFill(buffer, shape);
43927
44194
  this.updateColorStroke(buffer, shape);
@@ -43983,8 +44250,8 @@
43983
44250
  var icount = TRIANGLE_INDEX_COUNT + ticount;
43984
44251
  if (buffer.check(voffset, ioffset, vcount, icount)) {
43985
44252
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
43986
- new BuilderTriangle(voffset, ioffset, vcount - tvcount, icount - ticount),
43987
- 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)
43988
44255
  ]).init(shape);
43989
44256
  }
43990
44257
  return null;
@@ -44013,18 +44280,20 @@
44013
44280
  */
44014
44281
  var BuilderTriangleRounded = /** @class */ (function (_super) {
44015
44282
  __extends(BuilderTriangleRounded, _super);
44016
- function BuilderTriangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
44017
- 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;
44018
44285
  _this.radius = 0;
44019
44286
  _this.corner = 0;
44020
44287
  return _this;
44021
44288
  }
44022
- BuilderTriangleRounded.prototype.init = function (buffer) {
44289
+ BuilderTriangleRounded.prototype.init = function () {
44290
+ var buffer = this.buffer;
44023
44291
  buffer.updateIndices();
44024
44292
  buildTriangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
44025
44293
  this.inited |= BuilderFlag.INDEX;
44026
44294
  };
44027
- BuilderTriangleRounded.prototype.update = function (buffer, shape) {
44295
+ BuilderTriangleRounded.prototype.update = function (shape) {
44296
+ var buffer = this.buffer;
44028
44297
  this.updateVertexClippingStepAndUv(buffer, shape);
44029
44298
  this.updateColorFill(buffer, shape);
44030
44299
  this.updateColorStroke(buffer, shape);
@@ -44100,8 +44369,8 @@
44100
44369
  var icount = TRIANGLE_ROUNDED_INDEX_COUNT + ticount;
44101
44370
  if (buffer.check(voffset, ioffset, vcount, icount)) {
44102
44371
  return new EShapeUploadedImpl(buffer, voffset, ioffset, vcount, icount, [
44103
- new BuilderTriangleRounded(voffset, ioffset, vcount - tvcount, icount - ticount),
44104
- 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)
44105
44374
  ]).init(shape);
44106
44375
  }
44107
44376
  return null;
@@ -76740,7 +77009,7 @@
76740
77009
  buildImageSdfUv: buildImageSdfUv,
76741
77010
  toLineOfAnyPointCount: toLineOfAnyPointCount,
76742
77011
  buildLineOfAnyColor: buildLineOfAnyColor,
76743
- toPointsCount: toPointsCount,
77012
+ toPointCount: toPointCount,
76744
77013
  toLinePointCount: toLinePointCount,
76745
77014
  toLineVertexCount: toLineVertexCount,
76746
77015
  toLineIndexCount: toLineIndexCount,