@lightningjs/renderer 3.0.0-beta9 → 3.0.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.
- package/LICENSE +202 -202
- package/NOTICE +3 -3
- package/README.md +230 -147
- package/dist/exports/canvas.d.ts +1 -1
- package/dist/exports/canvas.js +1 -1
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +5 -6
- package/dist/exports/index.js +3 -5
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/platform.d.ts +7 -0
- package/dist/exports/platform.js +27 -0
- package/dist/exports/platform.js.map +1 -0
- package/dist/exports/webgl.d.ts +2 -1
- package/dist/exports/webgl.js +2 -1
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/common/CommonTypes.d.ts +15 -3
- package/dist/src/core/AutosizeManager.d.ts +29 -0
- package/dist/src/core/AutosizeManager.js +169 -0
- package/dist/src/core/AutosizeManager.js.map +1 -0
- package/dist/src/core/Autosizer.d.ts +35 -0
- package/dist/src/core/Autosizer.js +196 -0
- package/dist/src/core/Autosizer.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +106 -58
- package/dist/src/core/CoreNode.js +524 -282
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +73 -88
- package/dist/src/core/CoreTextNode.js +375 -236
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +19 -17
- package/dist/src/core/CoreTextureManager.js +52 -120
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +63 -9
- package/dist/src/core/Stage.js +233 -133
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureError.d.ts +11 -0
- package/dist/src/core/TextureError.js +37 -0
- package/dist/src/core/TextureError.js.map +1 -0
- package/dist/src/core/TextureMemoryManager.d.ts +2 -4
- package/dist/src/core/TextureMemoryManager.js +80 -113
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/Animation.d.ts +21 -0
- package/dist/src/core/animations/Animation.js +194 -0
- package/dist/src/core/animations/Animation.js.map +1 -0
- package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
- package/dist/src/core/animations/CoreAnimation.js +3 -3
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/animations/CoreAnimationController.d.ts +1 -1
- package/dist/src/core/animations/CoreAnimationController.js +4 -2
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/animations/Playback.d.ts +64 -0
- package/dist/src/core/animations/Playback.js +169 -0
- package/dist/src/core/animations/Playback.js.map +1 -0
- package/dist/src/core/animations/Transition.d.ts +27 -0
- package/dist/src/core/animations/Transition.js +52 -0
- package/dist/src/core/animations/Transition.js.map +1 -0
- package/dist/src/core/animations/utils.d.ts +2 -0
- package/dist/src/core/animations/utils.js +136 -0
- package/dist/src/core/animations/utils.js.map +1 -0
- package/dist/src/core/lib/ImageWorker.d.ts +2 -2
- package/dist/src/core/lib/ImageWorker.js +30 -11
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +22 -1
- package/dist/src/core/lib/WebGlContextWrapper.js +49 -3
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/collectionUtils.d.ts +4 -0
- package/dist/src/core/lib/collectionUtils.js +72 -0
- package/dist/src/core/lib/collectionUtils.js.map +1 -0
- package/dist/src/core/lib/colorCache.d.ts +1 -0
- package/dist/src/core/lib/colorCache.js +19 -0
- package/dist/src/core/lib/colorCache.js.map +1 -0
- package/dist/src/core/lib/colorParser.d.ts +21 -0
- package/dist/src/core/lib/colorParser.js +72 -0
- package/dist/src/core/lib/colorParser.js.map +1 -0
- package/dist/src/core/lib/textureCompression.d.ts +14 -2
- package/dist/src/core/lib/textureCompression.js +320 -67
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +6 -6
- package/dist/src/core/lib/utils.js +21 -65
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/platform.d.ts +10 -0
- package/dist/src/core/platform.js +81 -0
- package/dist/src/core/platform.js.map +1 -0
- package/dist/src/core/platforms/GlContextWrapper.d.ts +136 -0
- package/{src/core/text-rendering/TextRenderingUtils.ts → dist/src/core/platforms/GlContextWrapper.js} +32 -36
- package/dist/src/core/platforms/GlContextWrapper.js.map +1 -0
- package/dist/src/core/platforms/Platform.d.ts +78 -12
- package/dist/src/core/platforms/Platform.js +18 -0
- package/dist/src/core/platforms/Platform.js.map +1 -1
- package/dist/src/core/platforms/web/WebGlContextWrapper.d.ts +776 -0
- package/dist/src/core/platforms/web/WebGlContextWrapper.js +1208 -0
- package/dist/src/core/platforms/web/WebGlContextWrapper.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatform.d.ts +17 -2
- package/dist/src/core/platforms/web/WebPlatform.js +158 -13
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
- package/dist/src/core/platforms/web/WebPlatformChrome50.d.ts +19 -0
- package/dist/src/core/platforms/web/WebPlatformChrome50.js +54 -0
- package/dist/src/core/platforms/web/WebPlatformChrome50.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatformLegacy.d.ts +20 -0
- package/dist/src/core/platforms/web/WebPlatformLegacy.js +105 -0
- package/dist/src/core/platforms/web/WebPlatformLegacy.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatformNext.d.ts +21 -0
- package/dist/src/core/platforms/web/WebPlatformNext.js +52 -0
- package/dist/src/core/platforms/web/WebPlatformNext.js.map +1 -0
- package/dist/src/core/platforms/web/lib/ImageWorker.d.ts +21 -0
- package/dist/src/core/platforms/web/lib/ImageWorker.js +136 -0
- package/dist/src/core/platforms/web/lib/ImageWorker.js.map +1 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerDefault.d.ts +6 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js +92 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js.map +1 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.d.ts +1 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js +63 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js.map +1 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.d.ts +7 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js +75 -0
- package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js.map +1 -0
- package/dist/src/core/platforms/web/lib/createImageBitmap.d.ts +1 -0
- package/dist/src/core/platforms/web/lib/createImageBitmap.js +27 -0
- package/dist/src/core/platforms/web/lib/createImageBitmap.js.map +1 -0
- package/dist/src/core/platforms/web/lib/textureCompression.d.ts +26 -0
- package/dist/src/core/platforms/web/lib/textureCompression.js +301 -0
- package/dist/src/core/platforms/web/lib/textureCompression.js.map +1 -0
- package/dist/src/core/platforms/web/lib/textureSvg.d.ts +7 -0
- package/dist/src/core/platforms/web/lib/textureSvg.js +51 -0
- package/dist/src/core/platforms/web/lib/textureSvg.js.map +1 -0
- package/dist/src/core/platforms/web/lib/utils.d.ts +5 -0
- package/dist/src/core/platforms/web/lib/utils.js +86 -0
- package/dist/src/core/platforms/web/lib/utils.js.map +1 -0
- package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +4 -40
- package/dist/src/core/renderers/CoreRenderer.js +3 -4
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShader.d.ts +9 -0
- package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts → dist/src/core/renderers/CoreShader.js} +28 -32
- package/dist/src/core/renderers/CoreShader.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderNode.d.ts +10 -0
- package/dist/src/core/renderers/CoreShaderNode.js +19 -2
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +5 -6
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +67 -91
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +1 -2
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +5 -4
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
- package/dist/src/core/renderers/canvas/CanvasTexture.js +17 -13
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
- package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts → dist/src/core/renderers/canvas/shaders/UnsupportedShader.js} +43 -40
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js +98 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +649 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +4 -2
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -6
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +15 -2
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +19 -9
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +101 -49
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +3 -2
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +14 -5
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +11 -23
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +122 -133
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +4 -6
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +3 -3
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +7 -7
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +56 -37
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -4
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -3
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +38 -37
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +134 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +143 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
- package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
- package/dist/src/core/shaders/canvas/Border.js +64 -25
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- package/dist/src/core/shaders/canvas/HolePunch.js +4 -3
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/canvas/LinearGradient.js +7 -5
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RadialGradient.js +12 -10
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js +3 -3
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +41 -11
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +46 -9
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +6 -5
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/Shadow.js +4 -2
- package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
- package/dist/src/core/shaders/canvas/utils/render.js +31 -18
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +11 -1
- package/dist/src/core/shaders/templates/BorderTemplate.js +30 -10
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
- package/dist/src/core/shaders/webgl/Border.js +138 -84
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/Default.js +46 -47
- package/dist/src/core/shaders/webgl/Default.js.map +1 -1
- package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
- package/dist/src/core/shaders/webgl/HolePunch.js +34 -34
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +60 -36
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +60 -37
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js +74 -72
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +172 -113
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +191 -132
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +57 -55
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
- package/dist/src/core/shaders/webgl/SdfShader.js +56 -66
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShadowShader.d.ts +9 -0
- package/dist/src/core/shaders/webgl/SdfShadowShader.js +100 -0
- package/dist/src/core/shaders/webgl/SdfShadowShader.js.map +1 -0
- package/dist/src/core/shaders/webgl/Shadow.js +89 -83
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasFont.d.ts +14 -0
- package/dist/src/core/text-rendering/CanvasFont.js +111 -0
- package/dist/src/core/text-rendering/CanvasFont.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js +224 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +157 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/CoreFont.d.ts +33 -0
- package/dist/src/core/text-rendering/CoreFont.js +48 -0
- package/dist/src/core/text-rendering/CoreFont.js.map +1 -0
- package/dist/src/core/text-rendering/FontManager.d.ts +11 -0
- package/dist/src/core/text-rendering/FontManager.js +42 -0
- package/dist/src/core/text-rendering/FontManager.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFont.d.ts +29 -0
- package/dist/src/core/text-rendering/SdfFont.js +142 -0
- package/dist/src/core/text-rendering/SdfFont.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +182 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js +381 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +383 -0
- package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts → dist/src/core/text-rendering/TextRenderer.js} +20 -38
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
- package/dist/src/core/text-rendering/Utils.d.ts +30 -0
- package/dist/src/core/text-rendering/Utils.js +84 -0
- package/dist/src/core/text-rendering/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -5
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -7
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +2 -50
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +87 -46
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +8 -66
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -14
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -3
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.d.ts +1 -1
- package/dist/src/core/textures/ColorTexture.js +3 -4
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +33 -14
- package/dist/src/core/textures/ImageTexture.js +46 -125
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
- package/dist/src/core/textures/NoiseTexture.js +8 -8
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/RenderTexture.d.ts +7 -7
- package/dist/src/core/textures/RenderTexture.js +12 -12
- package/dist/src/core/textures/RenderTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +6 -8
- package/dist/src/core/textures/SubTexture.js +22 -40
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +74 -15
- package/dist/src/core/textures/Texture.js +131 -19
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +2 -1
- package/dist/src/core/utils.js +1 -1
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
- package/dist/src/main-api/DynamicShaderController.js +58 -0
- package/dist/src/main-api/DynamicShaderController.js.map +1 -0
- package/dist/src/main-api/Inspector.d.ts +129 -1
- package/dist/src/main-api/Inspector.js +462 -23
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +223 -41
- package/dist/src/main-api/Renderer.js +107 -62
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/ShaderController.d.ts +31 -0
- package/dist/src/main-api/ShaderController.js +37 -0
- package/dist/src/main-api/ShaderController.js.map +1 -0
- package/dist/src/utils.d.ts +0 -2
- package/dist/src/utils.js +0 -36
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/exports/canvas-shaders.ts +28 -28
- package/exports/canvas.ts +45 -45
- package/exports/index.ts +90 -90
- package/exports/inspector.ts +24 -24
- package/exports/platform.ts +31 -0
- package/exports/utils.ts +50 -50
- package/exports/webgl-shaders.ts +28 -28
- package/exports/webgl.ts +52 -50
- package/package.json +16 -15
- package/src/common/CommonTypes.ts +163 -146
- package/src/common/EventEmitter.ts +77 -77
- package/src/common/IAnimationController.ts +92 -92
- package/src/common/IEventEmitter.ts +28 -28
- package/src/core/Autosizer.ts +224 -0
- package/src/core/CoreNode.test.ts +365 -202
- package/src/core/CoreNode.ts +2785 -2489
- package/src/core/CoreShaderManager.ts +188 -188
- package/src/core/CoreTextNode.test.ts +311 -0
- package/src/core/CoreTextNode.ts +598 -451
- package/src/core/CoreTextureManager.ts +484 -548
- package/src/core/Stage.ts +927 -800
- package/src/core/TextureError.ts +46 -0
- package/src/core/TextureMemoryManager.ts +418 -462
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +290 -291
- package/src/core/animations/CoreAnimationController.ts +169 -166
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +71 -71
- package/src/core/lib/collectionUtils.ts +83 -0
- package/src/core/lib/colorCache.ts +20 -0
- package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -85
- package/src/core/lib/utils.ts +337 -390
- package/src/core/platforms/GlContextWrapper.ts +291 -0
- package/src/core/platforms/Platform.ts +176 -77
- package/src/core/{lib → platforms/web}/WebGlContextWrapper.ts +1547 -1368
- package/src/core/platforms/web/WebPlatform.ts +306 -84
- package/src/core/platforms/web/WebPlatformChrome50.ts +63 -0
- package/src/core/platforms/web/WebPlatformLegacy.ts +150 -0
- package/src/core/platforms/web/WebPlatformNext.ts +57 -0
- package/src/core/platforms/web/lib/ImageWorker.ts +192 -0
- package/src/core/platforms/web/lib/ImageWorkerDefault.ts +117 -0
- package/src/core/platforms/web/lib/ImageWorkerLegacy.ts +87 -0
- package/src/core/platforms/web/lib/ImageWorkerNoOptions.ts +99 -0
- package/src/core/platforms/web/lib/createImageBitmap.ts +40 -0
- package/src/core/platforms/web/lib/textureCompression.ts +391 -0
- package/src/core/{lib → platforms/web/lib}/textureSvg.ts +66 -78
- package/src/core/platforms/web/lib/utils.ts +105 -0
- package/src/core/renderers/CoreContextTexture.ts +44 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +71 -110
- package/src/core/renderers/CoreShaderNode.ts +202 -175
- package/src/core/renderers/CoreShaderProgram.ts +23 -23
- package/src/core/renderers/canvas/CanvasRenderer.ts +258 -302
- package/src/core/renderers/canvas/CanvasShaderNode.ts +95 -96
- package/src/core/renderers/canvas/CanvasTexture.ts +160 -156
- package/src/core/renderers/webgl/SdfRenderOp.ts +106 -0
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +89 -86
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +95 -50
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +350 -298
- package/src/core/renderers/webgl/WebGlRenderer.ts +726 -747
- package/src/core/renderers/webgl/WebGlShaderNode.ts +430 -435
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +362 -341
- package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
- package/src/core/renderers/webgl/internal/RendererUtils.ts +151 -155
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +283 -281
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
- package/src/core/shaders/canvas/Border.ts +132 -78
- package/src/core/shaders/canvas/HolePunch.ts +56 -62
- package/src/core/shaders/canvas/LinearGradient.ts +73 -71
- package/src/core/shaders/canvas/RadialGradient.ts +96 -99
- package/src/core/shaders/canvas/Rounded.ts +55 -55
- package/src/core/shaders/canvas/RoundedWithBorder.ts +122 -74
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +136 -90
- package/src/core/shaders/canvas/RoundedWithShadow.ts +71 -70
- package/src/core/shaders/canvas/Shadow.ts +54 -52
- package/src/core/shaders/canvas/utils/render.ts +160 -151
- package/src/core/shaders/templates/BorderTemplate.ts +145 -115
- package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
- package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
- package/src/core/shaders/templates/RadialGradientTemplate.ts +83 -81
- package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
- package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
- package/src/core/shaders/utils.ts +46 -46
- package/src/core/shaders/webgl/Border.ts +169 -116
- package/src/core/shaders/webgl/Default.ts +88 -89
- package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
- package/src/core/shaders/webgl/HolePunch.ts +75 -75
- package/src/core/shaders/webgl/LinearGradient.ts +106 -82
- package/src/core/shaders/webgl/RadialGradient.ts +108 -85
- package/src/core/shaders/webgl/Rounded.ts +115 -117
- package/src/core/shaders/webgl/RoundedWithBorder.ts +210 -155
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +234 -175
- package/src/core/shaders/webgl/RoundedWithShadow.ts +96 -98
- package/src/core/shaders/webgl/SdfShader.ts +122 -134
- package/src/core/shaders/webgl/Shadow.ts +121 -115
- package/src/core/text-rendering/CanvasFontHandler.ts +304 -0
- package/src/core/text-rendering/CanvasTextRenderer.ts +255 -0
- package/src/core/text-rendering/SdfFontHandler.ts +584 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +403 -0
- package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
- package/src/core/text-rendering/TextRenderer.ts +444 -0
- package/src/core/text-rendering/Utils.ts +99 -0
- package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +453 -0
- package/src/core/textures/ColorTexture.ts +104 -102
- package/src/core/textures/ImageTexture.ts +292 -418
- package/src/core/textures/NoiseTexture.ts +106 -104
- package/src/core/textures/RenderTexture.ts +87 -85
- package/src/core/textures/SubTexture.ts +184 -205
- package/src/core/textures/Texture.ts +524 -381
- package/src/core/utils.ts +229 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/INode.ts +100 -100
- package/src/main-api/Inspector.ts +1278 -569
- package/src/main-api/Renderer.ts +1030 -818
- package/src/main-api/utils.ts +45 -45
- package/src/utils.ts +220 -267
- package/COPYING +0 -1
- package/src/core/lib/ImageWorker.ts +0 -286
- package/src/core/lib/textureCompression.ts +0 -152
- package/src/core/lib/validateImageBitmap.ts +0 -87
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
- package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -161
- package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
- package/src/core/text-rendering/TrFontManager.ts +0 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
- package/src/core/text-rendering/font-face-types/utils.ts +0 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -514
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -863
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -793
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -497
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
- package/src/core/text-rendering/renderers/TextRenderer.ts +0 -567
|
@@ -0,0 +1,291 @@
|
|
|
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 2026 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
|
+
|
|
20
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
21
|
+
|
|
22
|
+
import type {
|
|
23
|
+
Vec2,
|
|
24
|
+
Vec3,
|
|
25
|
+
Vec4,
|
|
26
|
+
} from '../renderers/webgl/internal/ShaderUtils.js';
|
|
27
|
+
|
|
28
|
+
import type { CompressedData } from '../textures/Texture.js';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Abstract GL Context Wrapper
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* This abstract class defines the interface for rendering context wrappers.
|
|
35
|
+
* Implementations should provide optimized state management and caching
|
|
36
|
+
* to avoid redundant API calls when the state is already set to the desired value.
|
|
37
|
+
*
|
|
38
|
+
* The interface is designed to be compatible with WebGL-like rendering contexts
|
|
39
|
+
* but can be adapted for other rendering backends (Canvas2D, WebGPU, Native, etc.).
|
|
40
|
+
*/
|
|
41
|
+
export abstract class GlContextWrapper {
|
|
42
|
+
//#region Canvas
|
|
43
|
+
abstract readonly canvas: HTMLCanvasElement | OffscreenCanvas;
|
|
44
|
+
//#endregion Canvas
|
|
45
|
+
|
|
46
|
+
//#region GL Constants
|
|
47
|
+
abstract readonly MAX_RENDERBUFFER_SIZE: number;
|
|
48
|
+
abstract readonly MAX_TEXTURE_SIZE: number;
|
|
49
|
+
abstract readonly MAX_VIEWPORT_DIMS: number;
|
|
50
|
+
abstract readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: number;
|
|
51
|
+
abstract readonly MAX_TEXTURE_IMAGE_UNITS: number;
|
|
52
|
+
abstract readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: number;
|
|
53
|
+
abstract readonly MAX_VERTEX_ATTRIBS: number;
|
|
54
|
+
abstract readonly MAX_VARYING_VECTORS: number;
|
|
55
|
+
abstract readonly MAX_VERTEX_UNIFORM_VECTORS: number;
|
|
56
|
+
abstract readonly MAX_FRAGMENT_UNIFORM_VECTORS: number;
|
|
57
|
+
abstract readonly TEXTURE_MAG_FILTER: number;
|
|
58
|
+
abstract readonly TEXTURE_MIN_FILTER: number;
|
|
59
|
+
abstract readonly TEXTURE_WRAP_S: number;
|
|
60
|
+
abstract readonly TEXTURE_WRAP_T: number;
|
|
61
|
+
abstract readonly LINEAR: number;
|
|
62
|
+
abstract readonly LINEAR_MIPMAP_LINEAR: number;
|
|
63
|
+
abstract readonly CLAMP_TO_EDGE: number;
|
|
64
|
+
abstract readonly RGB: number;
|
|
65
|
+
abstract readonly RGBA: number;
|
|
66
|
+
abstract readonly UNSIGNED_BYTE: number;
|
|
67
|
+
abstract readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: number;
|
|
68
|
+
abstract readonly UNPACK_FLIP_Y_WEBGL: number;
|
|
69
|
+
abstract readonly FLOAT: number;
|
|
70
|
+
abstract readonly TRIANGLES: number;
|
|
71
|
+
abstract readonly UNSIGNED_SHORT: number;
|
|
72
|
+
abstract readonly ONE: number;
|
|
73
|
+
abstract readonly ONE_MINUS_SRC_ALPHA: number;
|
|
74
|
+
abstract readonly VERTEX_SHADER: number;
|
|
75
|
+
abstract readonly FRAGMENT_SHADER: number;
|
|
76
|
+
abstract readonly STATIC_DRAW: number;
|
|
77
|
+
abstract readonly COMPILE_STATUS: number;
|
|
78
|
+
abstract readonly LINK_STATUS: number;
|
|
79
|
+
abstract readonly DYNAMIC_DRAW: number;
|
|
80
|
+
abstract readonly COLOR_ATTACHMENT0: number;
|
|
81
|
+
abstract readonly INVALID_ENUM: number;
|
|
82
|
+
abstract readonly INVALID_OPERATION: number;
|
|
83
|
+
//#endregion GL Constants
|
|
84
|
+
|
|
85
|
+
//#region Texture Management
|
|
86
|
+
abstract activeTexture(textureUnit: number): void;
|
|
87
|
+
abstract bindTexture(texture: any | null): void;
|
|
88
|
+
abstract texParameteri(pname: number, param: number): void;
|
|
89
|
+
abstract texImage2D(
|
|
90
|
+
level: GLint,
|
|
91
|
+
internalformat: GLint,
|
|
92
|
+
width: GLsizei,
|
|
93
|
+
height: GLsizei,
|
|
94
|
+
border: GLint,
|
|
95
|
+
format: GLenum,
|
|
96
|
+
type: GLenum,
|
|
97
|
+
pixels: ArrayBufferView | null,
|
|
98
|
+
): void;
|
|
99
|
+
abstract texImage2D(
|
|
100
|
+
level: GLint,
|
|
101
|
+
internalformat: GLint,
|
|
102
|
+
format: GLenum,
|
|
103
|
+
type: GLenum,
|
|
104
|
+
source: TexImageSource | Uint8Array,
|
|
105
|
+
): void;
|
|
106
|
+
abstract compressedTexImage2D(
|
|
107
|
+
level: GLint,
|
|
108
|
+
internalformat: GLenum,
|
|
109
|
+
width: GLsizei,
|
|
110
|
+
height: GLsizei,
|
|
111
|
+
border: GLint,
|
|
112
|
+
data?: ArrayBufferView,
|
|
113
|
+
): void;
|
|
114
|
+
abstract pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
|
|
115
|
+
abstract generateMipmap(): void;
|
|
116
|
+
abstract createTexture(): any;
|
|
117
|
+
abstract deleteTexture(texture: any | null): void;
|
|
118
|
+
//#endregion Texture Management
|
|
119
|
+
|
|
120
|
+
//#region Viewport & Clear
|
|
121
|
+
abstract viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
|
|
122
|
+
abstract clearColor(
|
|
123
|
+
red: GLclampf,
|
|
124
|
+
green: GLclampf,
|
|
125
|
+
blue: GLclampf,
|
|
126
|
+
alpha: GLclampf,
|
|
127
|
+
): void;
|
|
128
|
+
abstract clear(): void;
|
|
129
|
+
//#endregion Viewport & Clear
|
|
130
|
+
|
|
131
|
+
//#region Scissor & Blend
|
|
132
|
+
abstract setScissorTest(enable: boolean): void;
|
|
133
|
+
abstract scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
|
|
134
|
+
abstract setBlend(blend: boolean): void;
|
|
135
|
+
abstract blendFunc(src: GLenum, dst: GLenum): void;
|
|
136
|
+
//#endregion Scissor & Blend
|
|
137
|
+
|
|
138
|
+
//#region Buffer Management
|
|
139
|
+
abstract createBuffer(): any;
|
|
140
|
+
abstract arrayBufferData(
|
|
141
|
+
buffer: any | null,
|
|
142
|
+
data: ArrayBufferView,
|
|
143
|
+
usage: GLenum,
|
|
144
|
+
): void;
|
|
145
|
+
abstract elementArrayBufferData(
|
|
146
|
+
buffer: any | null,
|
|
147
|
+
data: ArrayBufferView,
|
|
148
|
+
usage: GLenum,
|
|
149
|
+
): void;
|
|
150
|
+
abstract vertexAttribPointer(
|
|
151
|
+
buffer: any,
|
|
152
|
+
index: GLuint,
|
|
153
|
+
size: GLint,
|
|
154
|
+
type: GLenum,
|
|
155
|
+
normalized: GLboolean,
|
|
156
|
+
stride: GLsizei,
|
|
157
|
+
offset: GLintptr,
|
|
158
|
+
): void;
|
|
159
|
+
abstract deleteBuffer(buffer: any): void;
|
|
160
|
+
//#endregion Buffer Management
|
|
161
|
+
|
|
162
|
+
//#region Framebuffer Management
|
|
163
|
+
abstract createFramebuffer(): any;
|
|
164
|
+
abstract deleteFramebuffer(framebuffer: any | null): void;
|
|
165
|
+
abstract bindFramebuffer(framebuffer: any | null): void;
|
|
166
|
+
abstract framebufferTexture2D(
|
|
167
|
+
attachment: GLenum,
|
|
168
|
+
texture: any | null,
|
|
169
|
+
level: GLint,
|
|
170
|
+
): void;
|
|
171
|
+
//#endregion Framebuffer Management
|
|
172
|
+
|
|
173
|
+
//#region Shader & Program Management
|
|
174
|
+
abstract createShader(type: number): any;
|
|
175
|
+
abstract compileShader(shader: any): void;
|
|
176
|
+
abstract attachShader(program: any, shader: any): void;
|
|
177
|
+
abstract linkProgram(program: any): void;
|
|
178
|
+
abstract deleteProgram(shader: any): void;
|
|
179
|
+
abstract getShaderParameter(shader: any, pname: GLenum): any;
|
|
180
|
+
abstract getShaderInfoLog(shader: any): string | null;
|
|
181
|
+
abstract createProgram(): any;
|
|
182
|
+
abstract getProgramParameter(program: any, pname: GLenum): any;
|
|
183
|
+
abstract getProgramInfoLog(program: any): string | null;
|
|
184
|
+
abstract shaderSource(shader: any, source: string): void;
|
|
185
|
+
abstract deleteShader(shader: any): void;
|
|
186
|
+
abstract useProgram(
|
|
187
|
+
program: any | null,
|
|
188
|
+
uniformLocations: Record<string, any>,
|
|
189
|
+
): void;
|
|
190
|
+
abstract getUniformLocations(program: any): Record<string, any>;
|
|
191
|
+
abstract getAttributeLocations(program: any): string[];
|
|
192
|
+
abstract getAttribLocation(program: any, name: string): number;
|
|
193
|
+
abstract getUniformLocation(program: any, name: string): any;
|
|
194
|
+
abstract enableVertexAttribArray(index: number): void;
|
|
195
|
+
abstract disableVertexAttribArray(index: number): void;
|
|
196
|
+
//#endregion Shader & Program Management
|
|
197
|
+
|
|
198
|
+
//#region Uniform Setters
|
|
199
|
+
abstract uniform1f(location: string, v0: number): void;
|
|
200
|
+
abstract uniform1fv(location: string, value: Float32Array): void;
|
|
201
|
+
abstract uniform1i(location: string, v0: number): void;
|
|
202
|
+
abstract uniform1iv(location: string, value: Int32Array): void;
|
|
203
|
+
abstract uniform2f(location: string, v0: number, v1: number): void;
|
|
204
|
+
abstract uniform2fa(location: string, value: Vec2): void;
|
|
205
|
+
abstract uniform2fv(location: string, value: Float32Array): void;
|
|
206
|
+
abstract uniform2i(location: string, v0: number, v1: number): void;
|
|
207
|
+
abstract uniform2iv(location: string, value: Int32Array): void;
|
|
208
|
+
abstract uniform3f(
|
|
209
|
+
location: string,
|
|
210
|
+
v0: number,
|
|
211
|
+
v1: number,
|
|
212
|
+
v2: number,
|
|
213
|
+
): void;
|
|
214
|
+
abstract uniform3fa(location: string, value: Vec3): void;
|
|
215
|
+
abstract uniform3fv(location: string, value: Float32Array): void;
|
|
216
|
+
abstract uniform3i(
|
|
217
|
+
location: string,
|
|
218
|
+
v0: number,
|
|
219
|
+
v1: number,
|
|
220
|
+
v2: number,
|
|
221
|
+
): void;
|
|
222
|
+
abstract uniform3iv(location: string, value: Int32Array): void;
|
|
223
|
+
abstract uniform4f(
|
|
224
|
+
location: string,
|
|
225
|
+
v0: number,
|
|
226
|
+
v1: number,
|
|
227
|
+
v2: number,
|
|
228
|
+
v3: number,
|
|
229
|
+
): void;
|
|
230
|
+
abstract uniform4fa(location: string, value: Vec4): void;
|
|
231
|
+
abstract uniform4fv(location: string, value: Float32Array): void;
|
|
232
|
+
abstract uniform4i(
|
|
233
|
+
location: string,
|
|
234
|
+
v0: number,
|
|
235
|
+
v1: number,
|
|
236
|
+
v2: number,
|
|
237
|
+
v3: number,
|
|
238
|
+
): void;
|
|
239
|
+
abstract uniform4iv(location: string, value: Int32Array): void;
|
|
240
|
+
abstract uniformMatrix2fv(location: string, value: Float32Array): void;
|
|
241
|
+
abstract uniformMatrix3fv(location: string, value: Float32Array): void;
|
|
242
|
+
abstract uniformMatrix4fv(location: string, value: Float32Array): void;
|
|
243
|
+
//#endregion Uniform Setters
|
|
244
|
+
|
|
245
|
+
//#region Vertex Array Objects
|
|
246
|
+
abstract createVertexArray(): any;
|
|
247
|
+
abstract bindVertexArray(vertexArray: any | null): void;
|
|
248
|
+
abstract deleteVertexArray(vertexArray: any): void;
|
|
249
|
+
//#endregion Vertex Array Objects
|
|
250
|
+
|
|
251
|
+
//#region Drawing
|
|
252
|
+
abstract drawElements(
|
|
253
|
+
mode: GLenum,
|
|
254
|
+
count: GLsizei,
|
|
255
|
+
type: GLenum,
|
|
256
|
+
offset: GLintptr,
|
|
257
|
+
): void;
|
|
258
|
+
abstract drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
|
|
259
|
+
//#endregion Drawing
|
|
260
|
+
|
|
261
|
+
//#region Context Info & Extensions
|
|
262
|
+
abstract getParameter(pname: GLenum): any;
|
|
263
|
+
abstract getExtension(name: string): any;
|
|
264
|
+
abstract getError(): number;
|
|
265
|
+
abstract checkError(
|
|
266
|
+
operation: string,
|
|
267
|
+
): { error: number; errorName: string; message: string } | null;
|
|
268
|
+
//#endregion Context Info & Extensions
|
|
269
|
+
|
|
270
|
+
//#region compressed texture support
|
|
271
|
+
abstract uploadKTX(
|
|
272
|
+
glw: GlContextWrapper,
|
|
273
|
+
texture: WebGLTexture,
|
|
274
|
+
data: CompressedData,
|
|
275
|
+
): void;
|
|
276
|
+
abstract uploadPVR(
|
|
277
|
+
glw: GlContextWrapper,
|
|
278
|
+
texture: WebGLTexture,
|
|
279
|
+
data: CompressedData,
|
|
280
|
+
): void;
|
|
281
|
+
abstract uploadASTC(
|
|
282
|
+
glw: GlContextWrapper,
|
|
283
|
+
texture: WebGLTexture,
|
|
284
|
+
data: CompressedData,
|
|
285
|
+
): void;
|
|
286
|
+
//#endregion compressed texture support
|
|
287
|
+
|
|
288
|
+
//#region WebGL 2 specific methods (optional)
|
|
289
|
+
abstract isWebGl2(): boolean;
|
|
290
|
+
//#endregion WebGL 2 specific methods
|
|
291
|
+
}
|
|
@@ -1,77 +1,176 @@
|
|
|
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
|
-
|
|
20
|
-
import { type Stage } from '../Stage.js';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
*
|
|
31
|
-
* @
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
37
|
-
* @
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
+
|
|
20
|
+
import { type Stage } from '../Stage.js';
|
|
21
|
+
import type { WebGlContextWrapper } from './web/WebGlContextWrapper.js';
|
|
22
|
+
import type { ImageResponse } from '../textures/ImageTexture.js';
|
|
23
|
+
import type { GlContextWrapper } from './GlContextWrapper.js';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Settings for the Platform
|
|
27
|
+
*/
|
|
28
|
+
export interface PlatformSettings {
|
|
29
|
+
/**
|
|
30
|
+
* Number of image workers to spawn for parallel image processing
|
|
31
|
+
* @default 2
|
|
32
|
+
*/
|
|
33
|
+
numImageWorkers?: number;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Whether to force the use of WebGL2 (if supported by the platform) or WebGL1. By default, the platform will use WebGL2 if it is available, and fall back to WebGL1 if it is not.
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
forceWebGL2?: boolean;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Optional provided canvas element to use for rendering. If not provided, the platform will create its own canvas element.
|
|
43
|
+
*/
|
|
44
|
+
canvas?: HTMLCanvasElement | null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export abstract class Platform {
|
|
48
|
+
public readonly settings: Required<PlatformSettings>;
|
|
49
|
+
|
|
50
|
+
public glw: GlContextWrapper | null = null;
|
|
51
|
+
public canvas: HTMLCanvasElement | null = null;
|
|
52
|
+
|
|
53
|
+
constructor(settings: PlatformSettings = {}) {
|
|
54
|
+
// Apply default settings
|
|
55
|
+
this.settings = {
|
|
56
|
+
numImageWorkers: settings.numImageWorkers ?? 2,
|
|
57
|
+
forceWebGL2: settings.forceWebGL2 ?? false,
|
|
58
|
+
canvas: settings.canvas ?? null,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// If a canvas was provided in the settings, use it. Otherwise, create a new one.
|
|
62
|
+
if (this.settings.canvas !== null) {
|
|
63
|
+
this.canvas = this.settings.canvas;
|
|
64
|
+
} else {
|
|
65
|
+
this.canvas = this.createCanvas();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Creates a new canvas element.
|
|
71
|
+
* @returns The created HTMLCanvasElement.
|
|
72
|
+
*/
|
|
73
|
+
abstract createCanvas(): HTMLCanvasElement;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Create new rendering context (only for WebGL, Canvas does not require a context)
|
|
77
|
+
*/
|
|
78
|
+
abstract createContext(): GlContextWrapper;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Get a DOM element by ID
|
|
82
|
+
* @returns The DOM element (or null)
|
|
83
|
+
*/
|
|
84
|
+
abstract getElementById(id: string): HTMLElement | null;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Starts the main rendering loop, calling the provided update function every frame.
|
|
88
|
+
* @param Stage - The stage for rendering
|
|
89
|
+
*/
|
|
90
|
+
abstract startLoop(stage: Stage): void;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Fetches a resource from the network.
|
|
94
|
+
* @param url - The URL of the resource to fetch.
|
|
95
|
+
* @returns A promise that resolves with the response.
|
|
96
|
+
*/
|
|
97
|
+
abstract fetch(url: string): Promise<unknown>;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Loads an image from a UR and returns it as an ImageBitmap or HTMLImageElement.
|
|
101
|
+
* @param src - The source URL or Blob of the image to load.
|
|
102
|
+
* @param premultiplyAlpha - Whether to premultiply alpha (if supported by the platform).
|
|
103
|
+
* @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
104
|
+
* @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
105
|
+
* @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
|
|
106
|
+
* @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
|
|
107
|
+
* @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
|
|
108
|
+
*/
|
|
109
|
+
abstract loadImage(
|
|
110
|
+
src: string,
|
|
111
|
+
premultiplyAlpha: boolean | null,
|
|
112
|
+
sx?: number | null,
|
|
113
|
+
sy?: number | null,
|
|
114
|
+
sw?: number | null,
|
|
115
|
+
sh?: number | null,
|
|
116
|
+
): Promise<ImageResponse>;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Create an image out of a Blob
|
|
120
|
+
*
|
|
121
|
+
* @param blob - The Blob to create an image from
|
|
122
|
+
* @param premultiplyAlpha - Whether to premultiply alpha (if supported by the platform).
|
|
123
|
+
* @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
124
|
+
* @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
125
|
+
* @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
|
|
126
|
+
* @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
|
|
127
|
+
* @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
|
|
128
|
+
*/
|
|
129
|
+
abstract createImage(
|
|
130
|
+
blob: Blob,
|
|
131
|
+
premultiplyAlpha: boolean | null,
|
|
132
|
+
sx?: number | null,
|
|
133
|
+
sy?: number | null,
|
|
134
|
+
sw?: number | null,
|
|
135
|
+
sh?: number | null,
|
|
136
|
+
): Promise<ImageResponse>;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Loads an SVG image from a URL and returns it as an ImageBitmap or HTMLImageElement.
|
|
140
|
+
* @param src - The source URL of the SVG image to load.
|
|
141
|
+
* @param width - The width to render the SVG image.
|
|
142
|
+
* @param height - The height to render the SVG image.
|
|
143
|
+
* @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
144
|
+
* @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
|
|
145
|
+
* @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
|
|
146
|
+
* @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
|
|
147
|
+
*/
|
|
148
|
+
abstract loadSvg(
|
|
149
|
+
src: string,
|
|
150
|
+
width: number | null,
|
|
151
|
+
height: number | null,
|
|
152
|
+
sx?: number | null,
|
|
153
|
+
sy?: number | null,
|
|
154
|
+
sw?: number | null,
|
|
155
|
+
sh?: number | null,
|
|
156
|
+
): Promise<ImageResponse>;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Loads a compressed texture from a URL and returns it as an ImageBitmap or HTMLImageElement.
|
|
160
|
+
* @param src - The source URL of the compressed texture to load.
|
|
161
|
+
* @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
|
|
162
|
+
*/
|
|
163
|
+
abstract loadCompressedTexture(src: string): Promise<ImageResponse>;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Retrieves the current timestamp.
|
|
167
|
+
* @returns The current timestamp.
|
|
168
|
+
*/
|
|
169
|
+
abstract getTimeStamp(): number;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Adds a FontFace to the platforms FontFaceSet
|
|
173
|
+
* @param font - The FontFace to add
|
|
174
|
+
*/
|
|
175
|
+
abstract addFont(font: FontFace): void;
|
|
176
|
+
}
|