@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-marker-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-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 { Matrix } from \"pixi.js\";\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 { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport abstract class BuilderMarkerCircle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst vertexOffset = this.vertexOffset;\n\t\tbuildCircleClipping(buffer.clippings, vertexOffset);\n\t\tbuildCircleIndex(buffer.indices, vertexOffset, 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 points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\n\n\t\tif (isSizeChanged || isTransformChanged || isStrokeChanged || isPointChanged) {\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.pointId = pointId;\n\n\t\t\t// Buffer\n\t\t\tconst internalTransform = (BuilderMarkerCircle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\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\tinternalTransform,\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-marker-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-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 { Matrix } from \"pixi.js\";\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 { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\n\nexport abstract class BuilderMarkerCircle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, CIRCLE_VERTEX_COUNT, CIRCLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tconst vertexOffset = this.vertexOffset;\n\t\tbuildCircleClipping(buffer.clippings, vertexOffset);\n\t\tbuildCircleIndex(buffer.indices, vertexOffset, 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 points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\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\tisPointChanged\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.pointId = pointId;\n\n\t\t\t// Buffer\n\t\t\tconst internalTransform = (BuilderMarkerCircle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\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\tinternalTransform,\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"]}
@@ -7,6 +7,7 @@ import { Matrix } from "pixi.js";
7
7
  import { buildRectangleClipping, buildRectangleIndex, buildRectangleStep, buildRectangleUv, buildRectangleVertex, RECTANGLE_INDEX_COUNT, RECTANGLE_VERTEX_COUNT, RECTANGLE_WORLD_SIZE } from "./build-rectangle";
8
8
  import { BuilderMarkerBase } from "./builder-marker-base";
9
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
10
+ import { BuilderFlag } from "./builder";
10
11
  var BuilderMarkerRectangle = /** @class */ (function (_super) {
11
12
  __extends(BuilderMarkerRectangle, _super);
12
13
  function BuilderMarkerRectangle(vertexOffset, indexOffset) {
@@ -17,6 +18,7 @@ var BuilderMarkerRectangle = /** @class */ (function (_super) {
17
18
  BuilderMarkerRectangle.prototype.init = function (buffer) {
18
19
  buffer.updateIndices();
19
20
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
21
+ this.inited |= BuilderFlag.INDEX;
20
22
  };
21
23
  BuilderMarkerRectangle.prototype.update = function (buffer, shape) {
22
24
  this.updateVertexClippingStepAndUv(buffer, shape);
@@ -55,7 +57,13 @@ var BuilderMarkerRectangle = /** @class */ (function (_super) {
55
57
  var isVertexChanged = isSizeChanged || isStrokeChanged;
56
58
  var pointId = points.id;
57
59
  var isPointChanged = pointId !== this.pointId;
58
- if (isVertexChanged || isTransformChanged || isTextureChanged || isPointChanged) {
60
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
61
+ if (isNotInited ||
62
+ isVertexChanged ||
63
+ isTransformChanged ||
64
+ isTextureChanged ||
65
+ isPointChanged) {
66
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
59
67
  this.sizeX = sizeX;
60
68
  this.sizeY = sizeY;
61
69
  this.transformLocalId = transformLocalId;
@@ -72,17 +80,17 @@ var BuilderMarkerRectangle = /** @class */ (function (_super) {
72
80
  buffer.updateVertices();
73
81
  buildRectangleVertex(buffer.vertices, voffset, 0, 0, sizeX, sizeY, strokeAlign, strokeWidth, internalTransform, RECTANGLE_WORLD_SIZE);
74
82
  // Steps
75
- if (isVertexChanged || isTransformChanged) {
83
+ if (isNotInited || isVertexChanged || isTransformChanged) {
76
84
  buffer.updateSteps();
77
85
  buildRectangleStep(voffset, buffer.steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
78
86
  }
79
87
  // Clippings
80
- if (isVertexChanged) {
88
+ if (isNotInited || isVertexChanged) {
81
89
  buffer.updateClippings();
82
90
  buildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);
83
91
  }
84
92
  // UVs
85
- if (isVertexChanged || isTextureChanged) {
93
+ if (isNotInited || isVertexChanged || isTextureChanged) {
86
94
  buffer.updateUvs();
87
95
  buildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);
88
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-marker-rectangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport {\n\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_INDEX_COUNT,\n\tRECTANGLE_VERTEX_COUNT,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport abstract class BuilderMarkerRectangle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tconst pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged || isPointChanged) {\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst internalTransform = (BuilderMarkerRectangle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tinternalTransform,\n\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-marker-rectangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-rectangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_INDEX_COUNT,\n\tRECTANGLE_VERTEX_COUNT,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\n\nexport abstract class BuilderMarkerRectangle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, RECTANGLE_VERTEX_COUNT, RECTANGLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tconst pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\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\tisTextureChanged ||\n\t\t\tisPointChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst internalTransform = (BuilderMarkerRectangle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tinternalTransform,\n\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -7,6 +7,7 @@ import { Matrix } from "pixi.js";
7
7
  import { buildTriangleClipping, buildTriangleIndex, buildTriangleStep, buildTriangleUv, buildTriangleVertex, TRIANGLE_INDEX_COUNT, TRIANGLE_VERTEX_COUNT, TRIANGLE_WORLD_SIZE } from "./build-triangle";
8
8
  import { BuilderMarkerBase } from "./builder-marker-base";
9
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
10
+ import { BuilderFlag } from "./builder";
10
11
  var BuilderMarkerTriangle = /** @class */ (function (_super) {
11
12
  __extends(BuilderMarkerTriangle, _super);
12
13
  function BuilderMarkerTriangle(vertexOffset, indexOffset) {
@@ -19,6 +20,7 @@ var BuilderMarkerTriangle = /** @class */ (function (_super) {
19
20
  buffer.updateIndices();
20
21
  buildTriangleClipping(buffer.clippings, this.vertexOffset);
21
22
  buildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
23
+ this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
22
24
  };
23
25
  BuilderMarkerTriangle.prototype.update = function (buffer, shape) {
24
26
  this.updateVertexStepAndUv(buffer, shape);
@@ -55,7 +57,13 @@ var BuilderMarkerTriangle = /** @class */ (function (_super) {
55
57
  var isVertexChanged = isSizeChanged || isStrokeChanged;
56
58
  var pointId = points.id;
57
59
  var isPointChanged = pointId !== this.pointId;
58
- if (isVertexChanged || isTransformChanged || isTextureChanged || isPointChanged) {
60
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_AND_UV);
61
+ if (isNotInited ||
62
+ isVertexChanged ||
63
+ isTransformChanged ||
64
+ isTextureChanged ||
65
+ isPointChanged) {
66
+ this.inited |= BuilderFlag.VERTEX_STEP_AND_UV;
59
67
  this.sizeX = sizeX;
60
68
  this.sizeY = sizeY;
61
69
  this.transformLocalId = transformLocalId;
@@ -70,11 +78,11 @@ var BuilderMarkerTriangle = /** @class */ (function (_super) {
70
78
  internalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);
71
79
  buffer.updateVertices();
72
80
  buildTriangleVertex(buffer.vertices, voffset, 0, 0, sizeX, sizeY, strokeAlign, strokeWidth, internalTransform, TRIANGLE_WORLD_SIZE);
73
- if (isVertexChanged || isTransformChanged) {
81
+ if (isNotInited || isVertexChanged || isTransformChanged) {
74
82
  buffer.updateSteps();
75
83
  buildTriangleStep(buffer.steps, buffer.clippings, voffset, TRIANGLE_VERTEX_COUNT, strokeWidth, strokeStyle, TRIANGLE_WORLD_SIZE);
76
84
  }
77
- if (isVertexChanged || isTextureChanged) {
85
+ if (isNotInited || isVertexChanged || isTextureChanged) {
78
86
  buffer.updateUvs();
79
87
  buildTriangleUv(buffer.uvs, toTextureUvs(texture), voffset, TRIANGLE_WORLD_SIZE);
80
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-marker-triangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-triangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport { EShapeBuffer } from \"../e-shape-buffer\";\nimport {\n\tbuildTriangleClipping,\n\tbuildTriangleIndex,\n\tbuildTriangleStep,\n\tbuildTriangleUv,\n\tbuildTriangleVertex,\n\tTRIANGLE_INDEX_COUNT,\n\tTRIANGLE_VERTEX_COUNT,\n\tTRIANGLE_WORLD_SIZE\n} from \"./build-triangle\";\nimport { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport abstract class BuilderMarkerTriangle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tbuildTriangleClipping(buffer.clippings, this.vertexOffset);\n\t\tbuildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexStepAndUv(buffer: EShapeBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged = isSizeChanged || isStrokeChanged;\n\n\t\tconst pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged || isPointChanged) {\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.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\t\t\tthis.pointId = pointId;\n\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst internalTransform = (BuilderMarkerTriangle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildTriangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tinternalTransform,\n\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildTriangleStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tbuffer.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildTriangleUv(buffer.uvs, toTextureUvs(texture), voffset, TRIANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-marker-triangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-marker-triangle.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Matrix } from \"pixi.js\";\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildTriangleClipping,\n\tbuildTriangleIndex,\n\tbuildTriangleStep,\n\tbuildTriangleUv,\n\tbuildTriangleVertex,\n\tTRIANGLE_INDEX_COUNT,\n\tTRIANGLE_VERTEX_COUNT,\n\tTRIANGLE_WORLD_SIZE\n} from \"./build-triangle\";\nimport { BuilderMarkerBase } from \"./builder-marker-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\n\nexport abstract class BuilderMarkerTriangle extends BuilderMarkerBase {\n\tprotected static WORK?: Matrix;\n\tprotected pointId: number;\n\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, TRIANGLE_VERTEX_COUNT, TRIANGLE_INDEX_COUNT);\n\t\tthis.pointId = -1;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateClippings();\n\t\tbuffer.updateIndices();\n\t\tbuildTriangleClipping(buffer.clippings, this.vertexOffset);\n\t\tbuildTriangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.CLIPPING_AND_INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexStepAndUv(buffer: BuilderBuffer, shape: EShape): void {\n\t\tconst points = shape.points;\n\t\tif (points == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst container = points.getMarker();\n\t\tif (container == null) {\n\t\t\treturn;\n\t\t}\n\t\tconst marker = this.toMarker(container);\n\t\tconst size = marker.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 textureTransformId = toTextureTransformId(texture);\n\t\tconst isTextureChanged =\n\t\t\ttexture !== this.texture || textureTransformId !== this.textureTransformId;\n\n\t\tconst isVertexChanged = isSizeChanged || isStrokeChanged;\n\n\t\tconst pointId = points.id;\n\t\tconst isPointChanged = pointId !== this.pointId;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_STEP_AND_UV);\n\n\t\tif (\n\t\t\tisNotInited ||\n\t\t\tisVertexChanged ||\n\t\t\tisTransformChanged ||\n\t\t\tisTextureChanged ||\n\t\t\tisPointChanged\n\t\t) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_STEP_AND_UV;\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.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\t\t\tthis.pointId = pointId;\n\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tconst internalTransform = (BuilderMarkerTriangle.WORK ??= new Matrix());\n\t\t\tinternalTransform.copyFrom(marker.transform).prepend(shape.transform.internalTransform);\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildTriangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tinternalTransform,\n\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildTriangleStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tbuffer.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tTRIANGLE_VERTEX_COUNT,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tTRIANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildTriangleUv(buffer.uvs, toTextureUvs(texture), voffset, TRIANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { buildRectangleClipping, buildRectangleIndex, buildRectangleStep, buildRectangleUv, buildRectangleVertex, RECTANGLE_WORLD_SIZE } from "./build-rectangle";
7
+ import { BuilderFlag } from "./builder";
7
8
  import { BuilderBase } from "./builder-base";
8
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
9
10
  var BuilderRectanglePivoted = /** @class */ (function (_super) {
@@ -14,6 +15,7 @@ var BuilderRectanglePivoted = /** @class */ (function (_super) {
14
15
  BuilderRectanglePivoted.prototype.init = function (buffer) {
15
16
  buffer.updateIndices();
16
17
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
18
+ this.inited |= BuilderFlag.INDEX;
17
19
  };
18
20
  BuilderRectanglePivoted.prototype.update = function (buffer, shape) {
19
21
  this.updateVertexClippingStepAndUv(buffer, shape);
@@ -40,7 +42,9 @@ var BuilderRectanglePivoted = /** @class */ (function (_super) {
40
42
  var textureTransformId = toTextureTransformId(texture);
41
43
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
42
44
  var isVertexChanged = isSizeChanged || isStrokeChanged;
43
- if (isVertexChanged || isTransformChanged || isTextureChanged) {
45
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
46
+ if (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {
47
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
44
48
  this.sizeX = sizeX;
45
49
  this.sizeY = sizeY;
46
50
  this.transformLocalId = transformLocalId;
@@ -55,17 +59,17 @@ var BuilderRectanglePivoted = /** @class */ (function (_super) {
55
59
  buffer.updateVertices();
56
60
  buildRectangleVertex(buffer.vertices, voffset, 0.5 * sizeX, 0.5 * sizeY, sizeX, sizeY, strokeAlign, strokeWidth, shape.transform.internalTransform, RECTANGLE_WORLD_SIZE);
57
61
  // Steps
58
- if (isVertexChanged || isTransformChanged) {
62
+ if (isNotInited || isVertexChanged || isTransformChanged) {
59
63
  buffer.updateSteps();
60
64
  buildRectangleStep(voffset, buffer.steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
61
65
  }
62
66
  // Clippings
63
- if (isVertexChanged) {
67
+ if (isNotInited || isVertexChanged) {
64
68
  buffer.updateClippings();
65
69
  buildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);
66
70
  }
67
71
  // UVs
68
- if (isVertexChanged || isTextureChanged) {
72
+ if (isNotInited || isVertexChanged || isTextureChanged) {
69
73
  buffer.updateUvs();
70
74
  buildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);
71
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-rectangle-pivoted.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle-pivoted.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\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectanglePivoted extends BuilderBase {\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged) {\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\n\t\t\t\t0.5 * sizeX,\n\t\t\t\t0.5 * sizeY,\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\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-rectangle-pivoted.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle-pivoted.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\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectanglePivoted extends BuilderBase {\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\n\t\t\t\t0.5 * sizeX,\n\t\t\t\t0.5 * sizeY,\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\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -4,19 +4,21 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { buildRectangleRoundedClipping, buildRectangleRoundedIndex, buildRectangleRoundedStep, buildRectangleRoundedUv, buildRectangleRoundedVertex, RECTANGLE_ROUNDED_WORLD_SIZE } from "./build-rectangle-rounded";
7
+ import { BuilderFlag } from "./builder";
7
8
  import { BuilderBase } from "./builder-base";
8
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
9
10
  var BuilderRectangleRounded = /** @class */ (function (_super) {
10
11
  __extends(BuilderRectangleRounded, _super);
11
12
  function BuilderRectangleRounded(vertexOffset, indexOffset, vertexCount, indexCount) {
12
13
  var _this = _super.call(this, vertexOffset, indexOffset, vertexCount, indexCount) || this;
13
- _this.radius = NaN;
14
- _this.corner = NaN;
14
+ _this.radius = 0;
15
+ _this.corner = 0;
15
16
  return _this;
16
17
  }
17
18
  BuilderRectangleRounded.prototype.init = function (buffer) {
18
19
  buffer.updateIndices();
19
20
  buildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);
21
+ this.inited |= BuilderFlag.INDEX;
20
22
  };
21
23
  BuilderRectangleRounded.prototype.update = function (buffer, shape) {
22
24
  this.updateVertexClippingStepAndUv(buffer, shape);
@@ -46,7 +48,13 @@ var BuilderRectangleRounded = /** @class */ (function (_super) {
46
48
  var textureTransformId = toTextureTransformId(texture);
47
49
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
48
50
  var isVertexChanged = isSizeChanged || isStrokeChanged;
49
- if (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {
51
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
52
+ if (isNotInited ||
53
+ isVertexChanged ||
54
+ isTransformChanged ||
55
+ isCornerChanged ||
56
+ isTextureChanged) {
57
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
50
58
  this.sizeX = sizeX;
51
59
  this.sizeY = sizeY;
52
60
  this.radius = radius;
@@ -63,17 +71,17 @@ var BuilderRectangleRounded = /** @class */ (function (_super) {
63
71
  buffer.updateVertices();
64
72
  buildRectangleRoundedVertex(buffer.vertices, voffset, 0, 0, sizeX, sizeY, strokeAlign, strokeWidth, radius, shape.transform.internalTransform, RECTANGLE_ROUNDED_WORLD_SIZE);
65
73
  // Steps
66
- if (isVertexChanged || isCornerChanged || isTransformChanged) {
74
+ if (isNotInited || isVertexChanged || isCornerChanged || isTransformChanged) {
67
75
  buffer.updateSteps();
68
76
  buildRectangleRoundedStep(buffer.steps, voffset, strokeWidth, strokeSide, strokeStyle, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
69
77
  }
70
78
  // Clippings
71
- if (isVertexChanged || isCornerChanged) {
79
+ if (isNotInited || isVertexChanged || isCornerChanged) {
72
80
  buffer.updateClippings();
73
81
  buildRectangleRoundedClipping(buffer.clippings, voffset, corner, RECTANGLE_ROUNDED_WORLD_SIZE);
74
82
  }
75
83
  // UVs
76
- if (isVertexChanged || isTextureChanged) {
84
+ if (isNotInited || isVertexChanged || isTextureChanged) {
77
85
  buffer.updateUvs();
78
86
  buildRectangleRoundedUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_ROUNDED_WORLD_SIZE);
79
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-rectangle-rounded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle-rounded.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 {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectangleRounded extends BuilderBase {\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) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.radius = NaN;\n\t\tthis.corner = NaN;\n\t}\n\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isCornerChanged || isTextureChanged) {\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// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tradius,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isVertexChanged || isCornerChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tcorner,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\tbuffer.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tcorner,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleRoundedUv(\n\t\t\t\t\tbuffer.uvs,\n\t\t\t\t\tvoffset,\n\t\t\t\t\ttoTextureUvs(texture),\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-rectangle-rounded.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle-rounded.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 {\n\tbuildRectangleRoundedClipping,\n\tbuildRectangleRoundedIndex,\n\tbuildRectangleRoundedStep,\n\tbuildRectangleRoundedUv,\n\tbuildRectangleRoundedVertex,\n\tRECTANGLE_ROUNDED_WORLD_SIZE\n} from \"./build-rectangle-rounded\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectangleRounded extends BuilderBase {\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) {\n\t\tsuper(vertexOffset, indexOffset, vertexCount, indexCount);\n\t\tthis.radius = 0;\n\t\tthis.corner = 0;\n\t}\n\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleRoundedIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 = 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.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// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleRoundedVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tradius,\n\t\t\t\tshape.transform.internalTransform,\n\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isVertexChanged || isCornerChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleRoundedStep(\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tcorner,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isNotInited || isVertexChanged || isCornerChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleRoundedClipping(\n\t\t\t\t\tbuffer.clippings,\n\t\t\t\t\tvoffset,\n\t\t\t\t\tcorner,\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleRoundedUv(\n\t\t\t\t\tbuffer.uvs,\n\t\t\t\t\tvoffset,\n\t\t\t\t\ttoTextureUvs(texture),\n\t\t\t\t\tRECTANGLE_ROUNDED_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { buildRectangleClipping, buildRectangleIndex, buildRectangleStep, buildRectangleUv, buildRectangleVertex, RECTANGLE_WORLD_SIZE } from "./build-rectangle";
7
+ import { BuilderFlag } from "./builder";
7
8
  import { BuilderBase } from "./builder-base";
8
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
9
10
  var BuilderRectangle = /** @class */ (function (_super) {
@@ -14,6 +15,7 @@ var BuilderRectangle = /** @class */ (function (_super) {
14
15
  BuilderRectangle.prototype.init = function (buffer) {
15
16
  buffer.updateIndices();
16
17
  buildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);
18
+ this.inited |= BuilderFlag.INDEX;
17
19
  };
18
20
  BuilderRectangle.prototype.update = function (buffer, shape) {
19
21
  this.updateVertexClippingStepAndUv(buffer, shape);
@@ -40,7 +42,9 @@ var BuilderRectangle = /** @class */ (function (_super) {
40
42
  var textureTransformId = toTextureTransformId(texture);
41
43
  var isTextureChanged = texture !== this.texture || textureTransformId !== this.textureTransformId;
42
44
  var isVertexChanged = isSizeChanged || isStrokeChanged;
43
- if (isVertexChanged || isTransformChanged || isTextureChanged) {
45
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);
46
+ if (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {
47
+ this.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;
44
48
  this.sizeX = sizeX;
45
49
  this.sizeY = sizeY;
46
50
  this.transformLocalId = transformLocalId;
@@ -55,17 +59,17 @@ var BuilderRectangle = /** @class */ (function (_super) {
55
59
  buffer.updateVertices();
56
60
  buildRectangleVertex(buffer.vertices, voffset, 0, 0, sizeX, sizeY, strokeAlign, strokeWidth, shape.transform.internalTransform, RECTANGLE_WORLD_SIZE);
57
61
  // Steps
58
- if (isVertexChanged || isTransformChanged) {
62
+ if (isNotInited || isVertexChanged || isTransformChanged) {
59
63
  buffer.updateSteps();
60
64
  buildRectangleStep(voffset, buffer.steps, strokeWidth, strokeSide, strokeStyle, RECTANGLE_WORLD_SIZE);
61
65
  }
62
66
  // Clippings
63
- if (isVertexChanged) {
67
+ if (isNotInited || isVertexChanged) {
64
68
  buffer.updateClippings();
65
69
  buildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);
66
70
  }
67
71
  // UVs
68
- if (isVertexChanged || isTextureChanged) {
72
+ if (isNotInited || isVertexChanged || isTextureChanged) {
69
73
  buffer.updateUvs();
70
74
  buildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);
71
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"builder-rectangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle.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\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectangle extends BuilderBase {\n\tinit(buffer: EShapeBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t}\n\n\tupdate(buffer: EShapeBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tif (isVertexChanged || isTransformChanged || isTextureChanged) {\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-rectangle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-rectangle.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\tbuildRectangleClipping,\n\tbuildRectangleIndex,\n\tbuildRectangleStep,\n\tbuildRectangleUv,\n\tbuildRectangleVertex,\n\tRECTANGLE_WORLD_SIZE\n} from \"./build-rectangle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderRectangle extends BuilderBase {\n\tinit(buffer: BuilderBuffer): void {\n\t\tbuffer.updateIndices();\n\t\tbuildRectangleIndex(buffer.indices, this.vertexOffset, this.indexOffset);\n\t\tthis.inited |= BuilderFlag.INDEX;\n\t}\n\n\tupdate(buffer: BuilderBuffer, shape: EShape): void {\n\t\tthis.updateVertexClippingStepAndUv(buffer, shape);\n\t\tthis.updateColorFill(buffer, shape);\n\t\tthis.updateColorStroke(buffer, shape);\n\t}\n\n\tprotected updateVertexClippingStepAndUv(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 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 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 = isSizeChanged || isStrokeChanged;\n\n\t\tconst isNotInited = !(this.inited & BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV);\n\n\t\tif (isNotInited || isVertexChanged || isTransformChanged || isTextureChanged) {\n\t\t\tthis.inited |= BuilderFlag.VERTEX_CLIPPING_STEP_AND_UV;\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.strokeSide = strokeSide;\n\t\t\tthis.strokeStyle = strokeStyle;\n\t\t\tthis.texture = texture;\n\t\t\tthis.textureTransformId = textureTransformId;\n\n\t\t\t// Vertices\n\t\t\tconst voffset = this.vertexOffset;\n\t\t\tbuffer.updateVertices();\n\t\t\tbuildRectangleVertex(\n\t\t\t\tbuffer.vertices,\n\t\t\t\tvoffset,\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\tRECTANGLE_WORLD_SIZE\n\t\t\t);\n\n\t\t\t// Steps\n\t\t\tif (isNotInited || isVertexChanged || isTransformChanged) {\n\t\t\t\tbuffer.updateSteps();\n\t\t\t\tbuildRectangleStep(\n\t\t\t\t\tvoffset,\n\t\t\t\t\tbuffer.steps,\n\t\t\t\t\tstrokeWidth,\n\t\t\t\t\tstrokeSide,\n\t\t\t\t\tstrokeStyle,\n\t\t\t\t\tRECTANGLE_WORLD_SIZE\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Clippings\n\t\t\tif (isNotInited || isVertexChanged) {\n\t\t\t\tbuffer.updateClippings();\n\t\t\t\tbuildRectangleClipping(buffer.clippings, voffset, RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\n\t\t\t// UVs\n\t\t\tif (isNotInited || isVertexChanged || isTextureChanged) {\n\t\t\t\tbuffer.updateUvs();\n\t\t\t\tbuildRectangleUv(buffer.uvs, voffset, toTextureUvs(texture), RECTANGLE_WORLD_SIZE);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { __extends } from "tslib";
6
6
  import { buildSemicircleClipping, buildSemicircleIndex, buildSemicircleStep, buildSemicircleUv, buildSemicircleVertex, SEMICIRCLE_INDEX_COUNT, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_WORLD_SIZE } from "./build-semicircle";
7
+ import { BuilderFlag } from "./builder";
7
8
  import { BuilderBase } from "./builder-base";
8
9
  import { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from "./builders";
9
10
  var BuilderSemicircle = /** @class */ (function (_super) {
@@ -17,6 +18,7 @@ var BuilderSemicircle = /** @class */ (function (_super) {
17
18
  var voffset = this.vertexOffset;
18
19
  buildSemicircleClipping(buffer.clippings, voffset);
19
20
  buildSemicircleIndex(buffer.indices, voffset, this.indexOffset);
21
+ this.inited |= BuilderFlag.CLIPPING_AND_INDEX;
20
22
  };
21
23
  BuilderSemicircle.prototype.update = function (buffer, shape) {
22
24
  this.updateVertexAndStep(buffer, shape);
@@ -38,7 +40,9 @@ var BuilderSemicircle = /** @class */ (function (_super) {
38
40
  var isStrokeChanged = this.strokeAlign !== strokeAlign ||
39
41
  this.strokeWidth !== strokeWidth ||
40
42
  this.strokeStyle !== strokeStyle;
41
- if (isSizeChanged || isTransformChanged || isStrokeChanged) {
43
+ var isNotInited = !(this.inited & BuilderFlag.VERTEX_AND_STEP);
44
+ if (isNotInited || isSizeChanged || isTransformChanged || isStrokeChanged) {
45
+ this.inited |= BuilderFlag.VERTEX_AND_STEP;
42
46
  this.sizeX = sizeX;
43
47
  this.sizeY = sizeY;
44
48
  this.transformLocalId = transformLocalId;
@@ -55,7 +59,11 @@ var BuilderSemicircle = /** @class */ (function (_super) {
55
59
  BuilderSemicircle.prototype.updateUv = function (buffer, shape) {
56
60
  var texture = toTexture(shape);
57
61
  var textureTransformId = toTextureTransformId(texture);
58
- if (texture !== this.texture || textureTransformId !== this.textureTransformId) {
62
+ var isNotInited = !(this.inited & BuilderFlag.UV);
63
+ if (isNotInited ||
64
+ texture !== this.texture ||
65
+ textureTransformId !== this.textureTransformId) {
66
+ this.inited |= BuilderFlag.UV;
59
67
  this.texture = texture;
60
68
  this.textureTransformId = textureTransformId;
61
69
  buffer.updateUvs();
@@ -1 +1 @@
1
- {"version":3,"file":"builder-semicircle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-semicircle.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\tbuildSemicircleClipping,\n\tbuildSemicircleIndex,\n\tbuildSemicircleStep,\n\tbuildSemicircleUv,\n\tbuildSemicircleVertex,\n\tSEMICIRCLE_INDEX_COUNT,\n\tSEMICIRCLE_VERTEX_COUNT,\n\tSEMICIRCLE_WORLD_SIZE\n} from \"./build-semicircle\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderSemicircle extends BuilderBase {\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_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\tbuildSemicircleClipping(buffer.clippings, voffset);\n\t\tbuildSemicircleIndex(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\tbuildSemicircleVertex(\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\tSEMICIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t\tbuildSemicircleStep(\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\tSEMICIRCLE_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\tbuildSemicircleUv(buffer.uvs, this.vertexOffset, textureUvs);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"builder-semicircle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/builder-semicircle.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EACN,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAiB,WAAW,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE/F;IAAuC,qCAAW;IACjD,2BAAY,YAAoB,EAAE,WAAmB;eACpD,kBAAM,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,sBAAsB,CAAC;IAClF,CAAC;IAED,gCAAI,GAAJ,UAAK,MAAqB;QACzB,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,IAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,uBAAuB,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC;IAC/C,CAAC;IAED,kCAAM,GAAN,UAAO,MAAqB,EAAE,KAAa;QAC1C,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAES,+CAAmB,GAA7B,UAA8B,MAAqB,EAAE,KAAa;QACjE,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,IAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;QAEjE,IAAI,WAAW,IAAI,aAAa,IAAI,kBAAkB,IAAI,eAAe,EAAE;YAC1E,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,eAAe,CAAC;YAC3C,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,qBAAqB,CACpB,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,YAAY,EACjB,CAAC,EACD,CAAC,EACD,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,CAAC,SAAS,CAAC,iBAAiB,EACjC,qBAAqB,CACrB,CAAC;YACF,mBAAmB,CAClB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,SAAS,EAChB,IAAI,CAAC,YAAY,EACjB,WAAW,EACX,WAAW,EACX,qBAAqB,CACrB,CAAC;SACF;IACF,CAAC;IAES,oCAAQ,GAAlB,UAAmB,MAAqB,EAAE,KAAa;QACtD,IAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QACjC,IAAM,kBAAkB,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QACpD,IACC,WAAW;YACX,OAAO,KAAK,IAAI,CAAC,OAAO;YACxB,kBAAkB,KAAK,IAAI,CAAC,kBAAkB,EAC7C;YACD,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;YAE7C,MAAM,CAAC,SAAS,EAAE,CAAC;YACnB,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,iBAAiB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;SAC7D;IACF,CAAC;IACF,wBAAC;AAAD,CAAC,AA9FD,CAAuC,WAAW,GA8FjD","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"../e-shape\";\nimport {\n\tbuildSemicircleClipping,\n\tbuildSemicircleIndex,\n\tbuildSemicircleStep,\n\tbuildSemicircleUv,\n\tbuildSemicircleVertex,\n\tSEMICIRCLE_INDEX_COUNT,\n\tSEMICIRCLE_VERTEX_COUNT,\n\tSEMICIRCLE_WORLD_SIZE\n} from \"./build-semicircle\";\nimport { BuilderBuffer, BuilderFlag } from \"./builder\";\nimport { BuilderBase } from \"./builder-base\";\nimport { toTexture, toTextureTransformId, toTextureUvs, toTransformLocalId } from \"./builders\";\n\nexport class BuilderSemicircle extends BuilderBase {\n\tconstructor(vertexOffset: number, indexOffset: number) {\n\t\tsuper(vertexOffset, indexOffset, SEMICIRCLE_VERTEX_COUNT, SEMICIRCLE_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\tbuildSemicircleClipping(buffer.clippings, voffset);\n\t\tbuildSemicircleIndex(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\tbuildSemicircleVertex(\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\tSEMICIRCLE_WORLD_SIZE\n\t\t\t);\n\t\t\tbuildSemicircleStep(\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\tSEMICIRCLE_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\tbuildSemicircleUv(buffer.uvs, this.vertexOffset, textureUvs);\n\t\t}\n\t}\n}\n"]}