@lightningjs/renderer 2.19.0 → 2.20.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 (257) hide show
  1. package/dist/exports/utils.d.ts +2 -1
  2. package/dist/exports/utils.js +2 -1
  3. package/dist/exports/utils.js.map +1 -1
  4. package/dist/src/core/CoreNode.js +11 -11
  5. package/dist/src/core/CoreNode.js.map +1 -1
  6. package/dist/src/core/TextureMemoryManager.js +1 -1
  7. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  8. package/dist/src/core/lib/WebGlContextWrapper.d.ts +14 -0
  9. package/dist/src/core/lib/WebGlContextWrapper.js +35 -0
  10. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  11. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  12. package/dist/src/core/lib/textureCompression.js +301 -65
  13. package/dist/src/core/lib/textureCompression.js.map +1 -1
  14. package/dist/src/core/renderers/CoreRenderer.d.ts +2 -2
  15. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +4 -0
  16. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +14 -11
  17. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +1 -1
  19. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +49 -20
  20. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  21. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +2 -7
  22. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +18 -49
  23. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  24. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +0 -2
  25. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  26. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -6
  27. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -11
  29. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +5 -10
  31. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +5 -10
  33. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
  34. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -12
  35. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  36. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +1 -1
  37. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +1 -1
  38. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +1 -1
  39. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +1 -1
  40. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +5 -5
  41. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +1 -1
  42. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +1 -1
  43. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +1 -1
  44. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +1 -1
  45. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +5 -5
  46. package/dist/src/core/textures/Texture.d.ts +12 -5
  47. package/dist/src/core/textures/Texture.js.map +1 -1
  48. package/dist/src/main-api/Inspector.js +10 -6
  49. package/dist/src/main-api/Inspector.js.map +1 -1
  50. package/dist/src/main-api/Renderer.js +1 -1
  51. package/dist/src/main-api/Renderer.js.map +1 -1
  52. package/dist/src/utils.d.ts +1 -6
  53. package/dist/src/utils.js +2 -9
  54. package/dist/src/utils.js.map +1 -1
  55. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  56. package/exports/utils.ts +7 -1
  57. package/package.json +1 -1
  58. package/src/core/CoreNode.ts +12 -14
  59. package/src/core/TextureMemoryManager.ts +1 -1
  60. package/src/core/lib/WebGlContextWrapper.ts +49 -0
  61. package/src/core/lib/textureCompression.ts +416 -75
  62. package/src/core/renderers/CoreRenderer.ts +2 -2
  63. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +16 -14
  64. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +1 -1
  65. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +53 -32
  66. package/src/core/renderers/webgl/WebGlCoreShader.ts +27 -75
  67. package/src/core/renderers/webgl/internal/ShaderUtils.ts +0 -2
  68. package/src/core/renderers/webgl/shaders/DefaultShader.ts +3 -6
  69. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -11
  70. package/src/core/renderers/webgl/shaders/DynamicShader.ts +5 -10
  71. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +5 -10
  72. package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -12
  73. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +1 -1
  74. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +1 -1
  75. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +1 -1
  76. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +1 -1
  77. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +5 -5
  78. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +1 -1
  79. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +1 -1
  80. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +1 -1
  81. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +1 -1
  82. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +5 -5
  83. package/src/core/textures/Texture.ts +13 -6
  84. package/src/main-api/Inspector.ts +10 -6
  85. package/src/main-api/Renderer.ts +1 -1
  86. package/src/utils.ts +4 -4
  87. package/dist/exports/canvas-shaders.d.ts +0 -10
  88. package/dist/exports/canvas-shaders.js +0 -27
  89. package/dist/exports/canvas-shaders.js.map +0 -1
  90. package/dist/exports/webgl-shaders.d.ts +0 -11
  91. package/dist/exports/webgl-shaders.js +0 -28
  92. package/dist/exports/webgl-shaders.js.map +0 -1
  93. package/dist/src/core/lib/colorCache.d.ts +0 -1
  94. package/dist/src/core/lib/colorCache.js +0 -19
  95. package/dist/src/core/lib/colorCache.js.map +0 -1
  96. package/dist/src/core/lib/colorParser.d.ts +0 -21
  97. package/dist/src/core/lib/colorParser.js +0 -72
  98. package/dist/src/core/lib/colorParser.js.map +0 -1
  99. package/dist/src/core/platforms/Platform.d.ts +0 -37
  100. package/dist/src/core/platforms/Platform.js +0 -22
  101. package/dist/src/core/platforms/Platform.js.map +0 -1
  102. package/dist/src/core/platforms/web/WebPlatform.d.ts +0 -9
  103. package/dist/src/core/platforms/web/WebPlatform.js +0 -84
  104. package/dist/src/core/platforms/web/WebPlatform.js.map +0 -1
  105. package/dist/src/core/renderers/CoreShaderNode.d.ts +0 -59
  106. package/dist/src/core/renderers/CoreShaderNode.js +0 -113
  107. package/dist/src/core/renderers/CoreShaderNode.js.map +0 -1
  108. package/dist/src/core/renderers/CoreShaderProgram.d.ts +0 -4
  109. package/dist/src/core/renderers/CoreShaderProgram.js +0 -20
  110. package/dist/src/core/renderers/CoreShaderProgram.js.map +0 -1
  111. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -35
  112. package/dist/src/core/renderers/canvas/CanvasRenderer.js +0 -201
  113. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +0 -1
  114. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +0 -21
  115. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +0 -58
  116. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +0 -1
  117. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +0 -16
  118. package/dist/src/core/renderers/canvas/CanvasTexture.js +0 -125
  119. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +0 -1
  120. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +0 -12
  121. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +0 -57
  122. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +0 -1
  123. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +0 -22
  124. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +0 -67
  125. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +0 -1
  126. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +0 -56
  127. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -236
  128. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +0 -1
  129. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
  130. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -125
  131. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  132. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +0 -136
  133. package/dist/src/core/renderers/webgl/WebGlRenderer.js +0 -573
  134. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +0 -1
  135. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +0 -222
  136. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +0 -331
  137. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +0 -1
  138. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +0 -37
  139. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +0 -218
  140. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +0 -1
  141. package/dist/src/core/shaders/canvas/Border.d.ts +0 -9
  142. package/dist/src/core/shaders/canvas/Border.js +0 -57
  143. package/dist/src/core/shaders/canvas/Border.js.map +0 -1
  144. package/dist/src/core/shaders/canvas/HolePunch.d.ts +0 -7
  145. package/dist/src/core/shaders/canvas/HolePunch.js +0 -38
  146. package/dist/src/core/shaders/canvas/HolePunch.js.map +0 -1
  147. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +0 -10
  148. package/dist/src/core/shaders/canvas/LinearGradient.js +0 -48
  149. package/dist/src/core/shaders/canvas/LinearGradient.js.map +0 -1
  150. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +0 -11
  151. package/dist/src/core/shaders/canvas/RadialGradient.js +0 -70
  152. package/dist/src/core/shaders/canvas/RadialGradient.js.map +0 -1
  153. package/dist/src/core/shaders/canvas/Rounded.d.ts +0 -7
  154. package/dist/src/core/shaders/canvas/Rounded.js +0 -33
  155. package/dist/src/core/shaders/canvas/Rounded.js.map +0 -1
  156. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +0 -7
  157. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +0 -43
  158. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +0 -1
  159. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +0 -8
  160. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +0 -41
  161. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +0 -1
  162. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +0 -7
  163. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +0 -40
  164. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +0 -1
  165. package/dist/src/core/shaders/canvas/Shadow.d.ts +0 -8
  166. package/dist/src/core/shaders/canvas/Shadow.js +0 -31
  167. package/dist/src/core/shaders/canvas/Shadow.js.map +0 -1
  168. package/dist/src/core/shaders/canvas/utils/render.d.ts +0 -5
  169. package/dist/src/core/shaders/canvas/utils/render.js +0 -84
  170. package/dist/src/core/shaders/canvas/utils/render.js.map +0 -1
  171. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +0 -37
  172. package/dist/src/core/shaders/templates/BorderTemplate.js +0 -73
  173. package/dist/src/core/shaders/templates/BorderTemplate.js.map +0 -1
  174. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +0 -46
  175. package/dist/src/core/shaders/templates/HolePunchTemplate.js +0 -35
  176. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +0 -1
  177. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +0 -23
  178. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -47
  179. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +0 -1
  180. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +0 -31
  181. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +0 -49
  182. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +0 -1
  183. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +0 -29
  184. package/dist/src/core/shaders/templates/RoundedTemplate.js +0 -67
  185. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +0 -1
  186. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +0 -7
  187. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -24
  188. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +0 -1
  189. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +0 -6
  190. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +0 -23
  191. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +0 -1
  192. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +0 -6
  193. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -23
  194. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +0 -1
  195. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +0 -34
  196. package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -66
  197. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +0 -1
  198. package/dist/src/core/shaders/utils.d.ts +0 -5
  199. package/dist/src/core/shaders/utils.js +0 -41
  200. package/dist/src/core/shaders/utils.js.map +0 -1
  201. package/dist/src/core/shaders/webgl/Border.d.ts +0 -3
  202. package/dist/src/core/shaders/webgl/Border.js +0 -110
  203. package/dist/src/core/shaders/webgl/Border.js.map +0 -1
  204. package/dist/src/core/shaders/webgl/Default.d.ts +0 -2
  205. package/dist/src/core/shaders/webgl/Default.js +0 -86
  206. package/dist/src/core/shaders/webgl/Default.js.map +0 -1
  207. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +0 -2
  208. package/dist/src/core/shaders/webgl/DefaultBatched.js +0 -104
  209. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +0 -1
  210. package/dist/src/core/shaders/webgl/HolePunch.d.ts +0 -3
  211. package/dist/src/core/shaders/webgl/HolePunch.js +0 -65
  212. package/dist/src/core/shaders/webgl/HolePunch.js.map +0 -1
  213. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +0 -3
  214. package/dist/src/core/shaders/webgl/LinearGradient.js +0 -99
  215. package/dist/src/core/shaders/webgl/LinearGradient.js.map +0 -1
  216. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +0 -3
  217. package/dist/src/core/shaders/webgl/RadialGradient.js +0 -96
  218. package/dist/src/core/shaders/webgl/RadialGradient.js.map +0 -1
  219. package/dist/src/core/shaders/webgl/Rounded.d.ts +0 -7
  220. package/dist/src/core/shaders/webgl/Rounded.js +0 -86
  221. package/dist/src/core/shaders/webgl/Rounded.js.map +0 -1
  222. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +0 -3
  223. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +0 -140
  224. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +0 -1
  225. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +0 -3
  226. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +0 -162
  227. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +0 -1
  228. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +0 -3
  229. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +0 -84
  230. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +0 -1
  231. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -30
  232. package/dist/src/core/shaders/webgl/SdfShader.js +0 -107
  233. package/dist/src/core/shaders/webgl/SdfShader.js.map +0 -1
  234. package/dist/src/core/shaders/webgl/Shadow.d.ts +0 -3
  235. package/dist/src/core/shaders/webgl/Shadow.js +0 -110
  236. package/dist/src/core/shaders/webgl/Shadow.js.map +0 -1
  237. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +0 -59
  238. package/dist/src/core/text-rendering/CanvasFontHandler.js +0 -221
  239. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +0 -1
  240. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +0 -17
  241. package/dist/src/core/text-rendering/CanvasTextRenderer.js +0 -157
  242. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +0 -1
  243. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +0 -182
  244. package/dist/src/core/text-rendering/SdfFontHandler.js +0 -388
  245. package/dist/src/core/text-rendering/SdfFontHandler.js.map +0 -1
  246. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +0 -17
  247. package/dist/src/core/text-rendering/SdfTextRenderer.js +0 -311
  248. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +0 -1
  249. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +0 -19
  250. package/dist/src/core/text-rendering/TextLayoutEngine.js +0 -324
  251. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +0 -1
  252. package/dist/src/core/text-rendering/TextRenderer.d.ts +0 -368
  253. package/dist/src/core/text-rendering/TextRenderer.js +0 -20
  254. package/dist/src/core/text-rendering/TextRenderer.js.map +0 -1
  255. package/dist/src/core/text-rendering/Utils.d.ts +0 -30
  256. package/dist/src/core/text-rendering/Utils.js +0 -84
  257. package/dist/src/core/text-rendering/Utils.js.map +0 -1
@@ -1,113 +0,0 @@
1
- import { deepClone } from '../../utils.js';
2
- import { UpdateType } from '../CoreNode.js';
3
- export function isAdvancedShaderProp(obj) {
4
- return obj !== null && typeof obj === 'object' && obj.default !== undefined;
5
- }
6
- export function resolveShaderProps(props, propsConfig) {
7
- for (const key in propsConfig) {
8
- if (!isAdvancedShaderProp(propsConfig[key]) && props[key] === undefined) {
9
- props[key] = propsConfig[key];
10
- continue;
11
- }
12
- const pConfig = propsConfig[key];
13
- const hasValue = props[key] !== undefined;
14
- if (pConfig.resolve !== undefined) {
15
- props[key] = pConfig.resolve(props[key], props);
16
- continue;
17
- }
18
- if (hasValue && pConfig.set !== undefined) {
19
- pConfig.set(props[key], props);
20
- continue;
21
- }
22
- if (hasValue) {
23
- continue;
24
- }
25
- if (props[key] === undefined && pConfig.get === undefined) {
26
- props[key] = deepClone(pConfig.default);
27
- continue;
28
- }
29
- props[key] = pConfig.get(props);
30
- }
31
- }
32
- /**
33
- * CoreShaderNode is a base class that manages the shader prop values.
34
- * When a prop is being updated the CoreShaderNode will notify either the associated CoreNode,
35
- * or the Stage that there has been a change and a new render of the scene.
36
- */
37
- export class CoreShaderNode {
38
- shaderKey;
39
- stage;
40
- shaderType;
41
- propsConfig;
42
- resolvedProps = undefined;
43
- definedProps = undefined;
44
- node = null;
45
- update = undefined;
46
- constructor(shaderKey, type, stage, props) {
47
- this.shaderKey = shaderKey;
48
- this.stage = stage;
49
- this.shaderType = type;
50
- if (props !== undefined) {
51
- /**
52
- * props are already resolved by shadermanager
53
- */
54
- this.resolvedProps = props;
55
- this.defineProps(props);
56
- }
57
- }
58
- defineProps(props) {
59
- const definedProps = {};
60
- for (const key in props) {
61
- const propConfig = this.shaderType.props[key];
62
- const isAdvancedProp = isAdvancedShaderProp(propConfig);
63
- Object.defineProperty(definedProps, key, {
64
- get: () => {
65
- return this.resolvedProps[key];
66
- },
67
- set: (value) => {
68
- // this.resolvedProps![key as keyof Props] = value;
69
- if (isAdvancedProp === true && propConfig.resolve !== undefined) {
70
- this.resolvedProps[key] = propConfig.resolve(value, this.resolvedProps);
71
- }
72
- else if (isAdvancedProp === true && propConfig.set !== undefined) {
73
- propConfig.set(value, this.resolvedProps);
74
- }
75
- else {
76
- this.resolvedProps[key] = value;
77
- }
78
- if (this.update !== undefined && this.node !== null) {
79
- this.node.setUpdateType(UpdateType.RecalcUniforms);
80
- }
81
- else {
82
- this.stage.requestRender();
83
- }
84
- },
85
- });
86
- }
87
- this.definedProps = definedProps;
88
- }
89
- attachNode(node) {
90
- this.node = node;
91
- }
92
- createValueKey() {
93
- let valueKey = '';
94
- for (const key in this.resolvedProps) {
95
- valueKey += `${key}:${this.resolvedProps[key]};`;
96
- }
97
- valueKey += `node-width:${this.node.w}`;
98
- valueKey += `node-height:${this.node.h}`;
99
- return valueKey;
100
- }
101
- get props() {
102
- return this.definedProps;
103
- }
104
- set props(props) {
105
- if (props === undefined) {
106
- return;
107
- }
108
- for (const key in props) {
109
- this.props[key] = props[key];
110
- }
111
- }
112
- }
113
- //# sourceMappingURL=CoreShaderNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreShaderNode.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreShaderNode.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export interface CoreShaderProgram {
2
- attach?: () => void;
3
- detach?: () => void;
4
- }
@@ -1,20 +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
- export {};
20
- //# sourceMappingURL=CoreShaderProgram.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreShaderProgram.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreShaderProgram.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -1,35 +0,0 @@
1
- import type { CoreNode } from '../../CoreNode.js';
2
- import { type Texture } from '../../textures/Texture.js';
3
- import type { CoreContextTexture } from '../CoreContextTexture.js';
4
- import { CoreRenderer, type CoreRendererOptions, type QuadOptions } from '../CoreRenderer.js';
5
- import { CanvasShaderNode, type CanvasShaderType } from './CanvasShaderNode.js';
6
- export declare class CanvasRenderer extends CoreRenderer {
7
- private context;
8
- private canvas;
9
- private pixelRatio;
10
- private clearColor;
11
- renderToTextureActive: boolean;
12
- activeRttNode: CoreNode | null;
13
- constructor(options: CoreRendererOptions);
14
- reset(): void;
15
- render(): void;
16
- addQuad(quad: QuadOptions): void;
17
- renderContext(quad: QuadOptions): void;
18
- createShaderNode(shaderKey: string, shaderType: Readonly<CanvasShaderType>, props?: Record<string, any>): CanvasShaderNode<Record<string, any>, Record<string, unknown>>;
19
- createShaderProgram(shaderConfig: any): null;
20
- supportsShaderType(shaderType: Readonly<CanvasShaderType>): boolean;
21
- createCtxTexture(textureSource: Texture): CoreContextTexture;
22
- renderRTTNodes(): void;
23
- removeRTTNode(node: CoreNode): void;
24
- renderToTexture(node: CoreNode): void;
25
- getBufferInfo(): null;
26
- getQuadCount(): null;
27
- /**
28
- * Updates the clear color of the canvas renderer.
29
- *
30
- * @param color - The color to set as the clear color.
31
- */
32
- updateClearColor(color: number): void;
33
- updateViewport(): void;
34
- getDefaultShaderNode(): null;
35
- }
@@ -1,201 +0,0 @@
1
- import { SubTexture } from '../../textures/SubTexture.js';
2
- import { TextureType } from '../../textures/Texture.js';
3
- import { CoreRenderer, } from '../CoreRenderer.js';
4
- import { CanvasTexture } from './CanvasTexture.js';
5
- import { parseColor } from '../../lib/colorParser.js';
6
- import { assertTruthy } from '../../../utils.js';
7
- import { CanvasShaderNode } from './CanvasShaderNode.js';
8
- import { normalizeCanvasColor } from '../../lib/colorCache.js';
9
- export class CanvasRenderer extends CoreRenderer {
10
- context;
11
- canvas;
12
- pixelRatio;
13
- clearColor;
14
- renderToTextureActive = false;
15
- activeRttNode = null;
16
- constructor(options) {
17
- super(options);
18
- this.mode = 'canvas';
19
- const { canvas } = options;
20
- this.canvas = canvas;
21
- this.context = canvas.getContext('2d');
22
- this.pixelRatio = this.stage.pixelRatio;
23
- this.clearColor = normalizeCanvasColor(this.stage.clearColor);
24
- }
25
- reset() {
26
- this.canvas.width = this.canvas.width; // quick reset canvas
27
- const ctx = this.context;
28
- if (this.clearColor) {
29
- ctx.fillStyle = this.clearColor;
30
- ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
31
- }
32
- ctx.scale(this.pixelRatio, this.pixelRatio);
33
- }
34
- render() {
35
- // noop
36
- }
37
- addQuad(quad) {
38
- const ctx = this.context;
39
- const { tx, ty, ta, tb, tc, td, clippingRect } = quad;
40
- let texture = quad.texture;
41
- const textureType = texture?.type;
42
- assertTruthy(textureType, 'Texture type is not defined');
43
- // The Canvas2D renderer only supports image and color textures
44
- if (textureType !== TextureType.image &&
45
- textureType !== TextureType.color &&
46
- textureType !== TextureType.subTexture &&
47
- textureType !== TextureType.noise) {
48
- return;
49
- }
50
- if (texture) {
51
- if (texture instanceof SubTexture) {
52
- texture = texture.parentTexture;
53
- }
54
- if (texture.state === 'freed') {
55
- return;
56
- }
57
- if (texture.state !== 'loaded') {
58
- return;
59
- }
60
- }
61
- const hasTransform = ta !== 1;
62
- const hasClipping = clippingRect.width !== 0 && clippingRect.height !== 0;
63
- const hasShader = quad.shader !== null;
64
- let saveAndRestore = hasTransform === true || hasClipping === true;
65
- if (hasShader === true) {
66
- saveAndRestore =
67
- saveAndRestore || quad.shader.applySNR;
68
- }
69
- if (saveAndRestore) {
70
- ctx.save();
71
- }
72
- if (hasClipping === true) {
73
- const path = new Path2D();
74
- const { x, y, width, height } = clippingRect;
75
- path.rect(x, y, width, height);
76
- ctx.clip(path);
77
- }
78
- if (hasTransform === true) {
79
- // Quad transform:
80
- // | ta tb tx |
81
- // | tc td ty |
82
- // | 0 0 1 |
83
- // C2D transform:
84
- // | a c e |
85
- // | b d f |
86
- // | 0 0 1 |
87
- const scale = this.pixelRatio;
88
- ctx.setTransform(ta, tc, tb, td, tx * scale, ty * scale);
89
- ctx.scale(scale, scale);
90
- ctx.translate(-tx, -ty);
91
- }
92
- if (hasShader === true) {
93
- let renderContext = () => {
94
- this.renderContext(quad);
95
- };
96
- quad.shader.render(ctx, quad, renderContext);
97
- renderContext = null;
98
- }
99
- else {
100
- this.renderContext(quad);
101
- }
102
- if (saveAndRestore) {
103
- ctx.restore();
104
- }
105
- }
106
- renderContext(quad) {
107
- const color = quad.colorTl;
108
- const textureType = quad.texture?.type;
109
- if ((textureType === TextureType.image ||
110
- textureType === TextureType.subTexture ||
111
- textureType === TextureType.noise) &&
112
- quad.texture?.ctxTexture) {
113
- const tintColor = parseColor(color);
114
- const image = quad.texture.ctxTexture.getImage(tintColor);
115
- this.context.globalAlpha = tintColor.a ?? quad.alpha;
116
- if (textureType === TextureType.subTexture) {
117
- this.context.drawImage(image, quad.texture.props.x, quad.texture.props.y, quad.texture.props.w, quad.texture.props.h, quad.tx, quad.ty, quad.width, quad.height);
118
- }
119
- else {
120
- try {
121
- this.context.drawImage(image, quad.tx, quad.ty, quad.width, quad.height);
122
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
123
- }
124
- catch (error) {
125
- // noop
126
- }
127
- }
128
- this.context.globalAlpha = 1;
129
- return;
130
- }
131
- const hasGradient = quad.colorTl !== quad.colorTr || quad.colorTl !== quad.colorBr;
132
- if (textureType === TextureType.color && hasGradient) {
133
- let endX = quad.tx;
134
- let endY = quad.ty;
135
- let endColor;
136
- if (quad.colorTl === quad.colorTr) {
137
- // vertical
138
- endX = quad.tx;
139
- endY = quad.ty + quad.height;
140
- endColor = quad.colorBr;
141
- }
142
- else {
143
- // horizontal
144
- endX = quad.tx + quad.width;
145
- endY = quad.ty;
146
- endColor = quad.colorTr;
147
- }
148
- const gradient = this.context.createLinearGradient(quad.tx, quad.ty, endX, endY);
149
- gradient.addColorStop(0, normalizeCanvasColor(color));
150
- gradient.addColorStop(1, normalizeCanvasColor(endColor));
151
- this.context.fillStyle = gradient;
152
- this.context.fillRect(quad.tx, quad.ty, quad.width, quad.height);
153
- }
154
- else if (textureType === TextureType.color) {
155
- this.context.fillStyle = normalizeCanvasColor(color);
156
- this.context.fillRect(quad.tx, quad.ty, quad.width, quad.height);
157
- }
158
- }
159
- createShaderNode(shaderKey, shaderType, props) {
160
- return new CanvasShaderNode(shaderKey, shaderType, this.stage, props);
161
- }
162
- createShaderProgram(shaderConfig) {
163
- return null;
164
- }
165
- supportsShaderType(shaderType) {
166
- return shaderType.render !== undefined;
167
- }
168
- createCtxTexture(textureSource) {
169
- return new CanvasTexture(this.stage.txMemManager, textureSource);
170
- }
171
- renderRTTNodes() {
172
- // noop
173
- }
174
- removeRTTNode(node) {
175
- // noop
176
- }
177
- renderToTexture(node) {
178
- // noop
179
- }
180
- getBufferInfo() {
181
- return null;
182
- }
183
- getQuadCount() {
184
- return null;
185
- }
186
- /**
187
- * Updates the clear color of the canvas renderer.
188
- *
189
- * @param color - The color to set as the clear color.
190
- */
191
- updateClearColor(color) {
192
- this.clearColor = normalizeCanvasColor(color);
193
- }
194
- updateViewport() {
195
- // noop
196
- }
197
- getDefaultShaderNode() {
198
- return null;
199
- }
200
- }
201
- //# sourceMappingURL=CanvasRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanvasRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/canvas/CanvasRenderer.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import type { CoreNode } from '../../CoreNode.js';
2
- import type { Stage } from '../../Stage.js';
3
- import type { QuadOptions } from '../CoreRenderer.js';
4
- import { CoreShaderNode, type CoreShaderType } from '../CoreShaderNode.js';
5
- export type CanvasShaderType<T extends object = Record<string, unknown>, C extends object = Record<string, unknown>> = CoreShaderType<T> & {
6
- render: (this: CanvasShaderNode<T, C>, ctx: CanvasRenderingContext2D, quad: QuadOptions, renderContext: () => void) => void;
7
- update?: (this: CanvasShaderNode<T, C>, node: CoreNode) => void;
8
- /**
9
- * Set this to true when using ctx functions that scale, clip, rotate, etc..
10
- */
11
- saveAndRestore?: boolean;
12
- };
13
- export declare class CanvasShaderNode<Props extends object = Record<string, unknown>, Computed extends object = Record<string, unknown>> extends CoreShaderNode<Props> {
14
- private updater;
15
- private valueKey;
16
- computed: Partial<Computed>;
17
- applySNR: boolean;
18
- render: CanvasShaderType<Props>['render'];
19
- constructor(shaderKey: string, config: CanvasShaderType<Props>, stage: Stage, props?: Props);
20
- toColorString(rgba: number): string;
21
- }
@@ -1,58 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { normalizeCanvasColor } from '../../lib/colorCache.js';
18
- import { CoreShaderNode } from '../CoreShaderNode.js';
19
- export class CanvasShaderNode extends CoreShaderNode {
20
- updater = undefined;
21
- valueKey = '';
22
- computed = {};
23
- applySNR;
24
- render;
25
- constructor(shaderKey, config, stage, props) {
26
- super(shaderKey, config, stage, props);
27
- this.applySNR = config.saveAndRestore || false;
28
- this.render = config.render;
29
- if (config.update !== undefined) {
30
- this.updater = config.update;
31
- if (this.props === undefined) {
32
- this.updater(this.node, this.props);
33
- return;
34
- }
35
- this.update = () => {
36
- const prevKey = this.valueKey;
37
- this.valueKey = this.createValueKey();
38
- if (prevKey === this.valueKey) {
39
- return;
40
- }
41
- if (prevKey.length > 0) {
42
- this.stage.shManager.mutateShaderValueUsage(prevKey, -1);
43
- }
44
- const computed = this.stage.shManager.getShaderValues(this.valueKey);
45
- if (computed !== undefined) {
46
- this.computed = computed;
47
- }
48
- this.computed = {};
49
- this.updater(this.node);
50
- this.stage.shManager.setShaderValues(this.valueKey, this.computed);
51
- };
52
- }
53
- }
54
- toColorString(rgba) {
55
- return normalizeCanvasColor(rgba, true);
56
- }
57
- }
58
- //# sourceMappingURL=CanvasShaderNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanvasShaderNode.js","sourceRoot":"","sources":["../../../../../src/core/renderers/canvas/CanvasShaderNode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAmB3E,MAAM,OAAO,gBAGX,SAAQ,cAAqB;IACrB,OAAO,GACb,SAAS,CAAC;IACJ,QAAQ,GAAW,EAAE,CAAC;IAC9B,QAAQ,GAAsB,EAAE,CAAC;IACjC,QAAQ,CAAU;IAClB,MAAM,CAAoC;IAE1C,YACE,SAAiB,EACjB,MAA+B,EAC/B,KAAY,EACZ,KAAa;QAEb,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAO,CAAC;YAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtC,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CACnD,IAAI,CAAC,QAAQ,CACa,CAAC;gBAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,QAAQ,GAAG,QAAoB,CAAC;gBACvC,CAAC;gBACD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAgB,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrE,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -1,16 +0,0 @@
1
- import { type IParsedColor } from '../../lib/colorParser.js';
2
- import { CoreContextTexture } from '../CoreContextTexture.js';
3
- export declare class CanvasTexture 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,125 +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 { formatRgba } from '../../lib/colorParser.js';
21
- import { CoreContextTexture } from '../CoreContextTexture.js';
22
- export class CanvasTexture 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
- this.setTextureMemUse(this.textureSource.dimensions.w *
53
- this.textureSource.dimensions.h *
54
- mult);
55
- }
56
- }
57
- hasImage() {
58
- return this.image !== undefined;
59
- }
60
- getImage(color) {
61
- const image = this.image;
62
- assertTruthy(image, 'Attempt to get unloaded image texture');
63
- if (color.isWhite) {
64
- if (this.tintCache) {
65
- this.tintCache = undefined;
66
- this.updateMemSize();
67
- }
68
- return image;
69
- }
70
- const key = formatRgba(color);
71
- if (this.tintCache?.key === key) {
72
- return this.tintCache.image;
73
- }
74
- const tintedImage = this.tintTexture(image, key);
75
- this.tintCache = {
76
- key,
77
- image: tintedImage,
78
- };
79
- this.updateMemSize();
80
- return tintedImage;
81
- }
82
- tintTexture(source, color) {
83
- const { width, height } = source;
84
- const canvas = document.createElement('canvas');
85
- canvas.width = width;
86
- canvas.height = height;
87
- const ctx = canvas.getContext('2d');
88
- if (ctx) {
89
- // fill with target color
90
- ctx.fillStyle = color;
91
- ctx.globalCompositeOperation = 'copy';
92
- ctx.fillRect(0, 0, width, height);
93
- // multiply with image, resulting in non-transparent tinted image
94
- ctx.globalCompositeOperation = 'multiply';
95
- ctx.drawImage(source, 0, 0, width, height, 0, 0, width, height);
96
- // apply original image alpha
97
- ctx.globalCompositeOperation = 'destination-in';
98
- ctx.drawImage(source, 0, 0, width, height, 0, 0, width, height);
99
- }
100
- return canvas;
101
- }
102
- async onLoadRequest() {
103
- assertTruthy(this.textureSource?.textureData?.data, 'Texture data is null');
104
- const { data } = this.textureSource.textureData;
105
- // TODO: canvas from text renderer should be able to provide the canvas directly
106
- // instead of having to re-draw it into a new canvas...
107
- if (data instanceof ImageData) {
108
- const canvas = document.createElement('canvas');
109
- canvas.width = data.width;
110
- canvas.height = data.height;
111
- const ctx = canvas.getContext('2d');
112
- if (ctx)
113
- ctx.putImageData(data, 0, 0);
114
- this.image = canvas;
115
- return { w: data.width, h: data.height };
116
- }
117
- else if ((typeof ImageBitmap !== 'undefined' && data instanceof ImageBitmap) ||
118
- data instanceof HTMLImageElement) {
119
- this.image = data;
120
- return { w: data.width, h: data.height };
121
- }
122
- return { w: 0, h: 0 };
123
- }
124
- }
125
- //# sourceMappingURL=CanvasTexture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CanvasTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/canvas/CanvasTexture.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Dimensions } from '../../../common/CommonTypes.js';
2
- import type { TextureMemoryManager } from '../../TextureMemoryManager.js';
3
- import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
4
- import type { RenderTexture } from '../../textures/RenderTexture.js';
5
- import { WebGlCtxTexture } from './WebGlCtxTexture.js';
6
- export declare class WebGlCtxRenderTexture extends WebGlCtxTexture {
7
- textureSource: RenderTexture;
8
- framebuffer: WebGLFramebuffer | null;
9
- constructor(glw: WebGlContextWrapper, memManager: TextureMemoryManager, textureSource: RenderTexture);
10
- onLoadRequest(): Promise<Dimensions>;
11
- free(): void;
12
- }