@lightningjs/renderer 3.0.0-beta14 → 3.0.0-beta15
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/dist/exports/index.d.ts +1 -0
- package/dist/exports/index.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +1 -1
- package/dist/src/core/CoreTextNode.d.ts +0 -2
- package/dist/src/core/CoreTextNode.js +4 -16
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/Stage.js +2 -3
- 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/animations/CoreAnimation.d.ts +3 -2
- package/dist/src/core/animations/CoreAnimation.js +3 -2
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +5 -5
- package/dist/src/core/lib/textureCompression.js +1 -1
- package/dist/src/core/lib/textureCompression.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/renderers/CoreShader.d.ts +9 -0
- package/{src/core/text-rendering/sdf/index.ts → dist/src/core/renderers/CoreShader.js} +11 -3
- package/dist/src/core/renderers/CoreShader.js.map +1 -0
- 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/internal/C2DShaderUtils.d.ts +14 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +138 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +19 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +58 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.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 +65 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +269 -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 +616 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +83 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +233 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +87 -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 +119 -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 +413 -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 +131 -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 +160 -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 +129 -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 +39 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +116 -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/RoundedWithBorder.js +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +26 -3
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +49 -27
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
- package/dist/src/core/shaders/webgl/SdfShader.js +1 -10
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +21 -3
- package/dist/src/core/text-rendering/CanvasFontHandler.js +94 -32
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +2 -7
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +51 -260
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +35 -5
- package/dist/src/core/text-rendering/SdfFontHandler.js +76 -56
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.js +38 -82
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +19 -0
- package/dist/src/core/text-rendering/{sdf/Utils.js → TextLayoutEngine.js} +125 -105
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +30 -13
- package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
- package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
- package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +72 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js +217 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
- package/dist/src/core/text-rendering/TrFontManager.d.ts +26 -0
- package/dist/src/core/text-rendering/TrFontManager.js +131 -0
- package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
- package/dist/src/core/text-rendering/Utils.d.ts +1 -42
- package/dist/src/core/text-rendering/Utils.js +4 -132
- package/dist/src/core/text-rendering/Utils.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +39 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +125 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +103 -0
- package/dist/src/core/text-rendering/{sdf/index.js → font-face-types/SdfTrFontFace/internal/FontShaper.js} +4 -3
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +62 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +88 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +118 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +63 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +14 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +66 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/utils.d.ts +1 -0
- package/dist/src/core/text-rendering/font-face-types/utils.js +38 -0
- package/dist/src/core/text-rendering/font-face-types/utils.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +59 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +397 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +120 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +551 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +92 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +607 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +12 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +61 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +33 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +52 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +13 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +32 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +23 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +84 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +4 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +34 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +308 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +10 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +40 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
- package/dist/src/core/text-rendering/{canvas/Settings.js → renderers/SdfTextRenderer/internal/util.js} +22 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +373 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +178 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
- 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 +124 -0
- package/dist/src/main-api/Inspector.js +283 -8
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +150 -26
- package/dist/src/main-api/Renderer.js +27 -25
- 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/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/index.ts +1 -0
- package/package.json +14 -15
- package/src/core/CoreTextNode.ts +4 -22
- package/src/core/Stage.ts +2 -3
- package/src/core/animations/CoreAnimation.ts +8 -7
- package/src/core/lib/textureCompression.ts +4 -2
- package/src/core/shaders/canvas/RoundedWithBorder.ts +1 -1
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +1 -1
- package/src/core/shaders/webgl/LinearGradient.ts +26 -3
- package/src/core/shaders/webgl/RadialGradient.ts +50 -28
- package/src/core/shaders/webgl/SdfShader.ts +1 -12
- package/src/core/text-rendering/CanvasFontHandler.ts +136 -39
- package/src/core/text-rendering/CanvasTextRenderer.ts +75 -440
- package/src/core/text-rendering/SdfFontHandler.ts +94 -60
- package/src/core/text-rendering/SdfTextRenderer.ts +62 -116
- package/src/core/text-rendering/{sdf/Utils.ts → TextLayoutEngine.ts} +209 -143
- package/src/core/text-rendering/TextRenderer.ts +36 -13
- package/src/core/text-rendering/Utils.ts +5 -163
- package/src/core/text-rendering/{sdf/Utils.test.ts → tests/Canvas.test.ts} +98 -122
- package/src/core/text-rendering/tests/SdfTests.test.ts +414 -0
- package/src/core/utils.ts +9 -7
- package/src/main-api/Inspector.ts +502 -12
- package/src/main-api/Renderer.ts +158 -26
- package/dist/src/core/text-rendering/canvas/Settings.d.ts +0 -64
- package/dist/src/core/text-rendering/canvas/Settings.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/Utils.d.ts +0 -20
- package/dist/src/core/text-rendering/canvas/Utils.js +0 -144
- package/dist/src/core/text-rendering/canvas/Utils.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +0 -60
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +0 -183
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/draw.d.ts +0 -5
- package/dist/src/core/text-rendering/canvas/draw.js +0 -132
- package/dist/src/core/text-rendering/canvas/draw.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/Utils.d.ts +0 -26
- package/dist/src/core/text-rendering/sdf/Utils.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/index.d.ts +0 -1
- package/dist/src/core/text-rendering/sdf/index.js.map +0 -1
- package/src/core/text-rendering/canvas/Settings.ts +0 -99
- package/src/core/text-rendering/canvas/Utils.test.ts +0 -206
- package/src/core/text-rendering/canvas/Utils.ts +0 -178
- package/src/core/text-rendering/canvas/calculateRenderInfo.ts +0 -299
- package/src/core/text-rendering/canvas/draw.ts +0 -165
package/src/main-api/Renderer.ts
CHANGED
|
@@ -28,7 +28,7 @@ import type { TextureMemoryManagerSettings } from '../core/TextureMemoryManager.
|
|
|
28
28
|
import type { TextRenderer } from '../core/text-rendering/TextRenderer.js';
|
|
29
29
|
import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js';
|
|
30
30
|
import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
|
|
31
|
-
import type { Inspector } from './Inspector.js';
|
|
31
|
+
import type { Inspector, InspectorOptions } from './Inspector.js';
|
|
32
32
|
import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
|
|
33
33
|
import type {
|
|
34
34
|
ExtractShaderProps,
|
|
@@ -38,6 +38,127 @@ import type {
|
|
|
38
38
|
import { WebPlatform } from '../core/platforms/web/WebPlatform.js';
|
|
39
39
|
import { Platform } from '../core/platforms/Platform.js';
|
|
40
40
|
|
|
41
|
+
/**
|
|
42
|
+
* FPS Update Event Data
|
|
43
|
+
*
|
|
44
|
+
* @category Events
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* renderer.on('fpsUpdate', (data) => {
|
|
48
|
+
* console.log(`Current FPS: ${data.fps}`);
|
|
49
|
+
* if (data.contextSpyData) {
|
|
50
|
+
* console.log('WebGL calls:', data.contextSpyData);
|
|
51
|
+
* }
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export interface RendererMainFpsUpdateEvent {
|
|
56
|
+
/** Current frames per second */
|
|
57
|
+
fps: number;
|
|
58
|
+
/** Context spy data (if enabled) - contains WebGL call statistics */
|
|
59
|
+
contextSpyData?: unknown;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Frame Tick Event Data
|
|
64
|
+
*
|
|
65
|
+
* @category Events
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* renderer.on('frameTick', (data) => {
|
|
69
|
+
* console.log(`Frame time: ${data.time}ms, delta: ${data.delta}ms`);
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export interface RendererMainFrameTickEvent {
|
|
74
|
+
/** Current timestamp */
|
|
75
|
+
time: number;
|
|
76
|
+
/** Time delta since last frame */
|
|
77
|
+
delta: number;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Quads Update Event Data
|
|
82
|
+
*
|
|
83
|
+
* @category Events
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* renderer.on('quadsUpdate', (data) => {
|
|
87
|
+
* console.log(`Rendered quads: ${data.quads}`);
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export interface RendererMainQuadsUpdateEvent {
|
|
92
|
+
/** Number of rendered quads */
|
|
93
|
+
quads: number;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Idle Event Data
|
|
98
|
+
*
|
|
99
|
+
* @category Events
|
|
100
|
+
* @remarks
|
|
101
|
+
* This event is emitted when the renderer has no scene updates to process.
|
|
102
|
+
* The event has no payload - use this for performance optimizations during idle periods.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* renderer.on('idle', () => {
|
|
107
|
+
* // Renderer is idle - perfect time for cleanup, analytics, etc.
|
|
108
|
+
* console.log('Renderer is idle - no scene changes');
|
|
109
|
+
*
|
|
110
|
+
* // Example: Perform background tasks
|
|
111
|
+
* performBackgroundCleanup();
|
|
112
|
+
* sendAnalytics();
|
|
113
|
+
* });
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export interface RendererMainIdleEvent {
|
|
117
|
+
/** This event has no payload - listen without parameters */
|
|
118
|
+
readonly __eventHasNoPayload?: never;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Critical Cleanup Event Data
|
|
123
|
+
*
|
|
124
|
+
* @category Events
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* renderer.on('criticalCleanup', (data) => {
|
|
128
|
+
* console.log(`Memory cleanup triggered!`);
|
|
129
|
+
* console.log(`Memory used: ${data.memUsed} bytes`);
|
|
130
|
+
* console.log(`Critical threshold: ${data.criticalThreshold} bytes`);
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export interface RendererMainCriticalCleanupEvent {
|
|
135
|
+
/** Memory used before cleanup (bytes) */
|
|
136
|
+
memUsed: number;
|
|
137
|
+
/** Critical threshold (bytes) */
|
|
138
|
+
criticalThreshold: number;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Critical Cleanup Failed Event Data
|
|
143
|
+
*
|
|
144
|
+
* @category Events
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* renderer.on('criticalCleanupFailed', (data) => {
|
|
148
|
+
* console.warn(`Memory cleanup failed!`);
|
|
149
|
+
* console.log(`Memory still used: ${data.memUsed} bytes`);
|
|
150
|
+
* console.log(`Critical threshold: ${data.criticalThreshold} bytes`);
|
|
151
|
+
* // Consider reducing texture usage or forcing cleanup
|
|
152
|
+
* });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
export interface RendererMainCriticalCleanupFailedEvent {
|
|
156
|
+
/** Memory used after cleanup (bytes) */
|
|
157
|
+
memUsed: number;
|
|
158
|
+
/** Critical threshold (bytes) */
|
|
159
|
+
criticalThreshold: number;
|
|
160
|
+
}
|
|
161
|
+
|
|
41
162
|
/**
|
|
42
163
|
* Settings for the Renderer that can be updated during runtime.
|
|
43
164
|
*/
|
|
@@ -127,6 +248,15 @@ export interface RendererRuntimeSettings {
|
|
|
127
248
|
*/
|
|
128
249
|
inspector: typeof Inspector | false;
|
|
129
250
|
|
|
251
|
+
/**
|
|
252
|
+
* Inspector Options
|
|
253
|
+
*
|
|
254
|
+
* @remarks
|
|
255
|
+
* Configuration options for the Inspector's performance monitoring features.
|
|
256
|
+
* Only used when inspector is enabled.
|
|
257
|
+
*/
|
|
258
|
+
inspectorOptions?: Partial<InspectorOptions>;
|
|
259
|
+
|
|
130
260
|
/**
|
|
131
261
|
* Texture Processing Limit (in milliseconds)
|
|
132
262
|
*
|
|
@@ -321,31 +451,32 @@ export type RendererMainSettings = RendererRuntimeSettings & {
|
|
|
321
451
|
* );
|
|
322
452
|
* ```
|
|
323
453
|
*
|
|
324
|
-
* ##
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
*
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
*
|
|
346
|
-
*
|
|
347
|
-
*
|
|
348
|
-
*
|
|
454
|
+
* ## Event Handling
|
|
455
|
+
*
|
|
456
|
+
* Listen to events using the standard EventEmitter API:
|
|
457
|
+
* ```typescript
|
|
458
|
+
* renderer.on('fpsUpdate', (data: RendererMainFpsUpdateEvent) => {
|
|
459
|
+
* console.log(`FPS: ${data.fps}`);
|
|
460
|
+
* });
|
|
461
|
+
*
|
|
462
|
+
* renderer.on('idle', (data: RendererMainIdleEvent) => {
|
|
463
|
+
* // Renderer is idle - no scene changes
|
|
464
|
+
* });
|
|
465
|
+
* ```
|
|
466
|
+
*
|
|
467
|
+
* @see {@link RendererMainFpsUpdateEvent}
|
|
468
|
+
* @see {@link RendererMainFrameTickEvent}
|
|
469
|
+
* @see {@link RendererMainQuadsUpdateEvent}
|
|
470
|
+
* @see {@link RendererMainIdleEvent}
|
|
471
|
+
* @see {@link RendererMainCriticalCleanupEvent}
|
|
472
|
+
* @see {@link RendererMainCriticalCleanupFailedEvent}
|
|
473
|
+
*
|
|
474
|
+
* @fires RendererMain#fpsUpdate
|
|
475
|
+
* @fires RendererMain#frameTick
|
|
476
|
+
* @fires RendererMain#quadsUpdate
|
|
477
|
+
* @fires RendererMain#idle
|
|
478
|
+
* @fires RendererMain#criticalCleanup
|
|
479
|
+
* @fires RendererMain#criticalCleanupFailed
|
|
349
480
|
*/
|
|
350
481
|
export class RendererMain extends EventEmitter {
|
|
351
482
|
readonly root: INode;
|
|
@@ -386,6 +517,7 @@ export class RendererMain extends EventEmitter {
|
|
|
386
517
|
enableContextSpy: settings.enableContextSpy ?? false,
|
|
387
518
|
forceWebGL2: settings.forceWebGL2 ?? false,
|
|
388
519
|
inspector: settings.inspector ?? false,
|
|
520
|
+
inspectorOptions: settings.inspectorOptions ?? {},
|
|
389
521
|
renderEngine: settings.renderEngine,
|
|
390
522
|
quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
|
|
391
523
|
fontEngines: settings.fontEngines ?? [],
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import type { RGBA } from '../../lib/utils.js';
|
|
2
|
-
/**
|
|
3
|
-
* Text Overflow Values
|
|
4
|
-
*/
|
|
5
|
-
export type TextOverflow = 'ellipsis' | 'clip' | (string & Record<never, never>);
|
|
6
|
-
/***
|
|
7
|
-
* Text Horizontal Align Values
|
|
8
|
-
*/
|
|
9
|
-
export type TextAlign = 'left' | 'center' | 'right';
|
|
10
|
-
/***
|
|
11
|
-
* Text Baseline Values
|
|
12
|
-
*/
|
|
13
|
-
export type TextBaseline = 'alphabetic' | 'top' | 'hanging' | 'middle' | 'ideographic' | 'bottom';
|
|
14
|
-
/***
|
|
15
|
-
* Text Vertical Align Values
|
|
16
|
-
*/
|
|
17
|
-
export type TextVerticalAlign = 'top' | 'middle' | 'bottom';
|
|
18
|
-
/**
|
|
19
|
-
* Text Texture Settings
|
|
20
|
-
*/
|
|
21
|
-
export interface Settings {
|
|
22
|
-
w: number;
|
|
23
|
-
h: number;
|
|
24
|
-
text: string;
|
|
25
|
-
fontStyle: string;
|
|
26
|
-
fontSize: number;
|
|
27
|
-
fontBaselineRatio: number;
|
|
28
|
-
fontFamily: string | null;
|
|
29
|
-
wordWrap: boolean;
|
|
30
|
-
wordWrapWidth: number;
|
|
31
|
-
wordBreak: 'normal' | 'break-all' | 'break-word';
|
|
32
|
-
textOverflow: TextOverflow | null;
|
|
33
|
-
lineHeight: number | null;
|
|
34
|
-
textBaseline: TextBaseline;
|
|
35
|
-
textAlign: TextAlign;
|
|
36
|
-
verticalAlign: TextVerticalAlign;
|
|
37
|
-
offsetY: number | null;
|
|
38
|
-
maxLines: number;
|
|
39
|
-
maxHeight: number | null;
|
|
40
|
-
overflowSuffix: string;
|
|
41
|
-
precision: number;
|
|
42
|
-
textColor: RGBA;
|
|
43
|
-
paddingLeft: number;
|
|
44
|
-
paddingRight: number;
|
|
45
|
-
shadow: boolean;
|
|
46
|
-
shadowColor: RGBA;
|
|
47
|
-
shadowOffsetX: number;
|
|
48
|
-
shadowOffsetY: number;
|
|
49
|
-
shadowBlur: number;
|
|
50
|
-
highlight: boolean;
|
|
51
|
-
highlightHeight: number;
|
|
52
|
-
highlightColor: RGBA;
|
|
53
|
-
highlightOffset: number;
|
|
54
|
-
highlightPaddingLeft: number;
|
|
55
|
-
highlightPaddingRight: number;
|
|
56
|
-
letterSpacing: number;
|
|
57
|
-
textIndent: number;
|
|
58
|
-
cutSx: number;
|
|
59
|
-
cutSy: number;
|
|
60
|
-
cutEx: number;
|
|
61
|
-
cutEy: number;
|
|
62
|
-
advancedRenderer: boolean;
|
|
63
|
-
textRenderIssueMargin: number;
|
|
64
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/canvas/Settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { NormalizedFontMetrics } from '../TextRenderer.js';
|
|
2
|
-
import type { TextBaseline } from './Settings.js';
|
|
3
|
-
export declare const measureText: (context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, word: string, space?: number) => number;
|
|
4
|
-
export declare const wrapWord: (context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, word: string, wordWrapWidth: number, suffix: string, letterSpacing: number) => string;
|
|
5
|
-
export declare const wrapText: (context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D, text: string, wordWrapWidth: number, letterSpacing: number, indent: number) => {
|
|
6
|
-
l: string[];
|
|
7
|
-
n: number[];
|
|
8
|
-
};
|
|
9
|
-
export declare const isNormalizedFontMetrics: (obj: unknown) => obj is NormalizedFontMetrics;
|
|
10
|
-
/**
|
|
11
|
-
* Calculate height for the canvas
|
|
12
|
-
*
|
|
13
|
-
* @param textBaseline
|
|
14
|
-
* @param fontSize
|
|
15
|
-
* @param lineHeight
|
|
16
|
-
* @param numLines
|
|
17
|
-
* @param offsetY
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
|
-
export declare const calcHeight: (textBaseline: TextBaseline, fontSize: number, lineHeight: number, numLines: number, offsetY: number) => number;
|
|
@@ -1,144 +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 2025 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 { isZeroWidthSpace } from '../Utils.js';
|
|
20
|
-
export const measureText = (context, word, space = 0) => {
|
|
21
|
-
if (space === 0) {
|
|
22
|
-
return context.measureText(word).width;
|
|
23
|
-
}
|
|
24
|
-
return word.split('').reduce((acc, char) => {
|
|
25
|
-
if (isZeroWidthSpace(char) === true) {
|
|
26
|
-
return acc;
|
|
27
|
-
}
|
|
28
|
-
return acc + context.measureText(char).width + space;
|
|
29
|
-
}, 0);
|
|
30
|
-
};
|
|
31
|
-
// Helper functions
|
|
32
|
-
export const wrapWord = (context, word, wordWrapWidth, suffix, letterSpacing) => {
|
|
33
|
-
const suffixWidth = measureText(context, suffix, letterSpacing);
|
|
34
|
-
const wordLen = word.length;
|
|
35
|
-
const wordWidth = measureText(context, word, letterSpacing);
|
|
36
|
-
if (wordWidth <= wordWrapWidth) {
|
|
37
|
-
return word;
|
|
38
|
-
}
|
|
39
|
-
let cutoffIndex = Math.floor((wordWrapWidth * wordLen) / wordWidth);
|
|
40
|
-
let truncWordWidth = measureText(context, word.substring(0, cutoffIndex), letterSpacing) +
|
|
41
|
-
suffixWidth;
|
|
42
|
-
if (truncWordWidth > wordWrapWidth) {
|
|
43
|
-
while (cutoffIndex > 0) {
|
|
44
|
-
truncWordWidth =
|
|
45
|
-
measureText(context, word.substring(0, cutoffIndex), letterSpacing) +
|
|
46
|
-
suffixWidth;
|
|
47
|
-
if (truncWordWidth > wordWrapWidth) {
|
|
48
|
-
cutoffIndex -= 1;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
while (cutoffIndex < wordLen) {
|
|
57
|
-
truncWordWidth =
|
|
58
|
-
measureText(context, word.substring(0, cutoffIndex), letterSpacing) +
|
|
59
|
-
suffixWidth;
|
|
60
|
-
if (truncWordWidth < wordWrapWidth) {
|
|
61
|
-
cutoffIndex += 1;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
cutoffIndex -= 1;
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
return (word.substring(0, cutoffIndex) +
|
|
70
|
-
(wordWrapWidth >= suffixWidth ? suffix : ''));
|
|
71
|
-
};
|
|
72
|
-
export const wrapText = (context, text, wordWrapWidth, letterSpacing, indent) => {
|
|
73
|
-
const spaceRegex = / |\u200B/g;
|
|
74
|
-
const lines = text.split(/\r?\n/g);
|
|
75
|
-
let allLines = [];
|
|
76
|
-
const realNewlines = [];
|
|
77
|
-
for (let i = 0; i < lines.length; i++) {
|
|
78
|
-
const resultLines = [];
|
|
79
|
-
let result = '';
|
|
80
|
-
let spaceLeft = wordWrapWidth - indent;
|
|
81
|
-
const line = lines[i] ?? '';
|
|
82
|
-
const words = line.split(spaceRegex);
|
|
83
|
-
const spaces = line.match(spaceRegex) || [];
|
|
84
|
-
for (let j = 0; j < words.length; j++) {
|
|
85
|
-
const space = spaces[j - 1] || '';
|
|
86
|
-
const word = words[j] || '';
|
|
87
|
-
const wordWidth = measureText(context, word, letterSpacing);
|
|
88
|
-
const wordWidthWithSpace = wordWidth + measureText(context, space, letterSpacing);
|
|
89
|
-
if (j === 0 || wordWidthWithSpace > spaceLeft) {
|
|
90
|
-
if (j > 0) {
|
|
91
|
-
resultLines.push(result);
|
|
92
|
-
result = '';
|
|
93
|
-
}
|
|
94
|
-
result += word;
|
|
95
|
-
spaceLeft = wordWrapWidth - wordWidth - (j === 0 ? indent : 0);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
spaceLeft -= wordWidthWithSpace;
|
|
99
|
-
// Don't add ZWSP to the output since it's invisible
|
|
100
|
-
if (space !== '\u200B') {
|
|
101
|
-
result += space + word;
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
result += word;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
resultLines.push(result);
|
|
109
|
-
result = '';
|
|
110
|
-
allLines = allLines.concat(resultLines);
|
|
111
|
-
if (i < lines.length - 1) {
|
|
112
|
-
realNewlines.push(allLines.length);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return { l: allLines, n: realNewlines };
|
|
116
|
-
};
|
|
117
|
-
export const isNormalizedFontMetrics = (obj) => {
|
|
118
|
-
return (typeof obj === 'object' &&
|
|
119
|
-
obj !== null &&
|
|
120
|
-
'ascender' in obj &&
|
|
121
|
-
typeof obj.ascender === 'number' &&
|
|
122
|
-
'descender' in obj &&
|
|
123
|
-
typeof obj.descender === 'number' &&
|
|
124
|
-
'lineGap' in obj &&
|
|
125
|
-
typeof obj.lineGap === 'number');
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Calculate height for the canvas
|
|
129
|
-
*
|
|
130
|
-
* @param textBaseline
|
|
131
|
-
* @param fontSize
|
|
132
|
-
* @param lineHeight
|
|
133
|
-
* @param numLines
|
|
134
|
-
* @param offsetY
|
|
135
|
-
* @returns
|
|
136
|
-
*/
|
|
137
|
-
export const calcHeight = (textBaseline, fontSize, lineHeight, numLines, offsetY) => {
|
|
138
|
-
const baselineOffset = textBaseline !== 'bottom' ? 0.5 * fontSize : 0;
|
|
139
|
-
return (lineHeight * (numLines - 1) +
|
|
140
|
-
baselineOffset +
|
|
141
|
-
Math.max(lineHeight, fontSize) +
|
|
142
|
-
offsetY);
|
|
143
|
-
};
|
|
144
|
-
//# sourceMappingURL=Utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/canvas/Utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { NormalizedFontMetrics, TextBaseline, TextVerticalAlign } from '../TextRenderer.js';
|
|
2
|
-
import type { TextAlign, TextOverflow } from './Settings.js';
|
|
3
|
-
export interface RenderInfo {
|
|
4
|
-
lines: string[];
|
|
5
|
-
precision: number;
|
|
6
|
-
remainingText: string;
|
|
7
|
-
moreTextLines: boolean;
|
|
8
|
-
width: number;
|
|
9
|
-
innerWidth: number;
|
|
10
|
-
height: number;
|
|
11
|
-
fontSize: number;
|
|
12
|
-
cutSx: number;
|
|
13
|
-
cutSy: number;
|
|
14
|
-
cutEx: number;
|
|
15
|
-
cutEy: number;
|
|
16
|
-
lineHeight: number | null;
|
|
17
|
-
defLineHeight: number;
|
|
18
|
-
lineWidths: number[];
|
|
19
|
-
offsetY: number;
|
|
20
|
-
paddingLeft: number;
|
|
21
|
-
paddingRight: number;
|
|
22
|
-
letterSpacing: number;
|
|
23
|
-
textIndent: number;
|
|
24
|
-
metrics: NormalizedFontMetrics;
|
|
25
|
-
text: string;
|
|
26
|
-
fontStyle: string;
|
|
27
|
-
fontBaselineRatio: number;
|
|
28
|
-
fontFamily: string | null;
|
|
29
|
-
wordWrap: boolean;
|
|
30
|
-
wordWrapWidth: number;
|
|
31
|
-
wordBreak: 'normal' | 'break-all' | 'break-word';
|
|
32
|
-
textOverflow: TextOverflow | null;
|
|
33
|
-
textBaseline: TextBaseline;
|
|
34
|
-
textAlign: TextAlign;
|
|
35
|
-
verticalAlign: TextVerticalAlign;
|
|
36
|
-
maxLines: number;
|
|
37
|
-
maxHeight: number | null;
|
|
38
|
-
overflowSuffix: string;
|
|
39
|
-
textColor: number;
|
|
40
|
-
shadow: boolean;
|
|
41
|
-
shadowColor: number;
|
|
42
|
-
shadowOffsetX: number;
|
|
43
|
-
shadowOffsetY: number;
|
|
44
|
-
shadowBlur: number;
|
|
45
|
-
highlight: boolean;
|
|
46
|
-
highlightHeight: number;
|
|
47
|
-
highlightColor: number;
|
|
48
|
-
highlightOffset: number;
|
|
49
|
-
highlightPaddingLeft: number;
|
|
50
|
-
highlightPaddingRight: number;
|
|
51
|
-
advancedRenderer: boolean;
|
|
52
|
-
textRenderIssueMargin: number;
|
|
53
|
-
}
|
|
54
|
-
export interface LineType {
|
|
55
|
-
text: string;
|
|
56
|
-
x: number;
|
|
57
|
-
y: number;
|
|
58
|
-
w: number;
|
|
59
|
-
}
|
|
60
|
-
export declare function calculateRenderInfo(context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D, renderInfo: RenderInfo): void;
|