@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.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/dist/types/wcardinal/ui/d-base-state-and-value.d.ts +4 -0
  3. package/dist/types/wcardinal/ui/d-base-state-matcher.d.ts +1 -0
  4. package/dist/types/wcardinal/ui/d-base-state-set-blinker-datum-impl.d.ts +5 -0
  5. package/dist/types/wcardinal/ui/d-base-state-set-blinker-impl.d.ts +8 -0
  6. package/dist/types/wcardinal/ui/d-base-state-set-blinker.d.ts +3 -0
  7. package/dist/types/wcardinal/ui/d-base-state-set-impl.d.ts +51 -18
  8. package/dist/types/wcardinal/ui/d-base-state-set-sub-datum-impl.d.ts +17 -0
  9. package/dist/types/wcardinal/ui/d-base-state-set-sub-datum.d.ts +6 -0
  10. package/dist/types/wcardinal/ui/d-base-state-set-sub-impl.d.ts +15 -0
  11. package/dist/types/wcardinal/ui/d-base-state-set-sub.d.ts +6 -0
  12. package/dist/types/wcardinal/ui/d-base-state-set-ticker-datum-impl.d.ts +5 -0
  13. package/dist/types/wcardinal/ui/d-base-state-set-ticker-impl.d.ts +8 -0
  14. package/dist/types/wcardinal/ui/d-base-state-set-ticker.d.ts +3 -0
  15. package/dist/types/wcardinal/ui/d-base-state-set.d.ts +38 -8
  16. package/dist/types/wcardinal/ui/d-base.d.ts +23 -1
  17. package/dist/types/wcardinal/ui/d-chart-axis-base-guide-container.d.ts +21 -0
  18. package/dist/types/wcardinal/ui/d-chart-axis-base-options-parser.d.ts +6 -0
  19. package/dist/types/wcardinal/ui/d-chart-axis-base-options.d.ts +5 -0
  20. package/dist/types/wcardinal/ui/d-chart-axis-base.d.ts +4 -0
  21. package/dist/types/wcardinal/ui/d-chart-axis-guide-container.d.ts +14 -0
  22. package/dist/types/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.d.ts +41 -0
  23. package/dist/types/wcardinal/ui/d-chart-axis-guide-simple-shape.d.ts +80 -0
  24. package/dist/types/wcardinal/ui/d-chart-axis-guide-simple.d.ts +32 -0
  25. package/dist/types/wcardinal/ui/d-chart-axis-guide.d.ts +14 -0
  26. package/dist/types/wcardinal/ui/d-chart-axis.d.ts +2 -0
  27. package/dist/types/wcardinal/ui/d-dynamic-text-geometry.d.ts +7 -4
  28. package/dist/types/wcardinal/ui/d-dynamic-text-measure-result.d.ts +3 -0
  29. package/dist/types/wcardinal/ui/d-dynamic-text-measure.d.ts +4 -3
  30. package/dist/types/wcardinal/ui/d-dynamic-text-style.d.ts +16 -1
  31. package/dist/types/wcardinal/ui/d-dynamic-text.d.ts +7 -6
  32. package/dist/types/wcardinal/ui/d-links.d.ts +2 -1
  33. package/dist/types/wcardinal/ui/d-text-base.d.ts +1 -0
  34. package/dist/types/wcardinal/ui/index.d.ts +18 -0
  35. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-text-base.d.ts +1 -0
  36. package/dist/types/wcardinal/ui/theme/white/d-theme-white-text-base.d.ts +1 -0
  37. package/dist/types/wcardinal/ui/util/util-font.d.ts +2 -0
  38. package/dist/wcardinal/ui/d-base-state-and-value.js +2 -0
  39. package/dist/wcardinal/ui/d-base-state-and-value.js.map +1 -0
  40. package/dist/wcardinal/ui/d-base-state-matcher.js +2 -0
  41. package/dist/wcardinal/ui/d-base-state-matcher.js.map +1 -0
  42. package/dist/wcardinal/ui/d-base-state-set-blinker-datum-impl.js +17 -0
  43. package/dist/wcardinal/ui/d-base-state-set-blinker-datum-impl.js.map +1 -0
  44. package/dist/wcardinal/ui/d-base-state-set-blinker-impl.js +16 -0
  45. package/dist/wcardinal/ui/d-base-state-set-blinker-impl.js.map +1 -0
  46. package/dist/wcardinal/ui/d-base-state-set-blinker.js +2 -0
  47. package/dist/wcardinal/ui/d-base-state-set-blinker.js.map +1 -0
  48. package/dist/wcardinal/ui/d-base-state-set-impl.js +298 -129
  49. package/dist/wcardinal/ui/d-base-state-set-impl.js.map +1 -1
  50. package/dist/wcardinal/ui/d-base-state-set-sub-datum-impl.js +75 -0
  51. package/dist/wcardinal/ui/d-base-state-set-sub-datum-impl.js.map +1 -0
  52. package/dist/wcardinal/ui/d-base-state-set-sub-datum.js +2 -0
  53. package/dist/wcardinal/ui/d-base-state-set-sub-datum.js.map +1 -0
  54. package/dist/wcardinal/ui/d-base-state-set-sub-impl.js +73 -0
  55. package/dist/wcardinal/ui/d-base-state-set-sub-impl.js.map +1 -0
  56. package/dist/wcardinal/ui/d-base-state-set-sub.js +2 -0
  57. package/dist/wcardinal/ui/d-base-state-set-sub.js.map +1 -0
  58. package/dist/wcardinal/ui/d-base-state-set-ticker-datum-impl.js +17 -0
  59. package/dist/wcardinal/ui/d-base-state-set-ticker-datum-impl.js.map +1 -0
  60. package/dist/wcardinal/ui/d-base-state-set-ticker-impl.js +16 -0
  61. package/dist/wcardinal/ui/d-base-state-set-ticker-impl.js.map +1 -0
  62. package/dist/wcardinal/ui/d-base-state-set-ticker.js +2 -0
  63. package/dist/wcardinal/ui/d-base-state-set-ticker.js.map +1 -0
  64. package/dist/wcardinal/ui/d-base-state-set.js.map +1 -1
  65. package/dist/wcardinal/ui/d-base.js +34 -2
  66. package/dist/wcardinal/ui/d-base.js.map +1 -1
  67. package/dist/wcardinal/ui/d-chart-axis-base-guide-container.js +75 -0
  68. package/dist/wcardinal/ui/d-chart-axis-base-guide-container.js.map +1 -0
  69. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js +7 -0
  70. package/dist/wcardinal/ui/d-chart-axis-base-options-parser.js.map +1 -1
  71. package/dist/wcardinal/ui/d-chart-axis-base-options.js.map +1 -1
  72. package/dist/wcardinal/ui/d-chart-axis-base.js +23 -1
  73. package/dist/wcardinal/ui/d-chart-axis-base.js.map +1 -1
  74. package/dist/wcardinal/ui/d-chart-axis-guide-container.js +2 -0
  75. package/dist/wcardinal/ui/d-chart-axis-guide-container.js.map +1 -0
  76. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js +328 -0
  77. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js.map +1 -0
  78. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape.js +2 -0
  79. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape.js.map +1 -0
  80. package/dist/wcardinal/ui/d-chart-axis-guide-simple.js +123 -0
  81. package/dist/wcardinal/ui/d-chart-axis-guide-simple.js.map +1 -0
  82. package/dist/wcardinal/ui/d-chart-axis-guide.js +2 -0
  83. package/dist/wcardinal/ui/d-chart-axis-guide.js.map +1 -0
  84. package/dist/wcardinal/ui/d-chart-axis.js.map +1 -1
  85. package/dist/wcardinal/ui/d-dynamic-text-geometry.js +17 -10
  86. package/dist/wcardinal/ui/d-dynamic-text-geometry.js.map +1 -1
  87. package/dist/wcardinal/ui/d-dynamic-text-measure-result.js +22 -0
  88. package/dist/wcardinal/ui/d-dynamic-text-measure-result.js.map +1 -1
  89. package/dist/wcardinal/ui/d-dynamic-text-measure.js +14 -10
  90. package/dist/wcardinal/ui/d-dynamic-text-measure.js.map +1 -1
  91. package/dist/wcardinal/ui/d-dynamic-text-style.js +107 -6
  92. package/dist/wcardinal/ui/d-dynamic-text-style.js.map +1 -1
  93. package/dist/wcardinal/ui/d-dynamic-text.js +52 -29
  94. package/dist/wcardinal/ui/d-dynamic-text.js.map +1 -1
  95. package/dist/wcardinal/ui/d-links.js +18 -1
  96. package/dist/wcardinal/ui/d-links.js.map +1 -1
  97. package/dist/wcardinal/ui/d-text-base.js +6 -3
  98. package/dist/wcardinal/ui/d-text-base.js.map +1 -1
  99. package/dist/wcardinal/ui/index.js +18 -0
  100. package/dist/wcardinal/ui/index.js.map +1 -1
  101. package/dist/wcardinal/ui/shape/e-shape-state-set-impl-observable.js +2 -2
  102. package/dist/wcardinal/ui/shape/e-shape-state-set-impl-observable.js.map +1 -1
  103. package/dist/wcardinal/ui/theme/dark/d-theme-dark-text-base.js +3 -0
  104. package/dist/wcardinal/ui/theme/dark/d-theme-dark-text-base.js.map +1 -1
  105. package/dist/wcardinal/ui/theme/white/d-theme-white-text-base.js +3 -0
  106. package/dist/wcardinal/ui/theme/white/d-theme-white-text-base.js.map +1 -1
  107. package/dist/wcardinal/ui/util/util-font.js +18 -11
  108. package/dist/wcardinal/ui/util/util-font.js.map +1 -1
  109. package/dist/wcardinal-ui-theme-dark.js +4 -1
  110. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  111. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  112. package/dist/wcardinal-ui-theme-white.js +4 -1
  113. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  114. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  115. package/dist/wcardinal-ui.cjs.js +1403 -275
  116. package/dist/wcardinal-ui.js +1397 -275
  117. package/dist/wcardinal-ui.min.js +2 -2
  118. package/dist/wcardinal-ui.min.js.map +1 -1
  119. 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._clipping = {
31
- enable: false,
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 fontSize = style.fontSize;
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, fontSize, fill, text);
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._isDirty = true;
75
- this._isGeometryDirty = true;
76
- this.update_();
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
- var style_1 = this._style;
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 style = this._style;
154
- var clipping = this._clipping;
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.update(this._text, atlas, clipping);
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, clipping) {
181
+ DDynamicText.prototype.updateClipping = function (style, modifier) {
164
182
  var isChanged = false;
165
183
  var styleClipping = style.clipping;
166
- if (clipping.enable !== styleClipping) {
167
- clipping.enable = styleClipping;
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 (clipping.wordWrap !== styleWordWrap) {
172
- clipping.wordWrap = styleWordWrap;
194
+ if (modifier.wordWrap !== styleWordWrap) {
195
+ modifier.wordWrap = styleWordWrap;
173
196
  isChanged = true;
174
197
  }
175
- var styleLineHeight = style.lineHeight;
176
- if (clipping.lineHeight !== styleLineHeight) {
177
- clipping.lineHeight = styleLineHeight;
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
- clipping.delta.width;
187
- if (clipping.width !== width) {
188
- clipping.width = width;
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
- clipping.delta.height;
195
- if (clipping.height !== height) {
196
- clipping.height = height;
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._clipping.delta;
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;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C;IAAA;IAuBA,CAAC;IAtBO,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;oBACN,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;qBAClC;iBACD;aACD;SACD;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IACF,aAAC;AAAD,CAAC,AAvBD,IAuBC","sourcesContent":["/*\n * Copyright (C) 2021 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DBaseState } from \"./d-base-state\";\nimport { DLinkTarget } from \"./d-link-target\";\nimport { isString } from \"./util/is-string\";\n\nexport interface DLinksStateOptions {\n\tstate?: string | string[];\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 {\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}\n\t\t\t}\n\t\t}\n\t\treturn options;\n\t}\n}\n"]}
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 wordWrap = (_j = style.wordWrap) !== null && _j !== void 0 ? _j : theme.getTextStyleWordWrap();
26
- var lineHeight = (_k = style.lineHeight) !== null && _k !== void 0 ? _k : theme.getLineHeight();
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";