@wcardinal/wcardinal-ui 0.309.0 → 0.310.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/README.md +1 -1
- package/dist/types/wcardinal/ui/d-base-state-and-value.d.ts +4 -0
- package/dist/types/wcardinal/ui/d-base-state-matcher.d.ts +1 -0
- package/dist/types/wcardinal/ui/d-base-state-set-blinker-datum-impl.d.ts +5 -0
- package/dist/types/wcardinal/ui/d-base-state-set-blinker-impl.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-base-state-set-blinker.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-base-state-set-impl.d.ts +51 -18
- package/dist/types/wcardinal/ui/d-base-state-set-sub-datum-impl.d.ts +17 -0
- package/dist/types/wcardinal/ui/d-base-state-set-sub-datum.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-base-state-set-sub-impl.d.ts +15 -0
- package/dist/types/wcardinal/ui/d-base-state-set-sub.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-base-state-set-ticker-datum-impl.d.ts +5 -0
- package/dist/types/wcardinal/ui/d-base-state-set-ticker-impl.d.ts +8 -0
- package/dist/types/wcardinal/ui/d-base-state-set-ticker.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-base-state-set.d.ts +38 -8
- package/dist/types/wcardinal/ui/d-base.d.ts +23 -1
- package/dist/types/wcardinal/ui/d-chart-axis-base-guide-container.d.ts +21 -0
- package/dist/types/wcardinal/ui/d-chart-axis-base-options-parser.d.ts +6 -0
- package/dist/types/wcardinal/ui/d-chart-axis-base-options.d.ts +5 -0
- package/dist/types/wcardinal/ui/d-chart-axis-base.d.ts +4 -0
- package/dist/types/wcardinal/ui/d-chart-axis-guide-container.d.ts +14 -0
- package/dist/types/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.d.ts +41 -0
- package/dist/types/wcardinal/ui/d-chart-axis-guide-simple-shape.d.ts +80 -0
- package/dist/types/wcardinal/ui/d-chart-axis-guide-simple.d.ts +32 -0
- package/dist/types/wcardinal/ui/d-chart-axis-guide.d.ts +14 -0
- package/dist/types/wcardinal/ui/d-chart-axis.d.ts +2 -0
- package/dist/types/wcardinal/ui/d-dynamic-text-geometry.d.ts +7 -4
- package/dist/types/wcardinal/ui/d-dynamic-text-measure-result.d.ts +3 -0
- package/dist/types/wcardinal/ui/d-dynamic-text-measure.d.ts +4 -3
- package/dist/types/wcardinal/ui/d-dynamic-text-style.d.ts +16 -1
- package/dist/types/wcardinal/ui/d-dynamic-text.d.ts +7 -6
- package/dist/types/wcardinal/ui/d-links.d.ts +2 -1
- package/dist/types/wcardinal/ui/d-text-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/index.d.ts +18 -0
- package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-text-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/theme/white/d-theme-white-text-base.d.ts +1 -0
- package/dist/types/wcardinal/ui/util/util-font.d.ts +2 -0
- package/dist/wcardinal/ui/d-base-state-and-value.js +2 -0
- package/dist/wcardinal/ui/d-base-state-and-value.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-matcher.js +2 -0
- package/dist/wcardinal/ui/d-base-state-matcher.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker-datum-impl.js +17 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker-datum-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker-impl.js +16 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker.js +2 -0
- package/dist/wcardinal/ui/d-base-state-set-blinker.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-impl.js +298 -129
- package/dist/wcardinal/ui/d-base-state-set-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-base-state-set-sub-datum-impl.js +75 -0
- package/dist/wcardinal/ui/d-base-state-set-sub-datum-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-sub-datum.js +2 -0
- package/dist/wcardinal/ui/d-base-state-set-sub-datum.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-sub-impl.js +73 -0
- package/dist/wcardinal/ui/d-base-state-set-sub-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-sub.js +2 -0
- package/dist/wcardinal/ui/d-base-state-set-sub.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker-datum-impl.js +17 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker-datum-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker-impl.js +16 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker.js +2 -0
- package/dist/wcardinal/ui/d-base-state-set-ticker.js.map +1 -0
- package/dist/wcardinal/ui/d-base-state-set.js.map +1 -1
- package/dist/wcardinal/ui/d-base.js +34 -2
- package/dist/wcardinal/ui/d-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base-guide-container.js +75 -0
- package/dist/wcardinal/ui/d-chart-axis-base-guide-container.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js +7 -0
- package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base-options.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-base.js +23 -1
- package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
- package/dist/wcardinal/ui/d-chart-axis-guide-container.js +2 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-container.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js +328 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape.js +2 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple.js +123 -0
- package/dist/wcardinal/ui/d-chart-axis-guide-simple.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis-guide.js +2 -0
- package/dist/wcardinal/ui/d-chart-axis-guide.js.map +1 -0
- package/dist/wcardinal/ui/d-chart-axis.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-geometry.js +17 -10
- package/dist/wcardinal/ui/d-dynamic-text-geometry.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-measure-result.js +22 -0
- package/dist/wcardinal/ui/d-dynamic-text-measure-result.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-measure.js +14 -10
- package/dist/wcardinal/ui/d-dynamic-text-measure.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text-style.js +107 -6
- package/dist/wcardinal/ui/d-dynamic-text-style.js.map +1 -1
- package/dist/wcardinal/ui/d-dynamic-text.js +52 -29
- package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
- package/dist/wcardinal/ui/d-links.js +18 -1
- package/dist/wcardinal/ui/d-links.js.map +1 -1
- package/dist/wcardinal/ui/d-text-base.js +6 -3
- package/dist/wcardinal/ui/d-text-base.js.map +1 -1
- package/dist/wcardinal/ui/index.js +18 -0
- package/dist/wcardinal/ui/index.js.map +1 -1
- package/dist/wcardinal/ui/shape/e-shape-state-set-impl-observable.js +2 -2
- package/dist/wcardinal/ui/shape/e-shape-state-set-impl-observable.js.map +1 -1
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-text-base.js +3 -0
- package/dist/wcardinal/ui/theme/dark/d-theme-dark-text-base.js.map +1 -1
- package/dist/wcardinal/ui/theme/white/d-theme-white-text-base.js +3 -0
- package/dist/wcardinal/ui/theme/white/d-theme-white-text-base.js.map +1 -1
- package/dist/wcardinal/ui/util/util-font.js +18 -11
- package/dist/wcardinal/ui/util/util-font.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +4 -1
- package/dist/wcardinal-ui-theme-dark.min.js +2 -2
- package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
- package/dist/wcardinal-ui-theme-white.js +4 -1
- package/dist/wcardinal-ui-theme-white.min.js +2 -2
- package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
- package/dist/wcardinal-ui.cjs.js +1403 -275
- package/dist/wcardinal-ui.js +1397 -275
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ import { DBase } from "./d-base";
|
|
|
9
9
|
import { DDynamicTextGeometry } from "./d-dynamic-text-geometry";
|
|
10
10
|
import { DDynamicTextStyle } from "./d-dynamic-text-style";
|
|
11
11
|
import { DDynamicTextStyleWordWrap } from "./d-dynamic-text-style-word-wrap";
|
|
12
|
+
import { UtilFont } from "./util/util-font";
|
|
12
13
|
var DDynamicText = /** @class */ (function (_super) {
|
|
13
14
|
__extends(DDynamicText, _super);
|
|
14
15
|
function DDynamicText(text, options) {
|
|
@@ -27,8 +28,9 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
27
28
|
_this._atlasRevisionUpdated = 0;
|
|
28
29
|
_this._width = 0;
|
|
29
30
|
_this._height = 0;
|
|
30
|
-
_this.
|
|
31
|
-
|
|
31
|
+
_this._modifier = {
|
|
32
|
+
clipping: false,
|
|
33
|
+
fitting: false,
|
|
32
34
|
wordWrap: DDynamicTextStyleWordWrap.NONE,
|
|
33
35
|
width: 0,
|
|
34
36
|
height: 0,
|
|
@@ -52,13 +54,13 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
52
54
|
this._textApproved = text;
|
|
53
55
|
var fontId = style.fontId;
|
|
54
56
|
var fontIdApproved = style.fontIdApproved;
|
|
55
|
-
var
|
|
57
|
+
var fontIdFontSize = style.fontIdFontSize;
|
|
56
58
|
var fill = style.fill;
|
|
57
59
|
var fillApproved = style.fillApproved;
|
|
58
60
|
style.approve();
|
|
59
61
|
var atlases = layer.getDynamicFontAtlases();
|
|
60
62
|
if (text !== textApproved || fontId !== fontIdApproved || fill !== fillApproved) {
|
|
61
|
-
atlases.add(fontId,
|
|
63
|
+
atlases.add(fontId, fontIdFontSize, fill, text);
|
|
62
64
|
atlases.remove(fontIdApproved, fillApproved, textApproved);
|
|
63
65
|
}
|
|
64
66
|
}
|
|
@@ -71,9 +73,11 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
71
73
|
set: function (text) {
|
|
72
74
|
if (this._text !== text) {
|
|
73
75
|
this._text = text;
|
|
74
|
-
this.
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
if (!this._style.unfit()) {
|
|
77
|
+
this._isDirty = true;
|
|
78
|
+
this._isGeometryDirty = true;
|
|
79
|
+
this.update_();
|
|
80
|
+
}
|
|
77
81
|
}
|
|
78
82
|
},
|
|
79
83
|
enumerable: false,
|
|
@@ -128,13 +132,14 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
128
132
|
configurable: true
|
|
129
133
|
});
|
|
130
134
|
DDynamicText.prototype.update = function () {
|
|
135
|
+
var _this = this;
|
|
131
136
|
this.update_();
|
|
137
|
+
var style = this._style;
|
|
132
138
|
var atlas = this._atlas;
|
|
133
139
|
if (atlas == null) {
|
|
134
140
|
var layer = DApplications.getLayer(this);
|
|
135
141
|
if (layer) {
|
|
136
|
-
|
|
137
|
-
atlas = layer.getDynamicFontAtlases().get(style_1.fontId, style_1.fill);
|
|
142
|
+
atlas = layer.getDynamicFontAtlases().get(style.fontId, style.fill);
|
|
138
143
|
if (atlas != null) {
|
|
139
144
|
this._atlasRevisionUpdated = atlas.getRevisionUpdate();
|
|
140
145
|
this._atlas = atlas;
|
|
@@ -150,50 +155,68 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
150
155
|
this._isGeometryDirty = true;
|
|
151
156
|
}
|
|
152
157
|
}
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
if (this.updateClipping(style, clipping)) {
|
|
158
|
+
var modifier = this._modifier;
|
|
159
|
+
if (this.updateClipping(style, modifier)) {
|
|
156
160
|
this._isGeometryDirty = true;
|
|
157
161
|
}
|
|
158
162
|
if (this._isGeometryDirty) {
|
|
159
163
|
this._isGeometryDirty = false;
|
|
160
|
-
this.geometry
|
|
164
|
+
var geometry = this.geometry;
|
|
165
|
+
geometry.update(this._text, atlas, modifier);
|
|
166
|
+
if (modifier.fitting && !style.isFontFitted && geometry.scaled) {
|
|
167
|
+
var oldScale = geometry.scale;
|
|
168
|
+
var oldFontSize = style.fontSize;
|
|
169
|
+
var newFontId = style.toFontId(Math.ceil(oldFontSize * oldScale * 1000) / 1000);
|
|
170
|
+
var newFontSize = UtilFont.toSize(newFontId);
|
|
171
|
+
var newScale = newFontSize / oldFontSize;
|
|
172
|
+
var newLineHeight = style.lineHeight * newScale;
|
|
173
|
+
if (style.fit(newFontSize, newLineHeight)) {
|
|
174
|
+
setTimeout(function () {
|
|
175
|
+
DApplications.update(_this);
|
|
176
|
+
}, 0);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
161
179
|
}
|
|
162
180
|
};
|
|
163
|
-
DDynamicText.prototype.updateClipping = function (style,
|
|
181
|
+
DDynamicText.prototype.updateClipping = function (style, modifier) {
|
|
164
182
|
var isChanged = false;
|
|
165
183
|
var styleClipping = style.clipping;
|
|
166
|
-
if (clipping
|
|
167
|
-
clipping
|
|
184
|
+
if (modifier.clipping !== styleClipping) {
|
|
185
|
+
modifier.clipping = styleClipping;
|
|
186
|
+
isChanged = true;
|
|
187
|
+
}
|
|
188
|
+
var styleFitting = style.fitting;
|
|
189
|
+
if (modifier.fitting !== styleFitting) {
|
|
190
|
+
modifier.fitting = styleFitting;
|
|
168
191
|
isChanged = true;
|
|
169
192
|
}
|
|
170
193
|
var styleWordWrap = style.wordWrap;
|
|
171
|
-
if (
|
|
172
|
-
|
|
194
|
+
if (modifier.wordWrap !== styleWordWrap) {
|
|
195
|
+
modifier.wordWrap = styleWordWrap;
|
|
173
196
|
isChanged = true;
|
|
174
197
|
}
|
|
175
|
-
var styleLineHeight = style.lineHeight;
|
|
176
|
-
if (
|
|
177
|
-
|
|
198
|
+
var styleLineHeight = styleFitting ? style.lineHeightFitted : style.lineHeight;
|
|
199
|
+
if (modifier.lineHeight !== styleLineHeight) {
|
|
200
|
+
modifier.lineHeight = styleLineHeight;
|
|
178
201
|
isChanged = true;
|
|
179
202
|
}
|
|
180
|
-
if (styleClipping || styleWordWrap) {
|
|
203
|
+
if (styleClipping || styleFitting || styleWordWrap) {
|
|
181
204
|
var parent_1 = this.parent;
|
|
182
205
|
if (parent_1 instanceof DBase) {
|
|
183
206
|
var width = parent_1.width -
|
|
184
207
|
parent_1.padding.getLeft() -
|
|
185
208
|
parent_1.padding.getRight() -
|
|
186
|
-
|
|
187
|
-
if (
|
|
188
|
-
|
|
209
|
+
modifier.delta.width;
|
|
210
|
+
if (modifier.width !== width) {
|
|
211
|
+
modifier.width = width;
|
|
189
212
|
isChanged = true;
|
|
190
213
|
}
|
|
191
214
|
var height = parent_1.height -
|
|
192
215
|
parent_1.padding.getTop() -
|
|
193
216
|
parent_1.padding.getBottom() -
|
|
194
|
-
|
|
195
|
-
if (
|
|
196
|
-
|
|
217
|
+
modifier.delta.height;
|
|
218
|
+
if (modifier.height !== height) {
|
|
219
|
+
modifier.height = height;
|
|
197
220
|
isChanged = true;
|
|
198
221
|
}
|
|
199
222
|
}
|
|
@@ -201,7 +224,7 @@ var DDynamicText = /** @class */ (function (_super) {
|
|
|
201
224
|
return isChanged;
|
|
202
225
|
};
|
|
203
226
|
DDynamicText.prototype.setClippingDelta = function (width, height) {
|
|
204
|
-
var delta = this.
|
|
227
|
+
var delta = this._modifier.delta;
|
|
205
228
|
delta.width = width;
|
|
206
229
|
delta.height = height;
|
|
207
230
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-dynamic-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dynamic-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Mesh, MeshMaterial, Renderer, Texture } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DDynamicTextGeometry } from \"./d-dynamic-text-geometry\";\nimport { DDynamicTextStyle, DDynamicTextStyleOptions } from \"./d-dynamic-text-style\";\nimport { DDynamicTextStyleWordWrap } from \"./d-dynamic-text-style-word-wrap\";\nimport { DynamicFontAtlas } from \"./util/dynamic-font-atlas\";\n\nexport interface DDynamicTextClippingDelta {\n\twidth: number;\n\theight: number;\n}\n\nexport interface DDynamicTextClipping {\n\tenable: boolean;\n\twordWrap: DDynamicTextStyleWordWrap;\n\twidth: number;\n\theight: number;\n\tlineHeight: number;\n\tdelta: DDynamicTextClippingDelta;\n}\n\nexport class DDynamicText extends Mesh {\n\tprotected _style: DDynamicTextStyle;\n\tprotected _text: string;\n\tprotected _textApproved: string;\n\tprotected _isDirty: boolean;\n\tprotected _isGeometryDirty: boolean;\n\tprotected _atlas: DynamicFontAtlas | null;\n\tprotected _atlasRevisionUpdated: number;\n\tprotected _width: number;\n\tprotected _height: number;\n\tprotected _clipping: DDynamicTextClipping;\n\n\treadonly geometry!: DDynamicTextGeometry;\n\n\tconstructor(text: string, options?: DDynamicTextStyleOptions) {\n\t\tsuper(new DDynamicTextGeometry(), new MeshMaterial(Texture.EMPTY));\n\n\t\tthis._style = new DDynamicTextStyle(options, (): void => {\n\t\t\tthis._isDirty = true;\n\t\t\tthis._isGeometryDirty = true;\n\t\t\tthis._atlas = null;\n\t\t\tthis.update_();\n\t\t});\n\t\tthis._text = text;\n\t\tthis._textApproved = \"\";\n\t\tthis._isDirty = true;\n\t\tthis._isGeometryDirty = true;\n\t\tthis._atlas = null;\n\t\tthis._atlasRevisionUpdated = 0;\n\t\tthis._width = 0;\n\t\tthis._height = 0;\n\t\tthis._clipping = {\n\t\t\tenable: false,\n\t\t\twordWrap: DDynamicTextStyleWordWrap.NONE,\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tlineHeight: 0,\n\t\t\tdelta: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}\n\t\t};\n\t\tthis.update_();\n\t}\n\n\tprotected update_(): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst style = this._style;\n\t\t\tif (this._isDirty) {\n\t\t\t\tthis._isDirty = false;\n\n\t\t\t\tconst text = this._text;\n\t\t\t\tconst textApproved = this._textApproved;\n\t\t\t\tthis._textApproved = text;\n\t\t\t\tconst fontId = style.fontId;\n\t\t\t\tconst fontIdApproved = style.fontIdApproved;\n\t\t\t\tconst fontSize = style.fontSize;\n\t\t\t\tconst fill = style.fill;\n\t\t\t\tconst fillApproved = style.fillApproved;\n\t\t\t\tstyle.approve();\n\n\t\t\t\tconst atlases = layer.getDynamicFontAtlases();\n\t\t\t\tif (text !== textApproved || fontId !== fontIdApproved || fill !== fillApproved) {\n\t\t\t\t\tatlases.add(fontId, fontSize, fill, text);\n\t\t\t\t\tatlases.remove(fontIdApproved, fillApproved, textApproved);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget text(): string {\n\t\treturn this._text;\n\t}\n\n\tset text(text: string) {\n\t\tif (this._text !== text) {\n\t\t\tthis._text = text;\n\t\t\tthis._isDirty = true;\n\t\t\tthis._isGeometryDirty = true;\n\t\t\tthis.update_();\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tget width(): number {\n\t\tthis.update();\n\t\treturn Math.abs(this.scale.x) * this.geometry.width;\n\t}\n\n\tset width(width: number) {\n\t\tthis.update();\n\t\tconst geometryWidth = this.geometry.width;\n\t\tif (+1e-4 < geometryWidth) {\n\t\t\tconst newScale = width / geometryWidth;\n\t\t\tthis.scale.x = 0 <= this.scale.x ? +newScale : -newScale;\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tget height(): number {\n\t\tthis.update();\n\t\treturn Math.abs(this.scale.y) * this.geometry.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.update();\n\t\tconst geometryHeight = this.geometry.height;\n\t\tif (+1e-4 < geometryHeight) {\n\t\t\tconst newScale = height / geometryHeight;\n\t\t\tthis.scale.y = 0 <= this.scale.y ? +newScale : -newScale;\n\t\t}\n\t}\n\n\tget clipped(): boolean {\n\t\treturn this.geometry.clipped;\n\t}\n\n\tget style(): DDynamicTextStyle {\n\t\treturn this._style;\n\t}\n\n\tupdate(): void {\n\t\tthis.update_();\n\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tconst style = this._style;\n\t\t\t\tatlas = layer.getDynamicFontAtlases().get(style.fontId, style.fill);\n\t\t\t\tif (atlas != null) {\n\t\t\t\t\tthis._atlasRevisionUpdated = atlas.getRevisionUpdate();\n\t\t\t\t\tthis._atlas = atlas;\n\t\t\t\t\tthis.texture = atlas.texture;\n\t\t\t\t\tthis._isGeometryDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst revisionUpdate = atlas.getRevisionUpdate();\n\t\t\tif (revisionUpdate !== this._atlasRevisionUpdated) {\n\t\t\t\tthis._atlasRevisionUpdated = revisionUpdate;\n\t\t\t\tthis._isGeometryDirty = true;\n\t\t\t}\n\t\t}\n\n\t\tconst style = this._style;\n\t\tconst clipping = this._clipping;\n\t\tif (this.updateClipping(style, clipping)) {\n\t\t\tthis._isGeometryDirty = true;\n\t\t}\n\n\t\tif (this._isGeometryDirty) {\n\t\t\tthis._isGeometryDirty = false;\n\t\t\tthis.geometry.update(this._text, atlas, clipping);\n\t\t}\n\t}\n\n\tprotected updateClipping(style: DDynamicTextStyle, clipping: DDynamicTextClipping): boolean {\n\t\tlet isChanged = false;\n\n\t\tconst styleClipping = style.clipping;\n\t\tif (clipping.enable !== styleClipping) {\n\t\t\tclipping.enable = styleClipping;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tconst styleWordWrap = style.wordWrap;\n\t\tif (clipping.wordWrap !== styleWordWrap) {\n\t\t\tclipping.wordWrap = styleWordWrap;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tconst styleLineHeight = style.lineHeight;\n\t\tif (clipping.lineHeight !== styleLineHeight) {\n\t\t\tclipping.lineHeight = styleLineHeight;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (styleClipping || styleWordWrap) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent instanceof DBase) {\n\t\t\t\tconst width =\n\t\t\t\t\tparent.width -\n\t\t\t\t\tparent.padding.getLeft() -\n\t\t\t\t\tparent.padding.getRight() -\n\t\t\t\t\tclipping.delta.width;\n\t\t\t\tif (clipping.width !== width) {\n\t\t\t\t\tclipping.width = width;\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\n\t\t\t\tconst height =\n\t\t\t\t\tparent.height -\n\t\t\t\t\tparent.padding.getTop() -\n\t\t\t\t\tparent.padding.getBottom() -\n\t\t\t\t\tclipping.delta.height;\n\t\t\t\tif (clipping.height !== height) {\n\t\t\t\t\tclipping.height = height;\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn isChanged;\n\t}\n\n\tsetClippingDelta(width: number, height: number): void {\n\t\tconst delta = this._clipping.delta;\n\t\tdelta.width = width;\n\t\tdelta.height = height;\n\t}\n\n\t_calculateBounds(): void {\n\t\tthis.update();\n\t\tsuper._calculateBounds();\n\t}\n\n\t_render(renderer?: Renderer): void {\n\t\tthis.update();\n\t\t(super._render as any)(renderer);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-dynamic-text.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-dynamic-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Mesh, MeshMaterial, Renderer, Texture } from \"pixi.js\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase } from \"./d-base\";\nimport { DDynamicTextGeometry } from \"./d-dynamic-text-geometry\";\nimport { DDynamicTextStyle, DDynamicTextStyleOptions } from \"./d-dynamic-text-style\";\nimport { DDynamicTextStyleWordWrap } from \"./d-dynamic-text-style-word-wrap\";\nimport { DynamicFontAtlas } from \"./util/dynamic-font-atlas\";\nimport { UtilFont } from \"./util/util-font\";\n\nexport interface DDynamicTextClippingDelta {\n\twidth: number;\n\theight: number;\n}\n\nexport interface DDynamicTextModifier {\n\tclipping: boolean;\n\tfitting: boolean;\n\twordWrap: DDynamicTextStyleWordWrap;\n\twidth: number;\n\theight: number;\n\tlineHeight: number;\n\tdelta: DDynamicTextClippingDelta;\n}\n\nexport class DDynamicText extends Mesh {\n\tprotected _style: DDynamicTextStyle;\n\tprotected _text: string;\n\tprotected _textApproved: string;\n\tprotected _isDirty: boolean;\n\tprotected _isGeometryDirty: boolean;\n\tprotected _atlas: DynamicFontAtlas | null;\n\tprotected _atlasRevisionUpdated: number;\n\tprotected _width: number;\n\tprotected _height: number;\n\tprotected _modifier: DDynamicTextModifier;\n\n\treadonly geometry!: DDynamicTextGeometry;\n\n\tconstructor(text: string, options?: DDynamicTextStyleOptions) {\n\t\tsuper(new DDynamicTextGeometry(), new MeshMaterial(Texture.EMPTY));\n\n\t\tthis._style = new DDynamicTextStyle(options, (): void => {\n\t\t\tthis._isDirty = true;\n\t\t\tthis._isGeometryDirty = true;\n\t\t\tthis._atlas = null;\n\t\t\tthis.update_();\n\t\t});\n\t\tthis._text = text;\n\t\tthis._textApproved = \"\";\n\t\tthis._isDirty = true;\n\t\tthis._isGeometryDirty = true;\n\t\tthis._atlas = null;\n\t\tthis._atlasRevisionUpdated = 0;\n\t\tthis._width = 0;\n\t\tthis._height = 0;\n\t\tthis._modifier = {\n\t\t\tclipping: false,\n\t\t\tfitting: false,\n\t\t\twordWrap: DDynamicTextStyleWordWrap.NONE,\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tlineHeight: 0,\n\t\t\tdelta: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 0\n\t\t\t}\n\t\t};\n\t\tthis.update_();\n\t}\n\n\tprotected update_(): void {\n\t\tconst layer = DApplications.getLayer(this);\n\t\tif (layer) {\n\t\t\tconst style = this._style;\n\t\t\tif (this._isDirty) {\n\t\t\t\tthis._isDirty = false;\n\n\t\t\t\tconst text = this._text;\n\t\t\t\tconst textApproved = this._textApproved;\n\t\t\t\tthis._textApproved = text;\n\t\t\t\tconst fontId = style.fontId;\n\t\t\t\tconst fontIdApproved = style.fontIdApproved;\n\t\t\t\tconst fontIdFontSize = style.fontIdFontSize;\n\t\t\t\tconst fill = style.fill;\n\t\t\t\tconst fillApproved = style.fillApproved;\n\t\t\t\tstyle.approve();\n\n\t\t\t\tconst atlases = layer.getDynamicFontAtlases();\n\t\t\t\tif (text !== textApproved || fontId !== fontIdApproved || fill !== fillApproved) {\n\t\t\t\t\tatlases.add(fontId, fontIdFontSize, fill, text);\n\t\t\t\t\tatlases.remove(fontIdApproved, fillApproved, textApproved);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget text(): string {\n\t\treturn this._text;\n\t}\n\n\tset text(text: string) {\n\t\tif (this._text !== text) {\n\t\t\tthis._text = text;\n\t\t\tif (!this._style.unfit()) {\n\t\t\t\tthis._isDirty = true;\n\t\t\t\tthis._isGeometryDirty = true;\n\t\t\t\tthis.update_();\n\t\t\t}\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tget width(): number {\n\t\tthis.update();\n\t\treturn Math.abs(this.scale.x) * this.geometry.width;\n\t}\n\n\tset width(width: number) {\n\t\tthis.update();\n\t\tconst geometryWidth = this.geometry.width;\n\t\tif (+1e-4 < geometryWidth) {\n\t\t\tconst newScale = width / geometryWidth;\n\t\t\tthis.scale.x = 0 <= this.scale.x ? +newScale : -newScale;\n\t\t}\n\t}\n\n\t// @ts-ignore\n\tget height(): number {\n\t\tthis.update();\n\t\treturn Math.abs(this.scale.y) * this.geometry.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.update();\n\t\tconst geometryHeight = this.geometry.height;\n\t\tif (+1e-4 < geometryHeight) {\n\t\t\tconst newScale = height / geometryHeight;\n\t\t\tthis.scale.y = 0 <= this.scale.y ? +newScale : -newScale;\n\t\t}\n\t}\n\n\tget clipped(): boolean {\n\t\treturn this.geometry.clipped;\n\t}\n\n\tget style(): DDynamicTextStyle {\n\t\treturn this._style;\n\t}\n\n\tupdate(): void {\n\t\tthis.update_();\n\n\t\tconst style = this._style;\n\t\tlet atlas = this._atlas;\n\t\tif (atlas == null) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tatlas = layer.getDynamicFontAtlases().get(style.fontId, style.fill);\n\t\t\t\tif (atlas != null) {\n\t\t\t\t\tthis._atlasRevisionUpdated = atlas.getRevisionUpdate();\n\t\t\t\t\tthis._atlas = atlas;\n\t\t\t\t\tthis.texture = atlas.texture;\n\t\t\t\t\tthis._isGeometryDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst revisionUpdate = atlas.getRevisionUpdate();\n\t\t\tif (revisionUpdate !== this._atlasRevisionUpdated) {\n\t\t\t\tthis._atlasRevisionUpdated = revisionUpdate;\n\t\t\t\tthis._isGeometryDirty = true;\n\t\t\t}\n\t\t}\n\n\t\tconst modifier = this._modifier;\n\t\tif (this.updateClipping(style, modifier)) {\n\t\t\tthis._isGeometryDirty = true;\n\t\t}\n\n\t\tif (this._isGeometryDirty) {\n\t\t\tthis._isGeometryDirty = false;\n\t\t\tconst geometry = this.geometry;\n\t\t\tgeometry.update(this._text, atlas, modifier);\n\n\t\t\tif (modifier.fitting && !style.isFontFitted && geometry.scaled) {\n\t\t\t\tconst oldScale = geometry.scale;\n\t\t\t\tconst oldFontSize = style.fontSize;\n\t\t\t\tconst newFontId = style.toFontId(Math.ceil(oldFontSize * oldScale * 1000) / 1000);\n\t\t\t\tconst newFontSize = UtilFont.toSize(newFontId);\n\t\t\t\tconst newScale = newFontSize / oldFontSize;\n\t\t\t\tconst newLineHeight = style.lineHeight * newScale;\n\t\t\t\tif (style.fit(newFontSize, newLineHeight)) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tDApplications.update(this);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected updateClipping(style: DDynamicTextStyle, modifier: DDynamicTextModifier): boolean {\n\t\tlet isChanged = false;\n\n\t\tconst styleClipping = style.clipping;\n\t\tif (modifier.clipping !== styleClipping) {\n\t\t\tmodifier.clipping = styleClipping;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tconst styleFitting = style.fitting;\n\t\tif (modifier.fitting !== styleFitting) {\n\t\t\tmodifier.fitting = styleFitting;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tconst styleWordWrap = style.wordWrap;\n\t\tif (modifier.wordWrap !== styleWordWrap) {\n\t\t\tmodifier.wordWrap = styleWordWrap;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tconst styleLineHeight = styleFitting ? style.lineHeightFitted : style.lineHeight;\n\t\tif (modifier.lineHeight !== styleLineHeight) {\n\t\t\tmodifier.lineHeight = styleLineHeight;\n\t\t\tisChanged = true;\n\t\t}\n\n\t\tif (styleClipping || styleFitting || styleWordWrap) {\n\t\t\tconst parent = this.parent;\n\t\t\tif (parent instanceof DBase) {\n\t\t\t\tconst width =\n\t\t\t\t\tparent.width -\n\t\t\t\t\tparent.padding.getLeft() -\n\t\t\t\t\tparent.padding.getRight() -\n\t\t\t\t\tmodifier.delta.width;\n\t\t\t\tif (modifier.width !== width) {\n\t\t\t\t\tmodifier.width = width;\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\n\t\t\t\tconst height =\n\t\t\t\t\tparent.height -\n\t\t\t\t\tparent.padding.getTop() -\n\t\t\t\t\tparent.padding.getBottom() -\n\t\t\t\t\tmodifier.delta.height;\n\t\t\t\tif (modifier.height !== height) {\n\t\t\t\t\tmodifier.height = height;\n\t\t\t\t\tisChanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn isChanged;\n\t}\n\n\tsetClippingDelta(width: number, height: number): void {\n\t\tconst delta = this._modifier.delta;\n\t\tdelta.width = width;\n\t\tdelta.height = height;\n\t}\n\n\tprotected _calculateBounds(): void {\n\t\tthis.update();\n\t\tsuper._calculateBounds();\n\t}\n\n\tprotected _render(renderer?: Renderer): void {\n\t\tthis.update();\n\t\tsuper._render(renderer!);\n\t}\n}\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { DBaseState } from "./d-base-state";
|
|
6
6
|
import { DLinkTarget } from "./d-link-target";
|
|
7
|
+
import { isArray } from "./util/is-array";
|
|
7
8
|
import { isString } from "./util/is-string";
|
|
8
9
|
var DLinks = /** @class */ (function () {
|
|
9
10
|
function DLinks() {
|
|
@@ -20,11 +21,27 @@ var DLinks = /** @class */ (function () {
|
|
|
20
21
|
options.state = [state, DBaseState.NEW_WINDOW];
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
else {
|
|
24
|
+
else if (isArray(state)) {
|
|
24
25
|
if (state.indexOf(DBaseState.NEW_WINDOW) < 0) {
|
|
25
26
|
state.push(DBaseState.NEW_WINDOW);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
29
|
+
else {
|
|
30
|
+
var values = state.values;
|
|
31
|
+
if (values == null) {
|
|
32
|
+
state.values = DBaseState.NEW_WINDOW;
|
|
33
|
+
}
|
|
34
|
+
else if (isString(values)) {
|
|
35
|
+
if (values !== DBaseState.NEW_WINDOW) {
|
|
36
|
+
state.values = [values, DBaseState.NEW_WINDOW];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (values.indexOf(DBaseState.NEW_WINDOW) < 0) {
|
|
41
|
+
values.push(DBaseState.NEW_WINDOW);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
28
45
|
}
|
|
29
46
|
}
|
|
30
47
|
return options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-links.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-links.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"d-links.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-links.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C;IAAA;IAoCA,CAAC;IAnCO,qBAAc,GAArB,UACC,MAA+C,EAC/C,OAAiB;QAEjB,IAAI,OAAO,EAAE;YACZ,IAAI,MAAM,KAAK,WAAW,CAAC,UAAU,IAAI,MAAM,KAAK,YAAY,EAAE;gBACjE,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;gBAC5B,IAAI,KAAK,IAAI,IAAI,EAAE;oBAClB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,CAAC;iBACtC;qBAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC3B,IAAI,KAAK,KAAK,UAAU,CAAC,UAAU,EAAE;wBACpC,OAAO,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;qBAC/C;iBACD;qBAAM,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAClC;iBACD;qBAAM;oBACN,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,IAAI,MAAM,IAAI,IAAI,EAAE;wBACnB,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC;qBACrC;yBAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;wBAC5B,IAAI,MAAM,KAAK,UAAU,CAAC,UAAU,EAAE;4BACrC,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;yBAC/C;qBACD;yBAAM;wBACN,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;yBACnC;qBACD;iBACD;aACD;SACD;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACF,aAAC;AAAD,CAAC,AApCD,IAoCC","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseStateOptions } from \"./d-base\";\nimport { DBaseState } from \"./d-base-state\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { isArray } from \"./util/is-array\";\nimport { isString } from \"./util/is-string\";\n\nexport interface DLinksStateOptions {\n\tstate?: string | string[] | DBaseStateOptions;\n}\n\nexport class DLinks {\n\tstatic toStateOptions<OPTIONS extends DLinksStateOptions>(\n\t\ttarget?: DLinkTarget | keyof typeof DLinkTarget,\n\t\toptions?: OPTIONS\n\t): OPTIONS | undefined {\n\t\tif (options) {\n\t\t\tif (target === DLinkTarget.NEW_WINDOW || target === \"NEW_WINDOW\") {\n\t\t\t\tconst state = options.state;\n\t\t\t\tif (state == null) {\n\t\t\t\t\toptions.state = DBaseState.NEW_WINDOW;\n\t\t\t\t} else if (isString(state)) {\n\t\t\t\t\tif (state !== DBaseState.NEW_WINDOW) {\n\t\t\t\t\t\toptions.state = [state, DBaseState.NEW_WINDOW];\n\t\t\t\t\t}\n\t\t\t\t} else if (isArray(state)) {\n\t\t\t\t\tif (state.indexOf(DBaseState.NEW_WINDOW) < 0) {\n\t\t\t\t\t\tstate.push(DBaseState.NEW_WINDOW);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst values = state.values;\n\t\t\t\t\tif (values == null) {\n\t\t\t\t\t\tstate.values = DBaseState.NEW_WINDOW;\n\t\t\t\t\t} else if (isString(values)) {\n\t\t\t\t\t\tif (values !== DBaseState.NEW_WINDOW) {\n\t\t\t\t\t\t\tstate.values = [values, DBaseState.NEW_WINDOW];\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (values.indexOf(DBaseState.NEW_WINDOW) < 0) {\n\t\t\t\t\t\t\tvalues.push(DBaseState.NEW_WINDOW);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn options;\n\t}\n}\n"]}
|
|
@@ -12,7 +12,7 @@ import { DDynamicText } from "./d-dynamic-text";
|
|
|
12
12
|
import { isFunction } from "./util/is-function";
|
|
13
13
|
import { toEnum } from "./util/to-enum";
|
|
14
14
|
var toTextStyle = function (theme, options, state) {
|
|
15
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
15
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
16
16
|
var style = (_a = options === null || options === void 0 ? void 0 : options.text) === null || _a === void 0 ? void 0 : _a.style;
|
|
17
17
|
if (style != null) {
|
|
18
18
|
var fill = (_b = style.fill) !== null && _b !== void 0 ? _b : theme.getColor(state);
|
|
@@ -22,8 +22,9 @@ var toTextStyle = function (theme, options, state) {
|
|
|
22
22
|
var fontStyle = (_f = style.fontStyle) !== null && _f !== void 0 ? _f : theme.getFontStyle();
|
|
23
23
|
var fontVariant = (_g = style.fontVariant) !== null && _g !== void 0 ? _g : theme.getFontVariant();
|
|
24
24
|
var clipping = (_h = style.clipping) !== null && _h !== void 0 ? _h : theme.getTextStyleClipping();
|
|
25
|
-
var
|
|
26
|
-
var
|
|
25
|
+
var fitting = (_j = style.fitting) !== null && _j !== void 0 ? _j : theme.getTextStyleFitting();
|
|
26
|
+
var wordWrap = (_k = style.wordWrap) !== null && _k !== void 0 ? _k : theme.getTextStyleWordWrap();
|
|
27
|
+
var lineHeight = (_l = style.lineHeight) !== null && _l !== void 0 ? _l : theme.getLineHeight();
|
|
27
28
|
return {
|
|
28
29
|
fill: fill,
|
|
29
30
|
fontSize: fontSize,
|
|
@@ -32,6 +33,7 @@ var toTextStyle = function (theme, options, state) {
|
|
|
32
33
|
fontStyle: fontStyle,
|
|
33
34
|
fontVariant: fontVariant,
|
|
34
35
|
clipping: clipping,
|
|
36
|
+
fitting: fitting,
|
|
35
37
|
wordWrap: wordWrap,
|
|
36
38
|
lineHeight: lineHeight
|
|
37
39
|
};
|
|
@@ -44,6 +46,7 @@ var toTextStyle = function (theme, options, state) {
|
|
|
44
46
|
fontStyle: theme.getFontStyle(),
|
|
45
47
|
fontVariant: theme.getFontVariant(),
|
|
46
48
|
clipping: theme.getTextStyleClipping(),
|
|
49
|
+
fitting: theme.getTextStyleFitting(),
|
|
47
50
|
wordWrap: theme.getTextStyleWordWrap(),
|
|
48
51
|
lineHeight: theme.getLineHeight()
|
|
49
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-text-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-text-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Graphics } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DAlignVertical } from \"./d-align-vertical\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseEvents, DBaseOptions, DRefitable, DThemeBase } from \"./d-base\";\nimport { DBaseOverflowMaskSimple } from \"./d-base-overflow-mask-simple\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DDynamicText } from \"./d-dynamic-text\";\nimport { DDynamicTextStyleOptions } from \"./d-dynamic-text-style\";\nimport { DDynamicTextStyleWordWrap } from \"./d-dynamic-text-style-word-wrap\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DStateAwareOrValueMightBe } from \"./d-state-aware\";\nimport { isFunction } from \"./util/is-function\";\nimport { toEnum } from \"./util/to-enum\";\n\n/**\n * {@link DTextBase} text align options.\n */\nexport interface DTextBaseTextAlignOptions {\n\tvertical?: keyof typeof DAlignVertical | DAlignVertical;\n\thorizontal?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n}\n\n/**\n * {@link DTextBase} text options.\n */\nexport interface DTextBaseTextOptions<VALUE = unknown> {\n\tvalue?: DStateAwareOrValueMightBe<VALUE>;\n\tcolor?: DStateAwareOrValueMightBe<number>;\n\talpha?: DStateAwareOrValueMightBe<number>;\n\tstyle?: DDynamicTextStyleOptions;\n\talign?: DTextBaseTextAlignOptions;\n\tformatter?: (value: VALUE, caller: any) => string;\n}\n\n/**\n * {@link DTextBase} events.\n */\nexport interface DTextBaseEvents<VALUE, EMITTER> extends DBaseEvents<EMITTER> {}\n\n/**\n * {@link DTextBase} \"on\" options.\n */\nexport interface DTextBaseOnOptions<VALUE, EMITTER>\n\textends Partial<DTextBaseEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTextBase} options.\n */\nexport interface DTextBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeTextBase<VALUE> = DThemeTextBase<VALUE>,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\ttext?: DTextBaseTextOptions<VALUE>;\n\tmask?: boolean;\n\ton?: DTextBaseOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DTextBase} theme.\n */\nexport interface DThemeTextBase<VALUE = unknown> extends DThemeBase {\n\tgetTextFormatter(): (value: VALUE, caller: any) => string;\n\n\t/**\n\t * Returns a new text value.\n\t * Called to initialize a text value if a text value is not given.\n\t */\n\tnewTextValue(): DStateAwareOrValueMightBe<VALUE>;\n\n\t/**\n\t * Returns a text value.\n\t * Called to get a text vale if there is no text value.\n\t *\n\t * @param state a state\n\t */\n\tgetTextValue(state: DBaseStateSet): VALUE | undefined;\n\n\tgetTextAlignVertical(): DAlignVertical;\n\tgetTextAlignHorizontal(): DAlignHorizontal;\n\tgetTextStyleClipping(): boolean;\n\tgetTextStyleWordWrap(): DDynamicTextStyleWordWrap;\n\tisOverflowMaskEnabled(): boolean;\n}\n\nexport interface DTextBaseAlign {\n\tvertical: DAlignVertical;\n\thorizontal: DAlignHorizontal;\n}\n\nconst toTextStyle = <VALUE, THEME extends DThemeTextBase<VALUE>>(\n\ttheme: THEME,\n\toptions: DTextBaseOptions<VALUE, THEME> | undefined,\n\tstate: DBaseStateSet\n): DDynamicTextStyleOptions => {\n\tconst style = options?.text?.style;\n\tif (style != null) {\n\t\tconst fill = style.fill ?? theme.getColor(state);\n\t\tconst fontSize = style.fontSize ?? theme.getFontSize();\n\t\tconst fontFamily = style.fontFamily ?? theme.getFontFamilly();\n\t\tconst fontWeight = style.fontWeight ?? theme.getFontWeight();\n\t\tconst fontStyle = style.fontStyle ?? theme.getFontStyle();\n\t\tconst fontVariant = style.fontVariant ?? theme.getFontVariant();\n\t\tconst clipping = style.clipping ?? theme.getTextStyleClipping();\n\t\tconst wordWrap = style.wordWrap ?? theme.getTextStyleWordWrap();\n\t\tconst lineHeight = style.lineHeight ?? theme.getLineHeight();\n\t\treturn {\n\t\t\tfill,\n\t\t\tfontSize,\n\t\t\tfontFamily,\n\t\t\tfontWeight,\n\t\t\tfontStyle,\n\t\t\tfontVariant,\n\t\t\tclipping,\n\t\t\twordWrap,\n\t\t\tlineHeight\n\t\t};\n\t}\n\n\treturn {\n\t\tfill: theme.getColor(state),\n\t\tfontSize: theme.getFontSize(),\n\t\tfontFamily: theme.getFontFamilly(),\n\t\tfontWeight: theme.getFontWeight(),\n\t\tfontStyle: theme.getFontStyle(),\n\t\tfontVariant: theme.getFontVariant(),\n\t\tclipping: theme.getTextStyleClipping(),\n\t\twordWrap: theme.getTextStyleWordWrap(),\n\t\tlineHeight: theme.getLineHeight()\n\t};\n};\n\nconst toTextAlign = <VALUE, THEME extends DThemeTextBase<VALUE>>(\n\ttheme: THEME,\n\toptions?: DTextBaseOptions<VALUE, THEME>\n): DTextBaseAlign => {\n\tconst align = options?.text?.align;\n\treturn {\n\t\tvertical: toEnum(align?.vertical ?? theme.getTextAlignVertical(), DAlignVertical),\n\t\thorizontal: toEnum(align?.horizontal ?? theme.getTextAlignHorizontal(), DAlignHorizontal)\n\t};\n};\n\n/**\n * A base class for UI classes with a text support.\n * See {@link DTextBaseEvents} for event defaults.\n */\nexport class DTextBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeTextBase<VALUE> = DThemeTextBase<VALUE>,\n\tOPTIONS extends DTextBaseOptions<VALUE, THEME> = DTextBaseOptions<VALUE, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected _text?: DDynamicText | null;\n\tprotected _textValue?: DStateAwareOrValueMightBe<VALUE>;\n\tprotected _textValueComputed?: VALUE;\n\tprotected _textColor!: DStateAwareOrValueMightBe<number>;\n\tprotected _textAlpha!: DStateAwareOrValueMightBe<number>;\n\tprotected _textStyle!: DDynamicTextStyleOptions;\n\tprotected _textAlign!: DTextBaseAlign;\n\tprotected _textFormatter!: (value: VALUE, caller: any) => string;\n\tprotected _isOverflowMaskEnabled!: boolean;\n\tprotected _overflowMask?: DBaseOverflowMaskSimple | null;\n\tprotected _isTextVisible!: boolean;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tthis._textValue = options?.text?.value ?? theme.newTextValue();\n\t\tthis._textValueComputed = this.computeTextValue();\n\t\tconst text = options?.text;\n\t\tthis._textColor = text?.color;\n\t\tthis._textAlpha = text?.alpha;\n\t\tthis._textStyle = toTextStyle(theme, options, this.state);\n\t\tthis._textAlign = toTextAlign(theme, options);\n\t\tthis._textFormatter = text?.formatter ?? theme.getTextFormatter();\n\t\tthis._isTextVisible = true;\n\t\tthis._isOverflowMaskEnabled = options?.mask ?? theme.isOverflowMaskEnabled();\n\t\tthis.onTextChange();\n\t\tthis.createOrUpdateText();\n\t}\n\n\tset text(text: DStateAwareOrValueMightBe<VALUE>) {\n\t\tif (this._textValue !== text) {\n\t\t\tthis._textValue = text;\n\t\t\tthis.updateTextValue();\n\t\t}\n\t}\n\n\tget text(): DStateAwareOrValueMightBe<VALUE> {\n\t\treturn this._textValue;\n\t}\n\n\tprotected onTextChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected computeTextValue(): VALUE | undefined {\n\t\tconst textValue = this._textValue;\n\t\tif (textValue !== undefined) {\n\t\t\tif (isFunction(textValue)) {\n\t\t\t\tconst result = textValue(this.state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn textValue;\n\t\t\t}\n\t\t}\n\t\treturn this.theme.getTextValue(this.state);\n\t}\n\n\tprotected createOrUpdateText(): void {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\tconst formatted = this._textFormatter(textValueComputed, this);\n\t\t\tconst text = this._text;\n\t\t\tif (text == null) {\n\t\t\t\tif (0 < formatted.length) {\n\t\t\t\t\tconst newText = this.createText(formatted);\n\t\t\t\t\tnewText.visible = this._isTextVisible;\n\t\t\t\t\tthis._text = newText;\n\t\t\t\t\tthis.addChild(newText);\n\t\t\t\t\tthis.updateTextPosition(newText);\n\t\t\t\t\tconst overflowMask = this.getOverflowMask();\n\t\t\t\t\tif (overflowMask) {\n\t\t\t\t\t\tnewText.mask = overflowMask;\n\t\t\t\t\t}\n\t\t\t\t\tthis.toDirty();\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttext.text = formatted;\n\t\t\t\tthis.toDirty();\n\t\t\t\tDApplications.update(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected createText(formatted: string): DDynamicText {\n\t\treturn new DDynamicText(formatted, this._textStyle);\n\t}\n\n\tgetOverflowMask(): Graphics | null {\n\t\tif (this._isOverflowMaskEnabled) {\n\t\t\tif (this._overflowMask == null) {\n\t\t\t\tthis._overflowMask = new DBaseOverflowMaskSimple(this);\n\t\t\t\tthis._reflowable.add(this._overflowMask);\n\t\t\t\tthis.toDirty();\n\t\t\t}\n\t\t\treturn this._overflowMask;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected updateTextPosition(text: DDynamicText): void {\n\t\tconst align = this._textAlign;\n\t\tconst padding = this._padding;\n\t\tconst auto = this._auto;\n\n\t\tlet textX = 0;\n\t\tconst pleft = padding.getLeft();\n\t\tconst alignHorizontal = align.horizontal;\n\t\tif (auto.width.isOn || alignHorizontal === DAlignHorizontal.LEFT) {\n\t\t\ttextX = pleft;\n\t\t} else {\n\t\t\tconst width = this.width;\n\t\t\tconst textWidth = text.width;\n\t\t\tconst pright = padding.getRight();\n\t\t\tif (alignHorizontal === DAlignHorizontal.CENTER) {\n\t\t\t\ttextX = pleft + (width - pleft - pright - textWidth) * 0.5;\n\t\t\t} else {\n\t\t\t\ttextX = width - textWidth - pright;\n\t\t\t}\n\t\t}\n\n\t\tlet textY = 0;\n\t\tconst ptop = padding.getTop();\n\t\tconst alignVertical = align.vertical;\n\t\tif (auto.height.isOn || alignVertical === DAlignVertical.TOP) {\n\t\t\ttextY = ptop;\n\t\t} else {\n\t\t\tconst height = this.height;\n\t\t\tconst textHeight = text.height;\n\t\t\tconst pbottom = padding.getBottom();\n\t\t\tif (alignVertical === DAlignVertical.MIDDLE) {\n\t\t\t\ttextY = ptop + (height - ptop - pbottom - textHeight) * 0.5;\n\t\t\t} else {\n\t\t\t\ttextY = height - textHeight - pbottom;\n\t\t\t}\n\t\t}\n\n\t\ttext.position.set(textX, textY);\n\t}\n\n\tprotected getTextColor(theme: THEME, state: DBaseStateSet): number {\n\t\tconst color = this._textColor;\n\t\tif (color !== undefined) {\n\t\t\tif (isFunction(color)) {\n\t\t\t\tconst result = color(state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn color;\n\t\t\t}\n\t\t}\n\t\treturn theme.getColor(state);\n\t}\n\n\tprotected getTextAlpha(theme: THEME, state: DBaseStateSet): number {\n\t\tconst alpha = this._textAlpha;\n\t\tif (alpha !== undefined) {\n\t\t\tif (isFunction(alpha)) {\n\t\t\t\tconst result = alpha(state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn alpha;\n\t\t\t}\n\t\t}\n\t\treturn theme.getAlpha(state);\n\t}\n\n\tprotected updateTextColor(text: DDynamicText): void {\n\t\tconst theme = this.theme;\n\t\tconst state = this.state;\n\t\ttext.style.fill = this.getTextColor(theme, state);\n\t\ttext.alpha = this.getTextAlpha(theme, state);\n\t}\n\n\tprotected updateTextValue(): void {\n\t\tconst newTextValueComputed = this.computeTextValue();\n\t\tif (this._textValueComputed !== newTextValueComputed) {\n\t\t\tthis._textValueComputed = newTextValueComputed;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\n\t\t}\n\t}\n\n\tprotected updateText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\tthis.updateTextValue();\n\t\t\tthis.updateTextPosition(text);\n\t\t\tthis.updateTextColor(text);\n\t\t}\n\t}\n\n\tprotected showText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\ttext.visible = true;\n\t\t}\n\t\tthis._isTextVisible = true;\n\t}\n\n\tprotected hideText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\ttext.visible = false;\n\t\t}\n\t\tthis._isTextVisible = false;\n\t}\n\n\tprotected onReflow(): void {\n\t\tsuper.onReflow();\n\t\tthis.updateText();\n\t}\n\n\tprotected isRefitable(target: any): target is DRefitable {\n\t\treturn super.isRefitable(target) || (target != null && target === this._text);\n\t}\n\n\tprotected applyTitle(): void {\n\t\tconst text = this._text;\n\t\tif (this._title.length <= 0 && text && \"clipped\" in text && text.clipped) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tlayer.view.title = text.text;\n\t\t\t}\n\t\t} else {\n\t\t\tsuper.applyTitle();\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTextBase\";\n\t}\n\n\tdestroy(): void {\n\t\t// Text\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\tthis._text = null;\n\t\t\ttext.destroy();\n\t\t}\n\n\t\t// Overflow mask\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask) {\n\t\t\tthis._overflowMask = null;\n\t\t\toverflowMask.destroy();\n\t\t}\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-text-base.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-text-base.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Graphics } from \"pixi.js\";\nimport { DAlignHorizontal } from \"./d-align-horizontal\";\nimport { DAlignVertical } from \"./d-align-vertical\";\nimport { DApplications } from \"./d-applications\";\nimport { DBase, DBaseEvents, DBaseOptions, DRefitable, DThemeBase } from \"./d-base\";\nimport { DBaseOverflowMaskSimple } from \"./d-base-overflow-mask-simple\";\nimport { DBaseStateSet } from \"./d-base-state-set\";\nimport { DDynamicText } from \"./d-dynamic-text\";\nimport { DDynamicTextStyleOptions } from \"./d-dynamic-text-style\";\nimport { DDynamicTextStyleWordWrap } from \"./d-dynamic-text-style-word-wrap\";\nimport { DOnOptions } from \"./d-on-options\";\nimport { DStateAwareOrValueMightBe } from \"./d-state-aware\";\nimport { isFunction } from \"./util/is-function\";\nimport { toEnum } from \"./util/to-enum\";\n\n/**\n * {@link DTextBase} text align options.\n */\nexport interface DTextBaseTextAlignOptions {\n\tvertical?: keyof typeof DAlignVertical | DAlignVertical;\n\thorizontal?: keyof typeof DAlignHorizontal | DAlignHorizontal;\n}\n\n/**\n * {@link DTextBase} text options.\n */\nexport interface DTextBaseTextOptions<VALUE = unknown> {\n\tvalue?: DStateAwareOrValueMightBe<VALUE>;\n\tcolor?: DStateAwareOrValueMightBe<number>;\n\talpha?: DStateAwareOrValueMightBe<number>;\n\tstyle?: DDynamicTextStyleOptions;\n\talign?: DTextBaseTextAlignOptions;\n\tformatter?: (value: VALUE, caller: any) => string;\n}\n\n/**\n * {@link DTextBase} events.\n */\nexport interface DTextBaseEvents<VALUE, EMITTER> extends DBaseEvents<EMITTER> {}\n\n/**\n * {@link DTextBase} \"on\" options.\n */\nexport interface DTextBaseOnOptions<VALUE, EMITTER>\n\textends Partial<DTextBaseEvents<VALUE, EMITTER>>,\n\t\tDOnOptions {}\n\n/**\n * {@link DTextBase} options.\n */\nexport interface DTextBaseOptions<\n\tVALUE = unknown,\n\tTHEME extends DThemeTextBase<VALUE> = DThemeTextBase<VALUE>,\n\tEMITTER = any\n> extends DBaseOptions<THEME, EMITTER> {\n\ttext?: DTextBaseTextOptions<VALUE>;\n\tmask?: boolean;\n\ton?: DTextBaseOnOptions<VALUE, EMITTER>;\n}\n\n/**\n * {@link DTextBase} theme.\n */\nexport interface DThemeTextBase<VALUE = unknown> extends DThemeBase {\n\tgetTextFormatter(): (value: VALUE, caller: any) => string;\n\n\t/**\n\t * Returns a new text value.\n\t * Called to initialize a text value if a text value is not given.\n\t */\n\tnewTextValue(): DStateAwareOrValueMightBe<VALUE>;\n\n\t/**\n\t * Returns a text value.\n\t * Called to get a text vale if there is no text value.\n\t *\n\t * @param state a state\n\t */\n\tgetTextValue(state: DBaseStateSet): VALUE | undefined;\n\n\tgetTextAlignVertical(): DAlignVertical;\n\tgetTextAlignHorizontal(): DAlignHorizontal;\n\tgetTextStyleClipping(): boolean;\n\tgetTextStyleFitting(): boolean;\n\tgetTextStyleWordWrap(): DDynamicTextStyleWordWrap;\n\tisOverflowMaskEnabled(): boolean;\n}\n\nexport interface DTextBaseAlign {\n\tvertical: DAlignVertical;\n\thorizontal: DAlignHorizontal;\n}\n\nconst toTextStyle = <VALUE, THEME extends DThemeTextBase<VALUE>>(\n\ttheme: THEME,\n\toptions: DTextBaseOptions<VALUE, THEME> | undefined,\n\tstate: DBaseStateSet\n): DDynamicTextStyleOptions => {\n\tconst style = options?.text?.style;\n\tif (style != null) {\n\t\tconst fill = style.fill ?? theme.getColor(state);\n\t\tconst fontSize = style.fontSize ?? theme.getFontSize();\n\t\tconst fontFamily = style.fontFamily ?? theme.getFontFamilly();\n\t\tconst fontWeight = style.fontWeight ?? theme.getFontWeight();\n\t\tconst fontStyle = style.fontStyle ?? theme.getFontStyle();\n\t\tconst fontVariant = style.fontVariant ?? theme.getFontVariant();\n\t\tconst clipping = style.clipping ?? theme.getTextStyleClipping();\n\t\tconst fitting = style.fitting ?? theme.getTextStyleFitting();\n\t\tconst wordWrap = style.wordWrap ?? theme.getTextStyleWordWrap();\n\t\tconst lineHeight = style.lineHeight ?? theme.getLineHeight();\n\t\treturn {\n\t\t\tfill,\n\t\t\tfontSize,\n\t\t\tfontFamily,\n\t\t\tfontWeight,\n\t\t\tfontStyle,\n\t\t\tfontVariant,\n\t\t\tclipping,\n\t\t\tfitting,\n\t\t\twordWrap,\n\t\t\tlineHeight\n\t\t};\n\t}\n\n\treturn {\n\t\tfill: theme.getColor(state),\n\t\tfontSize: theme.getFontSize(),\n\t\tfontFamily: theme.getFontFamilly(),\n\t\tfontWeight: theme.getFontWeight(),\n\t\tfontStyle: theme.getFontStyle(),\n\t\tfontVariant: theme.getFontVariant(),\n\t\tclipping: theme.getTextStyleClipping(),\n\t\tfitting: theme.getTextStyleFitting(),\n\t\twordWrap: theme.getTextStyleWordWrap(),\n\t\tlineHeight: theme.getLineHeight()\n\t};\n};\n\nconst toTextAlign = <VALUE, THEME extends DThemeTextBase<VALUE>>(\n\ttheme: THEME,\n\toptions?: DTextBaseOptions<VALUE, THEME>\n): DTextBaseAlign => {\n\tconst align = options?.text?.align;\n\treturn {\n\t\tvertical: toEnum(align?.vertical ?? theme.getTextAlignVertical(), DAlignVertical),\n\t\thorizontal: toEnum(align?.horizontal ?? theme.getTextAlignHorizontal(), DAlignHorizontal)\n\t};\n};\n\n/**\n * A base class for UI classes with a text support.\n * See {@link DTextBaseEvents} for event defaults.\n */\nexport class DTextBase<\n\tVALUE = unknown,\n\tTHEME extends DThemeTextBase<VALUE> = DThemeTextBase<VALUE>,\n\tOPTIONS extends DTextBaseOptions<VALUE, THEME> = DTextBaseOptions<VALUE, THEME>\n> extends DBase<THEME, OPTIONS> {\n\tprotected _text?: DDynamicText | null;\n\tprotected _textValue?: DStateAwareOrValueMightBe<VALUE>;\n\tprotected _textValueComputed?: VALUE;\n\tprotected _textColor!: DStateAwareOrValueMightBe<number>;\n\tprotected _textAlpha!: DStateAwareOrValueMightBe<number>;\n\tprotected _textStyle!: DDynamicTextStyleOptions;\n\tprotected _textAlign!: DTextBaseAlign;\n\tprotected _textFormatter!: (value: VALUE, caller: any) => string;\n\tprotected _isOverflowMaskEnabled!: boolean;\n\tprotected _overflowMask?: DBaseOverflowMaskSimple | null;\n\tprotected _isTextVisible!: boolean;\n\n\tprotected init(options?: OPTIONS): void {\n\t\tsuper.init(options);\n\n\t\tconst theme = this.theme;\n\t\tthis._textValue = options?.text?.value ?? theme.newTextValue();\n\t\tthis._textValueComputed = this.computeTextValue();\n\t\tconst text = options?.text;\n\t\tthis._textColor = text?.color;\n\t\tthis._textAlpha = text?.alpha;\n\t\tthis._textStyle = toTextStyle(theme, options, this.state);\n\t\tthis._textAlign = toTextAlign(theme, options);\n\t\tthis._textFormatter = text?.formatter ?? theme.getTextFormatter();\n\t\tthis._isTextVisible = true;\n\t\tthis._isOverflowMaskEnabled = options?.mask ?? theme.isOverflowMaskEnabled();\n\t\tthis.onTextChange();\n\t\tthis.createOrUpdateText();\n\t}\n\n\tset text(text: DStateAwareOrValueMightBe<VALUE>) {\n\t\tif (this._textValue !== text) {\n\t\t\tthis._textValue = text;\n\t\t\tthis.updateTextValue();\n\t\t}\n\t}\n\n\tget text(): DStateAwareOrValueMightBe<VALUE> {\n\t\treturn this._textValue;\n\t}\n\n\tprotected onTextChange(): void {\n\t\t// DO NOTHING\n\t}\n\n\tprotected computeTextValue(): VALUE | undefined {\n\t\tconst textValue = this._textValue;\n\t\tif (textValue !== undefined) {\n\t\t\tif (isFunction(textValue)) {\n\t\t\t\tconst result = textValue(this.state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn textValue;\n\t\t\t}\n\t\t}\n\t\treturn this.theme.getTextValue(this.state);\n\t}\n\n\tprotected createOrUpdateText(): void {\n\t\tconst textValueComputed = this._textValueComputed;\n\t\tif (textValueComputed !== undefined) {\n\t\t\tconst formatted = this._textFormatter(textValueComputed, this);\n\t\t\tconst text = this._text;\n\t\t\tif (text == null) {\n\t\t\t\tif (0 < formatted.length) {\n\t\t\t\t\tconst newText = this.createText(formatted);\n\t\t\t\t\tnewText.visible = this._isTextVisible;\n\t\t\t\t\tthis._text = newText;\n\t\t\t\t\tthis.addChild(newText);\n\t\t\t\t\tthis.updateTextPosition(newText);\n\t\t\t\t\tconst overflowMask = this.getOverflowMask();\n\t\t\t\t\tif (overflowMask) {\n\t\t\t\t\t\tnewText.mask = overflowMask;\n\t\t\t\t\t}\n\t\t\t\t\tthis.toDirty();\n\t\t\t\t\tDApplications.update(this);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttext.text = formatted;\n\t\t\t\tthis.toDirty();\n\t\t\t\tDApplications.update(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected createText(formatted: string): DDynamicText {\n\t\treturn new DDynamicText(formatted, this._textStyle);\n\t}\n\n\tgetOverflowMask(): Graphics | null {\n\t\tif (this._isOverflowMaskEnabled) {\n\t\t\tif (this._overflowMask == null) {\n\t\t\t\tthis._overflowMask = new DBaseOverflowMaskSimple(this);\n\t\t\t\tthis._reflowable.add(this._overflowMask);\n\t\t\t\tthis.toDirty();\n\t\t\t}\n\t\t\treturn this._overflowMask;\n\t\t}\n\t\treturn null;\n\t}\n\n\tprotected updateTextPosition(text: DDynamicText): void {\n\t\tconst align = this._textAlign;\n\t\tconst padding = this._padding;\n\t\tconst auto = this._auto;\n\n\t\tlet textX = 0;\n\t\tconst pleft = padding.getLeft();\n\t\tconst alignHorizontal = align.horizontal;\n\t\tif (auto.width.isOn || alignHorizontal === DAlignHorizontal.LEFT) {\n\t\t\ttextX = pleft;\n\t\t} else {\n\t\t\tconst width = this.width;\n\t\t\tconst textWidth = text.width;\n\t\t\tconst pright = padding.getRight();\n\t\t\tif (alignHorizontal === DAlignHorizontal.CENTER) {\n\t\t\t\ttextX = pleft + (width - pleft - pright - textWidth) * 0.5;\n\t\t\t} else {\n\t\t\t\ttextX = width - textWidth - pright;\n\t\t\t}\n\t\t}\n\n\t\tlet textY = 0;\n\t\tconst ptop = padding.getTop();\n\t\tconst alignVertical = align.vertical;\n\t\tif (auto.height.isOn || alignVertical === DAlignVertical.TOP) {\n\t\t\ttextY = ptop;\n\t\t} else {\n\t\t\tconst height = this.height;\n\t\t\tconst textHeight = text.height;\n\t\t\tconst pbottom = padding.getBottom();\n\t\t\tif (alignVertical === DAlignVertical.MIDDLE) {\n\t\t\t\ttextY = ptop + (height - ptop - pbottom - textHeight) * 0.5;\n\t\t\t} else {\n\t\t\t\ttextY = height - textHeight - pbottom;\n\t\t\t}\n\t\t}\n\n\t\ttext.position.set(textX, textY);\n\t}\n\n\tprotected getTextColor(theme: THEME, state: DBaseStateSet): number {\n\t\tconst color = this._textColor;\n\t\tif (color !== undefined) {\n\t\t\tif (isFunction(color)) {\n\t\t\t\tconst result = color(state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn color;\n\t\t\t}\n\t\t}\n\t\treturn theme.getColor(state);\n\t}\n\n\tprotected getTextAlpha(theme: THEME, state: DBaseStateSet): number {\n\t\tconst alpha = this._textAlpha;\n\t\tif (alpha !== undefined) {\n\t\t\tif (isFunction(alpha)) {\n\t\t\t\tconst result = alpha(state);\n\t\t\t\tif (result !== undefined) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn alpha;\n\t\t\t}\n\t\t}\n\t\treturn theme.getAlpha(state);\n\t}\n\n\tprotected updateTextColor(text: DDynamicText): void {\n\t\tconst theme = this.theme;\n\t\tconst state = this.state;\n\t\ttext.style.fill = this.getTextColor(theme, state);\n\t\ttext.alpha = this.getTextAlpha(theme, state);\n\t}\n\n\tprotected updateTextValue(): void {\n\t\tconst newTextValueComputed = this.computeTextValue();\n\t\tif (this._textValueComputed !== newTextValueComputed) {\n\t\t\tthis._textValueComputed = newTextValueComputed;\n\t\t\tthis.onTextChange();\n\t\t\tthis.createOrUpdateText();\n\t\t}\n\t}\n\n\tprotected updateText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\tthis.updateTextValue();\n\t\t\tthis.updateTextPosition(text);\n\t\t\tthis.updateTextColor(text);\n\t\t}\n\t}\n\n\tprotected showText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\ttext.visible = true;\n\t\t}\n\t\tthis._isTextVisible = true;\n\t}\n\n\tprotected hideText(): void {\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\ttext.visible = false;\n\t\t}\n\t\tthis._isTextVisible = false;\n\t}\n\n\tprotected onReflow(): void {\n\t\tsuper.onReflow();\n\t\tthis.updateText();\n\t}\n\n\tprotected isRefitable(target: any): target is DRefitable {\n\t\treturn super.isRefitable(target) || (target != null && target === this._text);\n\t}\n\n\tprotected applyTitle(): void {\n\t\tconst text = this._text;\n\t\tif (this._title.length <= 0 && text && \"clipped\" in text && text.clipped) {\n\t\t\tconst layer = DApplications.getLayer(this);\n\t\t\tif (layer) {\n\t\t\t\tlayer.view.title = text.text;\n\t\t\t}\n\t\t} else {\n\t\t\tsuper.applyTitle();\n\t\t}\n\t}\n\n\tprotected getType(): string {\n\t\treturn \"DTextBase\";\n\t}\n\n\tdestroy(): void {\n\t\t// Text\n\t\tconst text = this._text;\n\t\tif (text) {\n\t\t\tthis._text = null;\n\t\t\ttext.destroy();\n\t\t}\n\n\t\t// Overflow mask\n\t\tconst overflowMask = this._overflowMask;\n\t\tif (overflowMask) {\n\t\t\tthis._overflowMask = null;\n\t\t\toverflowMask.destroy();\n\t\t}\n\n\t\tsuper.destroy();\n\t}\n}\n"]}
|
|
@@ -49,9 +49,21 @@ export * from "./d-base-reflowable-impl";
|
|
|
49
49
|
export * from "./d-base-reflowable";
|
|
50
50
|
export * from "./d-base-snippet-container";
|
|
51
51
|
export * from "./d-base-snippet";
|
|
52
|
+
export * from "./d-base-state-and-value";
|
|
53
|
+
export * from "./d-base-state-matcher";
|
|
54
|
+
export * from "./d-base-state-set-blinker-datum-impl";
|
|
55
|
+
export * from "./d-base-state-set-blinker-impl";
|
|
56
|
+
export * from "./d-base-state-set-blinker";
|
|
52
57
|
export * from "./d-base-state-set-impl-observable";
|
|
53
58
|
export * from "./d-base-state-set-impl";
|
|
54
59
|
export * from "./d-base-state-set-like";
|
|
60
|
+
export * from "./d-base-state-set-sub-datum-impl";
|
|
61
|
+
export * from "./d-base-state-set-sub-datum";
|
|
62
|
+
export * from "./d-base-state-set-sub-impl";
|
|
63
|
+
export * from "./d-base-state-set-sub";
|
|
64
|
+
export * from "./d-base-state-set-ticker-datum-impl";
|
|
65
|
+
export * from "./d-base-state-set-ticker-impl";
|
|
66
|
+
export * from "./d-base-state-set-ticker";
|
|
55
67
|
export * from "./d-base-state-set";
|
|
56
68
|
export * from "./d-base-state";
|
|
57
69
|
export * from "./d-base";
|
|
@@ -84,6 +96,7 @@ export * from "./d-canvas-container";
|
|
|
84
96
|
export * from "./d-canvas";
|
|
85
97
|
export * from "./d-chart-axis-bar";
|
|
86
98
|
export * from "./d-chart-axis-base-bar";
|
|
99
|
+
export * from "./d-chart-axis-base-guide-container";
|
|
87
100
|
export * from "./d-chart-axis-base-options-parser";
|
|
88
101
|
export * from "./d-chart-axis-base-options";
|
|
89
102
|
export * from "./d-chart-axis-base-tick-container";
|
|
@@ -93,6 +106,11 @@ export * from "./d-chart-axis-base-tick-minor";
|
|
|
93
106
|
export * from "./d-chart-axis-base";
|
|
94
107
|
export * from "./d-chart-axis-container-impl";
|
|
95
108
|
export * from "./d-chart-axis-container";
|
|
109
|
+
export * from "./d-chart-axis-guide-container";
|
|
110
|
+
export * from "./d-chart-axis-guide-simple-shape-impl";
|
|
111
|
+
export * from "./d-chart-axis-guide-simple-shape";
|
|
112
|
+
export * from "./d-chart-axis-guide-simple";
|
|
113
|
+
export * from "./d-chart-axis-guide";
|
|
96
114
|
export * from "./d-chart-axis-position";
|
|
97
115
|
export * from "./d-chart-axis-tick-container";
|
|
98
116
|
export * from "./d-chart-axis-tick-major-gridline";
|