@lightningjs/renderer 3.0.0-beta11 → 3.0.0-beta13

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 (324) hide show
  1. package/README.md +4 -0
  2. package/dist/src/common/CommonTypes.d.ts +2 -2
  3. package/dist/src/core/CoreNode.d.ts +10 -25
  4. package/dist/src/core/CoreNode.js +77 -81
  5. package/dist/src/core/CoreNode.js.map +1 -1
  6. package/dist/src/core/CoreTextNode.js +10 -10
  7. package/dist/src/core/CoreTextNode.js.map +1 -1
  8. package/dist/src/core/Stage.d.ts +0 -1
  9. package/dist/src/core/Stage.js +5 -10
  10. package/dist/src/core/Stage.js.map +1 -1
  11. package/dist/src/core/lib/WebGlContextWrapper.js +1 -1
  12. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  13. package/dist/src/core/lib/textureCompression.js +4 -4
  14. package/dist/src/core/lib/textureCompression.js.map +1 -1
  15. package/dist/src/core/renderers/CoreShaderNode.js +2 -2
  16. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  17. package/dist/src/core/renderers/canvas/CanvasRenderer.js +1 -1
  18. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  19. package/dist/src/core/renderers/canvas/CanvasTexture.js +5 -5
  20. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  21. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +5 -6
  22. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +13 -0
  24. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
  25. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  26. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +21 -21
  27. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +1 -1
  29. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/WebGlRenderer.js +13 -13
  31. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +2 -2
  33. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  34. package/dist/src/core/shaders/canvas/Border.js +4 -4
  35. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  36. package/dist/src/core/shaders/canvas/HolePunch.js +3 -3
  37. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  38. package/dist/src/core/shaders/canvas/LinearGradient.js +2 -2
  39. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  40. package/dist/src/core/shaders/canvas/RadialGradient.js +4 -4
  41. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  42. package/dist/src/core/shaders/canvas/Rounded.js +1 -1
  43. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  44. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +3 -3
  45. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  46. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +3 -3
  47. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  48. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +1 -1
  49. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  50. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +1 -1
  51. package/dist/src/core/shaders/templates/BorderTemplate.js +10 -10
  52. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  53. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  54. package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
  55. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  56. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +2 -2
  57. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
  58. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  59. package/dist/src/core/shaders/webgl/Border.js +1 -1
  60. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  61. package/dist/src/core/shaders/webgl/HolePunch.js +2 -2
  62. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  63. package/dist/src/core/shaders/webgl/RadialGradient.js +2 -2
  64. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  65. package/dist/src/core/shaders/webgl/Rounded.js +1 -1
  66. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  67. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +2 -2
  68. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  69. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +2 -2
  70. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  71. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +1 -1
  72. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  73. package/dist/src/core/text-rendering/sdf/Utils.js +2 -2
  74. package/dist/src/core/text-rendering/sdf/Utils.js.map +1 -1
  75. package/dist/src/core/textures/ColorTexture.js +1 -1
  76. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  77. package/dist/src/core/textures/ImageTexture.d.ts +2 -2
  78. package/dist/src/core/textures/ImageTexture.js +11 -11
  79. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  80. package/dist/src/core/textures/NoiseTexture.d.ts +2 -2
  81. package/dist/src/core/textures/NoiseTexture.js +6 -6
  82. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  83. package/dist/src/core/textures/RenderTexture.d.ts +6 -6
  84. package/dist/src/core/textures/RenderTexture.js +10 -10
  85. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  86. package/dist/src/core/textures/SubTexture.d.ts +4 -4
  87. package/dist/src/core/textures/SubTexture.js +8 -8
  88. package/dist/src/core/textures/SubTexture.js.map +1 -1
  89. package/dist/src/core/textures/Texture.d.ts +3 -4
  90. package/dist/src/core/textures/Texture.js +4 -4
  91. package/dist/src/core/textures/Texture.js.map +1 -1
  92. package/dist/src/main-api/Inspector.js +7 -7
  93. package/dist/src/main-api/Inspector.js.map +1 -1
  94. package/dist/src/main-api/Renderer.d.ts +0 -10
  95. package/dist/src/main-api/Renderer.js +2 -4
  96. package/dist/src/main-api/Renderer.js.map +1 -1
  97. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  98. package/package.json +1 -1
  99. package/src/common/CommonTypes.ts +2 -2
  100. package/src/core/CoreNode.test.ts +15 -14
  101. package/src/core/CoreNode.ts +91 -118
  102. package/src/core/CoreTextNode.ts +10 -10
  103. package/src/core/Stage.ts +5 -10
  104. package/src/core/lib/WebGlContextWrapper.ts +1 -1
  105. package/src/core/lib/textureCompression.ts +4 -4
  106. package/src/core/renderers/CoreShaderNode.ts +2 -2
  107. package/src/core/renderers/canvas/CanvasRenderer.ts +2 -2
  108. package/src/core/renderers/canvas/CanvasTexture.ts +5 -5
  109. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +5 -15
  110. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -5
  111. package/src/core/renderers/webgl/WebGlCtxTexture.ts +21 -30
  112. package/src/core/renderers/webgl/WebGlRenderOp.ts +1 -1
  113. package/src/core/renderers/webgl/WebGlRenderer.ts +13 -15
  114. package/src/core/renderers/webgl/WebGlShaderProgram.ts +2 -2
  115. package/src/core/shaders/canvas/Border.ts +4 -4
  116. package/src/core/shaders/canvas/HolePunch.ts +4 -11
  117. package/src/core/shaders/canvas/LinearGradient.ts +2 -2
  118. package/src/core/shaders/canvas/RadialGradient.ts +4 -4
  119. package/src/core/shaders/canvas/Rounded.ts +2 -2
  120. package/src/core/shaders/canvas/RoundedWithBorder.ts +4 -6
  121. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +4 -6
  122. package/src/core/shaders/canvas/RoundedWithShadow.ts +2 -2
  123. package/src/core/shaders/templates/BorderTemplate.ts +11 -11
  124. package/src/core/shaders/templates/HolePunchTemplate.ts +4 -4
  125. package/src/core/shaders/templates/RadialGradientTemplate.ts +4 -4
  126. package/src/core/shaders/webgl/Border.ts +1 -1
  127. package/src/core/shaders/webgl/HolePunch.ts +2 -2
  128. package/src/core/shaders/webgl/RadialGradient.ts +3 -3
  129. package/src/core/shaders/webgl/Rounded.ts +1 -5
  130. package/src/core/shaders/webgl/RoundedWithBorder.ts +2 -6
  131. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +2 -2
  132. package/src/core/shaders/webgl/RoundedWithShadow.ts +1 -5
  133. package/src/core/text-rendering/sdf/Utils.ts +2 -2
  134. package/src/core/textures/ColorTexture.ts +1 -1
  135. package/src/core/textures/ImageTexture.ts +15 -15
  136. package/src/core/textures/NoiseTexture.ts +8 -8
  137. package/src/core/textures/RenderTexture.ts +12 -12
  138. package/src/core/textures/SubTexture.ts +10 -10
  139. package/src/core/textures/Texture.ts +7 -7
  140. package/src/main-api/Inspector.ts +8 -8
  141. package/src/main-api/Renderer.ts +2 -15
  142. package/dist/src/core/platform.d.ts +0 -10
  143. package/dist/src/core/platform.js +0 -81
  144. package/dist/src/core/platform.js.map +0 -1
  145. package/dist/src/core/renderers/CoreShader.d.ts +0 -9
  146. package/dist/src/core/renderers/CoreShader.js +0 -28
  147. package/dist/src/core/renderers/CoreShader.js.map +0 -1
  148. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +0 -33
  149. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
  150. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
  151. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -16
  152. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -124
  153. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
  154. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -14
  155. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -138
  156. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
  157. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -19
  158. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -58
  159. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
  160. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
  161. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
  162. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
  163. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
  164. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -58
  165. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
  166. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
  167. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
  168. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
  169. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -56
  170. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -239
  171. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
  172. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
  173. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
  174. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
  175. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
  176. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -616
  177. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
  178. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -83
  179. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -233
  180. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +0 -1
  181. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
  182. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
  183. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
  184. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
  185. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
  186. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
  187. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
  188. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
  189. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
  190. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
  191. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
  192. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
  193. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
  194. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
  195. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
  196. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
  197. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
  198. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
  199. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
  200. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
  201. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
  202. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
  203. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
  204. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
  205. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
  206. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
  207. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
  208. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
  209. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
  210. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
  211. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
  212. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
  213. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
  214. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
  215. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
  216. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
  217. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
  218. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
  219. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
  220. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
  221. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
  222. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
  223. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
  224. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
  225. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
  226. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
  227. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
  228. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
  229. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
  230. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
  231. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
  232. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
  233. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
  234. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
  235. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
  236. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
  237. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
  238. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
  239. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
  240. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
  241. package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
  242. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  243. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  244. package/dist/src/core/shaders/webgl/Spinner.d.ts +0 -1
  245. package/dist/src/core/shaders/webgl/Spinner.js +0 -2
  246. package/dist/src/core/shaders/webgl/Spinner.js.map +0 -1
  247. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +0 -12
  248. package/dist/src/core/text-rendering/TextRenderingUtils.js +0 -14
  249. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +0 -1
  250. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +0 -72
  251. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +0 -217
  252. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +0 -1
  253. package/dist/src/core/text-rendering/TrFontManager.d.ts +0 -26
  254. package/dist/src/core/text-rendering/TrFontManager.js +0 -131
  255. package/dist/src/core/text-rendering/TrFontManager.js.map +0 -1
  256. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +0 -39
  257. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +0 -125
  258. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +0 -1
  259. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +0 -103
  260. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +0 -21
  261. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +0 -1
  262. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +0 -62
  263. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +0 -88
  264. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +0 -1
  265. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -118
  266. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -63
  267. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +0 -1
  268. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +0 -14
  269. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -66
  270. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +0 -1
  271. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +0 -1
  272. package/dist/src/core/text-rendering/font-face-types/utils.js +0 -38
  273. package/dist/src/core/text-rendering/font-face-types/utils.js.map +0 -1
  274. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +0 -59
  275. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -397
  276. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +0 -1
  277. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -120
  278. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -551
  279. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +0 -1
  280. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +0 -92
  281. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -607
  282. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +0 -1
  283. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +0 -12
  284. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +0 -61
  285. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +0 -1
  286. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +0 -33
  287. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +0 -52
  288. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +0 -1
  289. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +0 -13
  290. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +0 -32
  291. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +0 -1
  292. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +0 -23
  293. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +0 -84
  294. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +0 -1
  295. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +0 -4
  296. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +0 -34
  297. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +0 -1
  298. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +0 -20
  299. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -308
  300. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +0 -1
  301. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +0 -10
  302. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +0 -40
  303. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +0 -1
  304. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +0 -26
  305. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +0 -70
  306. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +0 -1
  307. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +0 -16
  308. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +0 -39
  309. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +0 -1
  310. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +0 -373
  311. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
  312. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +0 -1
  313. package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +0 -12
  314. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +0 -61
  315. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +0 -1
  316. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +0 -45
  317. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +0 -69
  318. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +0 -1
  319. package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
  320. package/dist/src/main-api/DynamicShaderController.js +0 -58
  321. package/dist/src/main-api/DynamicShaderController.js.map +0 -1
  322. package/dist/src/main-api/ShaderController.d.ts +0 -31
  323. package/dist/src/main-api/ShaderController.js +0 -37
  324. package/dist/src/main-api/ShaderController.js.map +0 -1
@@ -1,250 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import { getRgbaComponents } from '../../lib/utils.js';
20
- import { SubTexture } from '../../textures/SubTexture.js';
21
- import { TextureType } from '../../textures/Texture.js';
22
- import { CoreRenderer, } from '../CoreRenderer.js';
23
- import { CanvasCoreTexture } from './CanvasCoreTexture.js';
24
- import { getBorder, getRadius, roundRect, strokeLine, } from './internal/C2DShaderUtils.js';
25
- import { formatRgba, parseColorRgba, parseColor, } from './internal/ColorUtils.js';
26
- import { UnsupportedShader } from './shaders/UnsupportedShader.js';
27
- import { assertTruthy } from '../../../utils.js';
28
- export class CanvasCoreRenderer extends CoreRenderer {
29
- context;
30
- canvas;
31
- pixelRatio;
32
- clearColor;
33
- renderToTextureActive = false;
34
- activeRttNode = null;
35
- defShaderCtr;
36
- constructor(options) {
37
- super(options);
38
- this.mode = 'canvas';
39
- this.shManager.renderer = this;
40
- const { canvas, pixelRatio, clearColor } = options;
41
- this.canvas = canvas;
42
- this.context = canvas.getContext('2d');
43
- this.pixelRatio = pixelRatio;
44
- this.clearColor = clearColor ? getRgbaComponents(clearColor) : undefined;
45
- // Stub for default shader controller since the canvas renderer does not
46
- // (really) support the concept of a shader (yet)
47
- this.defShaderCtr = {
48
- type: 'DefaultShader',
49
- props: {},
50
- shader: new UnsupportedShader('DefaultShader'),
51
- getResolvedProps: () => () => {
52
- return {};
53
- },
54
- };
55
- }
56
- reset() {
57
- this.canvas.width = this.canvas.width; // quick reset canvas
58
- const ctx = this.context;
59
- if (this.clearColor) {
60
- const [r, g, b, a] = this.clearColor;
61
- ctx.fillStyle = `rgba(${r}, ${g}, ${b}, ${a / 255})`;
62
- ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
63
- }
64
- ctx.scale(this.pixelRatio, this.pixelRatio);
65
- }
66
- render() {
67
- // noop
68
- }
69
- addQuad(quad) {
70
- const ctx = this.context;
71
- const { tx, ty, width, height, alpha, colorTl, colorTr, colorBr, ta, tb, tc, td, clippingRect, } = quad;
72
- let texture = quad.texture;
73
- let ctxTexture = undefined;
74
- let frame;
75
- const textureType = texture?.type;
76
- assertTruthy(textureType, 'Texture type is not defined');
77
- // The Canvas2D renderer only supports image and color textures and subTexture images
78
- if (textureType !== TextureType.image &&
79
- textureType !== TextureType.color &&
80
- textureType !== TextureType.subTexture &&
81
- textureType !== TextureType.noise) {
82
- return;
83
- }
84
- if (texture) {
85
- if (texture instanceof SubTexture) {
86
- frame = texture.props;
87
- texture = texture.parentTexture;
88
- }
89
- ctxTexture = texture.ctxTexture;
90
- if (texture.state === 'freed') {
91
- return;
92
- }
93
- if (texture.state !== 'loaded') {
94
- return;
95
- }
96
- }
97
- const color = parseColor(colorTl);
98
- const hasTransform = ta !== 1;
99
- const hasClipping = clippingRect.width !== 0 && clippingRect.height !== 0;
100
- const hasGradient = colorTl !== colorTr || colorTl !== colorBr;
101
- const hasQuadShader = Boolean(quad.shader);
102
- const radius = hasQuadShader ? getRadius(quad) : 0;
103
- const border = hasQuadShader ? getBorder(quad) : undefined;
104
- if (hasTransform || hasClipping || radius) {
105
- ctx.save();
106
- }
107
- if (hasClipping) {
108
- const path = new Path2D();
109
- const { x, y, width, height } = clippingRect;
110
- path.rect(x, y, width, height);
111
- ctx.clip(path);
112
- }
113
- if (hasTransform) {
114
- // Quad transform:
115
- // | ta tb tx |
116
- // | tc td ty |
117
- // | 0 0 1 |
118
- // C2D transform:
119
- // | a c e |
120
- // | b d f |
121
- // | 0 0 1 |
122
- const scale = this.pixelRatio;
123
- ctx.setTransform(ta, tc, tb, td, tx * scale, ty * scale);
124
- ctx.scale(scale, scale);
125
- ctx.translate(-tx, -ty);
126
- }
127
- if (radius) {
128
- const path = new Path2D();
129
- roundRect.call(path, tx, ty, width, height, radius);
130
- ctx.clip(path);
131
- }
132
- if ((textureType === TextureType.image ||
133
- textureType === TextureType.subTexture ||
134
- textureType === TextureType.noise) &&
135
- ctxTexture) {
136
- const image = ctxTexture.getImage(color);
137
- ctx.globalAlpha = color.a ?? alpha;
138
- if (frame) {
139
- ctx.drawImage(image, frame.x, frame.y, frame.width, frame.height, tx, ty, width, height);
140
- }
141
- else {
142
- try {
143
- ctx.drawImage(image, tx, ty, width, height);
144
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
145
- }
146
- catch (error) {
147
- // noop
148
- }
149
- }
150
- ctx.globalAlpha = 1;
151
- }
152
- else if (textureType === TextureType.color && hasGradient) {
153
- let endX = tx;
154
- let endY = ty;
155
- let endColor;
156
- if (colorTl === colorTr) {
157
- // vertical
158
- endX = tx;
159
- endY = ty + height;
160
- endColor = parseColor(colorBr);
161
- }
162
- else {
163
- // horizontal
164
- endX = tx + width;
165
- endY = ty;
166
- endColor = parseColor(colorTr);
167
- }
168
- const gradient = ctx.createLinearGradient(tx, ty, endX, endY);
169
- gradient.addColorStop(0, formatRgba(color));
170
- gradient.addColorStop(1, formatRgba(endColor));
171
- ctx.fillStyle = gradient;
172
- ctx.fillRect(tx, ty, width, height);
173
- }
174
- else if (textureType === TextureType.color) {
175
- ctx.fillStyle = formatRgba(color);
176
- ctx.fillRect(tx, ty, width, height);
177
- }
178
- if (border && border.width) {
179
- const borderWidth = border.width;
180
- const borderInnerWidth = border.width / 2;
181
- const borderColor = formatRgba(parseColorRgba(border.color ?? 0));
182
- ctx.beginPath();
183
- ctx.lineWidth = borderWidth;
184
- ctx.strokeStyle = borderColor;
185
- ctx.globalAlpha = alpha;
186
- if (radius) {
187
- roundRect.call(ctx, tx + borderInnerWidth, ty + borderInnerWidth, width - borderWidth, height - borderWidth, radius);
188
- ctx.stroke();
189
- }
190
- else {
191
- ctx.strokeRect(tx + borderInnerWidth, ty + borderInnerWidth, width - borderWidth, height - borderWidth);
192
- }
193
- ctx.globalAlpha = 1;
194
- }
195
- else if (hasQuadShader) {
196
- const borderTop = getBorder(quad, 'Top');
197
- const borderRight = getBorder(quad, 'Right');
198
- const borderBottom = getBorder(quad, 'Bottom');
199
- const borderLeft = getBorder(quad, 'Left');
200
- if (borderTop) {
201
- strokeLine(ctx, tx, ty, width, height, borderTop.width, borderTop.color, 'Top');
202
- }
203
- if (borderRight) {
204
- strokeLine(ctx, tx, ty, width, height, borderRight.width, borderRight.color, 'Right');
205
- }
206
- if (borderBottom) {
207
- strokeLine(ctx, tx, ty, width, height, borderBottom.width, borderBottom.color, 'Bottom');
208
- }
209
- if (borderLeft) {
210
- strokeLine(ctx, tx, ty, width, height, borderLeft.width, borderLeft.color, 'Left');
211
- }
212
- }
213
- if (hasTransform || hasClipping || radius) {
214
- ctx.restore();
215
- }
216
- }
217
- createCtxTexture(textureSource) {
218
- return new CanvasCoreTexture(this.txMemManager, textureSource);
219
- }
220
- getShaderManager() {
221
- return this.shManager;
222
- }
223
- getDefShaderCtr() {
224
- return this.defShaderCtr;
225
- }
226
- renderRTTNodes() {
227
- // noop
228
- }
229
- removeRTTNode(node) {
230
- // noop
231
- }
232
- renderToTexture(node) {
233
- // noop
234
- }
235
- getBufferInfo() {
236
- return null;
237
- }
238
- getQuadCount() {
239
- return null;
240
- }
241
- /**
242
- * Updates the clear color of the canvas renderer.
243
- *
244
- * @param color - The color to set as the clear color.
245
- */
246
- updateClearColor(color) {
247
- this.clearColor = color ? getRgbaComponents(color) : undefined;
248
- }
249
- }
250
- //# sourceMappingURL=CanvasCoreRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanvasCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/canvas/CanvasCoreRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import { CoreContextTexture } from '../CoreContextTexture.js';
2
- import { type IParsedColor } from './internal/ColorUtils.js';
3
- export declare class CanvasCoreTexture extends CoreContextTexture {
4
- protected image: ImageBitmap | HTMLCanvasElement | HTMLImageElement | undefined;
5
- protected tintCache: {
6
- key: string;
7
- image: HTMLCanvasElement;
8
- } | undefined;
9
- load(): Promise<void>;
10
- free(): void;
11
- updateMemSize(): void;
12
- hasImage(): boolean;
13
- getImage(color: IParsedColor): ImageBitmap | HTMLCanvasElement | HTMLImageElement;
14
- protected tintTexture(source: ImageBitmap | HTMLCanvasElement | HTMLImageElement, color: string): HTMLCanvasElement;
15
- private onLoadRequest;
16
- }
@@ -1,124 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import { assertTruthy } from '../../../utils.js';
20
- import { CoreContextTexture } from '../CoreContextTexture.js';
21
- import { formatRgba } from './internal/ColorUtils.js';
22
- export class CanvasCoreTexture extends CoreContextTexture {
23
- image;
24
- tintCache;
25
- async load() {
26
- this.textureSource.setState('loading');
27
- try {
28
- const size = await this.onLoadRequest();
29
- this.textureSource.setState('loaded', size);
30
- this.textureSource.freeTextureData();
31
- this.updateMemSize();
32
- }
33
- catch (err) {
34
- this.textureSource.setState('failed', err);
35
- this.textureSource.freeTextureData();
36
- throw err;
37
- }
38
- }
39
- free() {
40
- this.image = undefined;
41
- this.tintCache = undefined;
42
- this.textureSource.setState('freed');
43
- this.setTextureMemUse(0);
44
- this.textureSource.freeTextureData();
45
- }
46
- updateMemSize() {
47
- // Counting memory usage for:
48
- // - main image
49
- // - tinted image
50
- const mult = this.tintCache ? 8 : 4;
51
- if (this.textureSource.dimensions) {
52
- const { width, height } = this.textureSource.dimensions;
53
- this.setTextureMemUse(width * height * mult);
54
- }
55
- }
56
- hasImage() {
57
- return this.image !== undefined;
58
- }
59
- getImage(color) {
60
- const image = this.image;
61
- assertTruthy(image, 'Attempt to get unloaded image texture');
62
- if (color.isWhite) {
63
- if (this.tintCache) {
64
- this.tintCache = undefined;
65
- this.updateMemSize();
66
- }
67
- return image;
68
- }
69
- const key = formatRgba(color);
70
- if (this.tintCache?.key === key) {
71
- return this.tintCache.image;
72
- }
73
- const tintedImage = this.tintTexture(image, key);
74
- this.tintCache = {
75
- key,
76
- image: tintedImage,
77
- };
78
- this.updateMemSize();
79
- return tintedImage;
80
- }
81
- tintTexture(source, color) {
82
- const { width, height } = source;
83
- const canvas = document.createElement('canvas');
84
- canvas.width = width;
85
- canvas.height = height;
86
- const ctx = canvas.getContext('2d');
87
- if (ctx) {
88
- // fill with target color
89
- ctx.fillStyle = color;
90
- ctx.globalCompositeOperation = 'copy';
91
- ctx.fillRect(0, 0, width, height);
92
- // multiply with image, resulting in non-transparent tinted image
93
- ctx.globalCompositeOperation = 'multiply';
94
- ctx.drawImage(source, 0, 0, width, height, 0, 0, width, height);
95
- // apply original image alpha
96
- ctx.globalCompositeOperation = 'destination-in';
97
- ctx.drawImage(source, 0, 0, width, height, 0, 0, width, height);
98
- }
99
- return canvas;
100
- }
101
- async onLoadRequest() {
102
- assertTruthy(this.textureSource?.textureData?.data, 'Texture data is null');
103
- const { data } = this.textureSource.textureData;
104
- // TODO: canvas from text renderer should be able to provide the canvas directly
105
- // instead of having to re-draw it into a new canvas...
106
- if (data instanceof ImageData) {
107
- const canvas = document.createElement('canvas');
108
- canvas.width = data.width;
109
- canvas.height = data.height;
110
- const ctx = canvas.getContext('2d');
111
- if (ctx)
112
- ctx.putImageData(data, 0, 0);
113
- this.image = canvas;
114
- return { width: data.width, height: data.height };
115
- }
116
- else if ((typeof ImageBitmap !== 'undefined' && data instanceof ImageBitmap) ||
117
- data instanceof HTMLImageElement) {
118
- this.image = data;
119
- return { width: data.width, height: data.height };
120
- }
121
- return { width: 0, height: 0 };
122
- }
123
- }
124
- //# sourceMappingURL=CanvasCoreTexture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanvasCoreTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/canvas/CanvasCoreTexture.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import type { QuadOptions } from '../../CoreRenderer.js';
2
- import type { BorderEffectProps } from '../../webgl/shaders/effects/BorderEffect.js';
3
- import type { RadiusEffectProps } from '../../webgl/shaders/effects/RadiusEffect.js';
4
- type Direction = 'Top' | 'Right' | 'Bottom' | 'Left';
5
- /**
6
- * Extract `RoundedRectangle` shader radius to apply as a clipping
7
- */
8
- export declare function getRadius(quad: QuadOptions): RadiusEffectProps['radius'];
9
- /**
10
- * Extract `RoundedRectangle` shader radius to apply as a clipping */
11
- export declare function getBorder(quad: QuadOptions, direction?: '' | Direction): BorderEffectProps | undefined;
12
- export declare function roundRect(this: CanvasRenderingContext2D | Path2D, x: number, y: number, width: number, height: number, radius: number | DOMPointInit | (number | DOMPointInit)[]): void;
13
- export declare function strokeLine(ctx: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, lineWidth: number | undefined, color: number | undefined, direction: Direction): void;
14
- export {};
@@ -1,138 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import { ROUNDED_RECTANGLE_SHADER_TYPE, UnsupportedShader, } from '../shaders/UnsupportedShader.js';
20
- import { formatRgba, parseColorRgba } from './ColorUtils.js';
21
- /**
22
- * Extract `RoundedRectangle` shader radius to apply as a clipping
23
- */
24
- export function getRadius(quad) {
25
- if (quad.shader instanceof UnsupportedShader) {
26
- const shType = quad.shader.shType;
27
- if (shType === ROUNDED_RECTANGLE_SHADER_TYPE) {
28
- return quad.shaderProps?.radius ?? 0;
29
- }
30
- else if (shType === 'DynamicShader') {
31
- const effects = quad.shaderProps?.effects;
32
- if (effects) {
33
- const effect = effects.find((effect) => {
34
- return effect.type === 'radius' && effect?.props?.radius;
35
- });
36
- return (effect && effect.type === 'radius' && effect.props.radius) || 0;
37
- }
38
- }
39
- }
40
- return 0;
41
- }
42
- /**
43
- * Extract `RoundedRectangle` shader radius to apply as a clipping */
44
- export function getBorder(quad, direction = '') {
45
- if (quad.shader instanceof UnsupportedShader) {
46
- const shType = quad.shader.shType;
47
- if (shType === 'DynamicShader') {
48
- const effects = quad.shaderProps?.effects;
49
- if (effects && effects.length) {
50
- const effect = effects.find((effect) => {
51
- return (effect.type === `border${direction}` &&
52
- effect.props &&
53
- effect.props.width);
54
- });
55
- return effect && effect.props;
56
- }
57
- }
58
- }
59
- return undefined;
60
- }
61
- export function roundRect(x, y, width, height, radius) {
62
- const context = Object.getPrototypeOf(this);
63
- if (!context.roundRect) {
64
- const fixOverlappingCorners = (radii) => {
65
- const maxRadius = Math.min(width / 2, height / 2);
66
- const totalHorizontal = radii.topLeft + radii.topRight + radii.bottomRight + radii.bottomLeft;
67
- if (totalHorizontal > width || totalHorizontal > height) {
68
- const scale = maxRadius /
69
- Math.max(radii.topLeft, radii.topRight, radii.bottomRight, radii.bottomLeft);
70
- radii.topLeft *= scale;
71
- radii.topRight *= scale;
72
- radii.bottomRight *= scale;
73
- radii.bottomLeft *= scale;
74
- }
75
- };
76
- const radii = typeof radius === 'number'
77
- ? {
78
- topLeft: radius,
79
- topRight: radius,
80
- bottomRight: radius,
81
- bottomLeft: radius,
82
- }
83
- : { topLeft: 0, topRight: 0, bottomRight: 0, bottomLeft: 0, ...radius };
84
- fixOverlappingCorners(radii);
85
- this.moveTo(x + radii.topLeft, y);
86
- this.lineTo(x + width - radii.topRight, y);
87
- this.ellipse(x + width - radii.topRight, y + radii.topRight, radii.topRight, radii.topRight, 0, 1.5 * Math.PI, 2 * Math.PI);
88
- this.lineTo(x + width, y + height - radii.bottomRight);
89
- this.ellipse(x + width - radii.bottomRight, y + height - radii.bottomRight, radii.bottomRight, radii.bottomRight, 0, 0, 0.5 * Math.PI);
90
- this.lineTo(x + radii.bottomLeft, y + height);
91
- this.ellipse(x + radii.bottomLeft, y + height - radii.bottomLeft, radii.bottomLeft, radii.bottomLeft, 0, 0.5 * Math.PI, Math.PI);
92
- this.lineTo(x, y + radii.topLeft);
93
- this.ellipse(x + radii.topLeft, y + radii.topLeft, radii.topLeft, radii.topLeft, 0, Math.PI, 1.5 * Math.PI);
94
- }
95
- else {
96
- this.roundRect(x, y, width, height, radius);
97
- }
98
- }
99
- export function strokeLine(ctx, x, y, width, height, lineWidth = 0, color, direction) {
100
- if (!lineWidth) {
101
- return;
102
- }
103
- let sx, sy = 0;
104
- let ex, ey = 0;
105
- switch (direction) {
106
- case 'Top':
107
- sx = x;
108
- sy = y;
109
- ex = width + x;
110
- ey = y;
111
- break;
112
- case 'Right':
113
- sx = x + width;
114
- sy = y;
115
- ex = x + width;
116
- ey = y + height;
117
- break;
118
- case 'Bottom':
119
- sx = x;
120
- sy = y + height;
121
- ex = x + width;
122
- ey = y + height;
123
- break;
124
- case 'Left':
125
- sx = x;
126
- sy = y;
127
- ex = x;
128
- ey = y + height;
129
- break;
130
- }
131
- ctx.beginPath();
132
- ctx.lineWidth = lineWidth;
133
- ctx.strokeStyle = formatRgba(parseColorRgba(color ?? 0));
134
- ctx.moveTo(sx, sy);
135
- ctx.lineTo(ex, ey);
136
- ctx.stroke();
137
- }
138
- //# sourceMappingURL=C2DShaderUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"C2DShaderUtils.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/canvas/internal/C2DShaderUtils.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export interface IParsedColor {
2
- isWhite: boolean;
3
- a: number;
4
- r: number;
5
- g: number;
6
- b: number;
7
- }
8
- /**
9
- * Extract color components
10
- */
11
- export declare function parseColor(abgr: number): IParsedColor;
12
- /**
13
- * Extract color components
14
- */
15
- export declare function parseColorRgba(rgba: number): IParsedColor;
16
- /**
17
- * Format a parsed color into a rgba CSS color
18
- */
19
- export declare function formatRgba({ a, r, g, b }: IParsedColor): string;
@@ -1,58 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- const WHITE = {
20
- isWhite: true,
21
- a: 1,
22
- r: 0xff,
23
- g: 0xff,
24
- b: 0xff,
25
- };
26
- /**
27
- * Extract color components
28
- */
29
- export function parseColor(abgr) {
30
- if (abgr === 0xffffffff) {
31
- return WHITE;
32
- }
33
- const a = ((abgr >>> 24) & 0xff) / 255;
34
- const b = (abgr >>> 16) & 0xff & 0xff;
35
- const g = (abgr >>> 8) & 0xff & 0xff;
36
- const r = abgr & 0xff & 0xff;
37
- return { isWhite: false, a, r, g, b };
38
- }
39
- /**
40
- * Extract color components
41
- */
42
- export function parseColorRgba(rgba) {
43
- if (rgba === 0xffffffff) {
44
- return WHITE;
45
- }
46
- const r = (rgba >>> 24) & 0xff;
47
- const g = (rgba >>> 16) & 0xff & 0xff;
48
- const b = (rgba >>> 8) & 0xff & 0xff;
49
- const a = (rgba & 0xff & 0xff) / 255;
50
- return { isWhite: false, r, g, b, a };
51
- }
52
- /**
53
- * Format a parsed color into a rgba CSS color
54
- */
55
- export function formatRgba({ a, r, g, b }) {
56
- return `rgba(${r},${g},${b},${a})`;
57
- }
58
- //# sourceMappingURL=ColorUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ColorUtils.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/canvas/internal/ColorUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,MAAM,KAAK,GAAiB;IAC1B,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAgB;IACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC"}