@wcardinal/wcardinal-ui 0.405.0 → 0.407.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/dist/types/wcardinal/ui/d-base-background-snippet.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-base-border-snippet.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-base-outline-snippet.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-button-color.d.ts +0 -1
- package/dist/types/wcardinal/ui/d-dialog.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-dynamic-text-style.d.ts +17 -11
- package/dist/types/wcardinal/ui/d-dynamic-text.d.ts +3 -2
- package/dist/types/wcardinal/ui/d-image-base.d.ts +1 -4
- package/dist/types/wcardinal/ui/d-image-piece-align.d.ts +4 -4
- package/dist/types/wcardinal/ui/d-image-piece-container-impl.d.ts +14 -1
- package/dist/types/wcardinal/ui/d-image-piece-container.d.ts +11 -0
- package/dist/types/wcardinal/ui/d-image-piece-layouter-part-container.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-image-piece-layouter.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-input.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-menu-item-text.d.ts +3 -2
- package/dist/types/wcardinal/ui/d-scroll-bar.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-text-base.d.ts +15 -74
- package/dist/types/wcardinal/ui/d-text-piece-align-impl.d.ts +20 -0
- package/dist/types/wcardinal/ui/d-text-piece-align.d.ts +7 -0
- package/dist/types/wcardinal/ui/d-text-piece-impl.d.ts +63 -0
- package/dist/types/wcardinal/ui/d-text-piece-style-impl.d.ts +29 -0
- package/dist/types/wcardinal/ui/d-text-piece-style.d.ts +16 -0
- package/dist/types/wcardinal/ui/d-text-piece.d.ts +61 -0
- package/dist/types/wcardinal/ui/index.d.ts +6 -0
- package/dist/types/wcardinal/ui/shape/e-shape-image-like.d.ts +6 -0
- package/dist/types/wcardinal/ui/shape/e-shape.d.ts +2 -2
- package/dist/types/wcardinal/ui/shape/index.d.ts +1 -0
- package/dist/types/wcardinal/ui/shape/variant/e-shape-base.d.ts +4 -6
- package/dist/types/wcardinal/ui/shape/variant/e-shape-group-viewer.d.ts +6 -2
- package/dist/types/wcardinal/ui/shape/variant/e-shape-group.d.ts +6 -2
- package/dist/types/wcardinal/ui/shape/variant/e-shape-image-sdf.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/variant/e-shape-image.d.ts +2 -1
- package/dist/types/wcardinal/ui/shape/variant/e-shape-primitive.d.ts +7 -3
- package/dist/types/wcardinal/ui/shape/variant/to-image-element.d.ts +2 -1
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-input.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-input.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.d.ts +5 -4
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-pagination-dots.d.ts +5 -4
- package/dist/types/wcardinal/ui/util/dynamic-atlas-item-image.d.ts +2 -2
- package/dist/types/wcardinal/ui/util/dynamic-sdf-font-generator.d.ts +1 -1
- package/dist/wcardinal/ui/d-base-background-snippet.js.map +1 -1
- package/dist/wcardinal/ui/d-base-border-snippet.js.map +1 -1
- package/dist/wcardinal/ui/d-base-outline-snippet.js.map +1 -1
- package/dist/wcardinal/ui/d-button-color-gradient.js +10 -13
- package/dist/wcardinal/ui/d-button-color-gradient.js.map +1 -1
- package/dist/wcardinal/ui/d-button-color.js +20 -23
- package/dist/wcardinal/ui/d-button-color.js.map +1 -1
- package/dist/wcardinal/ui/d-button-date.js +4 -4
- package/dist/wcardinal/ui/d-button-date.js.map +1 -1
- package/dist/wcardinal/ui/d-button-datetime.js +4 -4
- package/dist/wcardinal/ui/d-button-datetime.js.map +1 -1
- package/dist/wcardinal/ui/d-button-select.js +2 -2
- package/dist/wcardinal/ui/d-button-select.js.map +1 -1
- package/dist/wcardinal/ui/d-button-time.js +4 -4
- package/dist/wcardinal/ui/d-button-time.js.map +1 -1
- package/dist/wcardinal/ui/d-dialog-processing.js +1 -1
- package/dist/wcardinal/ui/d-dialog-processing.js.map +1 -1
- package/dist/wcardinal/ui/d-dialog.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-style.js +39 -65
- package/dist/wcardinal/ui/d-dynamic-text-style.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text.js +11 -8
- package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
- package/dist/wcardinal/ui/d-image-base.js +6 -18
- package/dist/wcardinal/ui/d-image-base.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-align.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-container-impl.js +49 -1
- package/dist/wcardinal/ui/d-image-piece-container-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-container.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-layouter-part-container.js.map +1 -1
- package/dist/wcardinal/ui/d-image-piece-layouter.js.map +1 -1
- package/dist/wcardinal/ui/d-indicator-processing.js +1 -1
- package/dist/wcardinal/ui/d-indicator-processing.js.map +1 -1
- package/dist/wcardinal/ui/d-input.js +11 -7
- package/dist/wcardinal/ui/d-input.js.map +1 -1
- package/dist/wcardinal/ui/d-menu-item-text.js +12 -6
- package/dist/wcardinal/ui/d-menu-item-text.js.map +1 -1
- package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-date.js +7 -10
- package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-datetime.js +7 -10
- package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +4 -10
- package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +4 -10
- package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
- package/dist/wcardinal/ui/d-table-body-cell-time.js +7 -10
- package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
- package/dist/wcardinal/ui/d-text-base.js +55 -247
- package/dist/wcardinal/ui/d-text-base.js.map +1 -1
- package/dist/wcardinal/ui/d-text-piece-align-impl.js +69 -0
- package/dist/wcardinal/ui/d-text-piece-align-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-text-piece-align.js +2 -0
- package/dist/wcardinal/ui/d-text-piece-align.js.map +1 -0
- package/dist/wcardinal/ui/d-text-piece-impl.js +299 -0
- package/dist/wcardinal/ui/d-text-piece-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-text-piece-style-impl.js +146 -0
- package/dist/wcardinal/ui/d-text-piece-style-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-text-piece-style.js +2 -0
- package/dist/wcardinal/ui/d-text-piece-style.js.map +1 -0
- package/dist/wcardinal/ui/d-text-piece.js +2 -0
- package/dist/wcardinal/ui/d-text-piece.js.map +1 -0
- package/dist/wcardinal/ui/index.js +6 -0
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js +1 -1
- package/dist/wcardinal/ui/shape/e-shape-container.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-image-like.js +2 -0
- package/dist/wcardinal/ui/shape/e-shape-image-like.js.map +1 -0
- package/dist/wcardinal/ui/shape/e-shape-renderer.js +7 -13
- package/dist/wcardinal/ui/shape/e-shape-renderer.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape.js.map +1 -1
- package/dist/wcardinal/ui/shape/index.js +1 -0
- package/dist/wcardinal/ui/shape/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-image-sdf.js +4 -4
- package/dist/wcardinal/ui/shape/variant/create-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/create-image.js +2 -2
- package/dist/wcardinal/ui/shape/variant/create-image.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js +0 -25
- package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js +6 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-group.js +6 -0
- package/dist/wcardinal/ui/shape/variant/e-shape-group.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-image-sdf.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-image.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js +15 -2
- package/dist/wcardinal/ui/shape/variant/e-shape-primitive.js.map +1 -1
- package/dist/wcardinal/ui/shape/variant/to-image-element.js +9 -3
- package/dist/wcardinal/ui/shape/variant/to-image-element.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js +6 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-input.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-last.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-next.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-previous.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-button-top.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-pagination-dots.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-select-multiple.js +9 -9
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-select-multiple.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-select.js +7 -7
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-select.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-input.js +6 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-input.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-last.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-next.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-previous.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-button-top.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-pagination-dots.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-select-multiple.js +9 -9
- package/dist/wcardinal/ui/theme/white/d-theme-white-select-multiple.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-select.js +7 -7
- package/dist/wcardinal/ui/theme/white/d-theme-white-select.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-atlas-item-image.js +18 -9
- package/dist/wcardinal/ui/util/dynamic-atlas-item-image.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-atlas.js.map +1 -1
- package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js +1 -3
- package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-en-us.js +23 -17
- package/dist/wcardinal-ui-theme-dark-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark-ja-jp.js +23 -17
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +23 -17
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.js +23 -17
- package/dist/wcardinal-ui-theme-white-en-us.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-en-us.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white-ja-jp.js +23 -17
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js +2 -2
- package/dist/wcardinal-ui-theme-white-ja-jp.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +23 -17
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui.cjs.js +1113 -787
- package/dist/wcardinal-ui.js +1068 -754
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-sdf-font-generator.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-sdf-font-generator.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst VERTEX_SHADER = `\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nvarying mediump vec2 vTextureCoord;\nvoid main(void) {\n\tgl_Position = vec4(aVertexPosition, 0.0, 1.0);\n\tvTextureCoord = aTextureCoord;\n}\n`;\n\nconst FRAGMENT_SHADER = `\nprecision mediump float;\n\nvarying mediump vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec2 uSize;\n\nfloat norm(vec2 v) {\n\treturn dot(v, v);\n}\n\nfloat norm(vec2 p, vec2 dp) {\n\tvec2 xy = p + dp;\n\tvec2 uvi = vec2(1.0) / uSize;\n\tvec2 uv = xy * uvi;\n\tvec4 t0 = vec4(texture2D(uSampler, uv).a);\n\tvec4 t1 = vec4(\n\t\ttexture2D(uSampler, uv + vec2(-uvi.x, 0.0 )).a,\n\t\ttexture2D(uSampler, uv + vec2(0.0 , -uvi.y)).a,\n\t\ttexture2D(uSampler, uv + vec2(+uvi.x, 0.0 )).a,\n\t\ttexture2D(uSampler, uv + vec2(0.0 , +uvi.y)).a\n\t);\n\tvec4 t2 = vec4(0.5);\n\tvec4 t3 = min(t1,t0);\n\tvec4 t4 = max(t1,t0);\n\n\tvec4 w0 = (t2 - t0) / (t1 - t0);\n\tvec4 s0 = vec4(\n\t\tt3.x < 0.5 && 0.5 <= t4.x,\n\t\tt3.y < 0.5 && 0.5 <= t4.y,\n\t\tt3.z < 0.5 && 0.5 <= t4.z,\n\t\tt3.w < 0.5 && 0.5 <= t4.w\n\t);\n\tvec4 l0 = vec4(\n\t\tnorm(dp + vec2(-w0.x, 0.0 )),\n\t\tnorm(dp + vec2(0.0 , -w0.y)),\n\t\tnorm(dp + vec2(+w0.z, 0.0 )),\n\t\tnorm(dp + vec2(0.0 , +w0.w))\n\t);\n\tvec4 c0 = vec4(100.0);\n\tvec4 r0 = mix(c0, l0, s0);\n\n\tvec4 w1 = w0 * vec4(0.5);\n\tvec4 s1 = vec4(\n\t\t0.5 < s0.x && 0.5 < s0.y,\n\t\t0.5 < s0.y && 0.5 < s0.z,\n\t\t0.5 < s0.z && 0.5 < s0.w,\n\t\t0.5 < s0.w && 0.5 < s0.x\n\t);\n\tvec4 l1 = vec4(\n\t\tnorm(dp + vec2(-w1.x, -w1.y)),\n\t\tnorm(dp + vec2(+w1.z, -w1.y)),\n\t\tnorm(dp + vec2(+w1.z, +w1.w)),\n\t\tnorm(dp + vec2(-w1.x, +w1.w))\n\t);\n\tvec4 r1 = mix(c0, l1, s1);\n\tvec4 r2 = min(r0, r1);\n\tvec2 r3 = min(r2.xy, r2.zw);\n\treturn min(r3.x, r3.y);\n}\n\nfloat normY(vec2 p, float dx) {\n\tfloat result = 100.0;\n\tfor (float dy=-6.0; dy < 6.5; dy += 1.0) {\n\t\tresult = min(result, norm(p, vec2(dx, dy)));\n\t}\n\treturn result;\n}\n\nfloat normX(vec2 p) {\n\tfloat result = 100.0;\n\tfor (float dx=-6.0; dx < 6.5; dx += 1.0) {\n\t\tresult = min(result, normY(p, dx));\n\t}\n\treturn result;\n}\n\nvoid main(void) {\n\tfloat t = texture2D(uSampler, vTextureCoord).a;\n\tfloat d = min( 6.0, sqrt(normX( vTextureCoord * uSize )) ) / 12.0;\n\td = clamp( mix( 0.5 - d, 0.5 + d, step( 0.5, t ) ), 0.0, 1.0 ) * 255.0;\n\tfloat r = floor(d);\n\td = (d - r) * 255.0;\n\tfloat g = floor(d);\n\tgl_FragColor = vec4(r * 0.00392156862745098, g * 0.00392156862745098, d - g, 1.0);\n}\n`;\n\nexport class DynamicSDFFontGenerator {\n\tprotected static _INSTANCE: DynamicSDFFontGenerator | null = null;\n\n\tprotected _canvas: HTMLCanvasElement | null;\n\tprotected _onLostBound: EventListener;\n\tprotected _onRestoreBound: EventListener;\n\tprotected _onUnloadBound: EventListener;\n\tprotected _gl: WebGLRenderingContext | null;\n\tprotected _texture: WebGLTexture | null;\n\tprotected _shaderProgram: WebGLProgram | null;\n\tprotected _vertexPositionAttribute: number;\n\tprotected _textureCoordAttribute: number;\n\tprotected _samplerUniform: WebGLUniformLocation | null;\n\tprotected _sizeUniform: WebGLUniformLocation | null;\n\tprotected _vb: WebGLBuffer | null;\n\tprotected _uvb: WebGLBuffer | null;\n\n\tconstructor() {\n\t\tthis._gl = null;\n\t\tthis._texture = null;\n\t\tthis._shaderProgram = null;\n\t\tthis._vertexPositionAttribute = 0;\n\t\tthis._textureCoordAttribute = 1;\n\t\tthis._samplerUniform = null;\n\t\tthis._sizeUniform = null;\n\t\tthis._vb = null;\n\t\tthis._uvb = null;\n\n\t\tconst canvas = (this._canvas = document.createElement(\"canvas\"));\n\t\tcanvas.width = 64;\n\t\tcanvas.height = 64;\n\t\tthis._onLostBound = (e: Event): void => {\n\t\t\te.preventDefault();\n\t\t};\n\t\tthis._onRestoreBound = (): void => {\n\t\t\tthis.restore();\n\t\t};\n\t\tthis._onUnloadBound = (): void => {\n\t\t\tthis.destroy();\n\t\t};\n\t\tcanvas.addEventListener(\"webglcontextlost\", this._onLostBound, false);\n\t\tcanvas.addEventListener(\"webglcontextrestored\", this._onRestoreBound, false);\n\t\twindow.addEventListener(\"unload\", this._onUnloadBound, false);\n\t}\n\n\tinit(): this {\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null && (this._gl == null || this._gl.isContextLost())) {\n\t\t\tconst config: WebGLContextAttributes = {\n\t\t\t\talpha: true,\n\t\t\t\tantialias: false,\n\t\t\t\tdepth: false,\n\t\t\t\tstencil: false,\n\t\t\t\tpremultipliedAlpha: false\n\t\t\t};\n\t\t\tconst gl =\n\t\t\t\tcanvas.getContext(\"webgl\", config) ||\n\t\t\t\t(canvas.getContext(\"experimental-webgl\", config) as WebGLRenderingContext | null);\n\t\t\tthis._gl = gl;\n\t\t\tif (gl != null) {\n\t\t\t\tgl.clearColor(1.0, 1.0, 1.0, 0.0);\n\t\t\t\tthis.makeVertexBuffer();\n\t\t\t\tthis.makeUvBuffer();\n\t\t\t\tthis.makeShaders();\n\t\t\t\tthis._texture = null;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\trestore(): void {\n\t\tthis.init();\n\t}\n\n\tgetCanvas(): HTMLCanvasElement | null {\n\t\treturn this._canvas;\n\t}\n\n\tgetShader(gl: WebGLRenderingContext, code: string, type: boolean): WebGLShader | null {\n\t\tconst shader = type\n\t\t\t? gl.createShader(gl.FRAGMENT_SHADER)\n\t\t\t: gl.createShader(gl.VERTEX_SHADER);\n\t\tif (shader != null) {\n\t\t\tgl.shaderSource(shader, code);\n\t\t\tgl.compileShader(shader);\n\t\t\tif (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n\t\t\t\tconsole &&\n\t\t\t\t\tconsole.error(`Failed to compile the shader: ${gl.getShaderInfoLog(shader)}`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn shader;\n\t}\n\n\tmakeShaders(): WebGLShader | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst vertexShader = this.getShader(gl, VERTEX_SHADER, false);\n\t\t\tif (vertexShader != null) {\n\t\t\t\tconst fragmentShader = this.getShader(gl, FRAGMENT_SHADER, true);\n\t\t\t\tif (fragmentShader != null) {\n\t\t\t\t\tconst shaderProgram = (this._shaderProgram = gl.createProgram());\n\t\t\t\t\tif (shaderProgram != null) {\n\t\t\t\t\t\tgl.attachShader(shaderProgram, vertexShader);\n\t\t\t\t\t\tgl.attachShader(shaderProgram, fragmentShader);\n\t\t\t\t\t\tgl.bindAttribLocation(shaderProgram, 0, \"aVertexPosition\");\n\t\t\t\t\t\tgl.bindAttribLocation(shaderProgram, 1, \"aTextureCoord\");\n\t\t\t\t\t\tgl.linkProgram(shaderProgram);\n\t\t\t\t\t\tif (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {\n\t\t\t\t\t\t\tconsole &&\n\t\t\t\t\t\t\t\tconsole.error(`Failed to link the program: ${gl.getError()}`);\n\t\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\n\t\t\t\t\t\t\tgl.useProgram(shaderProgram);\n\t\t\t\t\t\t\tthis._samplerUniform = gl.getUniformLocation(shaderProgram, \"uSampler\");\n\t\t\t\t\t\t\tthis._sizeUniform = gl.getUniformLocation(shaderProgram, \"uSize\");\n\t\t\t\t\t\t\tgl.useProgram(null);\n\t\t\t\t\t\t\treturn shaderProgram;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyShaders(): void {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst shaderProgram = this._shaderProgram;\n\t\t\tif (shaderProgram != null) {\n\t\t\t\tthis._shaderProgram = null;\n\t\t\t\tgl.useProgram(null);\n\t\t\t\tgl.deleteProgram(shaderProgram);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateTexture(\n\t\tsource:\n\t\t\t| ImageBitmap\n\t\t\t| ImageData\n\t\t\t| HTMLImageElement\n\t\t\t| HTMLCanvasElement\n\t\t\t| HTMLVideoElement\n\t\t\t| OffscreenCanvas\n\t): WebGLTexture | null {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tif (gl != null && gl.isContextLost() !== true && canvas != null) {\n\t\t\tconst width = source.width;\n\t\t\tconst height = source.height;\n\t\t\tif (canvas.width !== width || canvas.height !== height) {\n\t\t\t\tcanvas.width = width;\n\t\t\t\tcanvas.height = height;\n\t\t\t\tgl.viewport(0, 0, width, height);\n\t\t\t}\n\n\t\t\tlet texture = this._texture;\n\t\t\tif (texture == null) {\n\t\t\t\ttexture = this._texture = gl.createTexture();\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\t\tgl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\t} else {\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\t\tgl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\t}\n\t\t\treturn texture;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyTexture(): void {\n\t\tconst gl = this._gl;\n\t\tconst texture = this._texture;\n\t\tif (gl != null && gl.isContextLost() !== true && texture != null) {\n\t\t\tthis._texture = null;\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\tgl.deleteTexture(texture);\n\t\t}\n\t}\n\n\tmakeVertexBuffer(): WebGLBuffer | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst vb = (this._vb = gl.createBuffer());\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, vb);\n\n\t\t\tconst vertices = [-1.0, +1.0, +1.0, +1.0, -1.0, -1.0, +1.0, -1.0];\n\n\t\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);\n\t\t\treturn vb;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyVertexBuffer(): void {\n\t\tconst gl = this._gl;\n\t\tconst vb = this._vb;\n\t\tif (gl != null && gl.isContextLost() !== true && vb != null) {\n\t\t\tthis._vb = null;\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.deleteBuffer(vb);\n\t\t}\n\t}\n\n\tmakeUvBuffer(): WebGLBuffer | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst uvb = (this._uvb = gl.createBuffer());\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, uvb);\n\n\t\t\tconst uvs = [0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0];\n\n\t\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(uvs), gl.STATIC_DRAW);\n\t\t\treturn uvb;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyUvBuffer(): void {\n\t\tconst gl = this._gl;\n\t\tconst uvb = this._uvb;\n\t\tif (gl != null && gl.isContextLost() !== true && uvb != null) {\n\t\t\tthis._uvb = null;\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.deleteBuffer(uvb);\n\t\t}\n\t}\n\n\trender(): void {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tconst shaderProgram = this._shaderProgram;\n\t\tconst vb = this._vb;\n\t\tconst uvb = this._uvb;\n\t\tconst texture = this._texture;\n\t\tif (\n\t\t\tgl != null &&\n\t\t\tgl.isContextLost() !== true &&\n\t\t\tcanvas != null &&\n\t\t\tshaderProgram != null &&\n\t\t\tvb != null &&\n\t\t\tuvb != null &&\n\t\t\ttexture != null\n\t\t) {\n\t\t\tgl.clear(gl.COLOR_BUFFER_BIT);\n\n\t\t\tgl.useProgram(shaderProgram);\n\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, vb);\n\t\t\tconst vertexPositionAttribute = this._vertexPositionAttribute;\n\t\t\tgl.enableVertexAttribArray(vertexPositionAttribute);\n\t\t\tgl.vertexAttribPointer(vertexPositionAttribute, 2, gl.FLOAT, false, 0, 0);\n\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, uvb);\n\t\t\tconst textureCoordAttribute = this._textureCoordAttribute;\n\t\t\tgl.enableVertexAttribArray(textureCoordAttribute);\n\t\t\tgl.vertexAttribPointer(textureCoordAttribute, 2, gl.FLOAT, false, 0, 0);\n\n\t\t\tgl.activeTexture(gl.TEXTURE0);\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\tgl.uniform1i(this._samplerUniform, 0);\n\t\t\tgl.uniform2f(this._sizeUniform, canvas.width, canvas.height);\n\n\t\t\tgl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.useProgram(null);\n\t\t}\n\t}\n\n\tread(copyCanvas: HTMLCanvasElement): void {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tif (gl != null && gl.isContextLost() !== true && canvas != null) {\n\t\t\tconst width = canvas.width;\n\t\t\tconst height = canvas.height;\n\t\t\tcopyCanvas.width = width;\n\t\t\tcopyCanvas.height = height;\n\t\t\tconst copyContext = copyCanvas.getContext(\"2d\");\n\t\t\tif (copyContext != null) {\n\t\t\t\tcopyContext.drawImage(canvas, 0, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.destroyVertexBuffer();\n\t\tthis.destroyUvBuffer();\n\t\tthis.destroyShaders();\n\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null) {\n\t\t\tthis._canvas = null;\n\t\t\tcanvas.removeEventListener(\"webglcontextlost\", this._onLostBound, false);\n\t\t\tcanvas.removeEventListener(\"webglcontextrestored\", this._onRestoreBound, false);\n\t\t\twindow.removeEventListener(\"unload\", this._onUnloadBound, false);\n\t\t}\n\n\t\tconst gl = this._gl;\n\t\tif (gl != null) {\n\t\t\tthis._gl = null;\n\t\t\tconst WebGLLoseContext = gl.getExtension(\"WEBGL_lose_context\");\n\t\t\tif (WebGLLoseContext != null) {\n\t\t\t\tWebGLLoseContext.loseContext();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic getInstance(): DynamicSDFFontGenerator {\n\t\tif (DynamicSDFFontGenerator._INSTANCE == null) {\n\t\t\tDynamicSDFFontGenerator._INSTANCE = new DynamicSDFFontGenerator();\n\t\t}\n\t\treturn DynamicSDFFontGenerator._INSTANCE;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dynamic-sdf-font-generator.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-sdf-font-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,IAAM,aAAa,GAAG,mNAQrB,CAAC;AAEF,IAAM,eAAe,GAAG,isEAsFvB,CAAC;AAEF;IAiBC;QAAA,iBA0BC;QAzBA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,UAAC,CAAQ;YAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,IAAI,CAAC,eAAe,GAAG;YACtB,KAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG;YACrB,KAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACtE,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAC7E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,sCAAI,GAAJ;QACC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,EAAE;YACrE,IAAM,MAAM,GAA2B;gBACtC,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,KAAK;gBACd,kBAAkB,EAAE,KAAK;aACzB,CAAC;YACF,IAAM,EAAE,GACP,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;gBACjC,MAAM,CAAC,UAAU,CAAC,oBAAoB,EAAE,MAAM,CAAkC,CAAC;YACnF,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACd,IAAI,EAAE,IAAI,IAAI,EAAE;gBACf,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACrB;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,yCAAO,GAAP;QACC,IAAI,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAED,2CAAS,GAAT;QACC,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,2CAAS,GAAT,UAAU,EAAyB,EAAE,IAAY,EAAE,IAAa;QAC/D,IAAM,MAAM,GAAG,IAAI;YAClB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,eAAe,CAAC;YACrC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE;gBACtD,OAAO;oBACN,OAAO,CAAC,KAAK,CAAC,wCAAiC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAE,CAAC,CAAC;gBAC/E,OAAO,IAAI,CAAC;aACZ;SACD;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,6CAAW,GAAX;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,YAAY,IAAI,IAAI,EAAE;gBACzB,IAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;gBACjE,IAAI,cAAc,IAAI,IAAI,EAAE;oBAC3B,IAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;oBACjE,IAAI,aAAa,IAAI,IAAI,EAAE;wBAC1B,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;wBAC7C,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;wBAC/C,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,EAAE,iBAAiB,CAAC,CAAC;wBAC3D,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;wBACzD,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;wBAC9B,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE;4BAC3D,OAAO;gCACN,OAAO,CAAC,KAAK,CAAC,sCAA+B,EAAE,CAAC,QAAQ,EAAE,CAAE,CAAC,CAAC;4BAC/D,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;4BAC9B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;4BAChC,OAAO,IAAI,CAAC;yBACZ;6BAAM;4BACN,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;4BAC9B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;4BAEhC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;4BAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;4BACxE,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;4BAClE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;4BACpB,OAAO,aAAa,CAAC;yBACrB;qBACD;yBAAM;wBACN,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC9B,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;qBAChC;iBACD;qBAAM;oBACN,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;iBAC9B;aACD;SACD;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gDAAc,GAAd;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YAC1C,IAAI,aAAa,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACpB,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;aAChC;SACD;IACF,CAAC;IAED,+CAAa,GAAb,UAAc,KAAa,EAAE,MAAc,EAAE,MAAsB;QAClE,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;YAChE,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE;gBACvD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;gBACvB,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;aACjC;YAED,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAI,OAAO,IAAI,IAAI,EAAE;gBACpB,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;gBAC7C,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC5E,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;gBACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;gBACrE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;gBACnE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aACpC;iBAAM;gBACN,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBAC5E,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aACpC;YACD,OAAO,OAAO,CAAC;SACf;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,gDAAc,GAAd;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC1B;IACF,CAAC;IAED,kDAAgB,GAAhB;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAM,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAEnC,IAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAElE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC;SACV;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,qDAAmB,GAAnB;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE;YAC5D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SACpB;IACF,CAAC;IAED,8CAAY,GAAZ;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5C,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAEpC,IAAM,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAErD,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YACtE,OAAO,GAAG,CAAC;SACX;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,iDAAe,GAAf;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE;YAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACrB;IACF,CAAC;IAED,wCAAM,GAAN;QACC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IACC,EAAE,IAAI,IAAI;YACV,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI;YAC3B,MAAM,IAAI,IAAI;YACd,aAAa,IAAI,IAAI;YACrB,EAAE,IAAI,IAAI;YACV,GAAG,IAAI,IAAI;YACX,OAAO,IAAI,IAAI,EACd;YACD,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAE9B,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAE7B,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnC,IAAM,uBAAuB,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAC9D,EAAE,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;YACpD,EAAE,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1E,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACpC,IAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,CAAC;YAC1D,EAAE,CAAC,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;YAClD,EAAE,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAExE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC9B,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACvC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;YACtC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7D,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACpC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpB;IACF,CAAC;IAED,sCAAI,GAAJ,UAAK,UAA6B;QACjC,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;YAChE,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;YAC3B,IAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,WAAW,IAAI,IAAI,EAAE;gBACxB,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,yCAAO,GAAP;QACC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;YAChF,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;SACjE;QAED,IAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,EAAE;YACf,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,IAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC/D,IAAI,gBAAgB,IAAI,IAAI,EAAE;gBAC7B,gBAAgB,CAAC,WAAW,EAAE,CAAC;aAC/B;SACD;IACF,CAAC;IAEM,mCAAW,GAAlB;QACC,IAAI,uBAAuB,CAAC,SAAS,IAAI,IAAI,EAAE;YAC9C,uBAAuB,CAAC,SAAS,GAAG,IAAI,uBAAuB,EAAE,CAAC;SAClE;QACD,OAAO,uBAAuB,CAAC,SAAS,CAAC;IAC1C,CAAC;IAjUgB,iCAAS,GAAmC,IAAI,CAAC;IAkUnE,8BAAC;CAAA,AAnUD,IAmUC;SAnUY,uBAAuB","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nconst VERTEX_SHADER = `\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nvarying mediump vec2 vTextureCoord;\nvoid main(void) {\n\tgl_Position = vec4(aVertexPosition, 0.0, 1.0);\n\tvTextureCoord = aTextureCoord;\n}\n`;\n\nconst FRAGMENT_SHADER = `\nprecision mediump float;\n\nvarying mediump vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform vec2 uSize;\n\nfloat norm(vec2 v) {\n\treturn dot(v, v);\n}\n\nfloat norm(vec2 p, vec2 dp) {\n\tvec2 xy = p + dp;\n\tvec2 uvi = vec2(1.0) / uSize;\n\tvec2 uv = xy * uvi;\n\tvec4 t0 = vec4(texture2D(uSampler, uv).a);\n\tvec4 t1 = vec4(\n\t\ttexture2D(uSampler, uv + vec2(-uvi.x, 0.0 )).a,\n\t\ttexture2D(uSampler, uv + vec2(0.0 , -uvi.y)).a,\n\t\ttexture2D(uSampler, uv + vec2(+uvi.x, 0.0 )).a,\n\t\ttexture2D(uSampler, uv + vec2(0.0 , +uvi.y)).a\n\t);\n\tvec4 t2 = vec4(0.5);\n\tvec4 t3 = min(t1,t0);\n\tvec4 t4 = max(t1,t0);\n\n\tvec4 w0 = (t2 - t0) / (t1 - t0);\n\tvec4 s0 = vec4(\n\t\tt3.x < 0.5 && 0.5 <= t4.x,\n\t\tt3.y < 0.5 && 0.5 <= t4.y,\n\t\tt3.z < 0.5 && 0.5 <= t4.z,\n\t\tt3.w < 0.5 && 0.5 <= t4.w\n\t);\n\tvec4 l0 = vec4(\n\t\tnorm(dp + vec2(-w0.x, 0.0 )),\n\t\tnorm(dp + vec2(0.0 , -w0.y)),\n\t\tnorm(dp + vec2(+w0.z, 0.0 )),\n\t\tnorm(dp + vec2(0.0 , +w0.w))\n\t);\n\tvec4 c0 = vec4(100.0);\n\tvec4 r0 = mix(c0, l0, s0);\n\n\tvec4 w1 = w0 * vec4(0.5);\n\tvec4 s1 = vec4(\n\t\t0.5 < s0.x && 0.5 < s0.y,\n\t\t0.5 < s0.y && 0.5 < s0.z,\n\t\t0.5 < s0.z && 0.5 < s0.w,\n\t\t0.5 < s0.w && 0.5 < s0.x\n\t);\n\tvec4 l1 = vec4(\n\t\tnorm(dp + vec2(-w1.x, -w1.y)),\n\t\tnorm(dp + vec2(+w1.z, -w1.y)),\n\t\tnorm(dp + vec2(+w1.z, +w1.w)),\n\t\tnorm(dp + vec2(-w1.x, +w1.w))\n\t);\n\tvec4 r1 = mix(c0, l1, s1);\n\tvec4 r2 = min(r0, r1);\n\tvec2 r3 = min(r2.xy, r2.zw);\n\treturn min(r3.x, r3.y);\n}\n\nfloat normY(vec2 p, float dx) {\n\tfloat result = 100.0;\n\tfor (float dy=-6.0; dy < 6.5; dy += 1.0) {\n\t\tresult = min(result, norm(p, vec2(dx, dy)));\n\t}\n\treturn result;\n}\n\nfloat normX(vec2 p) {\n\tfloat result = 100.0;\n\tfor (float dx=-6.0; dx < 6.5; dx += 1.0) {\n\t\tresult = min(result, normY(p, dx));\n\t}\n\treturn result;\n}\n\nvoid main(void) {\n\tfloat t = texture2D(uSampler, vTextureCoord).a;\n\tfloat d = min( 6.0, sqrt(normX( vTextureCoord * uSize )) ) / 12.0;\n\td = clamp( mix( 0.5 - d, 0.5 + d, step( 0.5, t ) ), 0.0, 1.0 ) * 255.0;\n\tfloat r = floor(d);\n\td = (d - r) * 255.0;\n\tfloat g = floor(d);\n\tgl_FragColor = vec4(r * 0.00392156862745098, g * 0.00392156862745098, d - g, 1.0);\n}\n`;\n\nexport class DynamicSDFFontGenerator {\n\tprotected static _INSTANCE: DynamicSDFFontGenerator | null = null;\n\n\tprotected _canvas: HTMLCanvasElement | null;\n\tprotected _onLostBound: EventListener;\n\tprotected _onRestoreBound: EventListener;\n\tprotected _onUnloadBound: EventListener;\n\tprotected _gl: WebGLRenderingContext | null;\n\tprotected _texture: WebGLTexture | null;\n\tprotected _shaderProgram: WebGLProgram | null;\n\tprotected _vertexPositionAttribute: number;\n\tprotected _textureCoordAttribute: number;\n\tprotected _samplerUniform: WebGLUniformLocation | null;\n\tprotected _sizeUniform: WebGLUniformLocation | null;\n\tprotected _vb: WebGLBuffer | null;\n\tprotected _uvb: WebGLBuffer | null;\n\n\tconstructor() {\n\t\tthis._gl = null;\n\t\tthis._texture = null;\n\t\tthis._shaderProgram = null;\n\t\tthis._vertexPositionAttribute = 0;\n\t\tthis._textureCoordAttribute = 1;\n\t\tthis._samplerUniform = null;\n\t\tthis._sizeUniform = null;\n\t\tthis._vb = null;\n\t\tthis._uvb = null;\n\n\t\tconst canvas = (this._canvas = document.createElement(\"canvas\"));\n\t\tcanvas.width = 64;\n\t\tcanvas.height = 64;\n\t\tthis._onLostBound = (e: Event): void => {\n\t\t\te.preventDefault();\n\t\t};\n\t\tthis._onRestoreBound = (): void => {\n\t\t\tthis.restore();\n\t\t};\n\t\tthis._onUnloadBound = (): void => {\n\t\t\tthis.destroy();\n\t\t};\n\t\tcanvas.addEventListener(\"webglcontextlost\", this._onLostBound, false);\n\t\tcanvas.addEventListener(\"webglcontextrestored\", this._onRestoreBound, false);\n\t\twindow.addEventListener(\"unload\", this._onUnloadBound, false);\n\t}\n\n\tinit(): this {\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null && (this._gl == null || this._gl.isContextLost())) {\n\t\t\tconst config: WebGLContextAttributes = {\n\t\t\t\talpha: true,\n\t\t\t\tantialias: false,\n\t\t\t\tdepth: false,\n\t\t\t\tstencil: false,\n\t\t\t\tpremultipliedAlpha: false\n\t\t\t};\n\t\t\tconst gl =\n\t\t\t\tcanvas.getContext(\"webgl\", config) ||\n\t\t\t\t(canvas.getContext(\"experimental-webgl\", config) as WebGLRenderingContext | null);\n\t\t\tthis._gl = gl;\n\t\t\tif (gl != null) {\n\t\t\t\tgl.clearColor(1.0, 1.0, 1.0, 0.0);\n\t\t\t\tthis.makeVertexBuffer();\n\t\t\t\tthis.makeUvBuffer();\n\t\t\t\tthis.makeShaders();\n\t\t\t\tthis._texture = null;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\trestore(): void {\n\t\tthis.init();\n\t}\n\n\tgetCanvas(): HTMLCanvasElement | null {\n\t\treturn this._canvas;\n\t}\n\n\tgetShader(gl: WebGLRenderingContext, code: string, type: boolean): WebGLShader | null {\n\t\tconst shader = type\n\t\t\t? gl.createShader(gl.FRAGMENT_SHADER)\n\t\t\t: gl.createShader(gl.VERTEX_SHADER);\n\t\tif (shader != null) {\n\t\t\tgl.shaderSource(shader, code);\n\t\t\tgl.compileShader(shader);\n\t\t\tif (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n\t\t\t\tconsole &&\n\t\t\t\t\tconsole.error(`Failed to compile the shader: ${gl.getShaderInfoLog(shader)}`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t\treturn shader;\n\t}\n\n\tmakeShaders(): WebGLShader | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst vertexShader = this.getShader(gl, VERTEX_SHADER, false);\n\t\t\tif (vertexShader != null) {\n\t\t\t\tconst fragmentShader = this.getShader(gl, FRAGMENT_SHADER, true);\n\t\t\t\tif (fragmentShader != null) {\n\t\t\t\t\tconst shaderProgram = (this._shaderProgram = gl.createProgram());\n\t\t\t\t\tif (shaderProgram != null) {\n\t\t\t\t\t\tgl.attachShader(shaderProgram, vertexShader);\n\t\t\t\t\t\tgl.attachShader(shaderProgram, fragmentShader);\n\t\t\t\t\t\tgl.bindAttribLocation(shaderProgram, 0, \"aVertexPosition\");\n\t\t\t\t\t\tgl.bindAttribLocation(shaderProgram, 1, \"aTextureCoord\");\n\t\t\t\t\t\tgl.linkProgram(shaderProgram);\n\t\t\t\t\t\tif (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {\n\t\t\t\t\t\t\tconsole &&\n\t\t\t\t\t\t\t\tconsole.error(`Failed to link the program: ${gl.getError()}`);\n\t\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\n\t\t\t\t\t\t\tgl.useProgram(shaderProgram);\n\t\t\t\t\t\t\tthis._samplerUniform = gl.getUniformLocation(shaderProgram, \"uSampler\");\n\t\t\t\t\t\t\tthis._sizeUniform = gl.getUniformLocation(shaderProgram, \"uSize\");\n\t\t\t\t\t\t\tgl.useProgram(null);\n\t\t\t\t\t\t\treturn shaderProgram;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t\t\tgl.deleteShader(fragmentShader);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tgl.deleteShader(vertexShader);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyShaders(): void {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst shaderProgram = this._shaderProgram;\n\t\t\tif (shaderProgram != null) {\n\t\t\t\tthis._shaderProgram = null;\n\t\t\t\tgl.useProgram(null);\n\t\t\t\tgl.deleteProgram(shaderProgram);\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateTexture(width: number, height: number, source: TexImageSource): WebGLTexture | null {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tif (gl != null && gl.isContextLost() !== true && canvas != null) {\n\t\t\tif (canvas.width !== width || canvas.height !== height) {\n\t\t\t\tcanvas.width = width;\n\t\t\t\tcanvas.height = height;\n\t\t\t\tgl.viewport(0, 0, width, height);\n\t\t\t}\n\n\t\t\tlet texture = this._texture;\n\t\t\tif (texture == null) {\n\t\t\t\ttexture = this._texture = gl.createTexture();\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\t\tgl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n\t\t\t\tgl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\t} else {\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\t\tgl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);\n\t\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\t}\n\t\t\treturn texture;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyTexture(): void {\n\t\tconst gl = this._gl;\n\t\tconst texture = this._texture;\n\t\tif (gl != null && gl.isContextLost() !== true && texture != null) {\n\t\t\tthis._texture = null;\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\tgl.deleteTexture(texture);\n\t\t}\n\t}\n\n\tmakeVertexBuffer(): WebGLBuffer | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst vb = (this._vb = gl.createBuffer());\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, vb);\n\n\t\t\tconst vertices = [-1.0, +1.0, +1.0, +1.0, -1.0, -1.0, +1.0, -1.0];\n\n\t\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);\n\t\t\treturn vb;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyVertexBuffer(): void {\n\t\tconst gl = this._gl;\n\t\tconst vb = this._vb;\n\t\tif (gl != null && gl.isContextLost() !== true && vb != null) {\n\t\t\tthis._vb = null;\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.deleteBuffer(vb);\n\t\t}\n\t}\n\n\tmakeUvBuffer(): WebGLBuffer | null {\n\t\tconst gl = this._gl;\n\t\tif (gl != null && gl.isContextLost() !== true) {\n\t\t\tconst uvb = (this._uvb = gl.createBuffer());\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, uvb);\n\n\t\t\tconst uvs = [0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0];\n\n\t\t\tgl.bufferData(gl.ARRAY_BUFFER, new Float32Array(uvs), gl.STATIC_DRAW);\n\t\t\treturn uvb;\n\t\t}\n\t\treturn null;\n\t}\n\n\tdestroyUvBuffer(): void {\n\t\tconst gl = this._gl;\n\t\tconst uvb = this._uvb;\n\t\tif (gl != null && gl.isContextLost() !== true && uvb != null) {\n\t\t\tthis._uvb = null;\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.deleteBuffer(uvb);\n\t\t}\n\t}\n\n\trender(): void {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tconst shaderProgram = this._shaderProgram;\n\t\tconst vb = this._vb;\n\t\tconst uvb = this._uvb;\n\t\tconst texture = this._texture;\n\t\tif (\n\t\t\tgl != null &&\n\t\t\tgl.isContextLost() !== true &&\n\t\t\tcanvas != null &&\n\t\t\tshaderProgram != null &&\n\t\t\tvb != null &&\n\t\t\tuvb != null &&\n\t\t\ttexture != null\n\t\t) {\n\t\t\tgl.clear(gl.COLOR_BUFFER_BIT);\n\n\t\t\tgl.useProgram(shaderProgram);\n\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, vb);\n\t\t\tconst vertexPositionAttribute = this._vertexPositionAttribute;\n\t\t\tgl.enableVertexAttribArray(vertexPositionAttribute);\n\t\t\tgl.vertexAttribPointer(vertexPositionAttribute, 2, gl.FLOAT, false, 0, 0);\n\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, uvb);\n\t\t\tconst textureCoordAttribute = this._textureCoordAttribute;\n\t\t\tgl.enableVertexAttribArray(textureCoordAttribute);\n\t\t\tgl.vertexAttribPointer(textureCoordAttribute, 2, gl.FLOAT, false, 0, 0);\n\n\t\t\tgl.activeTexture(gl.TEXTURE0);\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, texture);\n\t\t\tgl.uniform1i(this._samplerUniform, 0);\n\t\t\tgl.uniform2f(this._sizeUniform, canvas.width, canvas.height);\n\n\t\t\tgl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n\n\t\t\tgl.bindTexture(gl.TEXTURE_2D, null);\n\t\t\tgl.bindBuffer(gl.ARRAY_BUFFER, null);\n\t\t\tgl.useProgram(null);\n\t\t}\n\t}\n\n\tread(copyCanvas: HTMLCanvasElement): void {\n\t\tconst gl = this._gl;\n\t\tconst canvas = this._canvas;\n\t\tif (gl != null && gl.isContextLost() !== true && canvas != null) {\n\t\t\tconst width = canvas.width;\n\t\t\tconst height = canvas.height;\n\t\t\tcopyCanvas.width = width;\n\t\t\tcopyCanvas.height = height;\n\t\t\tconst copyContext = copyCanvas.getContext(\"2d\");\n\t\t\tif (copyContext != null) {\n\t\t\t\tcopyContext.drawImage(canvas, 0, 0);\n\t\t\t}\n\t\t}\n\t}\n\n\tdestroy(): void {\n\t\tthis.destroyVertexBuffer();\n\t\tthis.destroyUvBuffer();\n\t\tthis.destroyShaders();\n\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null) {\n\t\t\tthis._canvas = null;\n\t\t\tcanvas.removeEventListener(\"webglcontextlost\", this._onLostBound, false);\n\t\t\tcanvas.removeEventListener(\"webglcontextrestored\", this._onRestoreBound, false);\n\t\t\twindow.removeEventListener(\"unload\", this._onUnloadBound, false);\n\t\t}\n\n\t\tconst gl = this._gl;\n\t\tif (gl != null) {\n\t\t\tthis._gl = null;\n\t\t\tconst WebGLLoseContext = gl.getExtension(\"WEBGL_lose_context\");\n\t\t\tif (WebGLLoseContext != null) {\n\t\t\t\tWebGLLoseContext.loseContext();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic getInstance(): DynamicSDFFontGenerator {\n\t\tif (DynamicSDFFontGenerator._INSTANCE == null) {\n\t\t\tDynamicSDFFontGenerator._INSTANCE = new DynamicSDFFontGenerator();\n\t\t}\n\t\treturn DynamicSDFFontGenerator._INSTANCE;\n\t}\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.407.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -2778,6 +2778,12 @@
|
|
|
2778
2778
|
}
|
|
2779
2779
|
return null;
|
|
2780
2780
|
};
|
|
2781
|
+
DThemeDarkInput.prototype.getOutlineColor = function (state) {
|
|
2782
|
+
if (state.isInvalid) {
|
|
2783
|
+
return DThemeDarkConstants.INVALID_COLOR;
|
|
2784
|
+
}
|
|
2785
|
+
return _super.prototype.getOutlineColor.call(this, state);
|
|
2786
|
+
};
|
|
2781
2787
|
DThemeDarkInput.prototype.getHeight = function () {
|
|
2782
2788
|
return this.getLineHeight();
|
|
2783
2789
|
};
|
|
@@ -4788,14 +4794,14 @@
|
|
|
4788
4794
|
* Copyright (C) 2019 Toshiba Corporation
|
|
4789
4795
|
* SPDX-License-Identifier: Apache-2.0
|
|
4790
4796
|
*/
|
|
4791
|
-
var formatter$a = function (
|
|
4792
|
-
if (
|
|
4793
|
-
var
|
|
4794
|
-
if (isString(
|
|
4795
|
-
return
|
|
4797
|
+
var formatter$a = function (item) {
|
|
4798
|
+
if (item) {
|
|
4799
|
+
var value = item.text.value;
|
|
4800
|
+
if (isString(value)) {
|
|
4801
|
+
return value;
|
|
4796
4802
|
}
|
|
4797
|
-
else if (
|
|
4798
|
-
var computed =
|
|
4803
|
+
else if (value != null) {
|
|
4804
|
+
var computed = value(item.state);
|
|
4799
4805
|
if (computed != null) {
|
|
4800
4806
|
return computed;
|
|
4801
4807
|
}
|
|
@@ -4821,19 +4827,19 @@
|
|
|
4821
4827
|
* Copyright (C) 2019 Toshiba Corporation
|
|
4822
4828
|
* SPDX-License-Identifier: Apache-2.0
|
|
4823
4829
|
*/
|
|
4824
|
-
var formatter$9 = function (
|
|
4825
|
-
if (
|
|
4830
|
+
var formatter$9 = function (items) {
|
|
4831
|
+
if (items) {
|
|
4826
4832
|
var result = "";
|
|
4827
4833
|
var delimiter = "";
|
|
4828
|
-
for (var i = 0, imax =
|
|
4829
|
-
var
|
|
4830
|
-
var
|
|
4831
|
-
if (isString(
|
|
4832
|
-
result += delimiter +
|
|
4834
|
+
for (var i = 0, imax = items.length; i < imax; ++i) {
|
|
4835
|
+
var item = items[i];
|
|
4836
|
+
var value = item.text.value;
|
|
4837
|
+
if (isString(value)) {
|
|
4838
|
+
result += delimiter + value;
|
|
4833
4839
|
delimiter = ", ";
|
|
4834
4840
|
}
|
|
4835
|
-
else if (
|
|
4836
|
-
var computed =
|
|
4841
|
+
else if (value != null) {
|
|
4842
|
+
var computed = value(item.state);
|
|
4837
4843
|
if (computed != null) {
|
|
4838
4844
|
result += delimiter + computed;
|
|
4839
4845
|
delimiter = ", ";
|