@wcardinal/wcardinal-ui 0.405.0 → 0.406.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/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/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 +1110 -787
- package/dist/wcardinal-ui.js +1065 -754
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
6
|
import { isString } from "../../util/is-string";
|
|
7
7
|
import { DThemeWhiteDropdownBase } from "./d-theme-white-dropdown-base";
|
|
8
|
-
var formatter = function (
|
|
9
|
-
if (
|
|
8
|
+
var formatter = function (items) {
|
|
9
|
+
if (items) {
|
|
10
10
|
var result = "";
|
|
11
11
|
var delimiter = "";
|
|
12
|
-
for (var i = 0, imax =
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
if (isString(
|
|
16
|
-
result += delimiter +
|
|
12
|
+
for (var i = 0, imax = items.length; i < imax; ++i) {
|
|
13
|
+
var item = items[i];
|
|
14
|
+
var value = item.text.value;
|
|
15
|
+
if (isString(value)) {
|
|
16
|
+
result += delimiter + value;
|
|
17
17
|
delimiter = ", ";
|
|
18
18
|
}
|
|
19
|
-
else if (
|
|
20
|
-
var computed =
|
|
19
|
+
else if (value != null) {
|
|
20
|
+
var computed = value(item.state);
|
|
21
21
|
if (computed != null) {
|
|
22
22
|
result += delimiter + computed;
|
|
23
23
|
delimiter = ", ";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-theme-white-select-multiple.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-select-multiple.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,IAAM,SAAS,GAAG,UAAQ,
|
|
1
|
+
{"version":3,"file":"d-theme-white-select-multiple.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-select-multiple.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,IAAM,SAAS,GAAG,UAAQ,KAAqC;IAC9D,IAAI,KAAK,EAAE;QACV,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE;YACnD,IAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACpB,MAAM,IAAI,SAAS,GAAG,KAAK,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC;aACjB;iBAAM,IAAI,KAAK,IAAI,IAAI,EAAE;gBACzB,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACrB,MAAM,IAAI,SAAS,GAAG,QAAQ,CAAC;oBAC/B,SAAS,GAAG,IAAI,CAAC;iBACjB;aACD;SACD;QACD,OAAO,MAAM,CAAC;KACd;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF;IACS,6CAAgD;IADzD;;IAWA,CAAC;IAPA,oDAAgB,GAAhB;QACC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,gDAAY,GAAZ;QACC,OAAO,EAAE,CAAC;IACX,CAAC;IACF,gCAAC;AAAD,CAAC,AAXD,CACS,uBAAuB,GAU/B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DMenuItem } from \"../../d-menu-item\";\nimport { DThemeSelectMultiple } from \"../../d-select-multiple\";\nimport { DStateAwareOrValueMightBe } from \"../../d-state-aware\";\nimport { isString } from \"../../util/is-string\";\nimport { DThemeWhiteDropdownBase } from \"./d-theme-white-dropdown-base\";\n\nconst formatter = <VALUE>(items: Array<DMenuItem<VALUE>> | null): string => {\n\tif (items) {\n\t\tlet result = \"\";\n\t\tlet delimiter = \"\";\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tconst value = item.text.value;\n\t\t\tif (isString(value)) {\n\t\t\t\tresult += delimiter + value;\n\t\t\t\tdelimiter = \", \";\n\t\t\t} else if (value != null) {\n\t\t\t\tconst computed = value(item.state);\n\t\t\t\tif (computed != null) {\n\t\t\t\t\tresult += delimiter + computed;\n\t\t\t\t\tdelimiter = \", \";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\treturn \"\";\n};\n\nexport class DThemeWhiteSelectMultiple<VALUE = unknown>\n\textends DThemeWhiteDropdownBase<Array<DMenuItem<VALUE>>>\n\timplements DThemeSelectMultiple<VALUE>\n{\n\tgetTextFormatter(): (value: Array<DMenuItem<VALUE>>, caller: any) => string {\n\t\treturn formatter;\n\t}\n\n\tnewTextValue(): DStateAwareOrValueMightBe<Array<DMenuItem<VALUE>>> {\n\t\treturn [];\n\t}\n}\n"]}
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
import { __extends } from "tslib";
|
|
6
6
|
import { isString } from "../../util/is-string";
|
|
7
7
|
import { DThemeWhiteDropdownBase } from "./d-theme-white-dropdown-base";
|
|
8
|
-
var formatter = function (
|
|
9
|
-
if (
|
|
10
|
-
var
|
|
11
|
-
if (isString(
|
|
12
|
-
return
|
|
8
|
+
var formatter = function (item) {
|
|
9
|
+
if (item) {
|
|
10
|
+
var value = item.text.value;
|
|
11
|
+
if (isString(value)) {
|
|
12
|
+
return value;
|
|
13
13
|
}
|
|
14
|
-
else if (
|
|
15
|
-
var computed =
|
|
14
|
+
else if (value != null) {
|
|
15
|
+
var computed = value(item.state);
|
|
16
16
|
if (computed != null) {
|
|
17
17
|
return computed;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-theme-white-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,IAAM,SAAS,GAAG,UAAQ,
|
|
1
|
+
{"version":3,"file":"d-theme-white-select.js","sourceRoot":"","sources":["../../../../../src/main/typescript/wcardinal/ui/theme/white/d-theme-white-select.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAKH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,IAAM,SAAS,GAAG,UAAQ,IAA6B;IACtD,IAAI,IAAI,EAAE;QACT,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE;YACzB,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACrB,OAAO,QAAQ,CAAC;aAChB;SACD;KACD;IACD,OAAO,EAAE,CAAC;AACX,CAAC,CAAC;AAEF;IACS,qCAAgD;IADzD;;IAWA,CAAC;IAPA,4CAAgB,GAAhB;QACC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,wCAAY,GAAZ;QACC,OAAO,IAAI,CAAC;IACb,CAAC;IACF,wBAAC;AAAD,CAAC,AAXD,CACS,uBAAuB,GAU/B","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DMenuItem } from \"../../d-menu-item\";\nimport { DThemeSelect } from \"../../d-select\";\nimport { DStateAwareOrValueMightBe } from \"../../d-state-aware\";\nimport { isString } from \"../../util/is-string\";\nimport { DThemeWhiteDropdownBase } from \"./d-theme-white-dropdown-base\";\n\nconst formatter = <VALUE>(item: DMenuItem<VALUE> | null): string => {\n\tif (item) {\n\t\tconst value = item.text.value;\n\t\tif (isString(value)) {\n\t\t\treturn value;\n\t\t} else if (value != null) {\n\t\t\tconst computed = value(item.state);\n\t\t\tif (computed != null) {\n\t\t\t\treturn computed;\n\t\t\t}\n\t\t}\n\t}\n\treturn \"\";\n};\n\nexport class DThemeWhiteSelect<VALUE = unknown>\n\textends DThemeWhiteDropdownBase<DMenuItem<VALUE> | null>\n\timplements DThemeSelect<VALUE>\n{\n\tgetTextFormatter(): (value: DMenuItem<VALUE> | null, caller: any) => string {\n\t\treturn formatter;\n\t}\n\n\tnewTextValue(): DStateAwareOrValueMightBe<DMenuItem<any> | null> {\n\t\treturn null;\n\t}\n}\n"]}
|
|
@@ -6,9 +6,9 @@ import { __extends } from "tslib";
|
|
|
6
6
|
import { DynamicAtlasItem } from "./dynamic-atlas-item";
|
|
7
7
|
var DynamicAtlasItemImage = /** @class */ (function (_super) {
|
|
8
8
|
__extends(DynamicAtlasItemImage, _super);
|
|
9
|
-
function DynamicAtlasItemImage(
|
|
10
|
-
var _this = _super.call(this,
|
|
11
|
-
_this.
|
|
9
|
+
function DynamicAtlasItemImage(src, width, height, source, baseTexture) {
|
|
10
|
+
var _this = _super.call(this, src, width / baseTexture.resolution, height / baseTexture.resolution, 0, baseTexture) || this;
|
|
11
|
+
_this.source = source;
|
|
12
12
|
return _this;
|
|
13
13
|
}
|
|
14
14
|
DynamicAtlasItemImage.prototype.render = function (context) {
|
|
@@ -17,12 +17,21 @@ var DynamicAtlasItemImage = /** @class */ (function (_super) {
|
|
|
17
17
|
var y = frame.y;
|
|
18
18
|
var w = frame.width;
|
|
19
19
|
var h = frame.height;
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
var source = this.source;
|
|
21
|
+
if (source instanceof ImageData) {
|
|
22
|
+
context.putImageData(source, x, y);
|
|
23
|
+
context.putImageData(source, x - 1, y, 0, 0, 1, h);
|
|
24
|
+
context.putImageData(source, x, y - 1, 0, 0, w, 1);
|
|
25
|
+
context.putImageData(source, x + w, y, w - 1, 0, 1, h);
|
|
26
|
+
context.putImageData(source, x, y + h, 0, h - 1, w, 1);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
context.drawImage(source, x, y, w, h);
|
|
30
|
+
context.drawImage(source, 0, 0, 1, h, x - 1, y - 1, 1, h + 2);
|
|
31
|
+
context.drawImage(source, 0, 0, w, 1, x, y - 1, w, 1);
|
|
32
|
+
context.drawImage(source, w - 1, 0, 1, h, x + w, y - 1, 1, h + 2);
|
|
33
|
+
context.drawImage(source, 0, h - 1, w, 1, x, y + h, w, 1);
|
|
34
|
+
}
|
|
26
35
|
};
|
|
27
36
|
return DynamicAtlasItemImage;
|
|
28
37
|
}(DynamicAtlasItem));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-atlas-item-image.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-atlas-item-image.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;IAA2C,yCAAgB;IAG1D,+
|
|
1
|
+
{"version":3,"file":"dynamic-atlas-item-image.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-atlas-item-image.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;IAA2C,yCAAgB;IAG1D,+BACC,GAAW,EACX,KAAa,EACb,MAAc,EACd,MAAsB,EACtB,WAAwB;QALzB,YAOC,kBAAM,GAAG,EAAE,KAAK,GAAG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,WAAW,CAAC,SAE3F;QADA,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACtB,CAAC;IAED,sCAAM,GAAN,UAAO,OAAiC;QACvC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAClB,IAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAClB,IAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,IAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,MAAM,YAAY,SAAS,EAAE;YAChC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEnC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACvD;aAAM;YACN,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEtC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1D;IACF,CAAC;IACF,4BAAC;AAAD,CAAC,AAtCD,CAA2C,gBAAgB,GAsC1D","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseTexture } from \"pixi.js\";\nimport { DynamicAtlasItem } from \"./dynamic-atlas-item\";\n\nexport class DynamicAtlasItemImage extends DynamicAtlasItem {\n\tsource: TexImageSource;\n\n\tconstructor(\n\t\tsrc: string,\n\t\twidth: number,\n\t\theight: number,\n\t\tsource: TexImageSource,\n\t\tbaseTexture: BaseTexture\n\t) {\n\t\tsuper(src, width / baseTexture.resolution, height / baseTexture.resolution, 0, baseTexture);\n\t\tthis.source = source;\n\t}\n\n\trender(context: CanvasRenderingContext2D): void {\n\t\tconst frame = this.frame;\n\t\tconst x = frame.x;\n\t\tconst y = frame.y;\n\t\tconst w = frame.width;\n\t\tconst h = frame.height;\n\t\tconst source = this.source;\n\n\t\tif (source instanceof ImageData) {\n\t\t\tcontext.putImageData(source, x, y);\n\n\t\t\tcontext.putImageData(source, x - 1, y, 0, 0, 1, h);\n\t\t\tcontext.putImageData(source, x, y - 1, 0, 0, w, 1);\n\t\t\tcontext.putImageData(source, x + w, y, w - 1, 0, 1, h);\n\t\t\tcontext.putImageData(source, x, y + h, 0, h - 1, w, 1);\n\t\t} else {\n\t\t\tcontext.drawImage(source, x, y, w, h);\n\n\t\t\tcontext.drawImage(source, 0, 0, 1, h, x - 1, y - 1, 1, h + 2);\n\t\t\tcontext.drawImage(source, 0, 0, w, 1, x, y - 1, w, 1);\n\t\t\tcontext.drawImage(source, w - 1, 0, 1, h, x + w, y - 1, 1, h + 2);\n\t\t\tcontext.drawImage(source, 0, h - 1, w, 1, x, y + h, w, 1);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -214,7 +214,7 @@ var DynamicSDFFontAtlas = /** @class */ (function () {
|
|
|
214
214
|
context.fillText(data.character, data.origin.x, data.origin.y);
|
|
215
215
|
}
|
|
216
216
|
// Convert to SDF font texture
|
|
217
|
-
generator.updateTexture(canvas);
|
|
217
|
+
generator.updateTexture(width, height, canvas);
|
|
218
218
|
generator.render();
|
|
219
219
|
generator.read(canvas);
|
|
220
220
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-sdf-font-atlas.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-sdf-font-atlas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DThemes } from \"../theme/d-themes\";\nimport { ASCII_CHARACTERS } from \"./ascii\";\nimport { DynamicFontAtlasCharacter } from \"./dynamic-font-atlas-character\";\nimport { DynamicFontAtlasCharacterType } from \"./dynamic-font-atlas-character-type\";\nimport { DynamicFontAtlasCharacters } from \"./dynamic-font-atlas-characters\";\nimport { DynamicSDFFontGenerator } from \"./dynamic-sdf-font-generator\";\nimport { UtilCharacterIterator } from \"./util-character-iterator\";\n\nexport interface DynamicSDFFontAtlasFont {\n\tfamily: string;\n\tsize: number;\n\titalic: boolean;\n}\n\nexport interface DynamicSDFFontAtlasJson {\n\twidth: number;\n\theight: number;\n\tfont: DynamicSDFFontAtlasFont;\n\tcharacters: DynamicFontAtlasCharacters;\n}\n\nexport class DynamicSDFFontAtlas {\n\tprotected static FONT_FAMILY_AUTO: string | null = null;\n\n\tprotected _id: string;\n\tprotected _generator: DynamicSDFFontGenerator | null;\n\tprotected _canvas: HTMLCanvasElement | null;\n\tprotected _font: DynamicSDFFontAtlasFont;\n\tprotected _characters: DynamicFontAtlasCharacters;\n\tprotected _length: number;\n\tprotected _width: number;\n\tprotected _height: number;\n\tprotected _isDirty: boolean;\n\n\tconstructor(fontFamily: string) {\n\t\tthis._id = `font-atlas:${fontFamily}`;\n\t\tthis._generator = DynamicSDFFontGenerator.getInstance().init();\n\t\tthis._canvas = document.createElement(\"canvas\");\n\t\tthis._font = {\n\t\t\tfamily: DynamicSDFFontAtlas.toFontFamily(fontFamily),\n\t\t\tsize: 32,\n\t\t\titalic: false\n\t\t};\n\t\tthis._characters = {};\n\t\tthis._length = 0;\n\t\tthis._width = 1;\n\t\tthis._height = 1;\n\t\tthis._isDirty = true;\n\t}\n\n\tget id(): string {\n\t\treturn this._id;\n\t}\n\n\tget font(): DynamicSDFFontAtlasFont {\n\t\treturn this._font;\n\t}\n\n\tset font(font: DynamicSDFFontAtlasFont) {\n\t\tthis._font.family = font.family;\n\t\tthis._font.size = font.size;\n\t\tthis._font.italic = font.italic;\n\t}\n\n\tget width(): number {\n\t\treturn this._width;\n\t}\n\n\tget height(): number {\n\t\treturn this._height;\n\t}\n\n\tget canvas(): HTMLCanvasElement | null {\n\t\treturn this._canvas;\n\t}\n\n\tget generator(): DynamicSDFFontGenerator | null {\n\t\treturn this._generator;\n\t}\n\n\tget characters(): DynamicFontAtlasCharacters {\n\t\treturn this._characters;\n\t}\n\n\tbegin(): void {\n\t\tthis._length = 0;\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tcharacters[id].ref = 0;\n\t\t}\n\t}\n\n\tend(): void {\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tconst data = characters[id];\n\t\t\tif (data.ref <= 0) {\n\t\t\t\tdata.life -= 1;\n\t\t\t\tif (data.life <= 0) {\n\t\t\t\t\tdelete characters[id];\n\t\t\t\t\tthis._isDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\taddAscii(): void {\n\t\tthis.addChar(\" \", \" \", DynamicFontAtlasCharacterType.SPACE_R);\n\t\tthis.addChar(\"\\t\", \" \", DynamicFontAtlasCharacterType.SPACE_R);\n\t\tthis.addChar(\"...\", \"...\", DynamicFontAtlasCharacterType.LETTER_RNB);\n\t\tfor (let i = 0, imax = ASCII_CHARACTERS.length; i < imax; ++i) {\n\t\t\tconst char = ASCII_CHARACTERS[i];\n\t\t\tthis.addChar(char, char, DynamicFontAtlasCharacterType.LETTER_RNB);\n\t\t}\n\t}\n\n\taddChar(id: string, character: string, type: DynamicFontAtlasCharacterType): void {\n\t\tconst characters = this._characters;\n\t\tif (!this.isIgnored(character)) {\n\t\t\tconst data = characters[id];\n\t\t\tif (data != null) {\n\t\t\t\tif (data.ref <= 0) {\n\t\t\t\t\tthis._length += 1;\n\t\t\t\t}\n\t\t\t\tdata.ref += 1;\n\t\t\t} else {\n\t\t\t\tcharacters[id] = new DynamicFontAtlasCharacter(type, character, 0, 0, 1, 1, 0);\n\t\t\t\tthis._length += 1;\n\t\t\t\tthis._isDirty = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected isIgnored(character: string): boolean {\n\t\tswitch (character) {\n\t\t\tcase \"\\n\": // Line feed\n\t\t\t\treturn true;\n\t\t\tcase \"\\r\": // Carriage return\n\t\t\t\treturn true;\n\t\t\tcase \"\\v\": // Vertical tab\n\t\t\t\treturn true;\n\t\t\tcase \"\\f\": // Form feed\n\t\t\t\treturn true;\n\t\t\tcase \"\\u0085\": // Next line\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(\n\t\tcharacters: string,\n\t\ttype: DynamicFontAtlasCharacterType = DynamicFontAtlasCharacterType.LETTER\n\t): void {\n\t\tconst iterator = UtilCharacterIterator.from(characters);\n\t\twhile (iterator.hasNext()) {\n\t\t\tconst character = iterator.next();\n\t\t\tthis.addChar(character, character, type);\n\t\t}\n\t}\n\n\tget(id: string): DynamicFontAtlasCharacter | undefined {\n\t\treturn this._characters[id];\n\t}\n\n\tupdate(): boolean {\n\t\tif (this._isDirty) {\n\t\t\tconst canvas = this._canvas;\n\t\t\tconst generator = this._generator;\n\t\t\tif (canvas != null && generator != null) {\n\t\t\t\tconst context = canvas.getContext(\"2d\");\n\t\t\t\tif (context != null) {\n\t\t\t\t\tthis._isDirty = false;\n\n\t\t\t\t\tconst font = this._font;\n\t\t\t\t\tconst characters = this._characters;\n\t\t\t\t\tconst characterSize = font.size + 14;\n\t\t\t\t\tconst width = DynamicSDFFontAtlas.toPowerOf2(\n\t\t\t\t\t\tMath.ceil(Math.sqrt(this._length)) * characterSize\n\t\t\t\t\t);\n\t\t\t\t\tthis._width = width;\n\t\t\t\t\tconst fontStyle =\n\t\t\t\t\t\t(font.italic ? \"italic \" : \"\") + (font.size + \"px \") + font.family;\n\n\t\t\t\t\tcontext.font = fontStyle;\n\t\t\t\t\tcontext.textAlign = \"left\";\n\t\t\t\t\tcontext.textBaseline = \"middle\";\n\t\t\t\t\tcontext.lineWidth = 0;\n\t\t\t\t\tcontext.lineCap = \"round\";\n\t\t\t\t\tcontext.lineJoin = \"miter\";\n\t\t\t\t\tcontext.miterLimit = 0;\n\t\t\t\t\tcontext.fillStyle = \"#FFFFFF\";\n\n\t\t\t\t\tconst offsetX = 7;\n\t\t\t\t\tconst offsetY = characterSize >> 1;\n\t\t\t\t\tlet x = 0;\n\t\t\t\t\tlet y = 0;\n\t\t\t\t\tfor (const id in characters) {\n\t\t\t\t\t\tconst data = characters[id];\n\t\t\t\t\t\tconst advance = context.measureText(data.character).width;\n\t\t\t\t\t\tconst characterWidth = Math.ceil(offsetX + advance + offsetX);\n\t\t\t\t\t\tconst characterHeight = characterSize;\n\t\t\t\t\t\tif (width <= x + characterWidth) {\n\t\t\t\t\t\t\tx = 0;\n\t\t\t\t\t\t\ty += characterSize;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdata.x = x;\n\t\t\t\t\t\tdata.y = y;\n\t\t\t\t\t\tdata.width = characterWidth;\n\t\t\t\t\t\tdata.height = characterHeight;\n\t\t\t\t\t\tdata.advance = advance;\n\t\t\t\t\t\tdata.origin.x = x + offsetX;\n\t\t\t\t\t\tdata.origin.y = y + offsetY;\n\n\t\t\t\t\t\tx += characterWidth;\n\t\t\t\t\t}\n\t\t\t\t\tconst height = (this._height = y + characterSize);\n\n\t\t\t\t\t// Make a input canvas\n\t\t\t\t\t// Here, we need to reset the context because\n\t\t\t\t\t// context settings will be lost when we set the width/height.\n\t\t\t\t\tcanvas.width = width;\n\t\t\t\t\tcanvas.height = height;\n\t\t\t\t\tcontext.font = fontStyle;\n\t\t\t\t\tcontext.textAlign = \"left\";\n\t\t\t\t\tcontext.textBaseline = \"middle\";\n\t\t\t\t\tcontext.lineWidth = 0;\n\t\t\t\t\tcontext.lineCap = \"round\";\n\t\t\t\t\tcontext.lineJoin = \"miter\";\n\t\t\t\t\tcontext.miterLimit = 4;\n\t\t\t\t\tcontext.fillStyle = \"#FFFFFF\";\n\t\t\t\t\tcontext.clearRect(0, 0, width, height);\n\t\t\t\t\tfor (const id in characters) {\n\t\t\t\t\t\tconst data = characters[id];\n\t\t\t\t\t\tcontext.fillText(data.character, data.origin.x, data.origin.y);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Convert to SDF font texture\n\t\t\t\t\tgenerator.updateTexture(canvas);\n\t\t\t\t\tgenerator.render();\n\t\t\t\t\tgenerator.read(canvas);\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\ttoJson(): DynamicSDFFontAtlasJson {\n\t\treturn {\n\t\t\twidth: this._width,\n\t\t\theight: this._height,\n\t\t\tfont: this._font,\n\t\t\tcharacters: this._characters\n\t\t};\n\t}\n\n\ttoString(): string {\n\t\treturn JSON.stringify(this.toJson());\n\t}\n\n\tdestroy(): void {\n\t\tconst generator = this._generator;\n\t\tif (generator != null) {\n\t\t\tthis._generator = null;\n\t\t}\n\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null) {\n\t\t\tthis._canvas = null;\n\t\t}\n\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tdelete characters[id];\n\t\t}\n\t}\n\n\tstatic toFontFamily(fontFamily: string): string {\n\t\treturn fontFamily === \"auto\" ? DynamicSDFFontAtlas.getAutoFontFamily() : fontFamily;\n\t}\n\n\tstatic toPowerOf2(size: number): number {\n\t\tlet result = 32;\n\t\twhile (result < size) {\n\t\t\tresult <<= 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic getAutoFontFamily(): string {\n\t\tif (DynamicSDFFontAtlas.FONT_FAMILY_AUTO == null) {\n\t\t\tDynamicSDFFontAtlas.FONT_FAMILY_AUTO = DThemes.getInstance()\n\t\t\t\t.get<any>(\"DBase\")\n\t\t\t\t.getFontFamilly() as string;\n\t\t}\n\t\treturn DynamicSDFFontAtlas.FONT_FAMILY_AUTO;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dynamic-sdf-font-atlas.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/util/dynamic-sdf-font-atlas.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DThemes } from \"../theme/d-themes\";\nimport { ASCII_CHARACTERS } from \"./ascii\";\nimport { DynamicFontAtlasCharacter } from \"./dynamic-font-atlas-character\";\nimport { DynamicFontAtlasCharacterType } from \"./dynamic-font-atlas-character-type\";\nimport { DynamicFontAtlasCharacters } from \"./dynamic-font-atlas-characters\";\nimport { DynamicSDFFontGenerator } from \"./dynamic-sdf-font-generator\";\nimport { UtilCharacterIterator } from \"./util-character-iterator\";\n\nexport interface DynamicSDFFontAtlasFont {\n\tfamily: string;\n\tsize: number;\n\titalic: boolean;\n}\n\nexport interface DynamicSDFFontAtlasJson {\n\twidth: number;\n\theight: number;\n\tfont: DynamicSDFFontAtlasFont;\n\tcharacters: DynamicFontAtlasCharacters;\n}\n\nexport class DynamicSDFFontAtlas {\n\tprotected static FONT_FAMILY_AUTO: string | null = null;\n\n\tprotected _id: string;\n\tprotected _generator: DynamicSDFFontGenerator | null;\n\tprotected _canvas: HTMLCanvasElement | null;\n\tprotected _font: DynamicSDFFontAtlasFont;\n\tprotected _characters: DynamicFontAtlasCharacters;\n\tprotected _length: number;\n\tprotected _width: number;\n\tprotected _height: number;\n\tprotected _isDirty: boolean;\n\n\tconstructor(fontFamily: string) {\n\t\tthis._id = `font-atlas:${fontFamily}`;\n\t\tthis._generator = DynamicSDFFontGenerator.getInstance().init();\n\t\tthis._canvas = document.createElement(\"canvas\");\n\t\tthis._font = {\n\t\t\tfamily: DynamicSDFFontAtlas.toFontFamily(fontFamily),\n\t\t\tsize: 32,\n\t\t\titalic: false\n\t\t};\n\t\tthis._characters = {};\n\t\tthis._length = 0;\n\t\tthis._width = 1;\n\t\tthis._height = 1;\n\t\tthis._isDirty = true;\n\t}\n\n\tget id(): string {\n\t\treturn this._id;\n\t}\n\n\tget font(): DynamicSDFFontAtlasFont {\n\t\treturn this._font;\n\t}\n\n\tset font(font: DynamicSDFFontAtlasFont) {\n\t\tthis._font.family = font.family;\n\t\tthis._font.size = font.size;\n\t\tthis._font.italic = font.italic;\n\t}\n\n\tget width(): number {\n\t\treturn this._width;\n\t}\n\n\tget height(): number {\n\t\treturn this._height;\n\t}\n\n\tget canvas(): HTMLCanvasElement | null {\n\t\treturn this._canvas;\n\t}\n\n\tget generator(): DynamicSDFFontGenerator | null {\n\t\treturn this._generator;\n\t}\n\n\tget characters(): DynamicFontAtlasCharacters {\n\t\treturn this._characters;\n\t}\n\n\tbegin(): void {\n\t\tthis._length = 0;\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tcharacters[id].ref = 0;\n\t\t}\n\t}\n\n\tend(): void {\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tconst data = characters[id];\n\t\t\tif (data.ref <= 0) {\n\t\t\t\tdata.life -= 1;\n\t\t\t\tif (data.life <= 0) {\n\t\t\t\t\tdelete characters[id];\n\t\t\t\t\tthis._isDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\taddAscii(): void {\n\t\tthis.addChar(\" \", \" \", DynamicFontAtlasCharacterType.SPACE_R);\n\t\tthis.addChar(\"\\t\", \" \", DynamicFontAtlasCharacterType.SPACE_R);\n\t\tthis.addChar(\"...\", \"...\", DynamicFontAtlasCharacterType.LETTER_RNB);\n\t\tfor (let i = 0, imax = ASCII_CHARACTERS.length; i < imax; ++i) {\n\t\t\tconst char = ASCII_CHARACTERS[i];\n\t\t\tthis.addChar(char, char, DynamicFontAtlasCharacterType.LETTER_RNB);\n\t\t}\n\t}\n\n\taddChar(id: string, character: string, type: DynamicFontAtlasCharacterType): void {\n\t\tconst characters = this._characters;\n\t\tif (!this.isIgnored(character)) {\n\t\t\tconst data = characters[id];\n\t\t\tif (data != null) {\n\t\t\t\tif (data.ref <= 0) {\n\t\t\t\t\tthis._length += 1;\n\t\t\t\t}\n\t\t\t\tdata.ref += 1;\n\t\t\t} else {\n\t\t\t\tcharacters[id] = new DynamicFontAtlasCharacter(type, character, 0, 0, 1, 1, 0);\n\t\t\t\tthis._length += 1;\n\t\t\t\tthis._isDirty = true;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected isIgnored(character: string): boolean {\n\t\tswitch (character) {\n\t\t\tcase \"\\n\": // Line feed\n\t\t\t\treturn true;\n\t\t\tcase \"\\r\": // Carriage return\n\t\t\t\treturn true;\n\t\t\tcase \"\\v\": // Vertical tab\n\t\t\t\treturn true;\n\t\t\tcase \"\\f\": // Form feed\n\t\t\t\treturn true;\n\t\t\tcase \"\\u0085\": // Next line\n\t\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(\n\t\tcharacters: string,\n\t\ttype: DynamicFontAtlasCharacterType = DynamicFontAtlasCharacterType.LETTER\n\t): void {\n\t\tconst iterator = UtilCharacterIterator.from(characters);\n\t\twhile (iterator.hasNext()) {\n\t\t\tconst character = iterator.next();\n\t\t\tthis.addChar(character, character, type);\n\t\t}\n\t}\n\n\tget(id: string): DynamicFontAtlasCharacter | undefined {\n\t\treturn this._characters[id];\n\t}\n\n\tupdate(): boolean {\n\t\tif (this._isDirty) {\n\t\t\tconst canvas = this._canvas;\n\t\t\tconst generator = this._generator;\n\t\t\tif (canvas != null && generator != null) {\n\t\t\t\tconst context = canvas.getContext(\"2d\");\n\t\t\t\tif (context != null) {\n\t\t\t\t\tthis._isDirty = false;\n\n\t\t\t\t\tconst font = this._font;\n\t\t\t\t\tconst characters = this._characters;\n\t\t\t\t\tconst characterSize = font.size + 14;\n\t\t\t\t\tconst width = DynamicSDFFontAtlas.toPowerOf2(\n\t\t\t\t\t\tMath.ceil(Math.sqrt(this._length)) * characterSize\n\t\t\t\t\t);\n\t\t\t\t\tthis._width = width;\n\t\t\t\t\tconst fontStyle =\n\t\t\t\t\t\t(font.italic ? \"italic \" : \"\") + (font.size + \"px \") + font.family;\n\n\t\t\t\t\tcontext.font = fontStyle;\n\t\t\t\t\tcontext.textAlign = \"left\";\n\t\t\t\t\tcontext.textBaseline = \"middle\";\n\t\t\t\t\tcontext.lineWidth = 0;\n\t\t\t\t\tcontext.lineCap = \"round\";\n\t\t\t\t\tcontext.lineJoin = \"miter\";\n\t\t\t\t\tcontext.miterLimit = 0;\n\t\t\t\t\tcontext.fillStyle = \"#FFFFFF\";\n\n\t\t\t\t\tconst offsetX = 7;\n\t\t\t\t\tconst offsetY = characterSize >> 1;\n\t\t\t\t\tlet x = 0;\n\t\t\t\t\tlet y = 0;\n\t\t\t\t\tfor (const id in characters) {\n\t\t\t\t\t\tconst data = characters[id];\n\t\t\t\t\t\tconst advance = context.measureText(data.character).width;\n\t\t\t\t\t\tconst characterWidth = Math.ceil(offsetX + advance + offsetX);\n\t\t\t\t\t\tconst characterHeight = characterSize;\n\t\t\t\t\t\tif (width <= x + characterWidth) {\n\t\t\t\t\t\t\tx = 0;\n\t\t\t\t\t\t\ty += characterSize;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdata.x = x;\n\t\t\t\t\t\tdata.y = y;\n\t\t\t\t\t\tdata.width = characterWidth;\n\t\t\t\t\t\tdata.height = characterHeight;\n\t\t\t\t\t\tdata.advance = advance;\n\t\t\t\t\t\tdata.origin.x = x + offsetX;\n\t\t\t\t\t\tdata.origin.y = y + offsetY;\n\n\t\t\t\t\t\tx += characterWidth;\n\t\t\t\t\t}\n\t\t\t\t\tconst height = (this._height = y + characterSize);\n\n\t\t\t\t\t// Make a input canvas\n\t\t\t\t\t// Here, we need to reset the context because\n\t\t\t\t\t// context settings will be lost when we set the width/height.\n\t\t\t\t\tcanvas.width = width;\n\t\t\t\t\tcanvas.height = height;\n\t\t\t\t\tcontext.font = fontStyle;\n\t\t\t\t\tcontext.textAlign = \"left\";\n\t\t\t\t\tcontext.textBaseline = \"middle\";\n\t\t\t\t\tcontext.lineWidth = 0;\n\t\t\t\t\tcontext.lineCap = \"round\";\n\t\t\t\t\tcontext.lineJoin = \"miter\";\n\t\t\t\t\tcontext.miterLimit = 4;\n\t\t\t\t\tcontext.fillStyle = \"#FFFFFF\";\n\t\t\t\t\tcontext.clearRect(0, 0, width, height);\n\t\t\t\t\tfor (const id in characters) {\n\t\t\t\t\t\tconst data = characters[id];\n\t\t\t\t\t\tcontext.fillText(data.character, data.origin.x, data.origin.y);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Convert to SDF font texture\n\t\t\t\t\tgenerator.updateTexture(width, height, canvas);\n\t\t\t\t\tgenerator.render();\n\t\t\t\t\tgenerator.read(canvas);\n\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tget length(): number {\n\t\treturn this._length;\n\t}\n\n\ttoJson(): DynamicSDFFontAtlasJson {\n\t\treturn {\n\t\t\twidth: this._width,\n\t\t\theight: this._height,\n\t\t\tfont: this._font,\n\t\t\tcharacters: this._characters\n\t\t};\n\t}\n\n\ttoString(): string {\n\t\treturn JSON.stringify(this.toJson());\n\t}\n\n\tdestroy(): void {\n\t\tconst generator = this._generator;\n\t\tif (generator != null) {\n\t\t\tthis._generator = null;\n\t\t}\n\n\t\tconst canvas = this._canvas;\n\t\tif (canvas != null) {\n\t\t\tthis._canvas = null;\n\t\t}\n\n\t\tconst characters = this._characters;\n\t\tfor (const id in characters) {\n\t\t\tdelete characters[id];\n\t\t}\n\t}\n\n\tstatic toFontFamily(fontFamily: string): string {\n\t\treturn fontFamily === \"auto\" ? DynamicSDFFontAtlas.getAutoFontFamily() : fontFamily;\n\t}\n\n\tstatic toPowerOf2(size: number): number {\n\t\tlet result = 32;\n\t\twhile (result < size) {\n\t\t\tresult <<= 1;\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic getAutoFontFamily(): string {\n\t\tif (DynamicSDFFontAtlas.FONT_FAMILY_AUTO == null) {\n\t\t\tDynamicSDFFontAtlas.FONT_FAMILY_AUTO = DThemes.getInstance()\n\t\t\t\t.get<any>(\"DBase\")\n\t\t\t\t.getFontFamilly() as string;\n\t\t}\n\t\treturn DynamicSDFFontAtlas.FONT_FAMILY_AUTO;\n\t}\n}\n"]}
|
|
@@ -130,12 +130,10 @@ var DynamicSDFFontGenerator = /** @class */ (function () {
|
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
|
-
DynamicSDFFontGenerator.prototype.updateTexture = function (source) {
|
|
133
|
+
DynamicSDFFontGenerator.prototype.updateTexture = function (width, height, source) {
|
|
134
134
|
var gl = this._gl;
|
|
135
135
|
var canvas = this._canvas;
|
|
136
136
|
if (gl != null && gl.isContextLost() !== true && canvas != null) {
|
|
137
|
-
var width = source.width;
|
|
138
|
-
var height = source.height;
|
|
139
137
|
if (canvas.width !== width || canvas.height !== height) {
|
|
140
138
|
canvas.width = width;
|
|
141
139
|
canvas.height = height;
|
|
@@ -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":"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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(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.406.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 = ", ";
|