@wcardinal/wcardinal-ui 0.407.2 → 0.409.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 (152) hide show
  1. package/dist/types/wcardinal/ui/d-pagination.d.ts +41 -1
  2. package/dist/types/wcardinal/ui/shape/e-shape-buffer.d.ts +3 -9
  3. package/dist/types/wcardinal/ui/shape/e-shape-container.d.ts +1 -1
  4. package/dist/types/wcardinal/ui/shape/variant/build-bar.d.ts +1 -2
  5. package/dist/types/wcardinal/ui/shape/variant/build-circle.d.ts +1 -2
  6. package/dist/types/wcardinal/ui/shape/variant/build-color.d.ts +1 -1
  7. package/dist/types/wcardinal/ui/shape/variant/build-image-sdf.d.ts +0 -1
  8. package/dist/types/wcardinal/ui/shape/variant/build-line-of-any.d.ts +17 -1
  9. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -3
  10. package/dist/types/wcardinal/ui/shape/variant/build-null.d.ts +0 -1
  11. package/dist/types/wcardinal/ui/shape/variant/build-rectangle-rounded.d.ts +2 -3
  12. package/dist/types/wcardinal/ui/shape/variant/build-rectangle.d.ts +4 -5
  13. package/dist/types/wcardinal/ui/shape/variant/build-semicircle.d.ts +1 -2
  14. package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +0 -1
  15. package/dist/types/wcardinal/ui/shape/variant/build-triangle-rounded.d.ts +1 -2
  16. package/dist/types/wcardinal/ui/shape/variant/build-triangle.d.ts +1 -2
  17. package/dist/types/wcardinal/ui/shape/variant/builder-bar.d.ts +1 -1
  18. package/dist/types/wcardinal/ui/shape/variant/builder-base.d.ts +1 -2
  19. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-any.d.ts +1 -2
  20. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-rectangles.d.ts +1 -1
  22. package/dist/types/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/shape/variant/builder-line.d.ts +1 -2
  24. package/dist/types/wcardinal/ui/shape/variant/builder-marker-base.d.ts +1 -1
  25. package/dist/types/wcardinal/ui/shape/variant/builder-marker-rectangle.d.ts +1 -1
  26. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-pivoted.d.ts +1 -1
  27. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle-rounded.d.ts +1 -1
  28. package/dist/types/wcardinal/ui/shape/variant/builder-rectangle.d.ts +1 -1
  29. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +1 -2
  30. package/dist/types/wcardinal/ui/shape/variant/builder-triangle-rounded.d.ts +1 -1
  31. package/dist/types/wcardinal/ui/shape/variant/builder.d.ts +9 -18
  32. package/dist/types/wcardinal/ui/shape/variant/index.d.ts +0 -1
  33. package/dist/types/wcardinal/ui/shape/variant/to-dash.d.ts +1 -2
  34. package/dist/types/wcardinal/ui/shape/variant/to-normal-packed.d.ts +1 -0
  35. package/dist/types/wcardinal/ui/shape/variant/to-normal.d.ts +1 -0
  36. package/dist/types/wcardinal/ui/shape/variant/to-packed.d.ts +2 -0
  37. package/dist/types/wcardinal/ui/shape/variant/to-vector-length.d.ts +1 -0
  38. package/dist/types/wcardinal/ui/shape/variant/to-vector.d.ts +1 -0
  39. package/dist/wcardinal/ui/d-pagination.js +59 -7
  40. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  41. package/dist/wcardinal/ui/shape/e-shape-buffer.js +10 -30
  42. package/dist/wcardinal/ui/shape/e-shape-buffer.js.map +1 -1
  43. package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
  44. package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
  45. package/dist/wcardinal/ui/shape/e-shape-renderer.js +4 -5
  46. package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
  47. package/dist/wcardinal/ui/shape/variant/build-bar.js +37 -63
  48. package/dist/wcardinal/ui/shape/variant/build-bar.js.map +1 -1
  49. package/dist/wcardinal/ui/shape/variant/build-circle.js +63 -40
  50. package/dist/wcardinal/ui/shape/variant/build-circle.js.map +1 -1
  51. package/dist/wcardinal/ui/shape/variant/build-color.js +8 -11
  52. package/dist/wcardinal/ui/shape/variant/build-color.js.map +1 -1
  53. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js +30 -37
  54. package/dist/wcardinal/ui/shape/variant/build-image-sdf.js.map +1 -1
  55. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js +244 -25
  56. package/dist/wcardinal/ui/shape/variant/build-line-of-any.js.map +1 -1
  57. package/dist/wcardinal/ui/shape/variant/build-line.js +149 -129
  58. package/dist/wcardinal/ui/shape/variant/build-line.js.map +1 -1
  59. package/dist/wcardinal/ui/shape/variant/build-null.js +0 -7
  60. package/dist/wcardinal/ui/shape/variant/build-null.js.map +1 -1
  61. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js +917 -849
  62. package/dist/wcardinal/ui/shape/variant/build-rectangle-rounded.js.map +1 -1
  63. package/dist/wcardinal/ui/shape/variant/build-rectangle.js +279 -353
  64. package/dist/wcardinal/ui/shape/variant/build-rectangle.js.map +1 -1
  65. package/dist/wcardinal/ui/shape/variant/build-semicircle.js +45 -31
  66. package/dist/wcardinal/ui/shape/variant/build-semicircle.js.map +1 -1
  67. package/dist/wcardinal/ui/shape/variant/build-text.js +6 -13
  68. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  69. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js +255 -128
  70. package/dist/wcardinal/ui/shape/variant/build-triangle-rounded.js.map +1 -1
  71. package/dist/wcardinal/ui/shape/variant/build-triangle.js +55 -35
  72. package/dist/wcardinal/ui/shape/variant/build-triangle.js.map +1 -1
  73. package/dist/wcardinal/ui/shape/variant/builder-bar.js +8 -11
  74. package/dist/wcardinal/ui/shape/variant/builder-bar.js.map +1 -1
  75. package/dist/wcardinal/ui/shape/variant/builder-base.js +18 -22
  76. package/dist/wcardinal/ui/shape/variant/builder-base.js.map +1 -1
  77. package/dist/wcardinal/ui/shape/variant/builder-circle.js +4 -7
  78. package/dist/wcardinal/ui/shape/variant/builder-circle.js.map +1 -1
  79. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js +3 -6
  80. package/dist/wcardinal/ui/shape/variant/builder-image-sdf.js.map +1 -1
  81. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js +13 -17
  82. package/dist/wcardinal/ui/shape/variant/builder-line-of-any.js.map +1 -1
  83. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js +5 -12
  84. package/dist/wcardinal/ui/shape/variant/builder-line-of-circles.js.map +1 -1
  85. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js +10 -26
  86. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangle-roundeds.js.map +1 -1
  87. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js +9 -25
  88. package/dist/wcardinal/ui/shape/variant/builder-line-of-rectangles.js.map +1 -1
  89. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js +9 -25
  90. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangle-roundeds.js.map +1 -1
  91. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js +5 -12
  92. package/dist/wcardinal/ui/shape/variant/builder-line-of-triangles.js.map +1 -1
  93. package/dist/wcardinal/ui/shape/variant/builder-line.js +13 -27
  94. package/dist/wcardinal/ui/shape/variant/builder-line.js.map +1 -1
  95. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js +27 -19
  96. package/dist/wcardinal/ui/shape/variant/builder-marker-base.js.map +1 -1
  97. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js +4 -7
  98. package/dist/wcardinal/ui/shape/variant/builder-marker-circle.js.map +1 -1
  99. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js +7 -13
  100. package/dist/wcardinal/ui/shape/variant/builder-marker-rectangle.js.map +1 -1
  101. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js +4 -7
  102. package/dist/wcardinal/ui/shape/variant/builder-marker-triangle.js.map +1 -1
  103. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js +7 -13
  104. package/dist/wcardinal/ui/shape/variant/builder-rectangle-pivoted.js.map +1 -1
  105. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js +6 -12
  106. package/dist/wcardinal/ui/shape/variant/builder-rectangle-rounded.js.map +1 -1
  107. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js +7 -13
  108. package/dist/wcardinal/ui/shape/variant/builder-rectangle.js.map +1 -1
  109. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js +4 -7
  110. package/dist/wcardinal/ui/shape/variant/builder-semicircle.js.map +1 -1
  111. package/dist/wcardinal/ui/shape/variant/builder-text.js +19 -28
  112. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  113. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js +7 -12
  114. package/dist/wcardinal/ui/shape/variant/builder-triangle-rounded.js.map +1 -1
  115. package/dist/wcardinal/ui/shape/variant/builder-triangle.js +4 -7
  116. package/dist/wcardinal/ui/shape/variant/builder-triangle.js.map +1 -1
  117. package/dist/wcardinal/ui/shape/variant/builder.js +18 -14
  118. package/dist/wcardinal/ui/shape/variant/builder.js.map +1 -1
  119. package/dist/wcardinal/ui/shape/variant/index.js +0 -1
  120. package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
  121. package/dist/wcardinal/ui/shape/variant/to-dash.js +8 -9
  122. package/dist/wcardinal/ui/shape/variant/to-dash.js.map +1 -1
  123. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js +7 -0
  124. package/dist/wcardinal/ui/shape/variant/to-normal-packed.js.map +1 -0
  125. package/dist/wcardinal/ui/shape/variant/to-normal.js +15 -0
  126. package/dist/wcardinal/ui/shape/variant/to-normal.js.map +1 -0
  127. package/dist/wcardinal/ui/shape/variant/to-packed.js +7 -0
  128. package/dist/wcardinal/ui/shape/variant/to-packed.js.map +1 -0
  129. package/dist/wcardinal/ui/shape/variant/to-vector-length.js +4 -0
  130. package/dist/wcardinal/ui/shape/variant/to-vector-length.js.map +1 -0
  131. package/dist/wcardinal/ui/shape/variant/to-vector.js +6 -0
  132. package/dist/wcardinal/ui/shape/variant/to-vector.js.map +1 -0
  133. package/dist/wcardinal-ui-theme-dark-en-us.js +1 -1
  134. package/dist/wcardinal-ui-theme-dark-en-us.min.js +1 -1
  135. package/dist/wcardinal-ui-theme-dark-ja-jp.js +1 -1
  136. package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +1 -1
  137. package/dist/wcardinal-ui-theme-dark.js +1 -1
  138. package/dist/wcardinal-ui-theme-dark.min.js +1 -1
  139. package/dist/wcardinal-ui-theme-white-en-us.js +1 -1
  140. package/dist/wcardinal-ui-theme-white-en-us.min.js +1 -1
  141. package/dist/wcardinal-ui-theme-white-ja-jp.js +1 -1
  142. package/dist/wcardinal-ui-theme-white-ja-jp.min.js +1 -1
  143. package/dist/wcardinal-ui-theme-white.js +1 -1
  144. package/dist/wcardinal-ui-theme-white.min.js +1 -1
  145. package/dist/wcardinal-ui.cjs.js +2365 -2101
  146. package/dist/wcardinal-ui.js +2361 -2097
  147. package/dist/wcardinal-ui.min.js +2 -2
  148. package/dist/wcardinal-ui.min.js.map +1 -1
  149. package/package.json +1 -1
  150. package/dist/types/wcardinal/ui/shape/variant/copy-clipping.d.ts +0 -1
  151. package/dist/wcardinal/ui/shape/variant/copy-clipping.js +0 -20
  152. package/dist/wcardinal/ui/shape/variant/copy-clipping.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-renderer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBaseTexture,\n\tBLEND_MODES,\n\tObjectRenderer,\n\tRenderer,\n\tShader,\n\tTexture,\n\tutils\n} from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicAtlasItemImage } from \"../util/dynamic-atlas-item-image\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\n\nconst 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}`;\n\nconst 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}`;\n\nexport class EShapeRenderer extends ObjectRenderer {\n\tstatic SHADER: Shader | null = null;\n\n\tprotected _shader: Shader | null;\n\tprotected _iterator: EShapeRendererIterator;\n\tprotected _bufferSizeMax: number;\n\n\tconstructor(renderer: Renderer) {\n\t\tsuper(renderer);\n\t\tEShapeRenderer.SHADER =\n\t\t\tEShapeRenderer.SHADER || Shader.from(VERTEX_SHADER, FRAGMENT_SHADER);\n\t\tthis._shader = EShapeRenderer.SHADER;\n\t\tthis._iterator = new EShapeRendererIterator();\n\t\tthis._bufferSizeMax = this.getBufferSizeMax(renderer);\n\t}\n\n\tprotected getBufferSizeMax(renderer: Renderer): number {\n\t\tconst context = renderer.context;\n\t\tconst extensions = context.extensions as any;\n\t\tif (1 < context.webGLVersion || !!extensions.uint32ElementIndex) {\n\t\t\treturn 1431655765; // 2^32 / 3\n\t\t}\n\t\treturn 21845; // 2^16 / 3\n\t}\n\n\tupdateAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\t// Texture\n\t\t// Do not access the shape.image.source here.\n\t\t// It slows down the rendering speed significantly.\n\t\tconst image = shape.image;\n\t\tif (image != null) {\n\t\t\tconst textureItem = atlas.get(image.url);\n\t\t\tif (textureItem != null) {\n\t\t\t\tshape.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\tconst newTextureItem = new DynamicAtlasItemImage(\n\t\t\t\t\timage.url,\n\t\t\t\t\timage.width,\n\t\t\t\t\timage.height,\n\t\t\t\t\timage.source,\n\t\t\t\t\tbaseTexture\n\t\t\t\t);\n\t\t\t\tshape.texture = newTextureItem.texture;\n\t\t\t\tatlas.set(newTextureItem.id, newTextureItem);\n\t\t\t}\n\t\t} else {\n\t\t\tshape.texture = defaultTexture;\n\t\t}\n\n\t\t// Font texture atlas\n\t\tconst text = shape.text;\n\t\tconst textValue = text.value;\n\t\tif (0 < textValue.length) {\n\t\t\tfontAtlases.add(text.family, textValue);\n\t\t}\n\t}\n\n\tupdateAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateAtlas(shape, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateAtlas(child, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tthis.updateAtlases(child.children, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateFontAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tconst text = shape.text;\n\t\tconst fontAtlas = fontAtlases.get(text.family);\n\t\tif (fontAtlas != null) {\n\t\t\tconst textureItem = atlas.get(fontAtlas.id);\n\t\t\tif (textureItem != null) {\n\t\t\t\ttext.atlas = fontAtlas;\n\t\t\t\ttext.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\ttext.atlas = undefined;\n\t\t\t\ttext.texture = defaultTexture;\n\t\t\t}\n\t\t} else {\n\t\t\ttext.atlas = undefined;\n\t\t\ttext.texture = defaultTexture;\n\t\t}\n\t}\n\n\tupdateFontAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateFontAtlas(shape, atlas, fontAtlases, defaultTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateFontAtlas(child, atlas, fontAtlases, defaultTexture);\n\t\t\t\tthis.updateFontAtlases(child.children, atlas, fontAtlases, defaultTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\trender_(\n\t\tcontainer: EShapeContainer,\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tisDirty: boolean\n\t): void {\n\t\tconst renderer = this.renderer;\n\t\tconst shader = this._shader;\n\n\t\tif (shader != null && (shape != null || 0 < shapes.length)) {\n\t\t\tconst resolution = renderer.resolution;\n\t\t\tconst buffers = container.getBuffers();\n\t\t\tconst antialiasWeight = container.getAntialiasWeight(resolution);\n\n\t\t\t// Update textures\n\t\t\tif (isDirty) {\n\t\t\t\t// Atlases\n\t\t\t\tconst atlas = container.getAtlas(resolution);\n\t\t\t\tconst fontAtlases = container.getFontAtlases();\n\t\t\t\tatlas.begin();\n\t\t\t\tfontAtlases.begin();\n\t\t\t\tconst defaultTexture = atlas.getDefaultTexture();\n\t\t\t\tconst baseTexture: BaseTexture = atlas.getBaseTexture();\n\t\t\t\tthis.updateAtlases(shapes, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tfontAtlases.end();\n\t\t\t\tfontAtlases.update(atlas);\n\t\t\t\tthis.updateFontAtlases(shapes, atlas, fontAtlases, defaultTexture);\n\t\t\t\tatlas.end();\n\t\t\t\tatlas.repack();\n\n\t\t\t\t// Update buffers\n\t\t\t\tthis.updateBuffers(shape, shapes, buffers, renderer, antialiasWeight);\n\t\t\t}\n\n\t\t\t// Render buffers\n\t\t\tshader.uniforms.shapeScale = container.toShapeScale();\n\t\t\tshader.uniforms.pixelScale = container.toPixelScale(resolution);\n\t\t\tshader.uniforms.antialiasWeight = antialiasWeight;\n\t\t\tshader.uniforms.translationMatrix = container.worldTransform.toArray(true);\n\t\t\trenderer.shader.bind(shader, false);\n\t\t\trenderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));\n\t\t\tconst buffersLength = buffers.length;\n\t\t\tif (1 < buffersLength) {\n\t\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\t\tbuffers[i].upload();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\tbuffers[i].render(shader);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateBuffers(\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tbuffers: EShapeBuffer[],\n\t\trenderer: Renderer,\n\t\tantialiasWeight: number\n\t): void {\n\t\tconst iterator = this._iterator;\n\t\titerator.reset(shape, shapes);\n\n\t\tlet ib = 0;\n\t\tlet bufferSize = 0;\n\t\tconst bufferSizeBase = 5000;\n\t\tconst bufferSizeMax = this._bufferSizeMax;\n\t\twhile (iterator.get() != null) {\n\t\t\tlet buffer: EShapeBuffer | null = null;\n\t\t\tlet noMoreThanOne = false;\n\t\t\tif (0 < bufferSize) {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSize, renderer);\n\t\t\t\tbuffers.splice(ib, 0, buffer);\n\t\t\t\tnoMoreThanOne = true;\n\t\t\t} else if (ib < buffers.length) {\n\t\t\t\tbuffer = buffers[ib];\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t} else {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSizeBase, renderer);\n\t\t\t\tbuffers.push(buffer);\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t}\n\t\t\tif (buffer.update(iterator, antialiasWeight, noMoreThanOne)) {\n\t\t\t\tbufferSize = 0;\n\t\t\t\tib += 1;\n\t\t\t} else {\n\t\t\t\tbufferSize = buffer.indexCountRequested;\n\t\t\t\tif (bufferSize <= bufferSizeMax) {\n\t\t\t\t\tbufferSize = Math.ceil(bufferSize / bufferSizeBase) * bufferSizeBase;\n\t\t\t\t\tbufferSize = Math.min(bufferSize, bufferSizeMax);\n\t\t\t\t} else {\n\t\t\t\t\t// No way to render\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ib < buffers.length) {\n\t\t\tfor (let jb = ib, ibmax = buffers.length; jb < ibmax; ++jb) {\n\t\t\t\tbuffers[jb].destroy();\n\t\t\t}\n\t\t\tbuffers.length = ib;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-renderer.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n\tBaseTexture,\n\tBLEND_MODES,\n\tObjectRenderer,\n\tRenderer,\n\tShader,\n\tTexture,\n\tutils\n} from \"pixi.js\";\nimport { DynamicAtlas } from \"../util/dynamic-atlas\";\nimport { DynamicAtlasItemImage } from \"../util/dynamic-atlas-item-image\";\nimport { DynamicSDFFontAtlases } from \"../util/dynamic-sdf-font-atlases\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeBuffer } from \"./e-shape-buffer\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeRendererIterator } from \"./e-shape-renderer-iterator\";\n\nconst 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}`;\n\nconst 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}`;\n\nexport class EShapeRenderer extends ObjectRenderer {\n\tstatic SHADER: Shader | null = null;\n\n\tprotected _shader: Shader | null;\n\tprotected _iterator: EShapeRendererIterator;\n\tprotected _bufferSizeMax: number;\n\n\tconstructor(renderer: Renderer) {\n\t\tsuper(renderer);\n\t\tEShapeRenderer.SHADER =\n\t\t\tEShapeRenderer.SHADER || Shader.from(VERTEX_SHADER, FRAGMENT_SHADER);\n\t\tthis._shader = EShapeRenderer.SHADER;\n\t\tthis._iterator = new EShapeRendererIterator();\n\t\tthis._bufferSizeMax = this.getBufferSizeMax(renderer);\n\t}\n\n\tprotected getBufferSizeMax(renderer: Renderer): number {\n\t\tconst context = renderer.context;\n\t\tconst extensions = context.extensions as any;\n\t\tif (1 < context.webGLVersion || !!extensions.uint32ElementIndex) {\n\t\t\treturn 1431655765; // 2^32 / 3\n\t\t}\n\t\treturn 21845; // 2^16 / 3\n\t}\n\n\tupdateAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\t// Texture\n\t\t// Do not access the shape.image.source here.\n\t\t// It slows down the rendering speed significantly.\n\t\tconst image = shape.image;\n\t\tif (image != null) {\n\t\t\tconst textureItem = atlas.get(image.url);\n\t\t\tif (textureItem != null) {\n\t\t\t\tshape.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\tconst newTextureItem = new DynamicAtlasItemImage(\n\t\t\t\t\timage.url,\n\t\t\t\t\timage.width,\n\t\t\t\t\timage.height,\n\t\t\t\t\timage.source,\n\t\t\t\t\tbaseTexture\n\t\t\t\t);\n\t\t\t\tshape.texture = newTextureItem.texture;\n\t\t\t\tatlas.set(newTextureItem.id, newTextureItem);\n\t\t\t}\n\t\t} else {\n\t\t\tshape.texture = defaultTexture;\n\t\t}\n\n\t\t// Font texture atlas\n\t\tconst text = shape.text;\n\t\tconst textValue = text.value;\n\t\tif (0 < textValue.length) {\n\t\t\tfontAtlases.add(text.family, textValue);\n\t\t}\n\t}\n\n\tupdateAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture,\n\t\tbaseTexture: BaseTexture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateAtlas(shape, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateAtlas(child, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tthis.updateAtlases(child.children, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateFontAtlas(\n\t\tshape: EShape,\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tconst text = shape.text;\n\t\tconst fontAtlas = fontAtlases.get(text.family);\n\t\tif (fontAtlas != null) {\n\t\t\tconst textureItem = atlas.get(fontAtlas.id);\n\t\t\tif (textureItem != null) {\n\t\t\t\ttext.atlas = fontAtlas;\n\t\t\t\ttext.texture = textureItem.texture;\n\t\t\t} else {\n\t\t\t\ttext.atlas = undefined;\n\t\t\t\ttext.texture = defaultTexture;\n\t\t\t}\n\t\t} else {\n\t\t\ttext.atlas = undefined;\n\t\t\ttext.texture = defaultTexture;\n\t\t}\n\t}\n\n\tupdateFontAtlases(\n\t\tshapes: EShape[],\n\t\tatlas: DynamicAtlas,\n\t\tfontAtlases: DynamicSDFFontAtlases,\n\t\tdefaultTexture: Texture\n\t): void {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tthis.updateFontAtlas(shape, atlas, fontAtlases, defaultTexture);\n\t\t\tconst children = shape.children;\n\t\t\tfor (let j = 0, jmax = children.length; j < jmax; ++j) {\n\t\t\t\tconst child = children[j];\n\t\t\t\tthis.updateFontAtlas(child, atlas, fontAtlases, defaultTexture);\n\t\t\t\tthis.updateFontAtlases(child.children, atlas, fontAtlases, defaultTexture);\n\t\t\t}\n\t\t}\n\t}\n\n\trender_(\n\t\tcontainer: EShapeContainer,\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tisDirty: boolean\n\t): void {\n\t\tconst renderer = this.renderer;\n\t\tconst shader = this._shader;\n\n\t\tif (shader != null && (shape != null || 0 < shapes.length)) {\n\t\t\tconst resolution = renderer.resolution;\n\t\t\tconst buffers = container.getBuffers();\n\t\t\tconst antialiasWeight = container.toAntialiasWeight(resolution);\n\n\t\t\t// Update textures\n\t\t\tif (isDirty) {\n\t\t\t\t// Atlases\n\t\t\t\tconst atlas = container.getAtlas(resolution);\n\t\t\t\tconst fontAtlases = container.getFontAtlases();\n\t\t\t\tatlas.begin();\n\t\t\t\tfontAtlases.begin();\n\t\t\t\tconst defaultTexture = atlas.getDefaultTexture();\n\t\t\t\tconst baseTexture: BaseTexture = atlas.getBaseTexture();\n\t\t\t\tthis.updateAtlases(shapes, atlas, fontAtlases, defaultTexture, baseTexture);\n\t\t\t\tfontAtlases.end();\n\t\t\t\tfontAtlases.update(atlas);\n\t\t\t\tthis.updateFontAtlases(shapes, atlas, fontAtlases, defaultTexture);\n\t\t\t\tatlas.end();\n\t\t\t\tatlas.repack();\n\n\t\t\t\t// Update buffers\n\t\t\t\tthis.updateBuffers(shape, shapes, buffers, renderer, antialiasWeight);\n\t\t\t}\n\n\t\t\t// Render buffers\n\t\t\tshader.uniforms.shapeScale = container.toShapeScale();\n\t\t\tshader.uniforms.antialiasWeight = container.toPixelScale(resolution) * antialiasWeight;\n\t\t\tshader.uniforms.translationMatrix = container.worldTransform.toArray(true);\n\t\t\trenderer.shader.bind(shader, false);\n\t\t\trenderer.state.setBlendMode(utils.correctBlendMode(BLEND_MODES.NORMAL, true));\n\t\t\tconst buffersLength = buffers.length;\n\t\t\tif (1 < buffersLength) {\n\t\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\t\tbuffers[i].upload();\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let i = 0; i < buffersLength; ++i) {\n\t\t\t\tbuffers[i].render(shader);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateBuffers(\n\t\tshape: EShape | null,\n\t\tshapes: EShape[],\n\t\tbuffers: EShapeBuffer[],\n\t\trenderer: Renderer,\n\t\tantialiasWeight: number\n\t): void {\n\t\tconst iterator = this._iterator;\n\t\titerator.reset(shape, shapes);\n\n\t\tlet ib = 0;\n\t\tlet bufferSize = 0;\n\t\tconst bufferSizeBase = 5000;\n\t\tconst bufferSizeMax = this._bufferSizeMax;\n\t\twhile (iterator.get() != null) {\n\t\t\tlet buffer: EShapeBuffer | null = null;\n\t\t\tlet noMoreThanOne = false;\n\t\t\tif (0 < bufferSize) {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSize, renderer);\n\t\t\t\tbuffers.splice(ib, 0, buffer);\n\t\t\t\tnoMoreThanOne = true;\n\t\t\t} else if (ib < buffers.length) {\n\t\t\t\tbuffer = buffers[ib];\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t} else {\n\t\t\t\tbuffer = new EShapeBuffer(bufferSizeBase, renderer);\n\t\t\t\tbuffers.push(buffer);\n\t\t\t\tnoMoreThanOne = false;\n\t\t\t}\n\t\t\tif (buffer.update(iterator, antialiasWeight, noMoreThanOne)) {\n\t\t\t\tbufferSize = 0;\n\t\t\t\tib += 1;\n\t\t\t} else {\n\t\t\t\tbufferSize = buffer.indexCountRequested;\n\t\t\t\tif (bufferSize <= bufferSizeMax) {\n\t\t\t\t\tbufferSize = Math.ceil(bufferSize / bufferSizeBase) * bufferSizeBase;\n\t\t\t\t\tbufferSize = Math.min(bufferSize, bufferSizeMax);\n\t\t\t\t} else {\n\t\t\t\t\t// No way to render\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (ib < buffers.length) {\n\t\t\tfor (let jb = ib, ibmax = buffers.length; jb < ibmax; ++jb) {\n\t\t\t\tbuffers[jb].destroy();\n\t\t\t}\n\t\t\tbuffers.length = ib;\n\t\t}\n\t}\n}\n"]}
@@ -1,25 +1,14 @@
1
- import { Point } from "pixi.js";
2
1
  import { toDash } from "./to-dash";
3
2
  import { toScaleInvariant } from "./to-scale-invariant";
3
+ import { toVector } from "./to-vector";
4
+ import { toNormal } from "./to-normal";
5
+ import { toNormalPacked } from "./to-normal-packed";
6
+ import { toPackedI4x64 } from "./to-packed";
4
7
  export var BAR_VERTEX_COUNT = 4;
5
8
  export var BAR_INDEX_COUNT = 2;
9
+ var BAR_NPREV = [0, 1];
10
+ var BAR_NNEXT = [0, 1];
6
11
  var BAR_FMIN = 0.00001;
7
- var BAR_WORK_POINT = new Point();
8
- export var buildBarClipping = function (clippings, voffset) {
9
- var ic = voffset * 3 - 1;
10
- clippings[++ic] = 1;
11
- clippings[++ic] = 0;
12
- clippings[++ic] = 3;
13
- clippings[++ic] = 0;
14
- clippings[++ic] = 1;
15
- clippings[++ic] = 5;
16
- clippings[++ic] = 1;
17
- clippings[++ic] = 0;
18
- clippings[++ic] = 3;
19
- clippings[++ic] = 0;
20
- clippings[++ic] = 1;
21
- clippings[++ic] = 5;
22
- };
23
12
  export var buildBarIndex = function (indices, voffset, ioffset) {
24
13
  var ii = ioffset * 3 - 1;
25
14
  indices[++ii] = voffset;
@@ -29,7 +18,7 @@ export var buildBarIndex = function (indices, voffset, ioffset) {
29
18
  indices[++ii] = voffset + 2;
30
19
  indices[++ii] = voffset + 3;
31
20
  };
32
- export var buildBarVertexStepAndColorFill = function (vertices, steps, colorFills, voffset, pointValues, pointsSize, strokeWidth, strokeStyle, internalTransform) {
21
+ export var buildBarVertexStep = function (vertices, steps, voffset, pointValues, pointsSize, strokeWidth, strokeStyle, internalTransform) {
33
22
  // First point
34
23
  var a = internalTransform.a;
35
24
  var b = internalTransform.b;
@@ -59,67 +48,52 @@ export var buildBarVertexStepAndColorFill = function (vertices, steps, colorFill
59
48
  p2y = p1y + dy;
60
49
  l = pointsSize;
61
50
  }
62
- // Other points
63
- var p0x = p1x - dx;
64
- var p0y = p1y - dy;
65
- var p3x = p2x + dx;
66
- var p3y = p2y + dy;
51
+ var nprev = BAR_NPREV;
52
+ var nnext = BAR_NNEXT;
53
+ toVector(p1x - dx, p1y - dy, p1x, p1y, nprev);
54
+ toVector(p1x, p1y, p2x, p2y, nnext);
55
+ toNormal(nprev, l);
56
+ toNormal(nnext, l);
57
+ var packed = toNormalPacked(nprev, nnext);
67
58
  //
68
59
  var scaleInvariant = toScaleInvariant(strokeStyle);
69
- var dash = toDash(l, strokeWidth, strokeStyle, BAR_WORK_POINT);
70
- var dash0 = dash.x;
71
- var dash1 = dash.y;
60
+ var dash = toDash(strokeStyle);
61
+ var e3 = toPackedI4x64(3, scaleInvariant, dash, 0);
62
+ var e5 = toPackedI4x64(5, scaleInvariant, dash, 0);
72
63
  var iv = (voffset << 1) - 1;
73
- var icf = (voffset << 2) - 1;
74
64
  var is = voffset * 6 - 1;
75
65
  vertices[++iv] = p1x;
76
66
  vertices[++iv] = p1y;
77
67
  vertices[++iv] = p1x;
78
68
  vertices[++iv] = p1y;
79
69
  steps[++is] = strokeWidth;
80
- steps[++is] = scaleInvariant;
81
- steps[++is] = p0x;
82
- steps[++is] = p0y;
83
- steps[++is] = p2x;
84
- steps[++is] = p2y;
70
+ steps[++is] = e3;
71
+ steps[++is] = packed;
72
+ steps[++is] = 0;
73
+ steps[++is] = l;
74
+ steps[++is] = 0;
85
75
  steps[++is] = strokeWidth;
86
- steps[++is] = scaleInvariant;
87
- steps[++is] = p0x;
88
- steps[++is] = p0y;
89
- steps[++is] = p2x;
90
- steps[++is] = p2y;
91
- colorFills[++icf] = 0;
92
- colorFills[++icf] = dash0;
93
- colorFills[++icf] = dash1;
94
- colorFills[++icf] = l;
95
- colorFills[++icf] = 0;
96
- colorFills[++icf] = dash0;
97
- colorFills[++icf] = dash1;
98
- colorFills[++icf] = l;
76
+ steps[++is] = e5;
77
+ steps[++is] = packed;
78
+ steps[++is] = 0;
79
+ steps[++is] = l;
80
+ steps[++is] = 0;
99
81
  vertices[++iv] = p2x;
100
82
  vertices[++iv] = p2y;
101
83
  vertices[++iv] = p2x;
102
84
  vertices[++iv] = p2y;
103
85
  steps[++is] = strokeWidth;
104
- steps[++is] = scaleInvariant;
105
- steps[++is] = p1x;
106
- steps[++is] = p1y;
107
- steps[++is] = p3x;
108
- steps[++is] = p3y;
86
+ steps[++is] = e3;
87
+ steps[++is] = packed;
88
+ steps[++is] = l;
89
+ steps[++is] = l;
90
+ steps[++is] = 0;
109
91
  steps[++is] = strokeWidth;
110
- steps[++is] = scaleInvariant;
111
- steps[++is] = p1x;
112
- steps[++is] = p1y;
113
- steps[++is] = p3x;
114
- steps[++is] = p3y;
115
- colorFills[++icf] = l;
116
- colorFills[++icf] = dash0;
117
- colorFills[++icf] = dash1;
118
- colorFills[++icf] = l;
119
- colorFills[++icf] = l;
120
- colorFills[++icf] = dash0;
121
- colorFills[++icf] = dash1;
122
- colorFills[++icf] = l;
92
+ steps[++is] = e5;
93
+ steps[++is] = packed;
94
+ steps[++is] = l;
95
+ steps[++is] = l;
96
+ steps[++is] = 0;
123
97
  };
124
98
  export var buildBarUv = function (uvs, voffset, textureUvs) {
125
99
  var iuv = (voffset << 1) - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"build-bar.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toDash } from \"./to-dash\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\n\nexport const BAR_VERTEX_COUNT = 4;\nexport const BAR_INDEX_COUNT = 2;\nconst BAR_FMIN: number = 0.00001;\nconst BAR_WORK_POINT: Point = new Point();\n\nexport const buildBarClipping = (clippings: Float32Array, voffset: number): void => {\n\tlet ic = voffset * 3 - 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 3;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 5;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 3;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 5;\n};\n\nexport const buildBarIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 1;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 3;\n};\n\nexport const buildBarVertexStepAndColorFill = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tcolorFills: Float32Array,\n\tvoffset: number,\n\tpointValues: number[],\n\tpointsSize: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tinternalTransform: Matrix\n): void => {\n\t// First point\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tconst pv0 = pointValues[0];\n\tconst pv1 = pointValues[1];\n\tconst p1x = a * pv0 + c * pv1 + tx;\n\tconst p1y = b * pv0 + d * pv1 + ty;\n\n\t// Last point\n\tconst pv2 = pointValues[2];\n\tconst pv3 = pointValues[3];\n\tlet p2x = a * pv2 + c * pv3 + tx;\n\tlet p2y = b * pv2 + d * pv3 + ty;\n\n\t// Normal\n\tlet dx = p2x - p1x;\n\tlet dy = p2y - p1y;\n\tconst distance = Math.sqrt(dx * dx + dy * dy);\n\tlet l = distance;\n\tif (0 <= pointsSize && BAR_FMIN < distance) {\n\t\tconst ratio = pointsSize / distance;\n\t\tdx *= ratio;\n\t\tdy *= ratio;\n\t\tp2x = p1x + dx;\n\t\tp2y = p1y + dy;\n\t\tl = pointsSize;\n\t}\n\n\t// Other points\n\tconst p0x = p1x - dx;\n\tconst p0y = p1y - dy;\n\tconst p3x = p2x + dx;\n\tconst p3y = p2y + dy;\n\n\t//\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst dash = toDash(l, strokeWidth, strokeStyle, BAR_WORK_POINT);\n\tconst dash0 = dash.x;\n\tconst dash1 = dash.y;\n\tlet iv = (voffset << 1) - 1;\n\tlet icf = (voffset << 2) - 1;\n\tlet is = voffset * 6 - 1;\n\tvertices[++iv] = p1x;\n\tvertices[++iv] = p1y;\n\tvertices[++iv] = p1x;\n\tvertices[++iv] = p1y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = p0x;\n\tsteps[++is] = p0y;\n\tsteps[++is] = p2x;\n\tsteps[++is] = p2y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = p0x;\n\tsteps[++is] = p0y;\n\tsteps[++is] = p2x;\n\tsteps[++is] = p2y;\n\tcolorFills[++icf] = 0;\n\tcolorFills[++icf] = dash0;\n\tcolorFills[++icf] = dash1;\n\tcolorFills[++icf] = l;\n\tcolorFills[++icf] = 0;\n\tcolorFills[++icf] = dash0;\n\tcolorFills[++icf] = dash1;\n\tcolorFills[++icf] = l;\n\n\tvertices[++iv] = p2x;\n\tvertices[++iv] = p2y;\n\tvertices[++iv] = p2x;\n\tvertices[++iv] = p2y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = p1x;\n\tsteps[++is] = p1y;\n\tsteps[++is] = p3x;\n\tsteps[++is] = p3y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = scaleInvariant;\n\tsteps[++is] = p1x;\n\tsteps[++is] = p1y;\n\tsteps[++is] = p3x;\n\tsteps[++is] = p3y;\n\tcolorFills[++icf] = l;\n\tcolorFills[++icf] = dash0;\n\tcolorFills[++icf] = dash1;\n\tcolorFills[++icf] = l;\n\tcolorFills[++icf] = l;\n\tcolorFills[++icf] = dash0;\n\tcolorFills[++icf] = dash1;\n\tcolorFills[++icf] = l;\n};\n\nexport const buildBarUv = (uvs: Float32Array, voffset: number, textureUvs: TextureUvs): void => {\n\tlet iuv = (voffset << 1) - 1;\n\tuvs[++iuv] = textureUvs.x0;\n\tuvs[++iuv] = textureUvs.y0;\n\tuvs[++iuv] = textureUvs.x3;\n\tuvs[++iuv] = textureUvs.y3;\n\n\tuvs[++iuv] = textureUvs.x1;\n\tuvs[++iuv] = textureUvs.y1;\n\tuvs[++iuv] = textureUvs.x2;\n\tuvs[++iuv] = textureUvs.y2;\n};\n"]}
1
+ {"version":3,"file":"build-bar.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toDash } from \"./to-dash\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { toVector } from \"./to-vector\";\nimport { toNormal } from \"./to-normal\";\nimport { toNormalPacked } from \"./to-normal-packed\";\nimport { toPackedI4x64 } from \"./to-packed\";\n\nexport const BAR_VERTEX_COUNT = 4;\nexport const BAR_INDEX_COUNT = 2;\nconst BAR_NPREV = [0, 1];\nconst BAR_NNEXT = [0, 1];\nconst BAR_FMIN: number = 0.00001;\n\nexport const buildBarIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 1;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 3;\n};\n\nexport const buildBarVertexStep = (\n\tvertices: Float32Array,\n\tsteps: Float32Array,\n\tvoffset: number,\n\tpointValues: number[],\n\tpointsSize: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tinternalTransform: Matrix\n): void => {\n\t// First point\n\tconst a = internalTransform.a;\n\tconst b = internalTransform.b;\n\tconst c = internalTransform.c;\n\tconst d = internalTransform.d;\n\tconst tx = internalTransform.tx;\n\tconst ty = internalTransform.ty;\n\tconst pv0 = pointValues[0];\n\tconst pv1 = pointValues[1];\n\tconst p1x = a * pv0 + c * pv1 + tx;\n\tconst p1y = b * pv0 + d * pv1 + ty;\n\n\t// Last point\n\tconst pv2 = pointValues[2];\n\tconst pv3 = pointValues[3];\n\tlet p2x = a * pv2 + c * pv3 + tx;\n\tlet p2y = b * pv2 + d * pv3 + ty;\n\n\t// Normal\n\tlet dx = p2x - p1x;\n\tlet dy = p2y - p1y;\n\tconst distance = Math.sqrt(dx * dx + dy * dy);\n\tlet l = distance;\n\tif (0 <= pointsSize && BAR_FMIN < distance) {\n\t\tconst ratio = pointsSize / distance;\n\t\tdx *= ratio;\n\t\tdy *= ratio;\n\t\tp2x = p1x + dx;\n\t\tp2y = p1y + dy;\n\t\tl = pointsSize;\n\t}\n\n\tconst nprev = BAR_NPREV;\n\tconst nnext = BAR_NNEXT;\n\ttoVector(p1x - dx, p1y - dy, p1x, p1y, nprev);\n\ttoVector(p1x, p1y, p2x, p2y, nnext);\n\ttoNormal(nprev, l);\n\ttoNormal(nnext, l);\n\tconst packed = toNormalPacked(nprev, nnext);\n\n\t//\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst dash = toDash(strokeStyle);\n\tconst e3 = toPackedI4x64(3, scaleInvariant, dash, 0);\n\tconst e5 = toPackedI4x64(5, scaleInvariant, dash, 0);\n\tlet iv = (voffset << 1) - 1;\n\tlet is = voffset * 6 - 1;\n\tvertices[++iv] = p1x;\n\tvertices[++iv] = p1y;\n\tvertices[++iv] = p1x;\n\tvertices[++iv] = p1y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e3;\n\tsteps[++is] = packed;\n\tsteps[++is] = 0;\n\tsteps[++is] = l;\n\tsteps[++is] = 0;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e5;\n\tsteps[++is] = packed;\n\tsteps[++is] = 0;\n\tsteps[++is] = l;\n\tsteps[++is] = 0;\n\n\tvertices[++iv] = p2x;\n\tvertices[++iv] = p2y;\n\tvertices[++iv] = p2x;\n\tvertices[++iv] = p2y;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e3;\n\tsteps[++is] = packed;\n\tsteps[++is] = l;\n\tsteps[++is] = l;\n\tsteps[++is] = 0;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e5;\n\tsteps[++is] = packed;\n\tsteps[++is] = l;\n\tsteps[++is] = l;\n\tsteps[++is] = 0;\n};\n\nexport const buildBarUv = (uvs: Float32Array, voffset: number, textureUvs: TextureUvs): void => {\n\tlet iuv = (voffset << 1) - 1;\n\tuvs[++iuv] = textureUvs.x0;\n\tuvs[++iuv] = textureUvs.y0;\n\tuvs[++iuv] = textureUvs.x3;\n\tuvs[++iuv] = textureUvs.y3;\n\n\tuvs[++iuv] = textureUvs.x1;\n\tuvs[++iuv] = textureUvs.y1;\n\tuvs[++iuv] = textureUvs.x2;\n\tuvs[++iuv] = textureUvs.y2;\n};\n"]}
@@ -1,40 +1,11 @@
1
1
  import { Point } from "pixi.js";
2
2
  import { toLength } from "./to-length";
3
3
  import { toScaleInvariant } from "./to-scale-invariant";
4
+ import { toPackedF2x1024, toPackedI4x64 } from "./to-packed";
4
5
  export var CIRCLE_VERTEX_COUNT = 9;
5
6
  export var CIRCLE_INDEX_COUNT = 8;
6
7
  export var CIRCLE_WORLD_SIZE = [0, 0];
7
8
  var CIRCLE_WORK_POINT = new Point();
8
- export var buildCircleClipping = function (clippings, voffset) {
9
- var ic = voffset * 3 - 1;
10
- clippings[++ic] = 1;
11
- clippings[++ic] = 1;
12
- clippings[++ic] = 1;
13
- clippings[++ic] = 0;
14
- clippings[++ic] = 1;
15
- clippings[++ic] = 1;
16
- clippings[++ic] = 1;
17
- clippings[++ic] = 1;
18
- clippings[++ic] = 1;
19
- clippings[++ic] = 1;
20
- clippings[++ic] = 0;
21
- clippings[++ic] = 1;
22
- clippings[++ic] = 0;
23
- clippings[++ic] = 0;
24
- clippings[++ic] = 1;
25
- clippings[++ic] = 1;
26
- clippings[++ic] = 0;
27
- clippings[++ic] = 1;
28
- clippings[++ic] = 1;
29
- clippings[++ic] = 1;
30
- clippings[++ic] = 1;
31
- clippings[++ic] = 0;
32
- clippings[++ic] = 1;
33
- clippings[++ic] = 1;
34
- clippings[++ic] = 1;
35
- clippings[++ic] = 1;
36
- clippings[++ic] = 1;
37
- };
38
9
  export var buildCircleIndex = function (indices, voffset, ioffset) {
39
10
  var ii = ioffset * 3 - 1;
40
11
  indices[++ii] = voffset;
@@ -117,18 +88,70 @@ export var buildCircleVertex = function (vertices, voffset, originX, originY, si
117
88
  worldSize[0] = toLength(x0, y0, x1, y1);
118
89
  worldSize[1] = toLength(x0, y0, x3, y3);
119
90
  };
120
- export var buildCircleStep = function (steps, clippings, voffset, strokeWidth, strokeStyle, worldSize) {
91
+ export var buildCircleStep = function (steps, voffset, strokeWidth, strokeStyle, worldSize) {
121
92
  var scaleInvariant = toScaleInvariant(strokeStyle);
93
+ var ax = worldSize[0];
94
+ var ay = worldSize[1];
95
+ var e = toPackedI4x64(1, scaleInvariant, 1, 1);
96
+ var c11 = toPackedF2x1024(1, 1);
97
+ var c01 = toPackedF2x1024(0, 1);
98
+ var c10 = toPackedF2x1024(1, 0);
99
+ var c00 = toPackedF2x1024(0, 0);
122
100
  var is = voffset * 6 - 1;
123
- var ic = voffset * 3;
124
- for (var i = 0; i < CIRCLE_VERTEX_COUNT; i += 1, ic += 3) {
125
- steps[++is] = strokeWidth;
126
- steps[++is] = scaleInvariant;
127
- steps[++is] = worldSize[0];
128
- steps[++is] = worldSize[1];
129
- steps[++is] = 1 + clippings[ic];
130
- steps[++is] = 1 + clippings[ic + 1];
131
- }
101
+ steps[++is] = strokeWidth;
102
+ steps[++is] = e;
103
+ steps[++is] = ax;
104
+ steps[++is] = ay;
105
+ steps[++is] = c11;
106
+ steps[++is] = 0;
107
+ steps[++is] = strokeWidth;
108
+ steps[++is] = e;
109
+ steps[++is] = ax;
110
+ steps[++is] = ay;
111
+ steps[++is] = c01;
112
+ steps[++is] = 0;
113
+ steps[++is] = strokeWidth;
114
+ steps[++is] = e;
115
+ steps[++is] = ax;
116
+ steps[++is] = ay;
117
+ steps[++is] = c11;
118
+ steps[++is] = 0;
119
+ steps[++is] = strokeWidth;
120
+ steps[++is] = e;
121
+ steps[++is] = ax;
122
+ steps[++is] = ay;
123
+ steps[++is] = c10;
124
+ steps[++is] = 0;
125
+ steps[++is] = strokeWidth;
126
+ steps[++is] = e;
127
+ steps[++is] = ax;
128
+ steps[++is] = ay;
129
+ steps[++is] = c00;
130
+ steps[++is] = 0;
131
+ steps[++is] = strokeWidth;
132
+ steps[++is] = e;
133
+ steps[++is] = ax;
134
+ steps[++is] = ay;
135
+ steps[++is] = c10;
136
+ steps[++is] = 0;
137
+ steps[++is] = strokeWidth;
138
+ steps[++is] = e;
139
+ steps[++is] = ax;
140
+ steps[++is] = ay;
141
+ steps[++is] = c11;
142
+ steps[++is] = 0;
143
+ steps[++is] = strokeWidth;
144
+ steps[++is] = e;
145
+ steps[++is] = ax;
146
+ steps[++is] = ay;
147
+ steps[++is] = c01;
148
+ steps[++is] = 0;
149
+ steps[++is] = strokeWidth;
150
+ steps[++is] = e;
151
+ steps[++is] = ax;
152
+ steps[++is] = ay;
153
+ steps[++is] = c11;
154
+ steps[++is] = 0;
132
155
  };
133
156
  export var buildCircleUv = function (uvs, voffset, textureUvs) {
134
157
  var x0 = textureUvs.x0;
@@ -1 +1 @@
1
- {"version":3,"file":"build-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-circle.ts"],"names":[],"mappings":"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AAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAEhB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toLength } from \"./to-length\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\n\nexport const CIRCLE_VERTEX_COUNT = 9;\nexport const CIRCLE_INDEX_COUNT = 8;\nexport const CIRCLE_WORLD_SIZE: [number, number] = [0, 0];\nconst CIRCLE_WORK_POINT: Point = new Point();\n\nexport const buildCircleClipping = (clippings: Float32Array, voffset: number): void => {\n\tlet ic = voffset * 3 - 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 0;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n\tclippings[++ic] = 1;\n};\n\nexport const buildCircleIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 3;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 3;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 4;\n\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 4;\n\n\tindices[++ii] = voffset + 3;\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 6;\n\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 7;\n\tindices[++ii] = voffset + 6;\n\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 7;\n\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 8;\n\tindices[++ii] = voffset + 7;\n};\n\nexport const buildCircleVertex = (\n\tvertices: Float32Array,\n\tvoffset: number,\n\toriginX: number,\n\toriginY: number,\n\tsizeX: number,\n\tsizeY: number,\n\tstrokeAlign: number,\n\tstrokeWidth: number,\n\tinternalTransform: Matrix,\n\tworldSize: typeof CIRCLE_WORLD_SIZE\n): void => {\n\t// Calculate the transformed positions\n\t//\n\t// 0 1 2\n\t// |-------|-------|\n\t// |3 |4 |5\n\t// |-------|-------|\n\t// |6 |7 |8\n\t// |-------|-------|\n\t//\n\tconst work = CIRCLE_WORK_POINT;\n\tconst s = strokeAlign * strokeWidth;\n\tconst sx = sizeX * 0.5 + (0 <= sizeX ? +s : -s);\n\tconst sy = sizeY * 0.5 + (0 <= sizeY ? +s : -s);\n\twork.set(-sx + originX, -sy + originY);\n\tinternalTransform.apply(work, work);\n\tconst x0 = work.x;\n\tconst y0 = work.y;\n\twork.set(0 + originX, -sy + originY);\n\tinternalTransform.apply(work, work);\n\tconst x1 = work.x;\n\tconst y1 = work.y;\n\tconst dx = x1 - x0;\n\tconst dy = y1 - y0;\n\twork.set(originX, originY);\n\tinternalTransform.apply(work, work);\n\tconst x4 = work.x;\n\tconst y4 = work.y;\n\tconst x7 = x4 + (x4 - x1);\n\tconst y7 = y4 + (y4 - y1);\n\tconst x3 = x4 - dx;\n\tconst y3 = y4 - dy;\n\n\t// Vertices\n\tlet iv = voffset * 2 - 1;\n\tvertices[++iv] = x0;\n\tvertices[++iv] = y0;\n\tvertices[++iv] = x1;\n\tvertices[++iv] = y1;\n\tvertices[++iv] = x1 + dx;\n\tvertices[++iv] = y1 + dy;\n\n\tvertices[++iv] = x3;\n\tvertices[++iv] = y3;\n\tvertices[++iv] = x4;\n\tvertices[++iv] = y4;\n\tvertices[++iv] = x4 + dx;\n\tvertices[++iv] = y4 + dy;\n\n\tvertices[++iv] = x7 - dx;\n\tvertices[++iv] = y7 - dy;\n\tvertices[++iv] = x7;\n\tvertices[++iv] = y7;\n\tvertices[++iv] = x7 + dx;\n\tvertices[++iv] = y7 + dy;\n\n\tworldSize[0] = toLength(x0, y0, x1, y1);\n\tworldSize[1] = toLength(x0, y0, x3, y3);\n};\n\nexport const buildCircleStep = (\n\tsteps: Float32Array,\n\tclippings: Float32Array,\n\tvoffset: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tworldSize: typeof CIRCLE_WORLD_SIZE\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tlet is = voffset * 6 - 1;\n\tlet ic = voffset * 3;\n\tfor (let i = 0; i < CIRCLE_VERTEX_COUNT; i += 1, ic += 3) {\n\t\tsteps[++is] = strokeWidth;\n\t\tsteps[++is] = scaleInvariant;\n\t\tsteps[++is] = worldSize[0];\n\t\tsteps[++is] = worldSize[1];\n\t\tsteps[++is] = 1 + clippings[ic];\n\t\tsteps[++is] = 1 + clippings[ic + 1];\n\t}\n};\n\nexport const buildCircleUv = (uvs: Float32Array, voffset: number, textureUvs: TextureUvs): void => {\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst x2 = textureUvs.x2;\n\tconst x3 = textureUvs.x3;\n\tconst y0 = textureUvs.y0;\n\tconst y1 = textureUvs.y1;\n\tconst y2 = textureUvs.y2;\n\tconst y3 = textureUvs.y3;\n\n\t// UVs\n\tlet iuv = voffset * 2 - 1;\n\tuvs[++iuv] = x0;\n\tuvs[++iuv] = y0;\n\tuvs[++iuv] = 0.5 * (x0 + x1);\n\tuvs[++iuv] = 0.5 * (y0 + y1);\n\tuvs[++iuv] = x1;\n\tuvs[++iuv] = y1;\n\n\tuvs[++iuv] = 0.5 * (x0 + x3);\n\tuvs[++iuv] = 0.5 * (y0 + y3);\n\tuvs[++iuv] = 0.5 * (x0 + x2);\n\tuvs[++iuv] = 0.5 * (y0 + y2);\n\tuvs[++iuv] = 0.5 * (x1 + x2);\n\tuvs[++iuv] = 0.5 * (y1 + y2);\n\n\tuvs[++iuv] = x3;\n\tuvs[++iuv] = y3;\n\tuvs[++iuv] = 0.5 * (x3 + x2);\n\tuvs[++iuv] = 0.5 * (y3 + y2);\n\tuvs[++iuv] = x2;\n\tuvs[++iuv] = y2;\n};\n"]}
1
+ {"version":3,"file":"build-circle.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-circle.ts"],"names":[],"mappings":"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AAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import { Matrix, Point, TextureUvs } from \"pixi.js\";\nimport { EShapeStrokeStyle } from \"../e-shape-stroke-style\";\nimport { toLength } from \"./to-length\";\nimport { toScaleInvariant } from \"./to-scale-invariant\";\nimport { toPackedF2x1024, toPackedI4x64 } from \"./to-packed\";\n\nexport const CIRCLE_VERTEX_COUNT = 9;\nexport const CIRCLE_INDEX_COUNT = 8;\nexport const CIRCLE_WORLD_SIZE: [number, number] = [0, 0];\nconst CIRCLE_WORK_POINT: Point = new Point();\n\nexport const buildCircleIndex = (\n\tindices: Uint16Array | Uint32Array,\n\tvoffset: number,\n\tioffset: number\n): void => {\n\tlet ii = ioffset * 3 - 1;\n\tindices[++ii] = voffset;\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 3;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 3;\n\n\tindices[++ii] = voffset + 1;\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 4;\n\n\tindices[++ii] = voffset + 2;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 4;\n\n\tindices[++ii] = voffset + 3;\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 6;\n\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 7;\n\tindices[++ii] = voffset + 6;\n\n\tindices[++ii] = voffset + 4;\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 7;\n\n\tindices[++ii] = voffset + 5;\n\tindices[++ii] = voffset + 8;\n\tindices[++ii] = voffset + 7;\n};\n\nexport const buildCircleVertex = (\n\tvertices: Float32Array,\n\tvoffset: number,\n\toriginX: number,\n\toriginY: number,\n\tsizeX: number,\n\tsizeY: number,\n\tstrokeAlign: number,\n\tstrokeWidth: number,\n\tinternalTransform: Matrix,\n\tworldSize: typeof CIRCLE_WORLD_SIZE\n): void => {\n\t// Calculate the transformed positions\n\t//\n\t// 0 1 2\n\t// |-------|-------|\n\t// |3 |4 |5\n\t// |-------|-------|\n\t// |6 |7 |8\n\t// |-------|-------|\n\t//\n\tconst work = CIRCLE_WORK_POINT;\n\tconst s = strokeAlign * strokeWidth;\n\tconst sx = sizeX * 0.5 + (0 <= sizeX ? +s : -s);\n\tconst sy = sizeY * 0.5 + (0 <= sizeY ? +s : -s);\n\twork.set(-sx + originX, -sy + originY);\n\tinternalTransform.apply(work, work);\n\tconst x0 = work.x;\n\tconst y0 = work.y;\n\twork.set(0 + originX, -sy + originY);\n\tinternalTransform.apply(work, work);\n\tconst x1 = work.x;\n\tconst y1 = work.y;\n\tconst dx = x1 - x0;\n\tconst dy = y1 - y0;\n\twork.set(originX, originY);\n\tinternalTransform.apply(work, work);\n\tconst x4 = work.x;\n\tconst y4 = work.y;\n\tconst x7 = x4 + (x4 - x1);\n\tconst y7 = y4 + (y4 - y1);\n\tconst x3 = x4 - dx;\n\tconst y3 = y4 - dy;\n\n\t// Vertices\n\tlet iv = voffset * 2 - 1;\n\tvertices[++iv] = x0;\n\tvertices[++iv] = y0;\n\tvertices[++iv] = x1;\n\tvertices[++iv] = y1;\n\tvertices[++iv] = x1 + dx;\n\tvertices[++iv] = y1 + dy;\n\n\tvertices[++iv] = x3;\n\tvertices[++iv] = y3;\n\tvertices[++iv] = x4;\n\tvertices[++iv] = y4;\n\tvertices[++iv] = x4 + dx;\n\tvertices[++iv] = y4 + dy;\n\n\tvertices[++iv] = x7 - dx;\n\tvertices[++iv] = y7 - dy;\n\tvertices[++iv] = x7;\n\tvertices[++iv] = y7;\n\tvertices[++iv] = x7 + dx;\n\tvertices[++iv] = y7 + dy;\n\n\tworldSize[0] = toLength(x0, y0, x1, y1);\n\tworldSize[1] = toLength(x0, y0, x3, y3);\n};\n\nexport const buildCircleStep = (\n\tsteps: Float32Array,\n\tvoffset: number,\n\tstrokeWidth: number,\n\tstrokeStyle: EShapeStrokeStyle,\n\tworldSize: typeof CIRCLE_WORLD_SIZE\n): void => {\n\tconst scaleInvariant = toScaleInvariant(strokeStyle);\n\tconst ax = worldSize[0];\n\tconst ay = worldSize[1];\n\n\tconst e = toPackedI4x64(1, scaleInvariant, 1, 1);\n\n\tconst c11 = toPackedF2x1024(1, 1);\n\tconst c01 = toPackedF2x1024(0, 1);\n\tconst c10 = toPackedF2x1024(1, 0);\n\tconst c00 = toPackedF2x1024(0, 0);\n\n\tlet is = voffset * 6 - 1;\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c11;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c11;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c00;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c10;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c11;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c01;\n\tsteps[++is] = 0;\n\n\tsteps[++is] = strokeWidth;\n\tsteps[++is] = e;\n\tsteps[++is] = ax;\n\tsteps[++is] = ay;\n\tsteps[++is] = c11;\n\tsteps[++is] = 0;\n};\n\nexport const buildCircleUv = (uvs: Float32Array, voffset: number, textureUvs: TextureUvs): void => {\n\tconst x0 = textureUvs.x0;\n\tconst x1 = textureUvs.x1;\n\tconst x2 = textureUvs.x2;\n\tconst x3 = textureUvs.x3;\n\tconst y0 = textureUvs.y0;\n\tconst y1 = textureUvs.y1;\n\tconst y2 = textureUvs.y2;\n\tconst y3 = textureUvs.y3;\n\n\t// UVs\n\tlet iuv = voffset * 2 - 1;\n\tuvs[++iuv] = x0;\n\tuvs[++iuv] = y0;\n\tuvs[++iuv] = 0.5 * (x0 + x1);\n\tuvs[++iuv] = 0.5 * (y0 + y1);\n\tuvs[++iuv] = x1;\n\tuvs[++iuv] = y1;\n\n\tuvs[++iuv] = 0.5 * (x0 + x3);\n\tuvs[++iuv] = 0.5 * (y0 + y3);\n\tuvs[++iuv] = 0.5 * (x0 + x2);\n\tuvs[++iuv] = 0.5 * (y0 + y2);\n\tuvs[++iuv] = 0.5 * (x1 + x2);\n\tuvs[++iuv] = 0.5 * (y1 + y2);\n\n\tuvs[++iuv] = x3;\n\tuvs[++iuv] = y3;\n\tuvs[++iuv] = 0.5 * (x3 + x2);\n\tuvs[++iuv] = 0.5 * (y3 + y2);\n\tuvs[++iuv] = x2;\n\tuvs[++iuv] = y2;\n};\n"]}
@@ -1,15 +1,12 @@
1
- export var buildColor = function (color, alpha, voffset, vcount, colors) {
2
- var r = (((color >> 16) & 0xff) / 255.0) * alpha;
3
- var g = (((color >> 8) & 0xff) / 255.0) * alpha;
4
- var b = (((color >> 0) & 0xff) / 255.0) * alpha;
5
- var a = alpha;
6
- var ic = (voffset << 2) - 1;
7
- var icmax = ((voffset + vcount) << 2) - 1;
1
+ import { toPackedF2x1024 } from "./to-packed";
2
+ export var buildColor = function (fillColor, fillAlpha, strokeColor, strokeAlpha, voffset, vcount, colors) {
3
+ var alpha = toPackedF2x1024(Math.max(0, Math.min(1, fillAlpha)), Math.max(0, Math.min(1, strokeAlpha)));
4
+ var ic = voffset * 3 - 1;
5
+ var icmax = (voffset + vcount) * 3 - 1;
8
6
  for (; ic < icmax;) {
9
- colors[++ic] = r;
10
- colors[++ic] = g;
11
- colors[++ic] = b;
12
- colors[++ic] = a;
7
+ colors[++ic] = fillColor;
8
+ colors[++ic] = strokeColor;
9
+ colors[++ic] = alpha;
13
10
  }
14
11
  };
15
12
  //# sourceMappingURL=build-color.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-color.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-color.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,UAAU,GAAG,UACzB,KAAa,EACb,KAAa,EACb,OAAe,EACf,MAAc,EACd,MAAoB;IAEpB,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IACnD,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAClD,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;IAClD,IAAM,CAAC,GAAG,KAAK,CAAC;IAEhB,IAAI,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAM,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5C,OAAO,EAAE,GAAG,KAAK,GAAI;QACpB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;KACjB;AACF,CAAC,CAAC","sourcesContent":["export const buildColor = (\n\tcolor: number,\n\talpha: number,\n\tvoffset: number,\n\tvcount: number,\n\tcolors: Float32Array\n): void => {\n\tconst r = (((color >> 16) & 0xff) / 255.0) * alpha;\n\tconst g = (((color >> 8) & 0xff) / 255.0) * alpha;\n\tconst b = (((color >> 0) & 0xff) / 255.0) * alpha;\n\tconst a = alpha;\n\n\tlet ic = (voffset << 2) - 1;\n\tconst icmax = ((voffset + vcount) << 2) - 1;\n\tfor (; ic < icmax; ) {\n\t\tcolors[++ic] = r;\n\t\tcolors[++ic] = g;\n\t\tcolors[++ic] = b;\n\t\tcolors[++ic] = a;\n\t}\n};\n"]}
1
+ {"version":3,"file":"build-color.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/shape/variant/build-color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,IAAM,UAAU,GAAG,UACzB,SAAiB,EACjB,SAAiB,EACjB,WAAmB,EACnB,WAAmB,EACnB,OAAe,EACf,MAAc,EACd,MAAoB;IAEpB,IAAM,KAAK,GAAG,eAAe,CAC5B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EACnC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CACrC,CAAC;IACF,IAAI,EAAE,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,IAAM,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,KAAK,GAAI;QACpB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC;QACzB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC;QAC3B,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;KACrB;AACF,CAAC,CAAC","sourcesContent":["import { toPackedF2x1024 } from \"./to-packed\";\n\nexport const buildColor = (\n\tfillColor: number,\n\tfillAlpha: number,\n\tstrokeColor: number,\n\tstrokeAlpha: number,\n\tvoffset: number,\n\tvcount: number,\n\tcolors: Float32Array\n): void => {\n\tconst alpha = toPackedF2x1024(\n\t\tMath.max(0, Math.min(1, fillAlpha)),\n\t\tMath.max(0, Math.min(1, strokeAlpha))\n\t);\n\tlet ic = voffset * 3 - 1;\n\tconst icmax = (voffset + vcount) * 3 - 1;\n\tfor (; ic < icmax; ) {\n\t\tcolors[++ic] = fillColor;\n\t\tcolors[++ic] = strokeColor;\n\t\tcolors[++ic] = alpha;\n\t}\n};\n"]}