@wcardinal/wcardinal-ui 0.408.0 → 0.410.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 (189) hide show
  1. package/dist/types/wcardinal/ui/d-base-snippet-container.d.ts +1 -0
  2. package/dist/types/wcardinal/ui/d-base.d.ts +1 -0
  3. package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
  4. package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
  5. package/dist/types/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.d.ts +2 -0
  6. package/dist/types/wcardinal/ui/shape/e-shape-points-formatters.d.ts +2 -1
  7. package/dist/types/wcardinal/ui/shape/e-shape-points-style.d.ts +7 -1
  8. package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
  9. package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
  10. package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
  11. package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
  12. package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
  13. package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
  14. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
  15. package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
  16. package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
  17. package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
  18. package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
  19. package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
  20. package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
  21. package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
  22. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
  24. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
  25. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
  26. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
  27. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
  28. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
  29. package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
  30. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
  31. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
  32. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
  33. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
  34. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
  35. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
  36. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
  37. package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
  38. package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
  39. package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
  40. package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
  41. package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
  42. package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
  43. package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
  44. package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.d.ts +2 -1
  45. package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.d.ts +2 -1
  46. package/dist/types/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.d.ts +2 -1
  47. package/dist/types/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.d.ts +2 -1
  48. package/dist/types/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.d.ts +2 -1
  49. package/dist/types/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.d.ts +2 -1
  50. package/dist/wcardinal/ui/d-base-snippet-container.js +11 -3
  51. package/dist/wcardinal/ui/d-base-snippet-container.js.map +1 -1
  52. package/dist/wcardinal/ui/d-base.js +4 -0
  53. package/dist/wcardinal/ui/d-base.js.map +1 -1
  54. package/dist/wcardinal/ui/d-scroll-bar.js +1 -0
  55. package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
  56. package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
  57. package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
  58. package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
  59. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  60. package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js +165 -0
  61. package/dist/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.js.map +1 -0
  62. package/dist/wcardinal/ui/shape/e-shape-points-formatters.js +7 -2
  63. package/dist/wcardinal/ui/shape/e-shape-points-formatters.js.map +1 -1
  64. package/dist/wcardinal/ui/shape/e-shape-points-style.js +12 -4
  65. package/dist/wcardinal/ui/shape/e-shape-points-style.js.map +1 -1
  66. package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
  67. package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
  68. package/dist/wcardinal/ui/shape/index.js +1 -0
  69. package/dist/wcardinal/ui/shape/index.js.map +1 -1
  70. package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
  71. package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
  72. package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
  73. package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
  74. package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
  75. package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
  76. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
  77. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
  78. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
  79. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
  80. package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
  81. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  82. package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
  83. package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
  84. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
  85. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
  86. package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
  87. package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
  88. package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
  89. package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
  90. package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
  91. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  92. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
  93. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
  94. package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
  95. package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
  96. package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
  97. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  98. package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
  99. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  100. package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
  101. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  102. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
  103. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  104. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
  105. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  106. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
  107. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  108. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
  109. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  110. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
  111. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  112. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
  113. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  114. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
  115. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  116. package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
  117. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  118. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
  119. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
  120. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
  121. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  122. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
  123. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  124. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
  125. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  126. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
  127. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  128. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
  129. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  130. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
  131. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  132. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
  133. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  134. package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
  135. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  136. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
  137. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  138. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
  139. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  140. package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
  141. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  142. package/dist/wcardinal/ui/shape/variant/index.js +0 -1
  143. package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
  144. package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
  145. package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
  146. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
  147. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
  148. package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
  149. package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
  150. package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
  151. package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
  152. package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
  153. package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
  154. package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
  155. package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
  156. package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js +5 -2
  157. package/dist/wcardinal/ui/theme/dark/e-theme-dark-en-us-shape-points-formatter.js.map +1 -1
  158. package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js +5 -2
  159. package/dist/wcardinal/ui/theme/dark/e-theme-dark-ja-jp-shape-points-formatter.js.map +1 -1
  160. package/dist/wcardinal/ui/theme/dark/e-theme-dark-shape-points-formatter.js.map +1 -1
  161. package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js +5 -2
  162. package/dist/wcardinal/ui/theme/white/e-theme-white-en-us-shape-points-formatter.js.map +1 -1
  163. package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js +5 -2
  164. package/dist/wcardinal/ui/theme/white/e-theme-white-ja-jp-shape-points-formatter.js.map +1 -1
  165. package/dist/wcardinal/ui/theme/white/e-theme-white-shape-points-formatter.js.map +1 -1
  166. package/dist/wcardinal-ui-theme-dark-en-us.js +6 -3
  167. package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
  168. package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
  169. package/dist/wcardinal-ui-theme-dark-ja-jp.js +6 -3
  170. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
  171. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
  172. package/dist/wcardinal-ui-theme-dark.js +6 -3
  173. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  174. package/dist/wcardinal-ui-theme-white-en-us.js +6 -3
  175. package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
  176. package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
  177. package/dist/wcardinal-ui-theme-white-ja-jp.js +6 -3
  178. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
  179. package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
  180. package/dist/wcardinal-ui-theme-white.js +6 -3
  181. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  182. package/dist/wcardinal-ui.cjs.js +2526 -2114
  183. package/dist/wcardinal-ui.js +2502 -2102
  184. package/dist/wcardinal-ui.min.js +2 -2
  185. package/dist/wcardinal-ui.min.js.map +1 -1
  186. package/package.json +1 -1
  187. package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
  188. package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
  189. package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-buffer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-buffer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer, DRAW_MODES, Geometry, Renderer, Shader, Texture } from \"pixi.js\";\nimport { EShapeBufferUnitBuilder } from \"./e-shape-buffer-unit-builder\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\nimport { EShapeType } from \"./e-shape-type\";\nimport { EShapeUploadeds } from \"./e-shape-uploadeds\";\n\nexport class EShapeBuffer {\n\tvertices: Float32Array;\n\tprotected _vertexCapacity: number;\n\tprotected _vertexCount: number;\n\tprotected _vertexBuffer: Buffer | null;\n\n\tclippings: Float32Array;\n\tprotected _clippingBuffer: Buffer | null;\n\n\tsteps: Float32Array;\n\tprotected _stepBuffer: Buffer | null;\n\n\tcolorFills: Float32Array;\n\tprotected _colorFillBuffer: Buffer | null;\n\n\tcolorStrokes: Float32Array;\n\tprotected _colorStrokeBuffer: Buffer | null;\n\n\tuvs: Float32Array;\n\tprotected _uvBuffer: Buffer | null;\n\n\tindices: Uint16Array | Uint32Array;\n\tprotected _indexCapacity: number;\n\tprotected _indexCount: number;\n\tindexCountRequested: number;\n\tprotected _indexBuffer: Buffer | null;\n\n\tprotected _renderer: Renderer;\n\tprotected _geometry: Geometry | null;\n\n\tprotected _builder: EShapeBufferUnitBuilder;\n\n\tconstructor(ntriangles: number, renderer: Renderer) {\n\t\tconst nindices = ntriangles * 3;\n\t\tconst nvertices = nindices;\n\n\t\tthis.vertices = new Float32Array(nvertices * 2);\n\t\tthis._vertexCapacity = nvertices;\n\t\tthis._vertexCount = 0;\n\t\tthis._vertexBuffer = null;\n\n\t\tthis.clippings = new Float32Array(nvertices * 3);\n\t\tthis._clippingBuffer = null;\n\n\t\tthis.steps = new Float32Array(nvertices * 6);\n\t\tthis._stepBuffer = null;\n\n\t\tthis.colorFills = new Float32Array(nvertices * 4);\n\t\tthis._colorFillBuffer = null;\n\n\t\tthis.colorStrokes = new Float32Array(nvertices * 4);\n\t\tthis._colorStrokeBuffer = null;\n\n\t\tthis.uvs = new Float32Array(nvertices * 2);\n\t\tthis._uvBuffer = null;\n\n\t\tconst isIndicesShort = nvertices <= 65535;\n\t\tthis.indices = isIndicesShort ? new Uint16Array(nindices) : new Uint32Array(nindices);\n\t\tthis._indexCapacity = ntriangles;\n\t\tthis._indexCount = 0;\n\t\tthis.indexCountRequested = 0;\n\t\tthis._indexBuffer = null;\n\n\t\tthis._renderer = renderer;\n\n\t\tthis._builder = new EShapeBufferUnitBuilder();\n\n\t\tthis._geometry = null;\n\t}\n\n\tupdateVertices(): void {\n\t\tconst vertexBuffer = this._vertexBuffer;\n\t\tif (vertexBuffer) {\n\t\t\tvertexBuffer.update();\n\t\t}\n\t}\n\n\tupdateClippings(): void {\n\t\tconst clippingBuffer = this._clippingBuffer;\n\t\tif (clippingBuffer) {\n\t\t\tclippingBuffer.update();\n\t\t}\n\t}\n\n\tupdateSteps(): void {\n\t\tconst stepBuffer = this._stepBuffer;\n\t\tif (stepBuffer) {\n\t\t\tstepBuffer.update();\n\t\t}\n\t}\n\n\tupdateColorFills(): void {\n\t\tconst colorFillBuffer = this._colorFillBuffer;\n\t\tif (colorFillBuffer) {\n\t\t\tcolorFillBuffer.update();\n\t\t}\n\t}\n\n\tupdateColorStrokes(): void {\n\t\tconst colorStrokeBuffer = this._colorStrokeBuffer;\n\t\tif (colorStrokeBuffer) {\n\t\t\tcolorStrokeBuffer.update();\n\t\t}\n\t}\n\n\tupdateUvs(): void {\n\t\tconst uvBuffer = this._uvBuffer;\n\t\tif (uvBuffer) {\n\t\t\tuvBuffer.update();\n\t\t}\n\t}\n\n\tupdateIndices(): void {\n\t\tconst indexBuffer = this._indexBuffer;\n\t\tif (indexBuffer) {\n\t\t\tindexBuffer.update();\n\t\t}\n\t}\n\n\tprotected getGeometry(): Geometry {\n\t\tlet result = this._geometry;\n\t\tif (result == null) {\n\t\t\tthis._vertexBuffer = new Buffer(this.vertices, false, false);\n\t\t\tthis._clippingBuffer = new Buffer(this.clippings, false, false);\n\t\t\tthis._stepBuffer = new Buffer(this.steps, false, false);\n\t\t\tthis._colorFillBuffer = new Buffer(this.colorFills, false, false);\n\t\t\tthis._colorStrokeBuffer = new Buffer(this.colorStrokes, false, false);\n\t\t\tthis._uvBuffer = new Buffer(this.uvs, false, false);\n\t\t\tthis._indexBuffer = new Buffer(this.indices, false, true);\n\n\t\t\tthis._geometry = result = new Geometry()\n\t\t\t\t.addIndex(this._indexBuffer)\n\t\t\t\t.addAttribute(\"aPosition\", this._vertexBuffer, 2)\n\t\t\t\t.addAttribute(\"aClipping\", this._clippingBuffer, 3)\n\t\t\t\t.addAttribute(\"aStep\", this._stepBuffer, 2)\n\t\t\t\t.addAttribute(\"aAntialias\", this._stepBuffer, 4)\n\t\t\t\t.addAttribute(\"aColorFill\", this._colorFillBuffer, 4)\n\t\t\t\t.addAttribute(\"aColorStroke\", this._colorStrokeBuffer, 4)\n\t\t\t\t.addAttribute(\"aUv\", this._uvBuffer, 2);\n\t\t}\n\t\treturn result;\n\t}\n\n\tupload(): void {\n\t\tthis._renderer.geometry.bind(this.getGeometry());\n\t}\n\n\trender(shader: Shader): void {\n\t\tconst renderer = this._renderer;\n\t\trenderer.geometry.bind(this.getGeometry());\n\n\t\tconst units = this._builder.units;\n\t\tconst unitCount = units.length;\n\t\tif (0 < unitCount) {\n\t\t\tconst type = DRAW_MODES.TRIANGLES;\n\n\t\t\tlet unit0 = null;\n\t\t\tlet unit1 = units[0];\n\t\t\tlet ioffset0 = 0;\n\t\t\tlet ioffset1 = unit1.indexOffset * 3;\n\t\t\tlet vcount = 0;\n\t\t\tlet texture = Texture.WHITE;\n\t\t\tfor (let i = 0, imax = unitCount - 1; i < imax; ++i) {\n\t\t\t\tunit0 = unit1;\n\t\t\t\tunit1 = units[i + 1];\n\t\t\t\tioffset0 = ioffset1;\n\t\t\t\tioffset1 = unit1.indexOffset * 3;\n\t\t\t\tvcount = ioffset1 - ioffset0;\n\t\t\t\ttexture = unit0.texture || Texture.WHITE;\n\t\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\t\trenderer.geometry.draw(type, vcount, ioffset0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvcount = this._indexCount * 3 - ioffset1;\n\t\t\ttexture = unit1.texture || Texture.WHITE;\n\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\trenderer.geometry.draw(type, vcount, ioffset1);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(\n\t\titerator: EShapeRendererIterator,\n\t\tantialiasWeight: number,\n\t\tnoMoreThanOne: boolean\n\t): boolean {\n\t\tconst builder = this._builder;\n\t\tbuilder.begin();\n\n\t\tlet vindex = 0;\n\t\tlet iindex = 0;\n\t\tlet shape = iterator.get();\n\t\tfor (; shape != null; shape = iterator.next()) {\n\t\t\tlet uploaded = shape.uploaded;\n\t\t\tif (uploaded == null) {\n\t\t\t\tconst creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];\n\t\t\t\tif (creator == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);\n\t\t\t\tif (newUploaded == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tuploaded = newUploaded;\n\t\t\t} else if (!uploaded.reinit(this, shape, vindex, iindex)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tuploaded.buildUnit(builder);\n\t\t\tvindex += uploaded.getVertexCount();\n\t\t\tiindex += uploaded.getIndexCount();\n\n\t\t\tif (noMoreThanOne) {\n\t\t\t\titerator.next();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tbuilder.end();\n\t\tthis._vertexCount = vindex;\n\t\tthis._indexCount = iindex;\n\t\treturn 0 < builder.units.length;\n\t}\n\n\tcheck(vindex: number, ioffset: number, vcount: number, icount: number): boolean {\n\t\tthis.indexCountRequested = icount;\n\t\treturn vindex + vcount <= this._vertexCapacity && ioffset + icount <= this._indexCapacity;\n\t}\n\n\tdestroy(): void {\n\t\tconst geometry = this._geometry;\n\t\tif (geometry) {\n\t\t\tgeometry.destroy();\n\t\t}\n\t\tthis._builder.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-buffer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-buffer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer, DRAW_MODES, Geometry, Renderer, Shader, Texture } from \"pixi.js\";\nimport { EShapeBufferUnitBuilder } from \"./e-shape-buffer-unit-builder\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\nimport { EShapeType } from \"./e-shape-type\";\nimport { EShapeUploadeds } from \"./e-shape-uploadeds\";\n\nexport class EShapeBuffer {\n\tvertices: Float32Array;\n\tprotected _vertexCapacity: number;\n\tprotected _vertexCount: number;\n\tprotected _vertexBuffer: Buffer | null;\n\n\tsteps: Float32Array;\n\tprotected _stepBuffer: Buffer | null;\n\n\tcolors: Float32Array;\n\tprotected _colorBuffer: Buffer | null;\n\n\tuvs: Float32Array;\n\tprotected _uvBuffer: Buffer | null;\n\n\tindices: Uint16Array | Uint32Array;\n\tprotected _indexCapacity: number;\n\tprotected _indexCount: number;\n\tindexCountRequested: number;\n\tprotected _indexBuffer: Buffer | null;\n\n\tprotected _renderer: Renderer;\n\tprotected _geometry: Geometry | null;\n\n\tprotected _builder: EShapeBufferUnitBuilder;\n\n\tconstructor(ntriangles: number, renderer: Renderer) {\n\t\tconst nindices = ntriangles * 3;\n\t\tconst nvertices = nindices;\n\n\t\tthis.vertices = new Float32Array(nvertices * 2);\n\t\tthis._vertexCapacity = nvertices;\n\t\tthis._vertexCount = 0;\n\t\tthis._vertexBuffer = null;\n\n\t\tthis.steps = new Float32Array(nvertices * 6);\n\t\tthis._stepBuffer = null;\n\n\t\tthis.colors = new Float32Array(nvertices * 3);\n\t\tthis._colorBuffer = null;\n\n\t\tthis.uvs = new Float32Array(nvertices * 2);\n\t\tthis._uvBuffer = null;\n\n\t\tconst isIndicesShort = nvertices <= 65535;\n\t\tthis.indices = isIndicesShort ? new Uint16Array(nindices) : new Uint32Array(nindices);\n\t\tthis._indexCapacity = ntriangles;\n\t\tthis._indexCount = 0;\n\t\tthis.indexCountRequested = 0;\n\t\tthis._indexBuffer = null;\n\n\t\tthis._renderer = renderer;\n\n\t\tthis._builder = new EShapeBufferUnitBuilder();\n\n\t\tthis._geometry = null;\n\t}\n\n\tupdateVertices(): void {\n\t\tconst vertexBuffer = this._vertexBuffer;\n\t\tif (vertexBuffer) {\n\t\t\tvertexBuffer.update();\n\t\t}\n\t}\n\n\tupdateSteps(): void {\n\t\tconst stepBuffer = this._stepBuffer;\n\t\tif (stepBuffer) {\n\t\t\tstepBuffer.update();\n\t\t}\n\t}\n\n\tupdateColors(): void {\n\t\tconst colorBuffer = this._colorBuffer;\n\t\tif (colorBuffer) {\n\t\t\tcolorBuffer.update();\n\t\t}\n\t}\n\n\tupdateUvs(): void {\n\t\tconst uvBuffer = this._uvBuffer;\n\t\tif (uvBuffer) {\n\t\t\tuvBuffer.update();\n\t\t}\n\t}\n\n\tupdateIndices(): void {\n\t\tconst indexBuffer = this._indexBuffer;\n\t\tif (indexBuffer) {\n\t\t\tindexBuffer.update();\n\t\t}\n\t}\n\n\tprotected getGeometry(): Geometry {\n\t\tlet result = this._geometry;\n\t\tif (result == null) {\n\t\t\tthis._vertexBuffer = new Buffer(this.vertices, false, false);\n\t\t\tthis._stepBuffer = new Buffer(this.steps, false, false);\n\t\t\tthis._colorBuffer = new Buffer(this.colors, false, false);\n\t\t\tthis._uvBuffer = new Buffer(this.uvs, false, false);\n\t\t\tthis._indexBuffer = new Buffer(this.indices, false, true);\n\n\t\t\tthis._geometry = result = new Geometry()\n\t\t\t\t.addIndex(this._indexBuffer)\n\t\t\t\t.addAttribute(\"aPosition\", this._vertexBuffer, 2)\n\t\t\t\t.addAttribute(\"aStepA\", this._stepBuffer, 2)\n\t\t\t\t.addAttribute(\"aStepB\", this._stepBuffer, 4)\n\t\t\t\t.addAttribute(\"aColor\", this._colorBuffer, 3)\n\t\t\t\t.addAttribute(\"aUv\", this._uvBuffer, 2);\n\t\t}\n\t\treturn result;\n\t}\n\n\tupload(): void {\n\t\tthis._renderer.geometry.bind(this.getGeometry());\n\t}\n\n\trender(shader: Shader): void {\n\t\tconst renderer = this._renderer;\n\t\trenderer.geometry.bind(this.getGeometry());\n\n\t\tconst units = this._builder.units;\n\t\tconst unitCount = units.length;\n\t\tif (0 < unitCount) {\n\t\t\tconst type = DRAW_MODES.TRIANGLES;\n\n\t\t\tlet unit0 = null;\n\t\t\tlet unit1 = units[0];\n\t\t\tlet ioffset0 = 0;\n\t\t\tlet ioffset1 = unit1.indexOffset * 3;\n\t\t\tlet vcount = 0;\n\t\t\tlet texture = Texture.WHITE;\n\t\t\tfor (let i = 0, imax = unitCount - 1; i < imax; ++i) {\n\t\t\t\tunit0 = unit1;\n\t\t\t\tunit1 = units[i + 1];\n\t\t\t\tioffset0 = ioffset1;\n\t\t\t\tioffset1 = unit1.indexOffset * 3;\n\t\t\t\tvcount = ioffset1 - ioffset0;\n\t\t\t\ttexture = unit0.texture || Texture.WHITE;\n\t\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\t\trenderer.geometry.draw(type, vcount, ioffset0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvcount = this._indexCount * 3 - ioffset1;\n\t\t\ttexture = unit1.texture || Texture.WHITE;\n\t\t\tif (0 < vcount && texture.valid) {\n\t\t\t\tshader.uniforms.sampler = renderer.texture.bind(texture);\n\t\t\t\trenderer.geometry.draw(type, vcount, ioffset1);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdate(\n\t\titerator: EShapeRendererIterator,\n\t\tantialiasWeight: number,\n\t\tnoMoreThanOne: boolean\n\t): boolean {\n\t\tconst builder = this._builder;\n\t\tbuilder.begin();\n\n\t\tlet vindex = 0;\n\t\tlet iindex = 0;\n\t\tlet shape = iterator.get();\n\t\tfor (; shape != null; shape = iterator.next()) {\n\t\t\tlet uploaded = shape.uploaded;\n\t\t\tif (uploaded == null) {\n\t\t\t\tconst creator = EShapeUploadeds[shape.type] || EShapeUploadeds[EShapeType.GROUP];\n\t\t\t\tif (creator == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst newUploaded = creator(this, shape, vindex, iindex, antialiasWeight);\n\t\t\t\tif (newUploaded == null) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tuploaded = newUploaded;\n\t\t\t} else if (!uploaded.reinit(this, shape, vindex, iindex)) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tuploaded.buildUnit(builder);\n\t\t\tvindex += uploaded.getVertexCount();\n\t\t\tiindex += uploaded.getIndexCount();\n\n\t\t\tif (noMoreThanOne) {\n\t\t\t\titerator.next();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tbuilder.end();\n\t\tthis._vertexCount = vindex;\n\t\tthis._indexCount = iindex;\n\t\treturn 0 < builder.units.length;\n\t}\n\n\tcheck(vindex: number, ioffset: number, vcount: number, icount: number): boolean {\n\t\tthis.indexCountRequested = icount;\n\t\treturn vindex + vcount <= this._vertexCapacity && ioffset + icount <= this._indexCapacity;\n\t}\n\n\tdestroy(): void {\n\t\tconst geometry = this._geometry;\n\t\tif (geometry) {\n\t\t\tgeometry.destroy();\n\t\t}\n\t\tthis._builder.destroy();\n\t}\n}\n"]}
@@ -108,7 +108,7 @@ var EShapeContainer = /** @class */ (function (_super) {
108
108
  EShapeContainer.prototype.getPixelScale = function () {
109
109
  return this._pixelScale;
110
110
  };
111
- EShapeContainer.prototype.getAntialiasWeight = function (resolution) {
111
+ EShapeContainer.prototype.toAntialiasWeight = function (resolution) {
112
112
  return 1.25 / resolution;
113
113
  };
114
114
  EShapeContainer.prototype.hitTest = function (global, onHit) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since Transform._worldID starts from zero.\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\tgetAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-container.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,aAAa,EAAU,KAAK,EAAY,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;IAAqC,mCAAa;IAoBjD;QAAA,YACC,iBAAO,SAkBP;QAtCS,oBAAc,GAA0B,IAAI,CAAC;QAsBtD,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,KAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAE9B,KAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,KAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAEhD,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,2CAA2C;QACpE,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,KAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,6CAA6C;QAEtE,KAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAEzB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;;IACpB,CAAC;IAED,yCAAe,GAAf;QACC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,gDAAsB,GAAtB;QACC,aAAa;IACd,CAAC;IAED,iCAAO,GAAP;QACC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,iCAAO,GAAP;QACC,OAAO,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;IACpD,CAAC;IAED,gCAAM,GAAN,UAAO,QAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC9D,OAAO;SACP;QAED,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC;QACtC,IAAM,eAAe,GAAG,kBAAkB,GAAG,UAAU,CAAC;QAExD,IAAI,aAAa,GAA0B,IAAI,CAAC,cAAc,CAAC;QAC/D,IAAI,aAAa,IAAI,IAAI,EAAE;YAC1B,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;SACnE;QACD,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,IAAI,EAAE;YACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM;YACN,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;SAC5D;IACF,CAAC;IAED,uCAAa,GAAb,UAAc,KAAY;QACzB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,wCAAc,GAAd;QACC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,kCAAQ,GAAR,UAAS,UAAkB;QAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,KAAK,IAAI,IAAI,EAAE;YAClB,KAAK,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACpB;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,oCAAU,GAAV;QACC,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,sCAAY,GAAZ;QACC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAM,OAAO,GAAI,SAAiB,CAAC,QAAQ,CAAC;QAC5C,IAAI,OAAO,KAAK,IAAI,CAAC,aAAa,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;YAC7B,IAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;YAChD,IAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;YAC3B,IAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,uCAAa,GAAb;QACC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,sCAAY,GAAZ,UAAa,UAAkB;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,IAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE;YACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;SACjD;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,uCAAa,GAAb;QACC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,2CAAiB,GAAjB,UAAkB,UAAkB;QACnC,OAAO,IAAI,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,iCAAO,GAAP,UAAQ,MAAc,EAAE,KAAkC;QACzD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC9C,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAClB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxC,IAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChD,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;wBACnC,OAAO,MAAM,CAAC;qBACd;iBACD;aACD;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,qCAAW,GAAX,UAAY,MAAc,EAAE,KAAkC;QAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC9C,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,OAAO,EAAE;gBAClB,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;wBAClC,OAAO,KAAK,CAAC;qBACb;iBACD;aACD;SACD;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iCAAO,GAAP;QACC,SAAS;QACT,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;gBACrD,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aACrB;SACD;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzB,SAAS;QACT,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC9C,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACtB;QACD,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAEpB,EAAE;QACF,iBAAM,OAAO,WAAE,CAAC;IACjB,CAAC;IACF,sBAAC;AAAD,CAAC,AAvMD,CAAqC,aAAa,GAuMjD","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DisplayObject, IPoint, Point, Renderer } from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeRenderer } from \"./e-shape-renderer\";\n\nexport class EShapeContainer extends DisplayObject {\n\tprotected _shapeRenderer: EShapeRenderer | null = null;\n\n\treadonly children: EShape[];\n\tprotected _shape: EShape | null;\n\tprotected _childrenId: number;\n\tprotected _childrenIdRendered: number;\n\n\tprotected _atlas: DynamicAtlas | null;\n\tprotected _fontAtlases: DynamicSDFFontAtlases;\n\n\tprotected _pixelScale: number;\n\tprotected _pixelScaleId: number;\n\tprotected _shapeScale: number;\n\tprotected _shapeScaleId: number;\n\n\tprotected _work: Point;\n\n\tprotected _buffers: EShapeBuffer[];\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.children = [];\n\t\tthis._shape = null;\n\t\tthis._childrenId = 0;\n\t\tthis._childrenIdRendered = -1;\n\n\t\tthis._atlas = null;\n\t\tthis._fontAtlases = new DynamicSDFFontAtlases();\n\n\t\tthis._pixelScale = 1;\n\t\tthis._pixelScaleId = -2; // Since this._shapeScaleId starts from -1.\n\t\tthis._shapeScale = 1;\n\t\tthis._shapeScaleId = -1; // Since Transform._worldID starts from zero.\n\n\t\tthis._work = new Point();\n\n\t\tthis._buffers = [];\n\t}\n\n\tcalculateBounds(): void {\n\t\tthis._bounds.clear();\n\t}\n\n\tonChildTransformChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\ttoDirty(): number {\n\t\treturn (this._childrenId += 1);\n\t}\n\n\tisDirty(): boolean {\n\t\treturn this._childrenIdRendered < this._childrenId;\n\t}\n\n\trender(renderer: Renderer): void {\n\t\tif (!this.visible || this.worldAlpha <= 0 || !this.renderable) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst childrenId = this._childrenId;\n\t\tconst childrenIdRendered = this._childrenIdRendered;\n\t\tthis._childrenIdRendered = childrenId;\n\t\tconst isChildrenDirty = childrenIdRendered < childrenId;\n\n\t\tlet shapeRenderer: EShapeRenderer | null = this._shapeRenderer;\n\t\tif (shapeRenderer == null) {\n\t\t\tshapeRenderer = this._shapeRenderer = new EShapeRenderer(renderer);\n\t\t}\n\t\trenderer.batch.setObjectRenderer(shapeRenderer);\n\n\t\tconst mask = this.mask;\n\t\tconst shape = this._shape;\n\t\tconst shapes = this.children;\n\t\tif (mask) {\n\t\t\trenderer.mask.push(this, mask);\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t\trenderer.mask.pop(this);\n\t\t} else {\n\t\t\tshapeRenderer.render_(this, shape, shapes, isChildrenDirty);\n\t\t}\n\t}\n\n\tcontainsPoint(point: Point): boolean {\n\t\treturn false;\n\t}\n\n\tgetFontAtlases(): DynamicSDFFontAtlases {\n\t\treturn this._fontAtlases;\n\t}\n\n\tgetAtlas(resolution: number): DynamicAtlas {\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tatlas = new DynamicAtlas(resolution);\n\t\t\tthis._atlas = atlas;\n\t\t}\n\t\treturn atlas;\n\t}\n\n\tgetBuffers(): EShapeBuffer[] {\n\t\treturn this._buffers;\n\t}\n\n\ttoShapeScale(): number {\n\t\tthis.updateTransform();\n\t\tconst transform = this.transform;\n\t\tconst worldID = (transform as any)._worldID;\n\t\tif (worldID !== this._shapeScaleId) {\n\t\t\tthis._shapeScaleId = worldID;\n\t\t\tconst worldTransform = transform.worldTransform;\n\t\t\tconst a = worldTransform.a;\n\t\t\tconst b = worldTransform.b;\n\t\t\tthis._shapeScale = 1 / Math.sqrt(a * a + b * b);\n\t\t}\n\t\treturn this._shapeScale;\n\t}\n\n\tgetShapeScale(): number {\n\t\treturn this._shapeScale;\n\t}\n\n\ttoPixelScale(resolution: number): number {\n\t\tconst shapeScale = this.toShapeScale();\n\t\tconst shapeScaleId = this._shapeScaleId;\n\t\tif (this._pixelScaleId !== shapeScaleId) {\n\t\t\tthis._pixelScaleId = shapeScaleId;\n\t\t\tthis._pixelScale = (1 / resolution) * shapeScale;\n\t\t}\n\t\treturn this._pixelScale;\n\t}\n\n\tgetPixelScale(): number {\n\t\treturn this._pixelScale;\n\t}\n\n\ttoAntialiasWeight(resolution: number): number {\n\t\treturn 1.25 / resolution;\n\t}\n\n\thitTest(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tconst result = child.contains(local.x, local.y);\n\t\t\t\tif (result != null) {\n\t\t\t\t\tif (onHit == null || onHit(result)) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thitTestBBox(global: IPoint, onHit?: (shape: EShape) => boolean): EShape | null {\n\t\tconst local = this._work;\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.visible) {\n\t\t\t\tchild.toLocal(global, undefined, local);\n\t\t\t\tif (child.containsBBox(local.x, local.y)) {\n\t\t\t\t\tif (onHit == null || onHit(child)) {\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tdestroy(): void {\n\t\t// Buffer\n\t\tconst buffers = this._buffers;\n\t\tif (buffers != null) {\n\t\t\tfor (let i = 0, imax = buffers.length; i < imax; ++i) {\n\t\t\t\tbuffers[i].destroy();\n\t\t\t}\n\t\t}\n\t\tthis._buffers.length = 0;\n\n\t\t// Shapes\n\t\tconst children = this.children;\n\t\tfor (let i = children.length - 1; 0 <= i; --i) {\n\t\t\tchildren[i].destroy();\n\t\t}\n\t\tchildren.length = 0;\n\n\t\t//\n\t\tsuper.destroy();\n\t}\n}\n"]}
@@ -0,0 +1,165 @@
1
+ /*
2
+ * Copyright (C) 2019 Toshiba Corporation
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { toIndexOf } from "../util/to-index-of";
6
+ import { EShapeDefaults } from "./e-shape-defaults";
7
+ import { EShapePointsStyle } from "./e-shape-points-style";
8
+ var acopy = function (source, result) {
9
+ var sourceLength = source.length;
10
+ for (var i = 0; i < sourceLength; ++i) {
11
+ result[i] = source[i];
12
+ }
13
+ if (result.length !== sourceLength) {
14
+ result.length = sourceLength;
15
+ }
16
+ return result;
17
+ };
18
+ var amix = function (x0, y0, x1, y1, t, result) {
19
+ var u = 1 - t;
20
+ result[0] = x0 * u + x1 * t;
21
+ result[1] = y0 * u + y1 * t;
22
+ return result;
23
+ };
24
+ var interpolate2 = function (x0, y0, x1, y1, x2, y2, is0, is1, nsegment, rvalues, rvaluesCount) {
25
+ var v3 = [0, 0];
26
+ var v4 = [0, 0];
27
+ var v5 = [0, 0];
28
+ for (var is = is0; is < is1; ++is) {
29
+ var t = is / nsegment;
30
+ amix(x0, y0, x1, y1, t, v3);
31
+ amix(x1, y1, x2, y2, t, v4);
32
+ amix(v3[0], v3[1], v4[0], v4[1], t, v5);
33
+ rvalues[++rvaluesCount] = v5[0];
34
+ rvalues[++rvaluesCount] = v5[1];
35
+ }
36
+ return rvaluesCount;
37
+ };
38
+ var interpolate1 = function (length, values, segments, isClosed, nsegment, result) {
39
+ var rvalues = result.values;
40
+ var rsegments = result.segments;
41
+ if (length <= 2) {
42
+ acopy(values, rvalues);
43
+ acopy(segments, rsegments);
44
+ return result;
45
+ }
46
+ var rvaluesCount = -1;
47
+ var rsegmentsCount = -1;
48
+ var ism = nsegment >> 1;
49
+ if (isClosed) {
50
+ var i = 0;
51
+ for (; i + 2 < length; i += 2) {
52
+ var j = i << 1;
53
+ var s0 = 0 <= toIndexOf(segments, i + 1);
54
+ var s1 = 0 <= toIndexOf(segments, i + 2);
55
+ if (s0 && s1) {
56
+ rvalues[++rvaluesCount] = values[j + 0];
57
+ rvalues[++rvaluesCount] = values[j + 1];
58
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
59
+ }
60
+ else if (s0) {
61
+ rvalues[++rvaluesCount] = values[j + 0];
62
+ rvalues[++rvaluesCount] = values[j + 1];
63
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
64
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], ism, nsegment, nsegment, rvalues, rvaluesCount);
65
+ }
66
+ else if (s1) {
67
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, ism, nsegment, rvalues, rvaluesCount);
68
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
69
+ }
70
+ else {
71
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, nsegment, nsegment, rvalues, rvaluesCount);
72
+ }
73
+ }
74
+ if (i + 1 < length) {
75
+ var j = i << 1;
76
+ var s0 = 0 <= toIndexOf(segments, i + 1);
77
+ var s1 = 0 <= toIndexOf(segments, 0);
78
+ if (s0 && s1) {
79
+ rvalues[++rvaluesCount] = values[0];
80
+ rvalues[++rvaluesCount] = values[1];
81
+ rsegments.unshift(0);
82
+ rsegmentsCount += 1;
83
+ }
84
+ else if (s0) {
85
+ rvalues[++rvaluesCount] = values[j + 0];
86
+ rvalues[++rvaluesCount] = values[j + 1];
87
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
88
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], ism, nsegment, nsegment, rvalues, rvaluesCount);
89
+ }
90
+ else if (s1) {
91
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], 0, ism, nsegment, rvalues, rvaluesCount);
92
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
93
+ }
94
+ else {
95
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[0], values[1], 0, nsegment, nsegment, rvalues, rvaluesCount);
96
+ }
97
+ }
98
+ else if (i < length) {
99
+ var j = i << 1;
100
+ rvalues[++rvaluesCount] = values[j + 0];
101
+ rvalues[++rvaluesCount] = values[j + 1];
102
+ if (0 <= toIndexOf(segments, 0)) {
103
+ rsegments.unshift(0);
104
+ rsegmentsCount += 1;
105
+ }
106
+ }
107
+ }
108
+ else {
109
+ var i = 0;
110
+ for (; i + 2 < length; i += 2) {
111
+ var j = i << 1;
112
+ var s0 = 0 <= toIndexOf(segments, i + 1);
113
+ var s1 = 0 <= toIndexOf(segments, i + 2);
114
+ if (s0 && s1) {
115
+ rvalues[++rvaluesCount] = values[j + 0];
116
+ rvalues[++rvaluesCount] = values[j + 1];
117
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
118
+ }
119
+ else if (s0) {
120
+ rvalues[++rvaluesCount] = values[j + 0];
121
+ rvalues[++rvaluesCount] = values[j + 1];
122
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
123
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], ism, nsegment, nsegment, rvalues, rvaluesCount);
124
+ }
125
+ else if (s1) {
126
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, ism, nsegment, rvalues, rvaluesCount);
127
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
128
+ }
129
+ else {
130
+ rvaluesCount = interpolate2(values[j + 0], values[j + 1], values[j + 2], values[j + 3], values[j + 4], values[j + 5], 0, nsegment, nsegment, rvalues, rvaluesCount);
131
+ }
132
+ }
133
+ for (; i + 1 < length; ++i) {
134
+ var j = i << 1;
135
+ rvalues[++rvaluesCount] = values[j + 0];
136
+ rvalues[++rvaluesCount] = values[j + 1];
137
+ rvalues[++rvaluesCount] = values[j + 2];
138
+ rvalues[++rvaluesCount] = values[j + 3];
139
+ if (0 <= toIndexOf(segments, i + 1)) {
140
+ rsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;
141
+ }
142
+ }
143
+ for (; i < length; ++i) {
144
+ var j = i << 1;
145
+ rvalues[++rvaluesCount] = values[j + 0];
146
+ rvalues[++rvaluesCount] = values[j + 1];
147
+ }
148
+ }
149
+ rvaluesCount += 1;
150
+ if (rvalues.length !== rvaluesCount) {
151
+ rvalues.length = rvaluesCount;
152
+ }
153
+ rsegmentsCount += 1;
154
+ if (rsegments.length !== rsegmentsCount) {
155
+ rsegments.length = rsegmentsCount;
156
+ }
157
+ return result;
158
+ };
159
+ export var eShapePointsFormatterCurveBezierQuadratic = function (length, values, segments, style, result) {
160
+ interpolate1(length, values, segments, !!(style & EShapePointsStyle.CLOSED), EShapeDefaults.CURVE_SEGMENT_COUNT, result);
161
+ result.length = result.values.length >> 1;
162
+ result.style = style;
163
+ return result;
164
+ };
165
+ //# sourceMappingURL=e-shape-points-formatter-curve-bezier-quadratic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e-shape-points-formatter-curve-bezier-quadratic.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatter-curve-bezier-quadratic.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { toIndexOf } from \"../util/to-index-of\";\nimport { EShapeDefaults } from \"./e-shape-defaults\";\nimport { EShapePointsFormattedWithoutBoundary } from \"./e-shape-points-formatted\";\nimport { EShapePointsFormatter } from \"./e-shape-points-formatter\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nconst acopy = (source: number[], result: number[]): number[] => {\n\tconst sourceLength = source.length;\n\tfor (let i = 0; i < sourceLength; ++i) {\n\t\tresult[i] = source[i];\n\t}\n\tif (result.length !== sourceLength) {\n\t\tresult.length = sourceLength;\n\t}\n\treturn result;\n};\n\nconst amix = (\n\tx0: number,\n\ty0: number,\n\tx1: number,\n\ty1: number,\n\tt: number,\n\tresult: number[]\n): number[] => {\n\tconst u = 1 - t;\n\tresult[0] = x0 * u + x1 * t;\n\tresult[1] = y0 * u + y1 * t;\n\treturn result;\n};\n\nconst interpolate2 = (\n\tx0: number,\n\ty0: number,\n\tx1: number,\n\ty1: number,\n\tx2: number,\n\ty2: number,\n\tis0: number,\n\tis1: number,\n\tnsegment: number,\n\trvalues: number[],\n\trvaluesCount: number\n): number => {\n\tconst v3 = [0, 0];\n\tconst v4 = [0, 0];\n\tconst v5 = [0, 0];\n\tfor (let is = is0; is < is1; ++is) {\n\t\tconst t = is / nsegment;\n\t\tamix(x0, y0, x1, y1, t, v3);\n\t\tamix(x1, y1, x2, y2, t, v4);\n\t\tamix(v3[0], v3[1], v4[0], v4[1], t, v5);\n\t\trvalues[++rvaluesCount] = v5[0];\n\t\trvalues[++rvaluesCount] = v5[1];\n\t}\n\treturn rvaluesCount;\n};\n\nconst interpolate1 = (\n\tlength: number,\n\tvalues: number[],\n\tsegments: number[],\n\tisClosed: boolean,\n\tnsegment: number,\n\tresult: EShapePointsFormattedWithoutBoundary\n) => {\n\tconst rvalues = result.values;\n\tconst rsegments = result.segments;\n\n\tif (length <= 2) {\n\t\tacopy(values, rvalues);\n\t\tacopy(segments, rsegments);\n\t\treturn result;\n\t}\n\n\tlet rvaluesCount = -1;\n\tlet rsegmentsCount = -1;\n\tconst ism = nsegment >> 1;\n\tif (isClosed) {\n\t\tlet i = 0;\n\t\tfor (; i + 2 < length; i += 2) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, i + 2);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tif (i + 1 < length) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, 0);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[0];\n\t\t\t\trvalues[++rvaluesCount] = values[1];\n\t\t\t\trsegments.unshift(0);\n\t\t\t\trsegmentsCount += 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[0],\n\t\t\t\t\tvalues[1],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t} else if (i < length) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\tif (0 <= toIndexOf(segments, 0)) {\n\t\t\t\trsegments.unshift(0);\n\t\t\t\trsegmentsCount += 1;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tlet i = 0;\n\t\tfor (; i + 2 < length; i += 2) {\n\t\t\tconst j = i << 1;\n\t\t\tconst s0 = 0 <= toIndexOf(segments, i + 1);\n\t\t\tconst s1 = 0 <= toIndexOf(segments, i + 2);\n\t\t\tif (s0 && s1) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else if (s0) {\n\t\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t} else if (s1) {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tism,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t} else {\n\t\t\t\trvaluesCount = interpolate2(\n\t\t\t\t\tvalues[j + 0],\n\t\t\t\t\tvalues[j + 1],\n\t\t\t\t\tvalues[j + 2],\n\t\t\t\t\tvalues[j + 3],\n\t\t\t\t\tvalues[j + 4],\n\t\t\t\t\tvalues[j + 5],\n\t\t\t\t\t0,\n\t\t\t\t\tnsegment,\n\t\t\t\t\tnsegment,\n\t\t\t\t\trvalues,\n\t\t\t\t\trvaluesCount\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\tfor (; i + 1 < length; ++i) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t\trvalues[++rvaluesCount] = values[j + 2];\n\t\t\trvalues[++rvaluesCount] = values[j + 3];\n\t\t\tif (0 <= toIndexOf(segments, i + 1)) {\n\t\t\t\trsegments[++rsegmentsCount] = (rvaluesCount >> 1) + 1;\n\t\t\t}\n\t\t}\n\t\tfor (; i < length; ++i) {\n\t\t\tconst j = i << 1;\n\t\t\trvalues[++rvaluesCount] = values[j + 0];\n\t\t\trvalues[++rvaluesCount] = values[j + 1];\n\t\t}\n\t}\n\n\trvaluesCount += 1;\n\tif (rvalues.length !== rvaluesCount) {\n\t\trvalues.length = rvaluesCount;\n\t}\n\n\trsegmentsCount += 1;\n\tif (rsegments.length !== rsegmentsCount) {\n\t\trsegments.length = rsegmentsCount;\n\t}\n\treturn result;\n};\n\nexport const eShapePointsFormatterCurveBezierQuadratic: EShapePointsFormatter = (\n\tlength: number,\n\tvalues: number[],\n\tsegments: number[],\n\tstyle: EShapePointsStyle,\n\tresult: EShapePointsFormattedWithoutBoundary\n): EShapePointsFormattedWithoutBoundary => {\n\tinterpolate1(\n\t\tlength,\n\t\tvalues,\n\t\tsegments,\n\t\t!!(style & EShapePointsStyle.CLOSED),\n\t\tEShapeDefaults.CURVE_SEGMENT_COUNT,\n\t\tresult\n\t);\n\tresult.length = result.values.length >> 1;\n\tresult.style = style;\n\treturn result;\n};\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { DThemes } from "../theme/d-themes";
6
6
  import { eShapePointsFormatterCurve } from "./e-shape-points-formatter-curve";
7
+ import { eShapePointsFormatterCurveBezierQuadratic } from "./e-shape-points-formatter-curve-bezier-quadratic";
7
8
  import { EShapePointsStyle } from "./e-shape-points-style";
8
9
  var EShapePointsFormatters = /** @class */ (function () {
9
10
  function EShapePointsFormatters() {
@@ -34,10 +35,14 @@ var EShapePointsFormatters = /** @class */ (function () {
34
35
  EShapePointsFormatters.newData = function () {
35
36
  var result = new Map();
36
37
  var theme = DThemes.get("EShapePointsFormatter");
37
- result.set(EShapePointsStyle.FORMATTER_CURVE, {
38
- label: theme.getCurveLabel(),
38
+ result.set(EShapePointsStyle.FORMATTER_CURVE_SPLINE, {
39
+ label: theme.getCurveSplineLabel(),
39
40
  formatter: eShapePointsFormatterCurve
40
41
  });
42
+ result.set(EShapePointsStyle.FORMATTER_CURVE_BEZIER_QUADRATIC, {
43
+ label: theme.getCurveBezierQuadraticLabel(),
44
+ formatter: eShapePointsFormatterCurveBezierQuadratic
45
+ });
41
46
  return result;
42
47
  };
43
48
  return EShapePointsFormatters;
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-points-formatters.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D;IAAA;IAyCA,CAAC;IAtCO,0BAAG,GAAV,UAAW,EAAU,EAAE,KAAiC;QACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,0BAAG,GAAV,UAAW,KAAa;QACvB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEM,2BAAI,GAAX,UAAY,QAAiE;QAC5E,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,EAAE;YAC3B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,2BAAI,GAAX,UAAY,KAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CACd,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAC/E,CAAC;IACH,CAAC;IAEc,8BAAO,GAAtB;QACC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC7D,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,eAAe,EAAE;YAC7C,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE;YAC5B,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IACF,6BAAC;AAAD,CAAC,AAzCD,IAyCC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DThemes } from \"../theme/d-themes\";\nimport { eShapePointsFormatterCurve } from \"./e-shape-points-formatter-curve\";\nimport { EShapePointsFormatterDatum } from \"./e-shape-points-formatter-datum\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nexport interface EThemeShapePointsFormatter {\n\tgetCurveLabel(): string;\n}\n\nexport class EShapePointsFormatters {\n\tprivate static data?: Map<number, EShapePointsFormatterDatum>;\n\n\tstatic set(id: number, datum: EShapePointsFormatterDatum): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.set(id, datum);\n\t}\n\n\tstatic get(index: number): EShapePointsFormatterDatum | undefined {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\treturn this.data.get(index);\n\t}\n\n\tstatic each(iteratee: (id: number, datum: EShapePointsFormatterDatum) => void): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.forEach((datum, id) => {\n\t\t\titeratee(id, datum);\n\t\t});\n\t}\n\n\tstatic find(style: EShapePointsStyle): EShapePointsFormatterDatum | undefined {\n\t\treturn this.get(\n\t\t\t(style & EShapePointsStyle.FORMATTER_MASK) >> EShapePointsStyle.FORMATTER_SHIFT\n\t\t);\n\t}\n\n\tprivate static newData(): Map<number, EShapePointsFormatterDatum> {\n\t\tconst result = new Map<number, EShapePointsFormatterDatum>();\n\t\tconst theme = DThemes.get<EThemeShapePointsFormatter>(\"EShapePointsFormatter\");\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE, {\n\t\t\tlabel: theme.getCurveLabel(),\n\t\t\tformatter: eShapePointsFormatterCurve\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-points-formatters.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-formatters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,mDAAmD,CAAC;AAE9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAO3D;IAAA;IA6CA,CAAC;IA1CO,0BAAG,GAAV,UAAW,EAAU,EAAE,KAAiC;QACvD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IAEM,0BAAG,GAAV,UAAW,KAAa;QACvB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAEM,2BAAI,GAAX,UAAY,QAAiE;QAC5E,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,EAAE;YAC3B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,2BAAI,GAAX,UAAY,KAAwB;QACnC,OAAO,IAAI,CAAC,GAAG,CACd,CAAC,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,iBAAiB,CAAC,eAAe,CAC/E,CAAC;IACH,CAAC;IAEc,8BAAO,GAAtB;QACC,IAAM,MAAM,GAAG,IAAI,GAAG,EAAsC,CAAC;QAC7D,IAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAA6B,uBAAuB,CAAC,CAAC;QAC/E,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE;YACpD,KAAK,EAAE,KAAK,CAAC,mBAAmB,EAAE;YAClC,SAAS,EAAE,0BAA0B;SACrC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,gCAAgC,EAAE;YAC9D,KAAK,EAAE,KAAK,CAAC,4BAA4B,EAAE;YAC3C,SAAS,EAAE,yCAAyC;SACpD,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IACF,6BAAC;AAAD,CAAC,AA7CD,IA6CC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DThemes } from \"../theme/d-themes\";\nimport { eShapePointsFormatterCurve } from \"./e-shape-points-formatter-curve\";\nimport { eShapePointsFormatterCurveBezierQuadratic } from \"./e-shape-points-formatter-curve-bezier-quadratic\";\nimport { EShapePointsFormatterDatum } from \"./e-shape-points-formatter-datum\";\nimport { EShapePointsStyle } from \"./e-shape-points-style\";\n\nexport interface EThemeShapePointsFormatter {\n\tgetCurveSplineLabel(): string;\n\tgetCurveBezierQuadraticLabel(): string;\n}\n\nexport class EShapePointsFormatters {\n\tprivate static data?: Map<number, EShapePointsFormatterDatum>;\n\n\tstatic set(id: number, datum: EShapePointsFormatterDatum): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.set(id, datum);\n\t}\n\n\tstatic get(index: number): EShapePointsFormatterDatum | undefined {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\treturn this.data.get(index);\n\t}\n\n\tstatic each(iteratee: (id: number, datum: EShapePointsFormatterDatum) => void): void {\n\t\tif (this.data == null) {\n\t\t\tthis.data = this.newData();\n\t\t}\n\t\tthis.data.forEach((datum, id) => {\n\t\t\titeratee(id, datum);\n\t\t});\n\t}\n\n\tstatic find(style: EShapePointsStyle): EShapePointsFormatterDatum | undefined {\n\t\treturn this.get(\n\t\t\t(style & EShapePointsStyle.FORMATTER_MASK) >> EShapePointsStyle.FORMATTER_SHIFT\n\t\t);\n\t}\n\n\tprivate static newData(): Map<number, EShapePointsFormatterDatum> {\n\t\tconst result = new Map<number, EShapePointsFormatterDatum>();\n\t\tconst theme = DThemes.get<EThemeShapePointsFormatter>(\"EShapePointsFormatter\");\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE_SPLINE, {\n\t\t\tlabel: theme.getCurveSplineLabel(),\n\t\t\tformatter: eShapePointsFormatterCurve\n\t\t});\n\t\tresult.set(EShapePointsStyle.FORMATTER_CURVE_BEZIER_QUADRATIC, {\n\t\t\tlabel: theme.getCurveBezierQuadraticLabel(),\n\t\t\tformatter: eShapePointsFormatterCurveBezierQuadratic\n\t\t});\n\t\treturn result;\n\t}\n}\n"]}
@@ -12,12 +12,14 @@ var DOTTED_LOOSELY = 64;
12
12
  var DASHED = 128;
13
13
  var DASHED_DENSELY = 256;
14
14
  var DASHED_LOOSELY = 512;
15
- var CURVE = 1024;
16
15
  var FORMATTER_SHIFT = 10;
17
16
  var FORMATTER_MASK = 0xffc00;
18
17
  var FORMATTER_EXTENSION_LOWEST = 512;
19
18
  var FORMATTER_EXTENSION_HIGHEST = 1023;
20
- var FORMATTER_CURVE = 1;
19
+ var FORMATTER_CURVE_SPLINE = 1;
20
+ var FORMATTER_CURVE_BEZIER_QUADRATIC = 2;
21
+ var CURVE_SPLINE = FORMATTER_CURVE_SPLINE << FORMATTER_SHIFT;
22
+ var CURVE_BEZIER_QUADRATIC = FORMATTER_CURVE_BEZIER_QUADRATIC << FORMATTER_SHIFT;
21
23
  /**
22
24
  * EShape point style.
23
25
  *
@@ -51,11 +53,17 @@ export var EShapePointsStyle = {
51
53
  DASHED_LOOSELY: DASHED_LOOSELY,
52
54
  /** @deprecated in favor of EShapeStrokeStyle. */
53
55
  DASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,
54
- CURVE: CURVE,
56
+ /** @deprecated in favor of CURVE_SPLINE. */
57
+ CURVE: CURVE_SPLINE,
58
+ CURVE_SPLINE: CURVE_SPLINE,
59
+ CURVE_BEZIER_QUADRATIC: CURVE_BEZIER_QUADRATIC,
55
60
  FORMATTER_SHIFT: FORMATTER_SHIFT,
56
61
  FORMATTER_MASK: FORMATTER_MASK,
57
62
  FORMATTER_EXTENSION_LOWEST: FORMATTER_EXTENSION_LOWEST,
58
63
  FORMATTER_EXTENSION_HIGHEST: FORMATTER_EXTENSION_HIGHEST,
59
- FORMATTER_CURVE: FORMATTER_CURVE
64
+ /** @deprecated in favor of FORMATTER_CURVE_SPLINE. */
65
+ FORMATTER_CURVE: FORMATTER_CURVE_SPLINE,
66
+ FORMATTER_CURVE_SPLINE: FORMATTER_CURVE_SPLINE,
67
+ FORMATTER_CURVE_BEZIER_QUADRATIC: FORMATTER_CURVE_BEZIER_QUADRATIC
60
68
  };
61
69
  //# sourceMappingURL=e-shape-points-style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,KAAK,GAAG,IAAI,CAAC;AAEnB,IAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,IAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,IAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,IAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,IAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAA;IAEN,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,wBAAwB,0BAAA;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,wBAAwB;IAEtF,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,KAAK,OAAA;IAEL,eAAe,EAAE,eAAe;IAEhC,cAAc,EAAE,cAAc;IAE9B,0BAA0B,EAAE,0BAA0B;IAEtD,2BAA2B,EAAE,2BAA2B;IAExD,eAAe,iBAAA;CACN,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst CLOSED = 1;\n\nconst NON_EXPANDING_WIDTH = 2;\nconst NON_SHRINKING_WIDTH = 4;\nconst NON_SCALING_DOT_AND_DASH = 8;\n\nconst DOTTED = 16;\nconst DOTTED_DENSELY = 32;\nconst DOTTED_LOOSELY = 64;\n\nconst DASHED = 128;\nconst DASHED_DENSELY = 256;\nconst DASHED_LOOSELY = 512;\n\nconst CURVE = 1024;\n\nconst FORMATTER_SHIFT = 10;\n\nconst FORMATTER_MASK = 0xffc00;\n\nconst FORMATTER_EXTENSION_LOWEST = 512;\n\nconst FORMATTER_EXTENSION_HIGHEST = 1023;\n\nconst FORMATTER_CURVE = 1;\n\n/**\n * EShape point style.\n *\n * * Bits 0 to 9: Bit field of styles.\n * * Bits 10 to 19: Formatter ID.\n */\nexport const EShapePointsStyle = {\n\tNONE: 0,\n\n\tCLOSED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_EXPANDING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SHRINKING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_MASK: NON_EXPANDING_WIDTH | NON_SHRINKING_WIDTH | NON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_MASK: DOTTED | DOTTED_DENSELY | DOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,\n\n\tCURVE,\n\n\tFORMATTER_SHIFT: FORMATTER_SHIFT,\n\n\tFORMATTER_MASK: FORMATTER_MASK,\n\n\tFORMATTER_EXTENSION_LOWEST: FORMATTER_EXTENSION_LOWEST,\n\n\tFORMATTER_EXTENSION_HIGHEST: FORMATTER_EXTENSION_HIGHEST,\n\n\tFORMATTER_CURVE\n} as const;\n\nexport type EShapePointsStyle = number;\n"]}
1
+ {"version":3,"file":"e-shape-points-style.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-points-style.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,MAAM,GAAG,CAAC,CAAC;AAEjB,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,IAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,IAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,IAAM,MAAM,GAAG,GAAG,CAAC;AACnB,IAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,IAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,IAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,IAAM,cAAc,GAAG,OAAO,CAAC;AAE/B,IAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,IAAM,2BAA2B,GAAG,IAAI,CAAC;AAEzC,IAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,IAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,IAAM,YAAY,GAAG,sBAAsB,IAAI,eAAe,CAAC;AAC/D,IAAM,sBAAsB,GAAG,gCAAgC,IAAI,eAAe,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,CAAC;IAEP,MAAM,QAAA;IAEN,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,mBAAmB,qBAAA;IAEnB,iDAAiD;IACjD,wBAAwB,0BAAA;IAExB,iDAAiD;IACjD,gBAAgB,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,wBAAwB;IAEtF,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,iDAAiD;IACjD,MAAM,QAAA;IAEN,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,cAAc,gBAAA;IAEd,iDAAiD;IACjD,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,cAAc;IAErD,4CAA4C;IAC5C,KAAK,EAAE,YAAY;IACnB,YAAY,EAAE,YAAY;IAC1B,sBAAsB,EAAE,sBAAsB;IAE9C,eAAe,iBAAA;IAEf,cAAc,gBAAA;IAEd,0BAA0B,4BAAA;IAE1B,2BAA2B,6BAAA;IAE3B,sDAAsD;IACtD,eAAe,EAAE,sBAAsB;IACvC,sBAAsB,wBAAA;IACtB,gCAAgC,kCAAA;CACvB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst CLOSED = 1;\n\nconst NON_EXPANDING_WIDTH = 2;\nconst NON_SHRINKING_WIDTH = 4;\nconst NON_SCALING_DOT_AND_DASH = 8;\n\nconst DOTTED = 16;\nconst DOTTED_DENSELY = 32;\nconst DOTTED_LOOSELY = 64;\n\nconst DASHED = 128;\nconst DASHED_DENSELY = 256;\nconst DASHED_LOOSELY = 512;\n\nconst FORMATTER_SHIFT = 10;\n\nconst FORMATTER_MASK = 0xffc00;\n\nconst FORMATTER_EXTENSION_LOWEST = 512;\n\nconst FORMATTER_EXTENSION_HIGHEST = 1023;\n\nconst FORMATTER_CURVE_SPLINE = 1;\nconst FORMATTER_CURVE_BEZIER_QUADRATIC = 2;\n\nconst CURVE_SPLINE = FORMATTER_CURVE_SPLINE << FORMATTER_SHIFT;\nconst CURVE_BEZIER_QUADRATIC = FORMATTER_CURVE_BEZIER_QUADRATIC << FORMATTER_SHIFT;\n\n/**\n * EShape point style.\n *\n * * Bits 0 to 9: Bit field of styles.\n * * Bits 10 to 19: Formatter ID.\n */\nexport const EShapePointsStyle = {\n\tNONE: 0,\n\n\tCLOSED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_EXPANDING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SHRINKING_WIDTH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tNON_SCALING_MASK: NON_EXPANDING_WIDTH | NON_SHRINKING_WIDTH | NON_SCALING_DOT_AND_DASH,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDOTTED_MASK: DOTTED | DOTTED_DENSELY | DOTTED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_DENSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_LOOSELY,\n\n\t/** @deprecated in favor of EShapeStrokeStyle. */\n\tDASHED_MASK: DASHED | DASHED_DENSELY | DASHED_LOOSELY,\n\n\t/** @deprecated in favor of CURVE_SPLINE. */\n\tCURVE: CURVE_SPLINE,\n\tCURVE_SPLINE: CURVE_SPLINE,\n\tCURVE_BEZIER_QUADRATIC: CURVE_BEZIER_QUADRATIC,\n\n\tFORMATTER_SHIFT,\n\n\tFORMATTER_MASK,\n\n\tFORMATTER_EXTENSION_LOWEST,\n\n\tFORMATTER_EXTENSION_HIGHEST,\n\n\t/** @deprecated in favor of FORMATTER_CURVE_SPLINE. */\n\tFORMATTER_CURVE: FORMATTER_CURVE_SPLINE,\n\tFORMATTER_CURVE_SPLINE,\n\tFORMATTER_CURVE_BEZIER_QUADRATIC\n} as const;\n\nexport type EShapePointsStyle = number;\n"]}
@@ -7,8 +7,8 @@ import { BLEND_MODES, ObjectRenderer, Shader, utils } from "pixi.js";
7
7
  import { DynamicAtlasItemImage } from "../util/dynamic-atlas-item-image";
8
8
  import { EShapeBuffer } from "./e-shape-buffer";
9
9
  import { EShapeRendererIterator } from "./e-shape-renderer-iterator";
10
- var VERTEX_SHADER = "\nattribute vec2 aPosition;\nattribute vec3 aClipping;\nattribute vec2 aStep;\nattribute vec4 aAntialias;\nattribute vec4 aColorFill;\nattribute vec4 aColorStroke;\nattribute vec2 aUv;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mediump float shapeScale;\nuniform mediump float pixelScale;\nuniform mediump float antialiasWeight;\n\nvarying mediump vec3 vClipping;\nvarying mediump vec2 vStep;\nvarying mediump vec4 vAntialias;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nvec2 toInverse( in vec2 v ) {\n\treturn vec2( -v.y, v.x );\n}\n\nvec2 toTransformedPosition( in vec2 v ) {\n\treturn (projectionMatrix * translationMatrix * vec3(v, 1.0)).xy;\n}\n\nvec4 toAntialias01( in vec4 antialias ) {\n\t// Taylor series of 1 / ( 1 - a ) = 1 + a + a^2 + ....\n\treturn 1.0 + min( vec4( 1.0 ), antialias * pixelScale );\n}\n\nvec4 toAntialias2( in vec4 antialias, in float strokeWidth ) {\n\tfloat x = min( 0.4, 0.4 / 12.0 * antialias.x * pixelScale * antialiasWeight );\n\tfloat w = clamp( strokeWidth / antialias.y, 0.0, 1.0 ) * 0.4;\n\tfloat p = w * antialias.z + antialias.w;\n\tfloat y = 0.5 - p;\n\tfloat z = 0.5 - p - w;\n\treturn vec4( y, z, y - max( 0.01, y - x ), z - max( 0.01, z - x ) );\n}\n\nvec2 toPosition3456( in float type, in vec2 p, in vec2 pprev, in vec2 pnext, in float strokeWidth, out float shift ) {\n\tvec2 d0 = p - pprev;\n\tvec2 d1 = pnext - p;\n\tfloat l0 = dot( d0, d0 );\n\tfloat l1 = dot( d1, d1 );\n\tvec2 nd0 = normalize( toInverse( d0 ) );\n\tvec2 nd1 = normalize( toInverse( d1 ) );\n\tvec2 nd2 = 0.00001 < l1 ? nd1 : vec2(0.0, 0.0);\n\tvec2 n0 = 0.00001 < l0 ? nd0 : nd2;\n\tvec2 n1 = 0.00001 < l1 ? nd1 : n0;\n\tvec2 n0i = toInverse( n0 );\n\tvec2 n1i = toInverse( n1 );\n\tfloat direction = sign( 4.5 - type );\n\n\t// Offset\n\tfloat cross = dot( n0i, n1 );\n\tfloat crossInverse = ( 0.00001 < abs( cross ) ? 1.0 / cross : 0.0 );\n\tfloat b = dot(n1 - n0, n0) * crossInverse;\n\tfloat offsetSize = direction * strokeWidth * 0.5;\n\tvec2 offset = n1 + n1i * b;\n\n\t// Miter\n\tvec2 pmiter = p + offsetSize * offset;\n\tfloat miterAngle0 = dot( n0i, pmiter - pprev );\n\tfloat miterAngle1 = dot( n1i, pmiter - pnext );\n\tfloat miterLength = dot( offset, offset );\n\tfloat miterSide = direction * cross;\n\n\t// Bevel\n\tvec2 n = ( type == 4.0 || type == 6.0 ? n1 : n0 );\n\tvec2 pbevel = p + offsetSize * n;\n\n\t//\n\tvec2 presult = (\n\t\t0.0 <= miterSide ?\n\t\t( miterAngle0 < 0.0 && 0.0 <= miterAngle1 ? pmiter : pbevel ) :\n\t\t( miterLength < 6.0 ? pmiter : pbevel )\n\t);\n\tvec2 ni = ( type == 4.0 || type == 6.0 ? n1i : n0i );\n\tshift = dot( ni, p - presult );\n\treturn toTransformedPosition( presult );\n}\n\nvec2 toStep3456( in float type ) {\n\treturn ( type < 4.5 ? vec2( 1.0, 0.0 ) : vec2( 0.0, 1.0 ) );\n}\n\nvec4 toAntialias3456( in float strokeWidth ) {\n\tfloat a = antialiasWeight / max( 0.0001, strokeWidth );\n\treturn toAntialias01( vec4( a, a, a, a ) );\n}\n\nfloat toDotAndDashScale( in float scale, in float strokeWidthScale ) {\n\treturn (\n\t\tscale == 4.0 || scale == 5.0 || scale == 6.0 || scale == 7.0 ?\n\t\tstrokeWidthScale : 1.0\n\t);\n}\n\nvec4 toColorStroke3456( in float shift, in float scale ) {\n\tfloat x = aColorFill.x + shift;\n\tfloat y = scale * aColorFill.y;\n\tfloat z = scale * aColorFill.z;\n\tfloat w = aColorFill.w;\n\treturn vec4( x, y, z, w );\n}\n\nfloat toStrokeWidthScale( in float scale ) {\n\treturn (\n\t\tscale == 3.0 || scale == 7.0 ?\n\t\tshapeScale : (\n\t\t\tscale == 1.0 || scale == 5.0 ?\n\t\t\tmin( 1.0, shapeScale ) : (\n\t\t\t\tscale == 2.0 || scale == 6.0 ?\n\t\t\t\tmax( 1.0, shapeScale ) : 1.0\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec2 toStep01(in vec2 size, in vec2 weight, in vec2 strokeWidth) {\n\treturn weight / max(vec2(0.00001), vec2(1.0) - strokeWidth / size);\n}\n\nvec4 toAntialias01b(in vec2 size, in vec2 strokeWidth) {\n\treturn antialiasWeight / max(vec4(0.00001), vec4(size - strokeWidth, size));\n}\n\nvoid main(void) {\n\tvec2 p012 = toTransformedPosition( aPosition );\n\n\tfloat type = aClipping.z;\n\tfloat strokeWidthScale = toStrokeWidthScale( aStep.y );\n\tfloat strokeWidth = strokeWidthScale * aStep.x;\n\n\t// type === 0 or 1\n\tvec2 size01 = aAntialias.xy;\n\tvec2 weight01 = abs(aAntialias.zw - sign(aAntialias.zw));\n\tvec2 strokeWidth01 = step(vec2(0.0), aAntialias.zw) * strokeWidth;\n\tvec2 step01 = toStep01( size01, weight01, strokeWidth01 );\n\tvec4 a01 = toAntialias01( toAntialias01b( size01, strokeWidth01 ) );\n\n\t// type === 2\n\tvec4 a2 = toAntialias2( aAntialias, strokeWidth );\n\n\t// type === 3, 4, 5 or 6\n\tfloat shift3456 = 0.0;\n\tvec2 p3456 = toPosition3456( type, aPosition, aAntialias.xy, aAntialias.zw, strokeWidth, shift3456 );\n\tvec2 step3456 = toStep3456( type );\n\tvec4 a3456 = toAntialias3456( strokeWidth );\n\tvec4 colorStroke3456 = toColorStroke3456( shift3456, toDotAndDashScale( aStep.y, strokeWidthScale ) );\n\n\t//\n\tgl_Position = vec4( ( 2.5 < type ? p3456 : p012 ), 0.0, 1.0 );\n\tvAntialias = ( 1.5 < type ? ( 2.5 < type ? a3456 : a2 ) : a01 );\n\tvClipping = aClipping;\n\tvStep = ( 2.5 < type ? step3456 : step01 );\n\tvColorFill = ( 2.5 < type ? aColorStroke : aColorFill );\n\tvColorStroke = ( 2.5 < type ? colorStroke3456 : aColorStroke );\n\tvUv = aUv;\n}";
11
- var FRAGMENT_SHADER = "\nvarying mediump vec3 vClipping;\nvarying mediump vec2 vStep;\nvarying mediump vec4 vAntialias;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nuniform sampler2D sampler;\nuniform mediump float pixelScale;\n\nvec4 color1(float type, vec4 texture) {\n\tvec2 v0 = vStep;\n\tvec2 v1 = vClipping.xy;\n\tvec2 v2 = v0 * vAntialias.xy;\n\tvec2 v3 = v1 * vAntialias.zw;\n\tvec2 d01 = ( v0.x < v0.y ? vec2( v0.y, v2.y ) : vec2( v0.x, v2.x ) );\n\tvec2 d02 = ( v1.x < v1.y ? vec2( v1.y, v3.y ) : vec2( v1.x, v3.x ) );\n\tvec4 d0 = vec4( d01.x, d02.x, d01.y, d02.y );\n\tvec4 d1 = vec4( dot( v0, v0 ), dot( v1, v1 ), dot( v2, v2 ), dot( v3, v3 ) );\n\tvec4 d = (type == 1.0 ? d1 : d0);\n\tvec2 s = smoothstep( 1.0 - (d.zw - d.xy), vec2( 1.0 ), d.xy );\n\treturn texture * (vColorStroke * (s.x - s.y) + vColorFill * (1.0 - s.x));\n}\n\nvec4 color2(float type, vec4 texture) {\n\tvec2 a0 = vAntialias.xy;\n\tvec2 a1 = vAntialias.zw;\n\tvec2 a2 = vec2( (texture.b * 0.00392156862745098 + texture.g) * 0.00392156862745098 + texture.r );\n\tvec2 a = smoothstep( a0 - a1, a0 + a1, a2 );\n\treturn a.x * vColorFill + ( a.y - a.x ) * vColorStroke;\n}\n\nfloat color3456(float type, vec4 texture) {\n\tfloat l = vColorStroke.x;\n\tfloat lp0 = vColorStroke.y;\n\tfloat lp1 = vColorStroke.z;\n\tfloat lt = vColorStroke.w;\n\tfloat ld = 0.5 * pixelScale;\n\tfloat lm = mod( l, lp0 + lp1 );\n\tfloat ls0 = ( 0.0 < lp1 ? smoothstep( 0.0, ld, lm ) - smoothstep( lp0, lp0 + ld, lm ) : 1.0 );\n\tfloat ls1 = ( 0.0 <= lt ? smoothstep( 0.0, ld, l ) - smoothstep( lt - ld, lt, l ) : 1.0 );\n\treturn ls0 * ls1;\n}\n\nvoid main(void) {\n\tfloat type = vClipping.z;\n\tvec4 texture = texture2D(sampler, vUv);\n\tgl_FragColor = (type == 2.0 ?\n\t\tcolor2(type, texture) :\n\t\tcolor1(type, texture) * (2.5 < type ? color3456(type, texture) : 1.0)\n\t);\n}";
10
+ var VERTEX_SHADER = "\nattribute highp vec2 aPosition;\nattribute highp vec2 aStepA;\nattribute highp vec4 aStepB;\nattribute highp vec3 aColor;\nattribute highp vec2 aUv;\n\nuniform mat3 projectionMatrix;\nuniform mat3 translationMatrix;\nuniform mediump float shapeScale;\nuniform mediump float antialiasWeight;\n\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nvec2 toInverse(in vec2 v) {\n\treturn vec2(-v.y, v.x);\n}\n\nvec4 toGeneral(in float v) {\n\tvec4 c = vec4(1.0, 1.0/64.0, 1.0/64.0/64.0, 1.0/64.0/64.0/64.0) * v;\n\tc -= fract(c);\n\tc -= c.yzwx * vec4(64.0, 64.0, 64.0, 0.0);\n\treturn c;\n}\n\nfloat toStrokeWidthScale(in float scale) {\n\treturn (\n\t\tscale == 3.0 || scale == 7.0 ?\n\t\tshapeScale : (\n\t\t\tscale == 1.0 || scale == 5.0 ?\n\t\t\tmin(1.0, shapeScale) : (\n\t\t\t\tscale == 2.0 || scale == 6.0 ?\n\t\t\t\tmax(1.0, shapeScale) : 1.0\n\t\t\t)\n\t\t)\n\t);\n}\n\nvec2 toUnpackedF2x1024(in float v) {\n\tvec2 c = vec2(1.0, 1.0/1024.0) * v;\n\tc -= fract(c);\n\tc -= c.yx * vec2(1024.0, 0.0);\n\tc /= vec2(1023.0, 1023.0);\n\treturn c;\n}\n\nvec3 toUnpackedF3x256(in float v) {\n\tvec3 c = vec3(1.0, 1.0/256.0, 1.0/256.0/256.0) * v;\n\tc -= fract(c);\n\tc -= c.yzx * vec3(256.0, 256.0, 0.0);\n\tc /= 255.0;\n\treturn c;\n}\n\nvec2 toPosition012(in vec2 v) {\n\treturn (projectionMatrix * translationMatrix * vec3(v, 1.0)).xy;\n}\n\nvec4 toStepB01(in vec4 sb) {\n\treturn vec4(sb.xy, toUnpackedF2x1024(sb.z));\n}\n\nvec4 toStepB2(in vec4 sb, in float strokeWidth) {\n\tfloat x = min(0.4, 0.4 / 12.0 * sb.x * antialiasWeight);\n\tfloat w = clamp(strokeWidth, 0.0, 1.0) * 0.4;\n\tfloat p = w * sb.y + sb.z;\n\tfloat y = 0.5 - p;\n\tfloat z = 0.5 - p - w;\n\treturn vec4(y, z, y - max(0.01, y - x), z - max(0.01, z - x));\n}\n\nvec2 toPosition3(in float type, in vec2 p, in float npacked, in float length, in float strokeWidth, out float shift) {\n\tvec3 t = vec3(1.0, 1.0/1024.0, 1.0/1024.0/1024.0) * npacked;\n\tt -= fract(t);\n\tt -= t.yzx * vec3(1024.0, 1024.0, 0.0);\n\tt *= vec3(1.0/511.5, 1.0/511.5, 1.0);\n\tt -= vec3(1.0, 1.0, 0.0);\n\tvec2 n0 = vec2(t.x, ((0.5 < t.z && t.z < 1.5) || 2.5 < t.z ? +1.0 : -1.0) * sqrt(max(0.0, 1.0 - t.x * t.x)));\n\tvec2 n1 = vec2(t.y, (1.5 < t.z ? +1.0 : -1.0) * sqrt(max(0.0, 1.0 - t.y * t.y)));\n\n\tvec2 n0i = toInverse(n0);\n\tvec2 n1i = toInverse(n1);\n\tfloat direction = sign(4.5 - type);\n\n\t// Offset\n\tfloat cross = dot(n0i, n1);\n\tbool bcross = 0.00001 < abs(cross);\n\tfloat crossi = (bcross ? 1.0 / cross : 0.0);\n\tfloat b = dot(n1 - n0, n0) * crossi;\n\tfloat offsetSize = direction * strokeWidth * 0.5;\n\tvec2 offset = n1 + n1i * b;\n\n\t// Miter\n\tvec2 pmiter = p + offsetSize * offset;\n\tfloat miterAngle0 = dot( n0i, offsetSize * offset - length * n0i );\n\tfloat miterAngle1 = dot( n1i, offsetSize * offset + length * n1i );\n\tfloat miterLength = dot( offset, offset );\n\tfloat miterSide = direction * cross;\n\n\t// Bevel\n\tvec2 n = (type == 4.0 || type == 6.0 ? n1 : n0);\n\tvec2 pbevel = p + offsetSize * n;\n\n\t//\n\tvec2 presult = (\n\t\t0.0 <= miterSide ?\n\t\t(miterAngle0 < 0.0 && 0.0 <= miterAngle1 && bcross ? pmiter : pbevel) :\n\t\t(miterLength < 6.0 && bcross ? pmiter : pbevel)\n\t);\n\tvec2 ni = (type == 4.0 || type == 6.0 ? n1i : n0i);\n\tshift = dot(ni, p - presult);\n\treturn toPosition012(presult);\n}\n\nvec2 toStepA3(in float type, in float strokeWidth) {\n\treturn vec2(type < 4.5 ? 1.0 : 0.0, strokeWidth);\n}\n\nvec4 toStepB3(in float shift, in float dash, in float strokeScaling, in float strokeWidthScale) {\n\tfloat l = aStepB.y + shift;\n\tfloat s = aStepA.x * (\n\t\tstrokeScaling == 4.0 || strokeScaling == 5.0 ||\n\t\tstrokeScaling == 6.0 || strokeScaling == 7.0 ?\n\t\tstrokeWidthScale : 1.0\n\t);\n\tfloat lt = aStepB.z;\n\treturn (dash < 0.5 ?\n\t\tvec4(l, 2.0 * abs(lt), 0.0, lt) :\n\t\t(dash < 3.5 ?\n\t\t\t(dash < 1.5 ?\n\t\t\t\tvec4(l, s, s, lt) :\n\t\t\t\t(2.5 < dash ?\n\t\t\t\t\tvec4(l, s, 2.0 * s, lt) :\n\t\t\t\t\tvec4(l, s, 0.5 * s, lt)\n\t\t\t\t)\n\t\t\t) :\n\t\t\t(dash < 4.5 ?\n\t\t\t\tvec4(l, 2.0 * s, s, lt) :\n\t\t\t\t(5.5 < dash ?\n\t\t\t\t\tvec4(l, 2.0 * s, 2.0 * s, lt) :\n\t\t\t\t\tvec4(l, 2.0 * s, 0.5 * s, lt)\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n}\n\nvoid toColors(in vec3 source, out vec4 fillColor, out vec4 strokeColor) {\n\tvec2 a = toUnpackedF2x1024(source.z);\n\tfillColor.xyz = toUnpackedF3x256(source.x).zyx * a.x;\n\tfillColor.w = a.x;\n\tstrokeColor.xyz = toUnpackedF3x256(source.y).zyx * a.y;\n\tstrokeColor.w = a.y;\n}\n\nvoid main(void) {\n\tvec4 general = toGeneral(aStepA.y);\n\tfloat type = general.x;\n\tfloat strokeScaling = general.y;\n\tfloat strokeWidthScale = toStrokeWidthScale(strokeScaling);\n\tfloat strokeWidth = strokeWidthScale * aStepA.x;\n\n\t// Type 0, 1\n\tvec2 p012 = toPosition012(aPosition);\n\tvec2 sa012 = strokeWidth * general.zw;\n\tvec4 sb01 = toStepB01(aStepB);\n\n\t// Type 2\n\tvec4 sb2 = toStepB2(aStepB, strokeWidth);\n\n\t// Type 3 ~ 6\n\tfloat shift3 = 0.0;\n\tvec2 p3 = toPosition3(type, aPosition, aStepB.x, aStepB.w, strokeWidth, shift3);\n\tvec2 sa3 = toStepA3(type, strokeWidth);\n\tvec4 sb3 = toStepB3(shift3, general.z, strokeScaling, strokeWidthScale);\n\n\t//\n\tgl_Position = vec4((2.5 < type ? p3 : p012), 0.0, 1.0);\n\tvType = type;\n\tvStepA = (2.5 < type ? sa3 : sa012);\n\tvStepB = (1.5 < type ? (2.5 < type ? sb3 : sb2) : sb01);\n\ttoColors(aColor, vColorFill, vColorStroke);\n\tvUv = aUv;\n}";
11
+ var FRAGMENT_SHADER = "\nvarying mediump float vType;\nvarying mediump vec2 vStepA;\nvarying mediump vec4 vStepB;\nvarying mediump vec4 vColorFill;\nvarying mediump vec4 vColorStroke;\nvarying mediump vec2 vUv;\n\nuniform sampler2D sampler;\nuniform mediump float antialiasWeight;\n\nvec4 toColor0(in vec4 texture) {\n\tvec2 d = vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tvec2 zero = vec2(0.0);\n\tvec2 p0 = clamp(one - awd, zero, one);\n\tvec2 p1 = clamp(one - swd, zero, one);\n\tvec2 p2 = clamp(one - swd - awd, zero, one);\n\tvec2 s0 = smoothstep(p0, one, c);\n\tvec2 s1 = smoothstep(p2, p1, c);\n\tfloat s2 = max(s0.x, s0.y);\n\tfloat s3 = max(s1.x, s1.y);\n\treturn texture * (\n\t\tvColorStroke * (s3 - s2) +\n\t\tvColorFill * (1.0 - s3)\n\t);\n}\n\nvec4 toColor1(in vec4 texture) {\n\tvec2 d = vStepB.xy;\n\tvec2 c = vStepB.zw;\n\tvec2 awd = antialiasWeight / d;\n\tvec2 swd = vStepA / d;\n\tvec2 one = vec2(1.0);\n\tvec2 zero = vec2(0.0);\n\tfloat s0 = smoothstep(length(c), length(c/clamp(one - awd, zero, one)), 1.0);\n\tfloat s1 = smoothstep(length(c/clamp(one - swd, zero, one)), length(c/clamp(one - swd - awd, zero, one)), 1.0);\n\treturn texture * (\n\t\tvColorStroke * (s0 - s1) +\n\t\tvColorFill * s1\n\t);\n}\n\nvec4 toColor2(in vec4 texture) {\n\tvec2 p0 = vStepB.xy;\n\tvec2 p1 = vStepB.zw;\n\tvec2 d = vec2(dot(texture, vec4(1.0, 1.0/255.0, 1.0/255.0/255.0, 0.0)));\n\tvec2 s = smoothstep(p0 - p1, p0 + p1, d);\n\treturn vColorStroke * (s.y - s.x) + vColorFill * s.x;\n}\n\nvec4 toColor3(in vec4 texture) {\n\tfloat l = vStepB.x;\n\tfloat lp0 = vStepB.y;\n\tfloat lp1 = vStepB.z;\n\tfloat lt = vStepB.w;\n\tfloat ld = antialiasWeight;\n\tfloat lm = mod(l, lp0 + lp1);\n\tfloat ls0 = (0.0 < lp1 ? smoothstep(0.0, ld, lm) - smoothstep(lp0, lp0 + ld, lm) : 1.0);\n\tfloat ls1 = (0.0 <= lt ? smoothstep(0.0, ld, l) - smoothstep(lt - ld, lt, l) : 1.0);\n\n\tfloat c = vStepA.x;\n\tfloat awd = antialiasWeight / vStepA.y;\n\tfloat p0 = clamp(awd, 0.0, 1.0);\n\tfloat p1 = clamp(1.0 - awd, 0.0, 1.0);\n\tfloat s0 = smoothstep(0.0, p0, c);\n\tfloat s1 = smoothstep(p1, 1.0, c);\n\treturn texture * vColorStroke * (s0 - s1) * ls0 * ls1;\n}\n\nvoid main(void) {\n\tvec4 texture = texture2D(sampler, vUv);\n\tgl_FragColor = (vType < 1.5 ?\n\t\t(vType < 0.5 ?\n\t\t\ttoColor0(texture) :\n\t\t\ttoColor1(texture)\n\t\t) :\n\t\t(vType < 2.5 ?\n\t\t\ttoColor2(texture) :\n\t\t\ttoColor3(texture)\n\t\t)\n\t);\n}";
12
12
  var EShapeRenderer = /** @class */ (function (_super) {
13
13
  __extends(EShapeRenderer, _super);
14
14
  function EShapeRenderer(renderer) {
@@ -103,7 +103,7 @@ var EShapeRenderer = /** @class */ (function (_super) {
103
103
  if (shader != null && (shape != null || 0 < shapes.length)) {
104
104
  var resolution = renderer.resolution;
105
105
  var buffers = container.getBuffers();
106
- var antialiasWeight = container.getAntialiasWeight(resolution);
106
+ var antialiasWeight = container.toAntialiasWeight(resolution);
107
107
  // Update textures
108
108
  if (isDirty) {
109
109
  // Atlases
@@ -124,8 +124,7 @@ var EShapeRenderer = /** @class */ (function (_super) {
124
124
  }
125
125
  // Render buffers
126
126
  shader.uniforms.shapeScale = container.toShapeScale();
127
- shader.uniforms.pixelScale = container.toPixelScale(resolution);
128
- shader.uniforms.antialiasWeight = antialiasWeight;
127
+ shader.uniforms.antialiasWeight = container.toPixelScale(resolution) * antialiasWeight;
129
128
  shader.uniforms.translationMatrix = container.worldTransform.toArray(true);
130
129
  renderer.shader.bind(shader, false);
131
130
  renderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));