@wcardinal/wcardinal-ui 0.393.0 → 0.395.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/shape/e-shape-uploaded.d.ts +5 -6
  2. package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +2 -0
  3. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +5 -5
  4. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +6 -6
  5. package/dist/types/wcardinal/ui/shape/variant/builder-circle.d.ts +5 -5
  6. package/dist/types/wcardinal/ui/shape/variant/builder-image-sdf.d.ts +5 -5
  7. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +3 -3
  8. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-circles.d.ts +5 -5
  9. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +4 -4
  10. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +4 -4
  11. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +4 -4
  12. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangles.d.ts +4 -4
  13. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +6 -6
  14. package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +2 -2
  15. package/dist/types/wcardinal/ui/shape/variant/builder-marker-circle.d.ts +5 -5
  16. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +4 -4
  17. package/dist/types/wcardinal/ui/shape/variant/builder-marker-triangle.d.ts +4 -4
  18. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +4 -4
  19. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +4 -4
  20. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +4 -4
  21. package/dist/types/wcardinal/ui/shape/variant/builder-semicircle.d.ts +5 -5
  22. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +8 -8
  23. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +4 -4
  24. package/dist/types/wcardinal/ui/shape/variant/builder-triangle.d.ts +4 -4
  25. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +35 -3
  26. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.d.ts +0 -2
  27. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.d.ts +0 -2
  28. package/dist/types/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.d.ts +0 -2
  29. package/dist/types/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.d.ts +0 -2
  30. package/dist/wcardinal/ui/d-base-background-mesh-geometry.js +5 -5
  31. package/dist/wcardinal/ui/d-base-background-mesh-geometry.js.map +1 -1
  32. package/dist/wcardinal/ui/d-base-border-mesh-geometry.js +60 -37
  33. package/dist/wcardinal/ui/d-base-border-mesh-geometry.js.map +1 -1
  34. package/dist/wcardinal/ui/d-base-outline-snippet.js +1 -1
  35. package/dist/wcardinal/ui/d-base-outline-snippet.js.map +1 -1
  36. package/dist/wcardinal/ui/d-diagram-canvas.js +2 -2
  37. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  38. package/dist/wcardinal/ui/d-table-data-list-selection.js +2 -2
  39. package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
  40. package/dist/wcardinal/ui/shape/e-shape-container.js +2 -2
  41. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  42. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js +4 -3
  43. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  44. package/dist/wcardinal/ui/shape/e-shape-uploaded.js.map +1 -1
  45. package/dist/wcardinal/ui/shape/variant/build-text.js +5 -2
  46. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  47. package/dist/wcardinal/ui/shape/variant/builder-bar.js +14 -5
  48. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  49. package/dist/wcardinal/ui/shape/variant/builder-base.js +23 -17
  50. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  51. package/dist/wcardinal/ui/shape/variant/builder-circle.js +10 -2
  52. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  53. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +14 -2
  54. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  55. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +4 -1
  56. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  57. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +11 -2
  58. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  59. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +20 -12
  60. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  61. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +14 -10
  62. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  63. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +20 -12
  64. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  65. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +13 -7
  66. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  67. package/dist/wcardinal/ui/shape/variant/builder-line.js +17 -7
  68. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  69. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +4 -1
  70. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
  71. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +14 -2
  72. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  73. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +12 -4
  74. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  75. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +11 -3
  76. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  77. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +8 -4
  78. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  79. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +14 -6
  80. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  81. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +8 -4
  82. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  83. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +10 -2
  84. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  85. package/dist/wcardinal/ui/shape/variant/builder-text.js +41 -29
  86. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  87. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +14 -6
  88. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  89. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +7 -3
  90. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  91. package/dist/wcardinal/ui/shape/variant/builder.js +16 -1
  92. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  93. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js +3 -3
  94. package/dist/wcardinal/ui/shape/variant/create-bar-uploaded.js.map +1 -1
  95. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js +3 -3
  96. package/dist/wcardinal/ui/shape/variant/create-circle-uploaded.js.map +1 -1
  97. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js +3 -3
  98. package/dist/wcardinal/ui/shape/variant/create-group-uploaded.js.map +1 -1
  99. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js +3 -3
  100. package/dist/wcardinal/ui/shape/variant/create-image-sdf-uploaded.js.map +1 -1
  101. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js +3 -3
  102. package/dist/wcardinal/ui/shape/variant/create-label-uploaded.js.map +1 -1
  103. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js +3 -3
  104. package/dist/wcardinal/ui/shape/variant/create-line-of-any-uploaded.js.map +1 -1
  105. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js +3 -3
  106. package/dist/wcardinal/ui/shape/variant/create-line-uploaded.js.map +1 -1
  107. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js +3 -3
  108. package/dist/wcardinal/ui/shape/variant/create-rectangle-pivoted-uploaded.js.map +1 -1
  109. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js +3 -3
  110. package/dist/wcardinal/ui/shape/variant/create-rectangle-rounded-uploaded.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js +3 -3
  112. package/dist/wcardinal/ui/shape/variant/create-rectangle-uploaded.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js +3 -3
  114. package/dist/wcardinal/ui/shape/variant/create-semicircle-uploaded.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js +3 -3
  116. package/dist/wcardinal/ui/shape/variant/create-triangle-rounded-uploaded.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js +3 -3
  118. package/dist/wcardinal/ui/shape/variant/create-triangle-uploaded.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/variant/e-shape-base.js +6 -6
  120. package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
  121. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-base.js +1 -1
  122. package/dist/wcardinal/ui/theme/dark/d-theme-dark-button-base.js.map +1 -1
  123. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.js +0 -4
  124. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-off.js.map +1 -1
  125. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.js +0 -4
  126. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input-boolean-button-on.js.map +1 -1
  127. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js +1 -1
  128. package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js.map +1 -1
  129. package/dist/wcardinal/ui/theme/white/d-theme-white-button-base.js +1 -1
  130. package/dist/wcardinal/ui/theme/white/d-theme-white-button-base.js.map +1 -1
  131. package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.js +0 -4
  132. package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-off.js.map +1 -1
  133. package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.js +0 -4
  134. package/dist/wcardinal/ui/theme/white/d-theme-white-input-boolean-button-on.js.map +1 -1
  135. package/dist/wcardinal/ui/theme/white/d-theme-white-input.js +1 -1
  136. package/dist/wcardinal/ui/theme/white/d-theme-white-input.js.map +1 -1
  137. package/dist/wcardinal-ui-theme-dark-en-us.js +3 -9
  138. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  139. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  140. package/dist/wcardinal-ui-theme-dark-ja-jp.js +3 -9
  141. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  142. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  143. package/dist/wcardinal-ui-theme-dark.js +3 -9
  144. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  145. package/dist/wcardinal-ui-theme-white-en-us.js +3 -9
  146. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  147. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  148. package/dist/wcardinal-ui-theme-white-ja-jp.js +3 -9
  149. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  150. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  151. package/dist/wcardinal-ui-theme-white.js +3 -9
  152. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  153. package/dist/wcardinal-ui.cjs.js +441 -264
  154. package/dist/wcardinal-ui.js +437 -248
  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 +1 @@
1
- {"version":3,"file":"builder-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-circle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport {\n\tbuildCircleClipping,\n\tbuildCircleIndex,\n\tbuildCircleStep,\n\tbuildCircleUv,\n\tbuildCircleVertex,\n\tCIRCLE_INDEX_COUNT,\n\tCIRCLE_VERTEX_COUNT,\n\tCIRCLE_WORLD_SIZE\n} from \"./build-circle\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderCircle extends BuilderBase {\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT);\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst voffset = this.vertexOffset;\n\t\tbuildCircleClipping(buffer.clippings, voffset);\n\t\tbuildCircleIndex(buffer.indices, voffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexAndStep(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t\tthis.updateUv(buffer, shape);\n\t}\n\n\tprotected updateVertexAndStep(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tif (isSizeChanged || isTransformChanged || isStrokeChanged) {\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tbuffer.updateSteps();\n\t\t\tbuildCircleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsizeX,\n\t\t\t\tsizeY,\n\t\t\t\tstrokeAlign,\n\t\t\t\tstrokeWidth,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t\tbuildCircleStep(\n\t\t\t\tbuffer.steps,\n\t\t\t\tbuffer.clippings,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tif (texture !== this.texture || textureTransformId !== this.textureTransformId) {\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tbuildCircleUv(buffer.uvs, this.vertexOffset, textureUvs);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-circle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildCircleClipping,\n\tbuildCircleIndex,\n\tbuildCircleStep,\n\tbuildCircleUv,\n\tbuildCircleVertex,\n\tCIRCLE_INDEX_COUNT,\n\tCIRCLE_VERTEX_COUNT,\n\tCIRCLE_WORLD_SIZE\n} from \"./build-circle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderCircle extends BuilderBase {\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT);\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst voffset = this.vertexOffset;\n\t\tbuildCircleClipping(buffer.clippings, voffset);\n\t\tbuildCircleIndex(buffer.indices, voffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.CLIPPING_AND_INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexAndStep(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t\tthis.updateUv(buffer, shape);\n\t}\n\n\tprotected updateVertexAndStep(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);\n\n\t\tif (isNotInited || isSizeChanged || isTransformChanged || isStrokeChanged) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_AND_STEP;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tbuffer.updateSteps();\n\t\t\tbuildCircleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsizeX,\n\t\t\t\tsizeY,\n\t\t\t\tstrokeAlign,\n\t\t\t\tstrokeWidth,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t\tbuildCircleStep(\n\t\t\t\tbuffer.steps,\n\t\t\t\tbuffer.clippings,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isNotInited = !(this.inited & BuilderFlag.UV);\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\ttexture !== this.texture ||\n\t\t\ttextureTransformId !== this.textureTransformId\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.UV;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tbuildCircleUv(buffer.uvs, this.vertexOffset, textureUvs);\n\t\t}\n\t}\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { buildImageSdfClipping, buildImageSdfIndex, buildImageSdfStep, buildImageSdfUv, buildImageSdfVertex, IMAGE_SDF_INDEX_COUNT, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_WORLD_SIZE } from "./build-image-sdf";
7
+ import { BuilderFlag } from "./builder";
7
8
  import { BuilderBase } from "./builder-base";
8
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
9
10
  var BuilderImageSdf = /** @class */ (function (_super) {
@@ -20,6 +21,7 @@ var BuilderImageSdf = /** @class */ (function (_super) {
20
21
  buffer.updateIndices();
21
22
  buildImageSdfClipping(buffer.clippings, voffset);
22
23
  buildImageSdfIndex(buffer.indices, voffset, this.indexOffset);
24
+ this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
23
25
  };
24
26
  BuilderImageSdf.prototype.update = function (buffer, shape) {
25
27
  this.updateVertexAndStep(buffer, shape);
@@ -45,7 +47,13 @@ var BuilderImageSdf = /** @class */ (function (_super) {
45
47
  var textureWidth = texture.width * texture.resolution;
46
48
  var textureHeight = texture.height * texture.resolution;
47
49
  var isTextureSizeChanged = this.textureWidth !== textureWidth || this.textureHeight !== textureHeight;
48
- if (isSizeChanged || isTransformChanged || isStrokeChanged || isTextureSizeChanged) {
50
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);
51
+ if (isNotInited ||
52
+ isSizeChanged ||
53
+ isTransformChanged ||
54
+ isStrokeChanged ||
55
+ isTextureSizeChanged) {
56
+ this.inited |= BuilderFlag.VERTEX_AND_STEP;
49
57
  this.sizeX = sizeX;
50
58
  this.sizeY = sizeY;
51
59
  this.transformLocalId = transformLocalId;
@@ -65,7 +73,11 @@ var BuilderImageSdf = /** @class */ (function (_super) {
65
73
  BuilderImageSdf.prototype.updateUv = function (buffer, shape) {
66
74
  var texture = toTexture(shape);
67
75
  var textureTransformId = toTextureTransformId(texture);
68
- if (texture !== this.texture || textureTransformId !== this.textureTransformId) {
76
+ var isNotInited = !(this.inited & BuilderFlag.UV);
77
+ if (isNotInited ||
78
+ texture !== this.texture ||
79
+ textureTransformId !== this.textureTransformId) {
80
+ this.inited |= BuilderFlag.UV;
69
81
  this.texture = texture;
70
82
  this.textureTransformId = textureTransformId;
71
83
  buffer.updateUvs();
@@ -1 +1 @@
1
- {"version":3,"file":"builder-image-sdf.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-image-sdf.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport {\n\tbuildImageSdfClipping,\n\tbuildImageSdfIndex,\n\tbuildImageSdfStep,\n\tbuildImageSdfUv,\n\tbuildImageSdfVertex,\n\tIMAGE_SDF_INDEX_COUNT,\n\tIMAGE_SDF_VERTEX_COUNT,\n\tIMAGE_SDF_WORLD_SIZE\n} from \"./build-image-sdf\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderImageSdf extends BuilderBase {\n\tprotected textureWidth: number;\n\tprotected textureHeight: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT);\n\t\tthis.textureWidth = -1;\n\t\tthis.textureHeight = -1;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tconst voffset = this.vertexOffset;\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tbuildImageSdfClipping(buffer.clippings, voffset);\n\t\tbuildImageSdfIndex(buffer.indices, voffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexAndStep(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t\tthis.updateUv(buffer, shape);\n\t}\n\n\tprotected updateVertexAndStep(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureWidth = texture.width * texture.resolution;\n\t\tconst textureHeight = texture.height * texture.resolution;\n\t\tconst isTextureSizeChanged =\n\t\t\tthis.textureWidth !== textureWidth || this.textureHeight !== textureHeight;\n\n\t\tif (isSizeChanged || isTransformChanged || isStrokeChanged || isTextureSizeChanged) {\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.textureWidth = textureWidth;\n\t\t\tthis.textureHeight = textureHeight;\n\n\t\t\t// Vertices\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildImageSdfVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsizeX,\n\t\t\t\tsizeY,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tIMAGE_SDF_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tbuffer.updateSteps();\n\t\t\tbuildImageSdfStep(\n\t\t\t\tbuffer.steps,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tstrokeAlign,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\ttextureWidth,\n\t\t\t\ttextureHeight,\n\t\t\t\tIMAGE_SDF_WORLD_SIZE\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tif (texture !== this.texture || textureTransformId !== this.textureTransformId) {\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tbuildImageSdfUv(buffer.uvs, this.vertexOffset, toTextureUvs(texture));\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-image-sdf.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-image-sdf.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildImageSdfClipping,\n\tbuildImageSdfIndex,\n\tbuildImageSdfStep,\n\tbuildImageSdfUv,\n\tbuildImageSdfVertex,\n\tIMAGE_SDF_INDEX_COUNT,\n\tIMAGE_SDF_VERTEX_COUNT,\n\tIMAGE_SDF_WORLD_SIZE\n} from \"./build-image-sdf\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderImageSdf extends BuilderBase {\n\tprotected textureWidth: number;\n\tprotected textureHeight: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, IMAGE_SDF_VERTEX_COUNT, IMAGE_SDF_INDEX_COUNT);\n\t\tthis.textureWidth = -1;\n\t\tthis.textureHeight = -1;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tconst voffset = this.vertexOffset;\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tbuildImageSdfClipping(buffer.clippings, voffset);\n\t\tbuildImageSdfIndex(buffer.indices, voffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.CLIPPING_AND_INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexAndStep(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t\tthis.updateUv(buffer, shape);\n\t}\n\n\tprotected updateVertexAndStep(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureWidth = texture.width * texture.resolution;\n\t\tconst textureHeight = texture.height * texture.resolution;\n\t\tconst isTextureSizeChanged =\n\t\t\tthis.textureWidth !== textureWidth || this.textureHeight !== textureHeight;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisSizeChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisStrokeChanged ||\n\t\t\tisTextureSizeChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_AND_STEP;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.textureWidth = textureWidth;\n\t\t\tthis.textureHeight = textureHeight;\n\n\t\t\t// Vertices\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildImageSdfVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\tsizeX,\n\t\t\t\tsizeY,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tIMAGE_SDF_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tbuffer.updateSteps();\n\t\t\tbuildImageSdfStep(\n\t\t\t\tbuffer.steps,\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tstrokeAlign,\n\t\t\t\tstrokeWidth,\n\t\t\t\tstrokeStyle,\n\t\t\t\ttextureWidth,\n\t\t\t\ttextureHeight,\n\t\t\t\tIMAGE_SDF_WORLD_SIZE\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isNotInited = !(this.inited & BuilderFlag.UV);\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\ttexture !== this.texture ||\n\t\t\ttextureTransformId !== this.textureTransformId\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.UV;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tbuildImageSdfUv(buffer.uvs, this.vertexOffset, toTextureUvs(texture));\n\t\t}\n\t}\n}\n"]}
@@ -5,6 +5,7 @@
5
5
  import { __extends } from "tslib";
6
6
  import { toPointsCount } from "./build-line";
7
7
  import { buildLineOfAnyColor, toLineOfAnyPointCount } from "./build-line-of-any";
8
+ import { BuilderFlag } from "./builder";
8
9
  import { BuilderBase } from "./builder-base";
9
10
  var BuilderLineOfAny = /** @class */ (function (_super) {
10
11
  __extends(BuilderLineOfAny, _super);
@@ -49,7 +50,9 @@ var BuilderLineOfAny = /** @class */ (function (_super) {
49
50
  var colorStroke = stroke.color;
50
51
  var alphaStroke = isStrokeEnabled ? stroke.alpha : 0;
51
52
  var isStrokeChanged = colorStroke !== this.colorStroke || alphaStroke !== this.alphaStroke;
52
- if (isPointStrokeChanged || isStrokeChanged) {
53
+ var isNotInited = !(this.inited & BuilderFlag.COLOR_STROKE);
54
+ if (isNotInited || isPointStrokeChanged || isStrokeChanged) {
55
+ this.inited |= BuilderFlag.COLOR_STROKE;
53
56
  this.colorStroke = colorStroke;
54
57
  this.alphaStroke = alphaStroke;
55
58
  this.pointStrokeId = pointStrokeId;
@@ -1 +1 @@
1
- {"version":3,"file":"builder-line-of-any.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-any.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { toPointsCount } from \"./build-line\";\nimport { buildLineOfAnyColor, toLineOfAnyPointCount } from \"./build-line-of-any\";\nimport { BuilderBase } from \"./builder-base\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\n\nexport abstract class BuilderLineOfAny extends BuilderBase {\n\tprotected pointId: number;\n\tprotected pointCount: number;\n\tprotected pointCountReserved: number;\n\tprotected pointSizeId: number;\n\tprotected pointOffsetId: number;\n\tprotected pointFillId: number;\n\tprotected pointStrokeId: number;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.pointId = -1;\n\t\tthis.pointCount = 0;\n\t\tthis.pointCountReserved = pointCountReserved;\n\t\tthis.pointSizeId = -1;\n\t\tthis.pointOffsetId = -1;\n\t\tthis.pointFillId = -1;\n\t\tthis.pointStrokeId = -1;\n\t}\n\n\tisCompatible(shape: EShape): boolean {\n\t\tconst pointCount = toLineOfAnyPointCount(toPointsCount(shape.points));\n\t\treturn pointCount === this.pointCountReserved;\n\t}\n\n\tprotected updateLineOfAnyColorFill(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints,\n\t\tvcountPerPoint: number\n\t): void {\n\t\tconst pointFill = points.fill;\n\t\tconst pointFillId = pointFill.id;\n\t\tconst isPointFillChanged = pointFillId !== this.pointFillId;\n\n\t\tconst fill = shape.fill;\n\t\tconst isFillEnabled = shape.visible && fill.enable;\n\t\tconst colorFill = fill.color;\n\t\tconst alphaFill = isFillEnabled ? fill.alpha : 0;\n\t\tconst isFillChanged = colorFill !== this.colorFill || alphaFill !== this.alphaFill;\n\n\t\tif (isPointFillChanged || isFillChanged) {\n\t\t\tthis.colorFill = colorFill;\n\t\t\tthis.alphaFill = alphaFill;\n\t\t\tthis.pointFillId = pointFillId;\n\t\t\tbuffer.updateColorFills();\n\t\t\tbuildLineOfAnyColor(\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tvcountPerPoint,\n\t\t\t\tpointFill,\n\t\t\t\tthis.pointCountReserved,\n\t\t\t\tbuffer.colorFills,\n\t\t\t\tisFillEnabled,\n\t\t\t\tcolorFill,\n\t\t\t\talphaFill\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateLineOfAnyColorStroke(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints,\n\t\tvcountPerPoint: number\n\t): void {\n\t\tconst pointStroke = points.stroke;\n\t\tconst pointStrokeId = pointStroke.id;\n\t\tconst isPointStrokeChanged = pointStrokeId !== this.pointStrokeId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst isStrokeEnabled = shape.visible && stroke.enable;\n\t\tconst colorStroke = stroke.color;\n\t\tconst alphaStroke = isStrokeEnabled ? stroke.alpha : 0;\n\t\tconst isStrokeChanged =\n\t\t\tcolorStroke !== this.colorStroke || alphaStroke !== this.alphaStroke;\n\n\t\tif (isPointStrokeChanged || isStrokeChanged) {\n\t\t\tthis.colorStroke = colorStroke;\n\t\t\tthis.alphaStroke = alphaStroke;\n\t\t\tthis.pointStrokeId = pointStrokeId;\n\t\t\tbuffer.updateColorStrokes();\n\t\t\tbuildLineOfAnyColor(\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tvcountPerPoint,\n\t\t\t\tpointStroke,\n\t\t\t\tthis.pointCountReserved,\n\t\t\t\tbuffer.colorStrokes,\n\t\t\t\tisStrokeEnabled,\n\t\t\t\tcolorStroke,\n\t\t\t\talphaStroke\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-line-of-any.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-any.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { toPointsCount } from \"./build-line\";\nimport { buildLineOfAnyColor, toLineOfAnyPointCount } from \"./build-line-of-any\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\n\nexport abstract class BuilderLineOfAny extends BuilderBase {\n\tprotected pointId: number;\n\tprotected pointCount: number;\n\tprotected pointCountReserved: number;\n\tprotected pointSizeId: number;\n\tprotected pointOffsetId: number;\n\tprotected pointFillId: number;\n\tprotected pointStrokeId: number;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.pointId = -1;\n\t\tthis.pointCount = 0;\n\t\tthis.pointCountReserved = pointCountReserved;\n\t\tthis.pointSizeId = -1;\n\t\tthis.pointOffsetId = -1;\n\t\tthis.pointFillId = -1;\n\t\tthis.pointStrokeId = -1;\n\t}\n\n\tisCompatible(shape: EShape): boolean {\n\t\tconst pointCount = toLineOfAnyPointCount(toPointsCount(shape.points));\n\t\treturn pointCount === this.pointCountReserved;\n\t}\n\n\tprotected updateLineOfAnyColorFill(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints,\n\t\tvcountPerPoint: number\n\t): void {\n\t\tconst pointFill = points.fill;\n\t\tconst pointFillId = pointFill.id;\n\t\tconst isPointFillChanged = pointFillId !== this.pointFillId;\n\n\t\tconst fill = shape.fill;\n\t\tconst isFillEnabled = shape.visible && fill.enable;\n\t\tconst colorFill = fill.color;\n\t\tconst alphaFill = isFillEnabled ? fill.alpha : 0;\n\t\tconst isFillChanged = colorFill !== this.colorFill || alphaFill !== this.alphaFill;\n\n\t\tif (isPointFillChanged || isFillChanged) {\n\t\t\tthis.colorFill = colorFill;\n\t\t\tthis.alphaFill = alphaFill;\n\t\t\tthis.pointFillId = pointFillId;\n\t\t\tbuffer.updateColorFills();\n\t\t\tbuildLineOfAnyColor(\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tvcountPerPoint,\n\t\t\t\tpointFill,\n\t\t\t\tthis.pointCountReserved,\n\t\t\t\tbuffer.colorFills,\n\t\t\t\tisFillEnabled,\n\t\t\t\tcolorFill,\n\t\t\t\talphaFill\n\t\t\t);\n\t\t}\n\t}\n\n\tprotected updateLineOfAnyColorStroke(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints,\n\t\tvcountPerPoint: number\n\t): void {\n\t\tconst pointStroke = points.stroke;\n\t\tconst pointStrokeId = pointStroke.id;\n\t\tconst isPointStrokeChanged = pointStrokeId !== this.pointStrokeId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst isStrokeEnabled = shape.visible && stroke.enable;\n\t\tconst colorStroke = stroke.color;\n\t\tconst alphaStroke = isStrokeEnabled ? stroke.alpha : 0;\n\t\tconst isStrokeChanged =\n\t\t\tcolorStroke !== this.colorStroke || alphaStroke !== this.alphaStroke;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.COLOR_STROKE);\n\n\t\tif (isNotInited || isPointStrokeChanged || isStrokeChanged) {\n\t\t\tthis.inited |= BuilderFlag.COLOR_STROKE;\n\t\t\tthis.colorStroke = colorStroke;\n\t\t\tthis.alphaStroke = alphaStroke;\n\t\t\tthis.pointStrokeId = pointStrokeId;\n\t\t\tbuffer.updateColorStrokes();\n\t\t\tbuildLineOfAnyColor(\n\t\t\t\tthis.vertexOffset,\n\t\t\t\tvcountPerPoint,\n\t\t\t\tpointStroke,\n\t\t\t\tthis.pointCountReserved,\n\t\t\t\tbuffer.colorStrokes,\n\t\t\t\tisStrokeEnabled,\n\t\t\t\tcolorStroke,\n\t\t\t\talphaStroke\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
@@ -5,6 +5,7 @@
5
5
  import { __extends } from "tslib";
6
6
  import { buildCircleClipping, buildCircleIndex, buildCircleStep, buildCircleUv, buildCircleVertex, CIRCLE_INDEX_COUNT, CIRCLE_VERTEX_COUNT, CIRCLE_WORLD_SIZE } from "./build-circle";
7
7
  import { buildNullStep, buildNullVertex } from "./build-null";
8
+ import { BuilderFlag } from "./builder";
8
9
  import { BuilderLineOfAny } from "./builder-line-of-any";
9
10
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
10
11
  import { copyClipping } from "./copy-clipping";
@@ -32,6 +33,7 @@ var BuilderLineOfCircles = /** @class */ (function (_super) {
32
33
  buildCircleIndex(indices, voffset, ioffset);
33
34
  copyIndex(indices, CIRCLE_VERTEX_COUNT, ioffset, CIRCLE_INDEX_COUNT, pointCountReserved);
34
35
  }
36
+ this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
35
37
  };
36
38
  BuilderLineOfCircles.prototype.update = function (buffer, shape) {
37
39
  var points = shape.points;
@@ -63,11 +65,14 @@ var BuilderLineOfCircles = /** @class */ (function (_super) {
63
65
  var isStrokeChanged = this.strokeAlign !== strokeAlign ||
64
66
  this.strokeWidth !== strokeWidth ||
65
67
  this.strokeStyle !== strokeStyle;
66
- if (isPointChanged ||
68
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);
69
+ if (isNotInited ||
70
+ isPointChanged ||
67
71
  isPointSizeChanged ||
68
72
  isSizeChanged ||
69
73
  isTransformChanged ||
70
74
  isStrokeChanged) {
75
+ this.inited |= BuilderFlag.VERTEX_AND_STEP;
71
76
  this.pointId = pointId;
72
77
  var formatted = points.formatted;
73
78
  this.pointCount = formatted.length;
@@ -120,7 +125,11 @@ var BuilderLineOfCircles = /** @class */ (function (_super) {
120
125
  BuilderLineOfCircles.prototype.updateUv = function (buffer, shape) {
121
126
  var texture = toTexture(shape);
122
127
  var textureTransformId = toTextureTransformId(texture);
123
- if (texture !== this.texture || textureTransformId !== this.textureTransformId) {
128
+ var isNotInited = !(this.inited & BuilderFlag.UV);
129
+ if (isNotInited ||
130
+ texture !== this.texture ||
131
+ textureTransformId !== this.textureTransformId) {
132
+ this.inited |= BuilderFlag.UV;
124
133
  this.texture = texture;
125
134
  this.textureTransformId = textureTransformId;
126
135
  buffer.updateUvs();
@@ -1 +1 @@
1
- {"version":3,"file":"builder-line-of-circles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-circles.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAIH,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E;IAA0C,wCAAgB;IAA1D;;IAyLA,CAAC;IAxLA,mCAAI,GAAJ,UAAK,MAAoB;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,CAAC,GAAG,kBAAkB,EAAE;YAC3B,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;YAC1E,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5C,SAAS,CACR,OAAO,EACP,mBAAmB,EACnB,OAAO,EACP,kBAAkB,EAClB,kBAAkB,CAClB,CAAC;SACF;IACF,CAAC;IAED,qCAAM,GAAN,UAAO,MAAoB,EAAE,KAAa;QACzC,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,YAAY,yBAAyB,EAAE;YAChD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAChD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC1E,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAC7B;IACF,CAAC;IAES,kDAAmB,GAA7B,UACC,MAAoB,EACpB,KAAa,EACb,MAA6B;QAE7B,IAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,IAAM,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;QACrC,IAAM,cAAc,GAAG,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC;QAExF,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAM,WAAW,GAAG,SAAS,CAAC,EAAE,CAAC;QACjC,IAAM,kBAAkB,GAAG,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;QAE5D,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QACrB,IAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QACrB,IAAM,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QAEnE,IAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnD,IAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,KAAK,gBAAgB,CAAC;QAEtE,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACjC,IAAM,eAAe,GACpB,IAAI,CAAC,WAAW,KAAK,WAAW;YAChC,IAAI,CAAC,WAAW,KAAK,WAAW;YAChC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC;QAElC,IACC,cAAc;YACd,kBAAkB;YAClB,aAAa;YACb,kBAAkB;YAClB,eAAe,EACd;YACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAE/B,SAAS;YACT,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,IAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,IAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;YACtC,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAM,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC;YAC5D,IAAI,CAAC,GAAG,UAAU,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;gBACrE,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAErC,iBAAiB,CAChB,QAAQ,EACR,OAAO,EACP,CAAC,EACD,CAAC,EACD,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,CACjB,CAAC;gBACF,UAAU,CACT,QAAQ,EACR,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,WAAW,CACX,CAAC;gBACF,eAAe,CACd,KAAK,EACL,SAAS,EACT,OAAO,EACP,WAAW,EACX,WAAW,EACX,iBAAiB,CACjB,CAAC;gBACF,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;aAC1D;iBAAM;gBACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE;oBACpC,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClD,IAAM,EAAE,GAAG,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACtD,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAM,EAAE,GAAG,OAAO,GAAG,CAAC,GAAG,mBAAmB,CAAC;oBAC7C,iBAAiB,CAChB,QAAQ,EACR,EAAE,EACF,EAAE,EACF,EAAE,EACF,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,iBAAiB,CACjB,CAAC;oBACF,eAAe,CACd,KAAK,EACL,SAAS,EACT,EAAE,EACF,WAAW,EACX,WAAW,EACX,iBAAiB,CACjB,CAAC;iBACF;aACD;YAED,gBAAgB;YAChB,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnD,IAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,mBAAmB,CAAC;YACnE,IAAM,cAAc,GAAG,mBAAmB,GAAG,CAAC,kBAAkB,GAAG,UAAU,CAAC,CAAC;YAC/E,eAAe,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;YAC3D,aAAa,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;SACtD;IACF,CAAC;IAES,uCAAQ,GAAlB,UAAmB,MAAoB,EAAE,KAAa;QACrD,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,EAAE;YAC/E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAE7C,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACvB,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;YAClC,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,IAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACnD,IAAI,CAAC,GAAG,kBAAkB,EAAE;gBAC3B,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;aAC/D;SACD;IACF,CAAC;IACF,2BAAC;AAAD,CAAC,AAzLD,CAA0C,gBAAgB,GAyLzD","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport {\n\tbuildCircleClipping,\n\tbuildCircleIndex,\n\tbuildCircleStep,\n\tbuildCircleUv,\n\tbuildCircleVertex,\n\tCIRCLE_INDEX_COUNT,\n\tCIRCLE_VERTEX_COUNT,\n\tCIRCLE_WORLD_SIZE\n} from \"./build-circle\";\nimport { buildNullStep, buildNullVertex } from \"./build-null\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfCircles extends BuilderLineOfAny {\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst clippings = buffer.clippings;\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildCircleClipping(clippings, voffset);\n\t\t\tcopyClipping(clippings, voffset, CIRCLE_VERTEX_COUNT, pointCountReserved);\n\t\t\tbuildCircleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tCIRCLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tCIRCLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexAndStep(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, CIRCLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, CIRCLE_VERTEX_COUNT);\n\t\t\tthis.updateUv(buffer, shape);\n\t\t}\n\t}\n\n\tprotected updateVertexAndStep(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tif (\n\t\t\tisPointChanged ||\n\t\t\tisPointSizeChanged ||\n\t\t\tisSizeChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisStrokeChanged\n\t\t) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeStyle = strokeStyle;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tbuffer.updateSteps();\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\tbuildCircleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tCIRCLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\t\t\t\tbuildCircleStep(\n\t\t\t\t\tsteps,\n\t\t\t\t\tclippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyStep(steps, voffset, CIRCLE_VERTEX_COUNT, pointCount);\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * CIRCLE_VERTEX_COUNT;\n\t\t\t\t\tbuildCircleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tbuildCircleStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * CIRCLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = CIRCLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tif (texture !== this.texture || textureTransformId !== this.textureTransformId) {\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tif (0 < pointCountReserved) {\n\t\t\t\tbuildCircleUv(uvs, voffset, textureUvs);\n\t\t\t\tcopyUvs(uvs, voffset, CIRCLE_VERTEX_COUNT, pointCountReserved);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-line-of-circles.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-circles.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildCircleClipping,\n\tbuildCircleIndex,\n\tbuildCircleStep,\n\tbuildCircleUv,\n\tbuildCircleVertex,\n\tCIRCLE_INDEX_COUNT,\n\tCIRCLE_VERTEX_COUNT,\n\tCIRCLE_WORLD_SIZE\n} from \"./build-circle\";\nimport { buildNullStep, buildNullVertex } from \"./build-null\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfCircles extends BuilderLineOfAny {\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst clippings = buffer.clippings;\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildCircleClipping(clippings, voffset);\n\t\t\tcopyClipping(clippings, voffset, CIRCLE_VERTEX_COUNT, pointCountReserved);\n\t\t\tbuildCircleIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tCIRCLE_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tCIRCLE_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.CLIPPING_AND_INDEX;\n\t}\n\n\toverride update(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexAndStep(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, CIRCLE_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, CIRCLE_VERTEX_COUNT);\n\t\t\tthis.updateUv(buffer, shape);\n\t\t}\n\t}\n\n\tprotected updateVertexAndStep(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst isSizeChanged = sizeX !== this.sizeX || sizeY !== this.sizeY;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisPointChanged ||\n\t\t\tisPointSizeChanged ||\n\t\t\tisSizeChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisStrokeChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_AND_STEP;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeStyle = strokeStyle;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tbuffer.updateSteps();\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\tbuildCircleVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tCIRCLE_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\t\t\t\tbuildCircleStep(\n\t\t\t\t\tsteps,\n\t\t\t\t\tclippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyStep(steps, voffset, CIRCLE_VERTEX_COUNT, pointCount);\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\t\t\t\t\tconst iv = voffset + i * CIRCLE_VERTEX_COUNT;\n\t\t\t\t\tbuildCircleVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tbuildCircleStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tCIRCLE_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * CIRCLE_VERTEX_COUNT;\n\t\t\tconst vcountReserved = CIRCLE_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n\n\tprotected updateUv(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isNotInited = !(this.inited & BuilderFlag.UV);\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\ttexture !== this.texture ||\n\t\t\ttextureTransformId !== this.textureTransformId\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.UV;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\tbuffer.updateUvs();\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tif (0 < pointCountReserved) {\n\t\t\t\tbuildCircleUv(uvs, voffset, textureUvs);\n\t\t\t\tcopyUvs(uvs, voffset, CIRCLE_VERTEX_COUNT, pointCountReserved);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -5,6 +5,7 @@
5
5
  import { __extends } from "tslib";
6
6
  import { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from "./build-null";
7
7
  import { buildRectangleRoundedClipping, buildRectangleRoundedIndex, buildRectangleRoundedStep, buildRectangleRoundedUv, buildRectangleRoundedVertex, RECTANGLE_ROUNDED_INDEX_COUNT, RECTANGLE_ROUNDED_VERTEX_COUNT, RECTANGLE_ROUNDED_WORLD_SIZE } from "./build-rectangle-rounded";
8
+ import { BuilderFlag } from "./builder";
8
9
  import { BuilderLineOfAny } from "./builder-line-of-any";
9
10
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
10
11
  import { copyClipping } from "./copy-clipping";
@@ -17,8 +18,8 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
17
18
  __extends(BuilderLineOfRectangleRoundeds, _super);
18
19
  function BuilderLineOfRectangleRoundeds(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) {
19
20
  var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved) || this;
20
- _this.radius = NaN;
21
- _this.corner = NaN;
21
+ _this.radius = 0;
22
+ _this.corner = 0;
22
23
  return _this;
23
24
  }
24
25
  BuilderLineOfRectangleRoundeds.prototype.init = function (buffer) {
@@ -31,6 +32,7 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
31
32
  buildRectangleRoundedIndex(indices, voffset, ioffset);
32
33
  copyIndex(indices, RECTANGLE_ROUNDED_VERTEX_COUNT, ioffset, RECTANGLE_ROUNDED_INDEX_COUNT, pointCountReserved);
33
34
  }
35
+ this.inited |= BuilderFlag.INDEX;
34
36
  };
35
37
  BuilderLineOfRectangleRoundeds.prototype.update = function (buffer, shape) {
36
38
  var points = shape.points;
@@ -70,7 +72,13 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
70
72
  var textureTransformId = toTextureTransformId(texture);
71
73
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
72
74
  var isVertexChanged = isPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;
73
- if (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {
75
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
76
+ if (isNotInited ||
77
+ isVertexChanged ||
78
+ isTransformChanged ||
79
+ isCornerChanged ||
80
+ isTextureChanged) {
81
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
74
82
  this.pointId = pointId;
75
83
  var formatted = points.formatted;
76
84
  this.pointCount = formatted.length;
@@ -89,13 +97,13 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
89
97
  this.textureTransformId = textureTransformId;
90
98
  // Buffer
91
99
  buffer.updateVertices();
92
- if (isVertexChanged || isTransformChanged) {
100
+ if (isNotInited || isVertexChanged || isTransformChanged) {
93
101
  buffer.updateSteps();
94
102
  }
95
- if (isVertexChanged || isCornerChanged) {
103
+ if (isNotInited || isVertexChanged || isCornerChanged) {
96
104
  buffer.updateClippings();
97
105
  }
98
- if (isVertexChanged || isTextureChanged) {
106
+ if (isNotInited || isVertexChanged || isTextureChanged) {
99
107
  buffer.updateUvs();
100
108
  }
101
109
  var pointCount = this.pointCount;
@@ -114,17 +122,17 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
114
122
  buildRectangleRoundedVertex(vertices, voffset, 0, 0, pointSizeX, pointSizeY, strokeAlign, strokeWidth, radius, internalTransform, RECTANGLE_ROUNDED_WORLD_SIZE);
115
123
  copyVertex(vertices, internalTransform, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount, pointsValues, pointOffset);
116
124
  // Steps
117
- if (isVertexChanged || isTransformChanged) {
125
+ if (isNotInited || isVertexChanged || isTransformChanged) {
118
126
  buildRectangleRoundedStep(steps, voffset, strokeWidth, strokeSide, strokeStyle, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
119
127
  copyStep(steps, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);
120
128
  }
121
129
  // Clippings
122
- if (isVertexChanged || isCornerChanged) {
130
+ if (isNotInited || isVertexChanged || isCornerChanged) {
123
131
  buildRectangleRoundedClipping(clippings, voffset, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
124
132
  copyClipping(clippings, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);
125
133
  }
126
134
  // UVs
127
- if (isVertexChanged || isTextureChanged) {
135
+ if (isNotInited || isVertexChanged || isTextureChanged) {
128
136
  buildRectangleRoundedUv(uvs, voffset, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);
129
137
  copyUvs(uvs, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);
130
138
  }
@@ -140,15 +148,15 @@ var BuilderLineOfRectangleRoundeds = /** @class */ (function (_super) {
140
148
  // Vertices
141
149
  buildRectangleRoundedVertex(vertices, iv, px, py, pointSizeX, pointSizeY, strokeAlign, strokeWidth, radius, internalTransform, RECTANGLE_ROUNDED_WORLD_SIZE);
142
150
  // Steps
143
- if (isVertexChanged || isTransformChanged) {
151
+ if (isNotInited || isVertexChanged || isTransformChanged) {
144
152
  buildRectangleRoundedStep(steps, iv, strokeWidth, strokeSide, strokeStyle, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
145
153
  }
146
154
  // Clippings
147
- if (isVertexChanged || isCornerChanged) {
155
+ if (isNotInited || isVertexChanged || isCornerChanged) {
148
156
  buildRectangleRoundedClipping(clippings, iv, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
149
157
  }
150
158
  // UVs
151
- if (isVertexChanged || isTextureChanged) {
159
+ if (isNotInited || isVertexChanged || isTextureChanged) {
152
160
  buildRectangleRoundedUv(uvs, iv, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);
153
161
  }
154
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-line-of-rectangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = NaN;\n\t\tthis.corner = NaN;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleRoundedIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: EShapeBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst radius = shape.radius;\n\t\tconst isSizeChanged =\n\t\t\tsizeX !== this.sizeX || sizeY !== this.sizeY || radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = corner !== this.corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleRoundedUv(uvs, voffset, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedUv(uvs, iv, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-line-of-rectangle-roundeds.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport { EShapeCorner } from \"../e-shape-corner\";\nimport { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from \"./build-null\";\nimport {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderLineOfAny } from \"./builder-line-of-any\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { copyClipping } from \"./copy-clipping\";\nimport { copyIndex } from \"./copy-index\";\nimport { copyStep } from \"./copy-step\";\nimport { copyUvs } from \"./copy-uv\";\nimport { copyVertex } from \"./copy-vertex\";\nimport { EShapeLineOfAnyPoints } from \"./e-shape-line-of-any-points\";\nimport { EShapeLineOfAnyPointsImpl } from \"./e-shape-line-of-any-points-impl\";\n\nexport class BuilderLineOfRectangleRoundeds extends BuilderLineOfAny {\n\tprotected radius: number;\n\tprotected corner: EShapeCorner;\n\n\tconstructor(\n\t\tvertexOffset: number,\n\t\tindexOffset: number,\n\t\tvertexCount: number,\n\t\tindexCount: number,\n\t\tpointCountReserved: number\n\t) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount, pointCountReserved);\n\t\tthis.radius = 0;\n\t\tthis.corner = 0;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tconst indices = buffer.indices;\n\t\tconst voffset = this.vertexOffset;\n\t\tconst ioffset = this.indexOffset;\n\t\tconst pointCountReserved = this.pointCountReserved;\n\t\tif (0 < pointCountReserved) {\n\t\t\tbuildRectangleRoundedIndex(indices, voffset, ioffset);\n\t\t\tcopyIndex(\n\t\t\t\tindices,\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\tioffset,\n\t\t\t\tRECTANGLE_ROUNDED_INDEX_COUNT,\n\t\t\t\tpointCountReserved\n\t\t\t);\n\t\t}\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points instanceof EShapeLineOfAnyPointsImpl) {\n\t\t\tthis.updateVertexClippingStepAndUv(buffer, shape, points);\n\t\t\tthis.updateLineOfAnyColorFill(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t\tthis.updateLineOfAnyColorStroke(buffer, shape, points, RECTANGLE_ROUNDED_VERTEX_COUNT);\n\t\t}\n\t}\n\n\tprotected updateVertexClippingStepAndUv(\n\t\tbuffer: BuilderBuffer,\n\t\tshape: EShape,\n\t\tpoints: EShapeLineOfAnyPoints\n\t): void {\n\t\tconst pointId = points.id;\n\t\tconst pointOffset = points.offset;\n\t\tconst pointOffsetId = pointOffset.id;\n\t\tconst isPointChanged = pointId !== this.pointId || pointOffsetId !== this.pointOffsetId;\n\n\t\tconst pointSize = points.size;\n\t\tconst pointSizeId = pointSize.id;\n\t\tconst isPointSizeChanged = pointSizeId !== this.pointSizeId;\n\n\t\tconst size = shape.size;\n\t\tconst sizeX = size.x;\n\t\tconst sizeY = size.y;\n\t\tconst radius = shape.radius;\n\t\tconst isSizeChanged =\n\t\t\tsizeX !== this.sizeX || sizeY !== this.sizeY || radius !== this.radius;\n\n\t\tconst transformLocalId = toTransformLocalId(shape);\n\t\tconst isTransformChanged = this.transformLocalId !== transformLocalId;\n\n\t\tconst stroke = shape.stroke;\n\t\tconst strokeAlign = stroke.align;\n\t\tconst strokeWidth = stroke.enable ? stroke.width : 0;\n\t\tconst strokeSide = stroke.side;\n\t\tconst strokeStyle = stroke.style;\n\t\tconst isStrokeChanged =\n\t\t\tthis.strokeAlign !== strokeAlign ||\n\t\t\tthis.strokeWidth !== strokeWidth ||\n\t\t\tthis.strokeSide !== strokeSide ||\n\t\t\tthis.strokeStyle !== strokeStyle;\n\n\t\tconst corner = shape.corner;\n\t\tconst isCornerChanged = corner !== this.corner;\n\n\t\tconst texture = toTexture(shape);\n\t\tconst textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged =\n\t\t\tisPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisVertexChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisCornerChanged ||\n\t\t\tisTextureChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\n\t\t\tthis.pointId = pointId;\n\t\t\tconst formatted = points.formatted;\n\t\t\tthis.pointCount = formatted.length;\n\t\t\tthis.pointOffsetId = pointOffsetId;\n\t\t\tthis.pointSizeId = pointSizeId;\n\t\t\tthis.sizeX = sizeX;\n\t\t\tthis.sizeY = sizeY;\n\t\t\tthis.radius = radius;\n\t\t\tthis.transformLocalId = transformLocalId;\n\t\t\tthis.strokeAlign = strokeAlign;\n\t\t\tthis.strokeWidth = strokeWidth;\n\t\t\tthis.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.corner = corner;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Buffer\n\t\t\tbuffer.updateVertices();\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t}\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t}\n\t\t\tconst pointCount = this.pointCount;\n\t\t\tconst pointsValues = formatted.values;\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst vertices = buffer.vertices;\n\t\t\tconst clippings = buffer.clippings;\n\t\t\tconst steps = buffer.steps;\n\t\t\tconst uvs = buffer.uvs;\n\t\t\tconst internalTransform = shape.transform.internalTransform;\n\t\t\tconst textureUvs = toTextureUvs(texture);\n\t\t\tif (0 < pointCount && pointSize.isStaticX() && pointSize.isStaticY()) {\n\t\t\t\tconst pointSizeX = pointSize.getX(0);\n\t\t\t\tconst pointSizeY = pointSize.getY(0);\n\n\t\t\t\t// Vertices\n\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tvoffset,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\tpointSizeX,\n\t\t\t\t\tpointSizeY,\n\t\t\t\t\tstrokeAlign,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tradius,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t\tcopyVertex(\n\t\t\t\t\tvertices,\n\t\t\t\t\tinternalTransform,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT,\n\t\t\t\t\tpointCount,\n\t\t\t\t\tpointsValues,\n\t\t\t\t\tpointOffset\n\t\t\t\t);\n\n\t\t\t\t// Steps\n\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\tsteps,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyStep(steps, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// Clippings\n\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\tclippings,\n\t\t\t\t\t\tvoffset,\n\t\t\t\t\t\tcorner,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\t\t\t\t\tcopyClipping(clippings, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\n\t\t\t\t// UVs\n\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\tbuildRectangleRoundedUv(uvs, voffset, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\tcopyUvs(uvs, voffset, RECTANGLE_ROUNDED_VERTEX_COUNT, pointCount);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let i = 0; i < pointCount; ++i) {\n\t\t\t\t\tconst ip = i << 1;\n\t\t\t\t\tconst px = pointsValues[ip] + pointOffset.getX(i);\n\t\t\t\t\tconst py = pointsValues[ip + 1] + pointOffset.getY(i);\n\t\t\t\t\tconst pointSizeX = pointSize.getX(i);\n\t\t\t\t\tconst pointSizeY = pointSize.getY(i);\n\n\t\t\t\t\tconst iv = voffset + i * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\n\t\t\t\t\t// Vertices\n\t\t\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\t\t\tvertices,\n\t\t\t\t\t\tiv,\n\t\t\t\t\t\tpx,\n\t\t\t\t\t\tpy,\n\t\t\t\t\t\tpointSizeX,\n\t\t\t\t\t\tpointSizeY,\n\t\t\t\t\t\tstrokeAlign,\n\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\tradius,\n\t\t\t\t\t\tinternalTransform,\n\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t);\n\n\t\t\t\t\t// Steps\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\t\t\tsteps,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tstrokeWidth,\n\t\t\t\t\t\t\tstrokeSide,\n\t\t\t\t\t\t\tstrokeStyle,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Clippings\n\t\t\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\t\t\tclippings,\n\t\t\t\t\t\t\tiv,\n\t\t\t\t\t\t\tcorner,\n\t\t\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\t// UVs\n\t\t\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\t\t\tbuildRectangleRoundedUv(uvs, iv, textureUvs, RECTANGLE_ROUNDED_WORLD_SIZE);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fill the rest\n\t\t\tconst pointCountReserved = this.pointCountReserved;\n\t\t\tconst voffsetReserved = voffset + pointCount * RECTANGLE_ROUNDED_VERTEX_COUNT;\n\t\t\tconst vcountReserved =\n\t\t\t\tRECTANGLE_ROUNDED_VERTEX_COUNT * (pointCountReserved - pointCount);\n\t\t\tbuildNullVertex(vertices, voffsetReserved, vcountReserved);\n\t\t\tbuildNullStep(steps, voffsetReserved, vcountReserved);\n\t\t\tbuildNullClipping(clippings, voffsetReserved, vcountReserved);\n\t\t\tbuildNullUv(uvs, voffsetReserved, vcountReserved);\n\t\t}\n\t}\n}\n"]}
@@ -5,6 +5,7 @@
5
5
  import { __extends } from "tslib";
6
6
  import { buildNullClipping, buildNullStep, buildNullUv, buildNullVertex } from "./build-null";
7
7
  import { buildRectangleClipping, buildRectangleIndex, buildRectangleStep, buildRectangleUv, buildRectangleVertex, RECTANGLE_INDEX_COUNT, RECTANGLE_VERTEX_COUNT, RECTANGLE_WORLD_SIZE } from "./build-rectangle";
8
+ import { BuilderFlag } from "./builder";
8
9
  import { BuilderLineOfAny } from "./builder-line-of-any";
9
10
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
10
11
  import { copyClipping } from "./copy-clipping";
@@ -28,6 +29,7 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
28
29
  buildRectangleIndex(indices, voffset, ioffset);
29
30
  copyIndex(indices, RECTANGLE_VERTEX_COUNT, ioffset, RECTANGLE_INDEX_COUNT, pointCountReserved);
30
31
  }
32
+ this.inited |= BuilderFlag.INDEX;
31
33
  };
32
34
  BuilderLineOfRectangles.prototype.update = function (buffer, shape) {
33
35
  var points = shape.points;
@@ -64,7 +66,9 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
64
66
  var textureTransformId = toTextureTransformId(texture);
65
67
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
66
68
  var isVertexChanged = isPointChanged || isPointSizeChanged || isSizeChanged || isStrokeChanged;
67
- if (isVertexChanged || isTransformChanged || isTextureChanged) {
69
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
70
+ if (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {
71
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
68
72
  this.pointId = pointId;
69
73
  var formatted = points.formatted;
70
74
  this.pointCount = formatted.length;
@@ -79,13 +83,13 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
79
83
  this.textureTransformId = textureTransformId;
80
84
  // Buffer
81
85
  buffer.updateVertices();
82
- if (isVertexChanged || isTransformChanged) {
86
+ if (isNotInited || isVertexChanged || isTransformChanged) {
83
87
  buffer.updateSteps();
84
88
  }
85
- if (isVertexChanged) {
89
+ if (isNotInited || isVertexChanged) {
86
90
  buffer.updateClippings();
87
91
  }
88
- if (isVertexChanged || isTextureChanged) {
92
+ if (isNotInited || isVertexChanged || isTextureChanged) {
89
93
  buffer.updateUvs();
90
94
  }
91
95
  var pointCount = this.pointCount;
@@ -104,17 +108,17 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
104
108
  buildRectangleVertex(vertices, voffset, 0, 0, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, RECTANGLE_WORLD_SIZE);
105
109
  copyVertex(vertices, internalTransform, voffset, RECTANGLE_VERTEX_COUNT, pointCount, pointsValues, pointOffset);
106
110
  // Steps
107
- if (isVertexChanged || isTransformChanged) {
111
+ if (isNotInited || isVertexChanged || isTransformChanged) {
108
112
  buildRectangleStep(voffset, steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
109
113
  copyStep(steps, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
110
114
  }
111
115
  // Clippings
112
- if (isVertexChanged) {
116
+ if (isNotInited || isVertexChanged) {
113
117
  buildRectangleClipping(clippings, voffset, RECTANGLE_WORLD_SIZE);
114
118
  copyClipping(clippings, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
115
119
  }
116
120
  // UVs
117
- if (isVertexChanged || isTextureChanged) {
121
+ if (isNotInited || isVertexChanged || isTextureChanged) {
118
122
  buildRectangleUv(uvs, voffset, textureUvs, RECTANGLE_WORLD_SIZE);
119
123
  copyUvs(uvs, voffset, RECTANGLE_VERTEX_COUNT, pointCount);
120
124
  }
@@ -130,15 +134,15 @@ var BuilderLineOfRectangles = /** @class */ (function (_super) {
130
134
  // Vertices
131
135
  buildRectangleVertex(vertices, iv, px, py, pointSizeX, pointSizeY, strokeAlign, strokeWidth, internalTransform, RECTANGLE_WORLD_SIZE);
132
136
  // Steps
133
- if (isVertexChanged || isTransformChanged) {
137
+ if (isNotInited || isVertexChanged || isTransformChanged) {
134
138
  buildRectangleStep(iv, steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
135
139
  }
136
140
  // Clippings
137
- if (isVertexChanged) {
141
+ if (isNotInited || isVertexChanged) {
138
142
  buildRectangleClipping(clippings, iv, RECTANGLE_WORLD_SIZE);
139
143
  }
140
144
  // UVs
141
- if (isVertexChanged || isTextureChanged) {
145
+ if (isNotInited || isVertexChanged || isTextureChanged) {
142
146
  buildRectangleUv(uvs, iv, textureUvs, RECTANGLE_WORLD_SIZE);
143
147
  }
144
148
  }