@wcardinal/wcardinal-ui 0.200.2 → 0.202.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 (225) hide show
  1. package/dist/types/wcardinal/ui/{d-controller-default-command.d.ts → d-controller-command-impl.d.ts} +1 -1
  2. package/dist/types/wcardinal/ui/{d-controller-default-focus.d.ts → d-controller-focus-impl.d.ts} +1 -1
  3. package/dist/types/wcardinal/ui/d-diagram-base.d.ts +1 -0
  4. package/dist/types/wcardinal/ui/d-diagram-canvas-data-impl.d.ts +7 -4
  5. package/dist/types/wcardinal/ui/d-diagram-canvas-data.d.ts +7 -4
  6. package/dist/types/wcardinal/ui/d-diagram-canvas.d.ts +2 -3
  7. package/dist/types/wcardinal/ui/d-diagram-data-extended-impl.d.ts +2 -1
  8. package/dist/types/wcardinal/ui/d-diagram-data-impl.d.ts +7 -4
  9. package/dist/types/wcardinal/ui/d-diagram-data-private-impl.d.ts +2 -1
  10. package/dist/types/wcardinal/ui/d-diagram-data-protected-impl.d.ts +2 -1
  11. package/dist/types/wcardinal/ui/d-diagram-data-remote-impl.d.ts +1 -1
  12. package/dist/types/wcardinal/ui/d-diagram-data-remote.d.ts +1 -1
  13. package/dist/types/wcardinal/ui/d-diagram-data-scoped.d.ts +2 -1
  14. package/dist/types/wcardinal/ui/d-diagram-data.d.ts +5 -2
  15. package/dist/types/wcardinal/ui/d-diagram-serialized.d.ts +4 -0
  16. package/dist/types/wcardinal/ui/d-table-body-cell-color.d.ts +1 -1
  17. package/dist/types/wcardinal/ui/d-table-body-cell-options.d.ts +18 -0
  18. package/dist/types/wcardinal/ui/d-table-body-cell-select-dialog.d.ts +1 -1
  19. package/dist/types/wcardinal/ui/d-table-body-cell-select-promise.d.ts +1 -1
  20. package/dist/types/wcardinal/ui/d-table-body-cell-time.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/d-table-body-cells.d.ts +7 -5
  22. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +6 -4
  23. package/dist/types/wcardinal/ui/d-table-body.d.ts +2 -0
  24. package/dist/types/wcardinal/ui/d-table-column-editing.d.ts +16 -0
  25. package/dist/types/wcardinal/ui/d-table-column-formatter.d.ts +1 -0
  26. package/dist/types/wcardinal/ui/d-table-column-getter.d.ts +1 -0
  27. package/dist/types/wcardinal/ui/d-table-column-renderable.d.ts +1 -0
  28. package/dist/types/wcardinal/ui/d-table-column-selecting.d.ts +25 -0
  29. package/dist/types/wcardinal/ui/d-table-column-setter.d.ts +1 -0
  30. package/dist/types/wcardinal/ui/d-table-column-sorting.d.ts +9 -0
  31. package/dist/types/wcardinal/ui/d-table-column-state.d.ts +11 -0
  32. package/dist/types/wcardinal/ui/d-table-column-type.d.ts +18 -0
  33. package/dist/types/wcardinal/ui/d-table-column.d.ts +33 -101
  34. package/dist/types/wcardinal/ui/index.d.ts +12 -2
  35. package/dist/types/wcardinal/ui/shape/action/e-shape-action-runtimes.d.ts +7 -15
  36. package/dist/types/wcardinal/ui/shape/e-shape-data-impl.d.ts +7 -0
  37. package/dist/types/wcardinal/ui/shape/e-shape-data-scoped-impl.d.ts +2 -1
  38. package/dist/types/wcardinal/ui/shape/e-shape-data-scoped.d.ts +2 -1
  39. package/dist/types/wcardinal/ui/shape/e-shape-data-value-formatter.d.ts +1 -0
  40. package/dist/types/wcardinal/ui/shape/e-shape-data-value-impl.d.ts +10 -1
  41. package/dist/types/wcardinal/ui/shape/e-shape-data-value-state.d.ts +32 -0
  42. package/dist/types/wcardinal/ui/shape/e-shape-data-value.d.ts +6 -1
  43. package/dist/types/wcardinal/ui/shape/e-shape-data.d.ts +4 -0
  44. package/dist/types/wcardinal/ui/shape/index.d.ts +2 -0
  45. package/dist/types/wcardinal/ui/shape/variant/build-text.d.ts +2 -1
  46. package/dist/types/wcardinal/ui/shape/variant/builder-text.d.ts +2 -0
  47. package/dist/types/wcardinal/ui/shape/variant/e-shape-embedded-layer.d.ts +1 -1
  48. package/dist/types/wcardinal/ui/shape/variant/e-shape-embedded.d.ts +1 -1
  49. package/dist/types/wcardinal/ui/shape/variant/e-shape-group-viewer.d.ts +2 -4
  50. package/dist/types/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.d.ts +2 -0
  51. package/dist/types/wcardinal/ui/theme/white/d-theme-white-table-header-cell.d.ts +2 -0
  52. package/dist/types/wcardinal/ui/util/index.d.ts +3 -0
  53. package/dist/types/wcardinal/ui/util/is-object.d.ts +1 -0
  54. package/dist/types/wcardinal/ui/util/to-cloned.d.ts +1 -0
  55. package/dist/types/wcardinal/ui/util/to-merged.d.ts +1 -0
  56. package/dist/wcardinal/ui/d-application.js +2 -2
  57. package/dist/wcardinal/ui/d-application.js.map +1 -1
  58. package/dist/wcardinal/ui/d-base.js +2 -2
  59. package/dist/wcardinal/ui/d-base.js.map +1 -1
  60. package/dist/wcardinal/ui/{d-controller-default-command.js → d-controller-command-impl.js} +24 -24
  61. package/dist/wcardinal/ui/d-controller-command-impl.js.map +1 -0
  62. package/dist/wcardinal/ui/{d-controller-default-focus.js → d-controller-focus-impl.js} +18 -18
  63. package/dist/wcardinal/ui/d-controller-focus-impl.js.map +1 -0
  64. package/dist/wcardinal/ui/d-controllers.js +2 -2
  65. package/dist/wcardinal/ui/d-controllers.js.map +1 -1
  66. package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
  67. package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js +50 -16
  68. package/dist/wcardinal/ui/d-diagram-canvas-data-impl.js.map +1 -1
  69. package/dist/wcardinal/ui/d-diagram-canvas-data.js.map +1 -1
  70. package/dist/wcardinal/ui/d-diagram-canvas.js +13 -16
  71. package/dist/wcardinal/ui/d-diagram-canvas.js.map +1 -1
  72. package/dist/wcardinal/ui/d-diagram-data-extended-impl.js +2 -2
  73. package/dist/wcardinal/ui/d-diagram-data-extended-impl.js.map +1 -1
  74. package/dist/wcardinal/ui/d-diagram-data-impl.js +22 -8
  75. package/dist/wcardinal/ui/d-diagram-data-impl.js.map +1 -1
  76. package/dist/wcardinal/ui/d-diagram-data-private-impl.js +2 -2
  77. package/dist/wcardinal/ui/d-diagram-data-private-impl.js.map +1 -1
  78. package/dist/wcardinal/ui/d-diagram-data-protected-impl.js +2 -2
  79. package/dist/wcardinal/ui/d-diagram-data-protected-impl.js.map +1 -1
  80. package/dist/wcardinal/ui/d-diagram-data-remote-impl.js +1 -1
  81. package/dist/wcardinal/ui/d-diagram-data-remote-impl.js.map +1 -1
  82. package/dist/wcardinal/ui/d-diagram-data-remote.js.map +1 -1
  83. package/dist/wcardinal/ui/d-diagram-data-scoped.js.map +1 -1
  84. package/dist/wcardinal/ui/d-diagram-data.js.map +1 -1
  85. package/dist/wcardinal/ui/d-diagram-serialized.js.map +1 -1
  86. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js +1 -3
  87. package/dist/wcardinal/ui/d-table-body-cell-action-menu.js.map +1 -1
  88. package/dist/wcardinal/ui/d-table-body-cell-check.js +2 -4
  89. package/dist/wcardinal/ui/d-table-body-cell-check.js.map +1 -1
  90. package/dist/wcardinal/ui/d-table-body-cell-color.js +17 -19
  91. package/dist/wcardinal/ui/d-table-body-cell-color.js.map +1 -1
  92. package/dist/wcardinal/ui/d-table-body-cell-date.js +1 -3
  93. package/dist/wcardinal/ui/d-table-body-cell-date.js.map +1 -1
  94. package/dist/wcardinal/ui/d-table-body-cell-datetime.js +2 -4
  95. package/dist/wcardinal/ui/d-table-body-cell-datetime.js.map +1 -1
  96. package/dist/wcardinal/ui/d-table-body-cell-index.js +1 -3
  97. package/dist/wcardinal/ui/d-table-body-cell-index.js.map +1 -1
  98. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js +1 -3
  99. package/dist/wcardinal/ui/d-table-body-cell-input-integer.js.map +1 -1
  100. package/dist/wcardinal/ui/d-table-body-cell-input-real.js +1 -3
  101. package/dist/wcardinal/ui/d-table-body-cell-input-real.js.map +1 -1
  102. package/dist/wcardinal/ui/d-table-body-cell-input-text.js +1 -3
  103. package/dist/wcardinal/ui/d-table-body-cell-input-text.js.map +1 -1
  104. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js +1 -3
  105. package/dist/wcardinal/ui/d-table-body-cell-input-tree.js.map +1 -1
  106. package/dist/wcardinal/ui/d-table-body-cell-options.js +6 -0
  107. package/dist/wcardinal/ui/d-table-body-cell-options.js.map +1 -0
  108. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +1 -3
  109. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  110. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js +1 -3
  111. package/dist/wcardinal/ui/d-table-body-cell-select-menu.js.map +1 -1
  112. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js +1 -3
  113. package/dist/wcardinal/ui/d-table-body-cell-select-multiple.js.map +1 -1
  114. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +1 -3
  115. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  116. package/dist/wcardinal/ui/d-table-body-cell-text.js +1 -3
  117. package/dist/wcardinal/ui/d-table-body-cell-text.js.map +1 -1
  118. package/dist/wcardinal/ui/d-table-body-cell-time.js +1 -3
  119. package/dist/wcardinal/ui/d-table-body-cell-time.js.map +1 -1
  120. package/dist/wcardinal/ui/d-table-body-cell-tree.js +1 -2
  121. package/dist/wcardinal/ui/d-table-body-cell-tree.js.map +1 -1
  122. package/dist/wcardinal/ui/d-table-body-cells.js +13 -5
  123. package/dist/wcardinal/ui/d-table-body-cells.js.map +1 -1
  124. package/dist/wcardinal/ui/d-table-body-row.js +43 -39
  125. package/dist/wcardinal/ui/d-table-body-row.js.map +1 -1
  126. package/dist/wcardinal/ui/d-table-body.js +2 -1
  127. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  128. package/dist/wcardinal/ui/d-table-column-editing.js +6 -0
  129. package/dist/wcardinal/ui/d-table-column-editing.js.map +1 -0
  130. package/dist/wcardinal/ui/d-table-column-formatter.js +6 -0
  131. package/dist/wcardinal/ui/d-table-column-formatter.js.map +1 -0
  132. package/dist/wcardinal/ui/d-table-column-getter.js +6 -0
  133. package/dist/wcardinal/ui/d-table-column-getter.js.map +1 -0
  134. package/dist/wcardinal/ui/d-table-column-renderable.js +6 -0
  135. package/dist/wcardinal/ui/d-table-column-renderable.js.map +1 -0
  136. package/dist/wcardinal/ui/d-table-column-selecting.js +6 -0
  137. package/dist/wcardinal/ui/d-table-column-selecting.js.map +1 -0
  138. package/dist/wcardinal/ui/d-table-column-setter.js +6 -0
  139. package/dist/wcardinal/ui/d-table-column-setter.js.map +1 -0
  140. package/dist/wcardinal/ui/d-table-column-sorting.js +6 -0
  141. package/dist/wcardinal/ui/d-table-column-sorting.js.map +1 -0
  142. package/dist/wcardinal/ui/d-table-column-state.js +6 -0
  143. package/dist/wcardinal/ui/d-table-column-state.js.map +1 -0
  144. package/dist/wcardinal/ui/d-table-column-type.js +22 -0
  145. package/dist/wcardinal/ui/d-table-column-type.js.map +1 -0
  146. package/dist/wcardinal/ui/d-table-column.js +1 -17
  147. package/dist/wcardinal/ui/d-table-column.js.map +1 -1
  148. package/dist/wcardinal/ui/d-table.js +23 -1
  149. package/dist/wcardinal/ui/d-table.js.map +1 -1
  150. package/dist/wcardinal/ui/index.js +12 -2
  151. package/dist/wcardinal/ui/index.js.map +1 -1
  152. package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js +2 -0
  153. package/dist/wcardinal/ui/shape/action/e-shape-action-expressions.js.map +1 -1
  154. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-both.js +2 -2
  155. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-both.js.map +1 -1
  156. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-local.js +1 -1
  157. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-local.js.map +1 -1
  158. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-remote.js +1 -1
  159. package/dist/wcardinal/ui/shape/action/e-shape-action-runtime-misc-write-remote.js.map +1 -1
  160. package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js +30 -29
  161. package/dist/wcardinal/ui/shape/action/e-shape-action-runtimes.js.map +1 -1
  162. package/dist/wcardinal/ui/shape/action/e-shape-action-value-on-input-actions.js +4 -4
  163. package/dist/wcardinal/ui/shape/action/e-shape-action-value-on-input-actions.js.map +1 -1
  164. package/dist/wcardinal/ui/shape/e-shape-data-impl.js +57 -0
  165. package/dist/wcardinal/ui/shape/e-shape-data-impl.js.map +1 -1
  166. package/dist/wcardinal/ui/shape/e-shape-data-scoped-impl.js +5 -1
  167. package/dist/wcardinal/ui/shape/e-shape-data-scoped-impl.js.map +1 -1
  168. package/dist/wcardinal/ui/shape/e-shape-data-scoped.js.map +1 -1
  169. package/dist/wcardinal/ui/shape/e-shape-data-value-formatter.js +6 -0
  170. package/dist/wcardinal/ui/shape/e-shape-data-value-formatter.js.map +1 -0
  171. package/dist/wcardinal/ui/shape/e-shape-data-value-impl.js +211 -56
  172. package/dist/wcardinal/ui/shape/e-shape-data-value-impl.js.map +1 -1
  173. package/dist/wcardinal/ui/shape/e-shape-data-value-state.js +36 -0
  174. package/dist/wcardinal/ui/shape/e-shape-data-value-state.js.map +1 -0
  175. package/dist/wcardinal/ui/shape/e-shape-data-value.js.map +1 -1
  176. package/dist/wcardinal/ui/shape/e-shape-data.js.map +1 -1
  177. package/dist/wcardinal/ui/shape/e-shape-runtime.js +4 -2
  178. package/dist/wcardinal/ui/shape/e-shape-runtime.js.map +1 -1
  179. package/dist/wcardinal/ui/shape/index.js +2 -0
  180. package/dist/wcardinal/ui/shape/index.js.map +1 -1
  181. package/dist/wcardinal/ui/shape/variant/build-text.js +84 -63
  182. package/dist/wcardinal/ui/shape/variant/build-text.js.map +1 -1
  183. package/dist/wcardinal/ui/shape/variant/builder-text.js +18 -3
  184. package/dist/wcardinal/ui/shape/variant/builder-text.js.map +1 -1
  185. package/dist/wcardinal/ui/shape/variant/deserialize-embedded-layer.js +2 -3
  186. package/dist/wcardinal/ui/shape/variant/deserialize-embedded-layer.js.map +1 -1
  187. package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js +4 -3
  188. package/dist/wcardinal/ui/shape/variant/deserialize-embedded.js.map +1 -1
  189. package/dist/wcardinal/ui/shape/variant/e-shape-base.js +3 -1
  190. package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
  191. package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js +3 -3
  192. package/dist/wcardinal/ui/shape/variant/e-shape-embedded-layer.js.map +1 -1
  193. package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js +3 -3
  194. package/dist/wcardinal/ui/shape/variant/e-shape-embedded.js.map +1 -1
  195. package/dist/wcardinal/ui/shape/variant/e-shape-embeddeds.js +1 -1
  196. package/dist/wcardinal/ui/shape/variant/e-shape-embeddeds.js.map +1 -1
  197. package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js +4 -18
  198. package/dist/wcardinal/ui/shape/variant/e-shape-group-viewer.js.map +1 -1
  199. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js +11 -0
  200. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-header-cell.js.map +1 -1
  201. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js +11 -0
  202. package/dist/wcardinal/ui/theme/white/d-theme-white-table-header-cell.js.map +1 -1
  203. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js +1 -1
  204. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
  205. package/dist/wcardinal/ui/util/index.js +3 -0
  206. package/dist/wcardinal/ui/util/index.js.map +1 -1
  207. package/dist/wcardinal/ui/util/is-object.js +13 -0
  208. package/dist/wcardinal/ui/util/is-object.js.map +1 -0
  209. package/dist/wcardinal/ui/util/to-cloned.js +32 -0
  210. package/dist/wcardinal/ui/util/to-cloned.js.map +1 -0
  211. package/dist/wcardinal/ui/util/to-merged.js +45 -0
  212. package/dist/wcardinal/ui/util/to-merged.js.map +1 -0
  213. package/dist/wcardinal-ui-theme-dark.js +12 -1
  214. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  215. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  216. package/dist/wcardinal-ui-theme-white.js +12 -1
  217. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  218. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  219. package/dist/wcardinal-ui.cjs.js +1451 -1014
  220. package/dist/wcardinal-ui.js +1429 -1014
  221. package/dist/wcardinal-ui.min.js +2 -2
  222. package/dist/wcardinal-ui.min.js.map +1 -1
  223. package/package.json +1 -1
  224. package/dist/wcardinal/ui/d-controller-default-command.js.map +0 -1
  225. package/dist/wcardinal/ui/d-controller-default-focus.js.map +0 -1
@@ -175,15 +175,17 @@ var EShapeRuntime = /** @class */ (function () {
175
175
  var data = shape.data;
176
176
  var isEffectTimeUp = this.effect <= time;
177
177
  if (data.isChanged || this.isStateChanged || isEffectTimeUp) {
178
+ this.isStateChanged = false;
179
+ data.isChanged = false;
178
180
  if (isEffectTimeUp) {
179
181
  this.effect = NaN;
180
182
  }
181
183
  shape.disallowUploadedUpdate();
182
184
  this.onUpdate(shape, time);
183
185
  shape.allowUploadedUpdate();
186
+ var wasStateChanged = this.isStateChanged;
184
187
  shape.state.removeAll(EShapeState.CLICKED, EShapeState.DOWN, EShapeState.UP, EShapeState.ACTIVATED, EShapeState.DEACTIVATED);
185
- this.isStateChanged = false;
186
- data.isChanged = false;
188
+ this.isStateChanged = wasStateChanged;
187
189
  }
188
190
  };
189
191
  EShapeRuntime.prototype.onRender = function (shape, time, renderer) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-runtime.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Renderer } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\n\nconst POSITION_X = 1;\nconst POSITION_Y = 2;\nconst ROTATION = 4;\nconst COLOR_FILL = 8;\nconst COLOR_STROKE = 16;\nconst COLOR_TEXT = 32;\nconst COLOR_TEXT_OUTLINE = 64;\nconst VISIBILITY = 128;\nconst HEIGHT = 256;\nconst WIDTH = 512;\nconst TEXT = 1024;\nconst CURSOR = 2048;\n\nexport const EShapeRuntimeReset = {\n\tNONE: 0,\n\tPOSITION_X,\n\tPOSITION_Y,\n\tPOSITION: POSITION_X | POSITION_Y,\n\tROTATION,\n\tCOLOR_FILL,\n\tCOLOR_STROKE,\n\tCOLOR_FILL_AND_STROKE: COLOR_FILL | COLOR_STROKE,\n\tCOLOR_TEXT,\n\tCOLOR_TEXT_OUTLINE,\n\tCOLOR: COLOR_FILL | COLOR_STROKE | COLOR_TEXT | COLOR_TEXT_OUTLINE,\n\tVISIBILITY,\n\tHEIGHT,\n\tWIDTH,\n\tSIZE: HEIGHT | WIDTH,\n\tTEXT,\n\tCURSOR\n} as const;\n\nexport type EShapeRuntimeReset = typeof EShapeRuntimeReset[keyof typeof EShapeRuntimeReset];\n\nexport class EShapeRuntime {\n\tx: number;\n\ty: number;\n\tsize: Point;\n\trotation: number;\n\tactions: EShapeActionRuntime[];\n\tfill: EShapeFillLike;\n\tstroke: EShapeStrokeLike;\n\ttext: EShapeTextLike;\n\tcursor: string;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\n\teffect: number;\n\n\tisStateChanged: boolean;\n\tinteractive: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.size = new Point(size.x, size.y);\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = NaN;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tthis.onInitialize(shape);\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tonInitialize(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isHovered = true;\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isHovered = false;\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tif (!shape.state.isDown) {\n\t\t\t// Down / Press\n\t\t\tshape.state.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t// Focus and states\n\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\tif (layer) {\n\t\t\t\t// Focus\n\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDown(shape, this, e);\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isPressed = false;\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst isEffectTimeUp = this.effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = NaN;\n\t\t\t}\n\t\t\tshape.disallowUploadedUpdate();\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.allowUploadedUpdate();\n\t\t\tshape.state.removeAll(\n\t\t\t\tEShapeState.CLICKED,\n\t\t\t\tEShapeState.DOWN,\n\t\t\t\tEShapeState.UP,\n\t\t\t\tEShapeState.ACTIVATED,\n\t\t\t\tEShapeState.DEACTIVATED\n\t\t\t);\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.size.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.size.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-runtime.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { interaction, Point, Renderer } from \"pixi.js\";\nimport InteractionEvent = interaction.InteractionEvent;\nimport InteractionManager = interaction.InteractionManager;\nimport { DApplications } from \"../d-applications\";\nimport { UtilKeyboardEvent } from \"../util/util-keyboard-event\";\nimport { EShapeActionRuntime } from \"./action/e-shape-action-runtime\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeFillLike } from \"./e-shape-fill\";\nimport { EShapeState } from \"./e-shape-state\";\nimport { EShapeStrokeLike } from \"./e-shape-stroke\";\nimport { EShapeTextLike } from \"./e-shape-text\";\nimport { DBaseState } from \"../d-base-state\";\nimport { DBaseStateSet } from \"../d-base-state-set\";\n\nconst POSITION_X = 1;\nconst POSITION_Y = 2;\nconst ROTATION = 4;\nconst COLOR_FILL = 8;\nconst COLOR_STROKE = 16;\nconst COLOR_TEXT = 32;\nconst COLOR_TEXT_OUTLINE = 64;\nconst VISIBILITY = 128;\nconst HEIGHT = 256;\nconst WIDTH = 512;\nconst TEXT = 1024;\nconst CURSOR = 2048;\n\nexport const EShapeRuntimeReset = {\n\tNONE: 0,\n\tPOSITION_X,\n\tPOSITION_Y,\n\tPOSITION: POSITION_X | POSITION_Y,\n\tROTATION,\n\tCOLOR_FILL,\n\tCOLOR_STROKE,\n\tCOLOR_FILL_AND_STROKE: COLOR_FILL | COLOR_STROKE,\n\tCOLOR_TEXT,\n\tCOLOR_TEXT_OUTLINE,\n\tCOLOR: COLOR_FILL | COLOR_STROKE | COLOR_TEXT | COLOR_TEXT_OUTLINE,\n\tVISIBILITY,\n\tHEIGHT,\n\tWIDTH,\n\tSIZE: HEIGHT | WIDTH,\n\tTEXT,\n\tCURSOR\n} as const;\n\nexport type EShapeRuntimeReset = typeof EShapeRuntimeReset[keyof typeof EShapeRuntimeReset];\n\nexport class EShapeRuntime {\n\tx: number;\n\ty: number;\n\tsize: Point;\n\trotation: number;\n\tactions: EShapeActionRuntime[];\n\tfill: EShapeFillLike;\n\tstroke: EShapeStrokeLike;\n\ttext: EShapeTextLike;\n\tcursor: string;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\n\teffect: number;\n\n\tisStateChanged: boolean;\n\tinteractive: boolean;\n\n\tconstructor(shape: EShape) {\n\t\tconst transform = shape.transform;\n\t\tconst position = transform.position;\n\t\tthis.x = position.x;\n\t\tthis.y = position.y;\n\t\tconst size = shape.size;\n\t\tthis.size = new Point(size.x, size.y);\n\t\tthis.rotation = transform.rotation;\n\t\tthis.actions = [];\n\t\tthis.fill = shape.fill.toObject();\n\t\tthis.stroke = shape.stroke.toObject();\n\t\tthis.text = shape.text.toObject();\n\t\tthis.cursor = shape.cursor;\n\t\tthis.reset = EShapeRuntimeReset.NONE;\n\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\tthis.effect = NaN;\n\t\tthis.isStateChanged = false;\n\t\tthis.interactive = false;\n\t}\n\n\tinitialize(shape: EShape): void {\n\t\tshape.disallowUploadedUpdate();\n\t\tthis.onInitialize(shape);\n\t\tshape.allowUploadedUpdate();\n\t}\n\n\tonInitialize(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].initialize(shape, this);\n\t\t}\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\t}\n\n\tonDblClick(\n\t\tshape: EShape,\n\t\te: MouseEvent | TouchEvent,\n\t\tinteractionManager: InteractionManager\n\t): boolean {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isHovered = true;\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isHovered = false;\n\t}\n\n\tonDown(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// Actions\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDowning(shape, this, e);\n\t\t}\n\n\t\tif (!shape.state.isDown) {\n\t\t\t// Down / Press\n\t\t\tshape.state.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t// Focus and states\n\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\tif (layer) {\n\t\t\t\t// Focus\n\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t}\n\t\t}\n\n\t\t// Actions\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onDown(shape, this, e);\n\t\t}\n\t}\n\n\tonUp(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isUp) {\n\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tshape.state.isPressed = false;\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tconst state = shape.state;\n\t\t\tif (state.isPressed) {\n\t\t\t\tconst wasUp = state.isUp;\n\t\t\t\tthis.onUp(shape, e);\n\t\t\t\tif (!wasUp && state.isUp) {\n\t\t\t\t\tthis.onClick(shape, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tonStateChange(shape: EShape, newState: DBaseStateSet, oldState: DBaseStateSet): void {\n\t\tthis.isStateChanged = true;\n\t\tDApplications.update(shape);\n\n\t\tif (newState.isFocused) {\n\t\t\tif (!oldState.isFocused) {\n\t\t\t\tthis.onFocus(shape);\n\t\t\t}\n\t\t} else if (oldState.isFocused) {\n\t\t\tthis.onBlur(shape);\n\t\t}\n\t}\n\n\tonFocus(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onBlur(shape, this);\n\t\t}\n\t}\n\n\tupdate(shape: EShape, time: number): void {\n\t\tconst data = shape.data;\n\t\tconst isEffectTimeUp = this.effect <= time;\n\t\tif (data.isChanged || this.isStateChanged || isEffectTimeUp) {\n\t\t\tthis.isStateChanged = false;\n\t\t\tdata.isChanged = false;\n\t\t\tif (isEffectTimeUp) {\n\t\t\t\tthis.effect = NaN;\n\t\t\t}\n\t\t\tshape.disallowUploadedUpdate();\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.allowUploadedUpdate();\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(\n\t\t\t\tEShapeState.CLICKED,\n\t\t\t\tEShapeState.DOWN,\n\t\t\t\tEShapeState.UP,\n\t\t\t\tEShapeState.ACTIVATED,\n\t\t\t\tEShapeState.DEACTIVATED\n\t\t\t);\n\t\t\tthis.isStateChanged = wasStateChanged;\n\t\t}\n\t}\n\n\tonRender(shape: EShape, time: number, renderer: Renderer): void {\n\t\tconst actions = this.actions;\n\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\tactions[i].onRender(shape, this, time, renderer);\n\t\t}\n\t\tthis.update(shape, time);\n\t}\n\n\tprotected onUpdate(shape: EShape, time: number): void {\n\t\tconst actions = this.actions;\n\t\tif (0 < actions.length) {\n\t\t\tthis.written = EShapeRuntimeReset.NONE;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].execute(shape, this, time);\n\t\t\t}\n\t\t\tthis.doReset(shape);\n\t\t}\n\t}\n\n\tprotected doReset(shape: EShape): void {\n\t\tconst target = ~this.written & this.reset;\n\t\tif (target !== EShapeRuntimeReset.NONE) {\n\t\t\tif (target & EShapeRuntimeReset.POSITION_X) {\n\t\t\t\tshape.transform.position.x = this.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.POSITION_Y) {\n\t\t\t\tshape.transform.position.y = this.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.VISIBILITY) {\n\t\t\t\tshape.visible = true;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_FILL) {\n\t\t\t\tconst fill = this.fill;\n\t\t\t\tshape.fill.set(undefined, fill.color, fill.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_STROKE) {\n\t\t\t\tconst stroke = this.stroke;\n\t\t\t\tshape.stroke.set(undefined, stroke.color, stroke.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT) {\n\t\t\t\tconst text = this.text;\n\t\t\t\tshape.text.set(undefined, text.color, text.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.COLOR_TEXT_OUTLINE) {\n\t\t\t\tconst outline = this.text.outline;\n\t\t\t\tshape.text.outline.set(undefined, outline.color, outline.alpha);\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.HEIGHT) {\n\t\t\t\tshape.size.y = this.size.y;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.size.x;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.ROTATION) {\n\t\t\t\tshape.transform.rotation = this.rotation;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.TEXT) {\n\t\t\t\tshape.text.value = this.text.value;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.CURSOR) {\n\t\t\t\tshape.cursor = this.cursor;\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -39,11 +39,13 @@ export * from "./e-shape-data-scoped-impl";
39
39
  export * from "./e-shape-data-scoped";
40
40
  export * from "./e-shape-data-value-extension";
41
41
  export * from "./e-shape-data-value-extensions";
42
+ export * from "./e-shape-data-value-formatter";
42
43
  export * from "./e-shape-data-value-impl";
43
44
  export * from "./e-shape-data-value-order";
44
45
  export * from "./e-shape-data-value-range-impl";
45
46
  export * from "./e-shape-data-value-range";
46
47
  export * from "./e-shape-data-value-scope";
48
+ export * from "./e-shape-data-value-state";
47
49
  export * from "./e-shape-data-value-type";
48
50
  export * from "./e-shape-data-value";
49
51
  export * from "./e-shape-data";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deleter\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-search\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-transforms\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nexport * from \"./action\";\nexport * from \"./load\";\nexport * from \"./variant\";\nexport * from \"./e-shape-acceptor-impl\";\nexport * from \"./e-shape-acceptor-type\";\nexport * from \"./e-shape-acceptor\";\nexport * from \"./e-shape-acceptors\";\nexport * from \"./e-shape-buffer-unit-builder\";\nexport * from \"./e-shape-buffer-unit\";\nexport * from \"./e-shape-buffer\";\nexport * from \"./e-shape-capabilities\";\nexport * from \"./e-shape-capability\";\nexport * from \"./e-shape-connector-bodies\";\nexport * from \"./e-shape-connector-body-impl\";\nexport * from \"./e-shape-connector-body\";\nexport * from \"./e-shape-connector-container-impl\";\nexport * from \"./e-shape-connector-container\";\nexport * from \"./e-shape-connector-edge-acceptor-impl\";\nexport * from \"./e-shape-connector-edge-acceptor\";\nexport * from \"./e-shape-connector-edge-container-impl\";\nexport * from \"./e-shape-connector-edge-container\";\nexport * from \"./e-shape-connector-edge-impl\";\nexport * from \"./e-shape-connector-edge\";\nexport * from \"./e-shape-connector\";\nexport * from \"./e-shape-connectors\";\nexport * from \"./e-shape-container\";\nexport * from \"./e-shape-copy-part\";\nexport * from \"./e-shape-corner\";\nexport * from \"./e-shape-data-impl\";\nexport * from \"./e-shape-data-mapper-impl\";\nexport * from \"./e-shape-data-mapper\";\nexport * from \"./e-shape-data-mapping-impl\";\nexport * from \"./e-shape-data-mapping\";\nexport * from \"./e-shape-data-scoped-impl\";\nexport * from \"./e-shape-data-scoped\";\nexport * from \"./e-shape-data-value-extension\";\nexport * from \"./e-shape-data-value-extensions\";\nexport * from \"./e-shape-data-value-formatter\";\nexport * from \"./e-shape-data-value-impl\";\nexport * from \"./e-shape-data-value-order\";\nexport * from \"./e-shape-data-value-range-impl\";\nexport * from \"./e-shape-data-value-range\";\nexport * from \"./e-shape-data-value-scope\";\nexport * from \"./e-shape-data-value-state\";\nexport * from \"./e-shape-data-value-type\";\nexport * from \"./e-shape-data-value\";\nexport * from \"./e-shape-data\";\nexport * from \"./e-shape-defaults\";\nexport * from \"./e-shape-deleter\";\nexport * from \"./e-shape-deserializers\";\nexport * from \"./e-shape-editor\";\nexport * from \"./e-shape-fill\";\nexport * from \"./e-shape-gradient\";\nexport * from \"./e-shape-layer-container\";\nexport * from \"./e-shape-layer-state\";\nexport * from \"./e-shape-layer\";\nexport * from \"./e-shape-layout\";\nexport * from \"./e-shape-points-formatted\";\nexport * from \"./e-shape-points-formatter-curve\";\nexport * from \"./e-shape-points-formatter\";\nexport * from \"./e-shape-points-marker-base\";\nexport * from \"./e-shape-points-marker-container-impl-noop\";\nexport * from \"./e-shape-points-marker-container-impl\";\nexport * from \"./e-shape-points-marker-container\";\nexport * from \"./e-shape-points-marker-head\";\nexport * from \"./e-shape-points-marker-noop\";\nexport * from \"./e-shape-points-marker-tail\";\nexport * from \"./e-shape-points-marker-type\";\nexport * from \"./e-shape-points-marker\";\nexport * from \"./e-shape-points-style\";\nexport * from \"./e-shape-points-styles\";\nexport * from \"./e-shape-points\";\nexport * from \"./e-shape-renderer-iterator-datum\";\nexport * from \"./e-shape-renderer-iterator\";\nexport * from \"./e-shape-renderer\";\nexport * from \"./e-shape-resource-manager-deserialization\";\nexport * from \"./e-shape-resource-manager-serialization\";\nexport * from \"./e-shape-runtime\";\nexport * from \"./e-shape-runtimes\";\nexport * from \"./e-shape-search\";\nexport * from \"./e-shape-state-set-impl-observable\";\nexport * from \"./e-shape-state-set\";\nexport * from \"./e-shape-state\";\nexport * from \"./e-shape-stroke-side\";\nexport * from \"./e-shape-stroke-style\";\nexport * from \"./e-shape-stroke\";\nexport * from \"./e-shape-text-align-horizontal\";\nexport * from \"./e-shape-text-align-vertical\";\nexport * from \"./e-shape-text-align\";\nexport * from \"./e-shape-text-direction\";\nexport * from \"./e-shape-text-offset\";\nexport * from \"./e-shape-text-outline\";\nexport * from \"./e-shape-text\";\nexport * from \"./e-shape-transform-parent\";\nexport * from \"./e-shape-transform\";\nexport * from \"./e-shape-transforms\";\nexport * from \"./e-shape-type\";\nexport * from \"./e-shape-uploaded-constructor\";\nexport * from \"./e-shape-uploaded\";\nexport * from \"./e-shape-uploadeds\";\nexport * from \"./e-shape-uuid-mapping-impl\";\nexport * from \"./e-shape-uuid-mapping\";\nexport * from \"./e-shape\";\n"]}
@@ -9,7 +9,7 @@ import { toLength } from "./to-length";
9
9
  import { toScaleInvariant } from "./to-scale-invariant";
10
10
  export var TEXT_VERTEX_COUNT = 4;
11
11
  export var TEXT_INDEX_COUNT = 2;
12
- var TEXT_FMIN = 0.00001;
12
+ export var TEXT_FMIN = 0.00001;
13
13
  var TEXT_WORK_POINT = new Point();
14
14
  export var toTextBufferCount = function (shape) {
15
15
  return Math.ceil(shape.text.value.length / 12) * 12;
@@ -37,12 +37,12 @@ export var buildTextIndex = function (indices, voffset, ioffset, icount) {
37
37
  iv += 4;
38
38
  }
39
39
  };
40
- export var buildTextStep = function (steps, voffset, vcount, textAtlas, textSize, textOutlineWidth, textWeight) {
40
+ export var buildTextStep = function (steps, voffset, vcount, textAtlas, textSize, textOutlineWidth, textWeight, scaleX, scaleY) {
41
41
  var is = voffset * 6 - 1;
42
42
  var ismax = (voffset + vcount) * 6 - 1;
43
43
  var scaleInvariant = toScaleInvariant(EShapeStrokeStyle.NONE);
44
44
  if (textAtlas != null) {
45
- var scale = textAtlas.font.size / textSize;
45
+ var scale = textAtlas.font.size / (textSize * (scaleX + scaleY) * 0.5);
46
46
  var position = textWeight === EShapeTextWeight.NORMAL ? 0.0 : 0.05;
47
47
  for (; is < ismax;) {
48
48
  steps[++is] = textOutlineWidth;
@@ -274,19 +274,6 @@ var getTextBBox = function (halign, valign, hoffset, voffset, hpadding, vpadding
274
274
  break;
275
275
  }
276
276
  };
277
- var toNormalized = function (dx, dy, defx, defy, result) {
278
- var d = dx * dx + dy * dy;
279
- if (TEXT_FMIN < d) {
280
- var l = Math.sqrt(d);
281
- var li = 1 / l;
282
- result.set(dx * li, dy * li);
283
- return l;
284
- }
285
- else {
286
- result.set(defx, defy);
287
- return 0;
288
- }
289
- };
290
277
  var rotateAlignHorizontalRight = function (align) {
291
278
  switch (align) {
292
279
  case EShapeTextAlignHorizontal.LEFT:
@@ -354,36 +341,78 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
354
341
  //
355
342
  var sx = sizeX * 0.5;
356
343
  var sy = sizeY * 0.5;
357
- var work = TEXT_WORK_POINT;
358
- work.set(originX - sx, originY - sy);
359
- internalTransform.apply(work, work);
360
- var x0 = work.x;
361
- var y0 = work.y;
362
- work.set(originX + sx, originY - sy);
363
- internalTransform.apply(work, work);
364
- var x1 = work.x;
365
- var y1 = work.y;
366
- work.set(originX + sx, originY + sy);
367
- internalTransform.apply(work, work);
368
- var x2 = work.x;
369
- var y2 = work.y;
344
+ var a = internalTransform.a;
345
+ var b = internalTransform.b;
346
+ var c = internalTransform.c;
347
+ var d = internalTransform.d;
348
+ var tx = internalTransform.tx;
349
+ var ty = internalTransform.ty;
350
+ var ltx = originX - sx;
351
+ var lty = originY - sy;
352
+ var rtx = originX + sx;
353
+ var rty = originY - sy;
354
+ var rbx = originX + sx;
355
+ var rby = originY + sy;
356
+ var x0 = a * ltx + c * lty + tx;
357
+ var y0 = b * ltx + d * lty + ty;
358
+ var x1 = a * rtx + c * rty + tx;
359
+ var y1 = b * rtx + d * rty + ty;
360
+ var x2 = a * rbx + c * rby + tx;
361
+ var y2 = b * rbx + d * rby + ty;
370
362
  var x3 = x0 + (x2 - x1);
371
363
  var y3 = y0 + (y2 - y1);
372
364
  // Horizontal normal
373
365
  var hl = toLength(x0, y0, x1, y1);
374
- toNormalized(internalTransform.a, internalTransform.b, 1, 0, work);
375
- var hnx = work.x;
376
- var hny = work.y;
366
+ var hnl = toLength(0, 0, a, b);
367
+ var hnx = 1;
368
+ var hny = 0;
369
+ if (TEXT_FMIN < hnl) {
370
+ var hnli = 1 / hnl;
371
+ hnx = a * hnli;
372
+ hny = b * hnli;
373
+ }
377
374
  // Vertical normal
378
375
  var vl = toLength(x0, y0, x3, y3);
379
- toNormalized(internalTransform.c, internalTransform.d, 0, 1, work);
380
- var vnx = work.x;
381
- var vny = work.y;
376
+ var vnl = toLength(0, 0, c, d);
377
+ var vnx = 0;
378
+ var vny = 1;
379
+ if (TEXT_FMIN < hnl) {
380
+ var vnli = 1 / vnl;
381
+ vnx = c * vnli;
382
+ vny = d * vnli;
383
+ }
384
+ var work = TEXT_WORK_POINT;
385
+ switch (textDirection) {
386
+ case EShapeTextDirection.LEFT_TO_RIGHT:
387
+ // DO NOTHING
388
+ break;
389
+ case EShapeTextDirection.TOP_TO_BOTTOM:
390
+ work.set(vnx, vny);
391
+ vnx = -hnx;
392
+ vny = -hny;
393
+ hnx = work.x;
394
+ hny = work.y;
395
+ work.x = vnl;
396
+ vnl = hnl;
397
+ hnl = work.x;
398
+ break;
399
+ case EShapeTextDirection.BOTTOM_TO_TOP:
400
+ work.set(vnx, vny);
401
+ vnx = hnx;
402
+ vny = hny;
403
+ hnx = -work.x;
404
+ hny = -work.y;
405
+ work.x = vnl;
406
+ vnl = hnl;
407
+ hnl = work.x;
408
+ break;
409
+ }
382
410
  // Calculate the width / height
383
411
  var width = 0;
384
412
  var height = 0;
385
413
  var heightChar = 0;
386
- var lineHeight = Math.max(0, textSize + textSpacingVertical);
414
+ var textSizeY = textSize * vnl;
415
+ var lineHeight = Math.max(0, textSize + textSpacingVertical) * vnl;
387
416
  var lineWidth = 0;
388
417
  var textAtlasCharacters = textAtlas.characters;
389
418
  var iterator = UtilCharacterIterator.from(textValue);
@@ -411,12 +440,14 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
411
440
  height += lineHeight;
412
441
  }
413
442
  }
414
- var scale = textSize / textAtlas.font.size;
443
+ var scaleZ = textSize / textAtlas.font.size;
444
+ var scaleX = hnl * scaleZ;
445
+ var scaleY = vnl * scaleZ;
415
446
  lineWidth += advancePrevious;
416
- width = Math.max(width, lineWidth) * scale;
447
+ width = Math.max(width, lineWidth) * scaleX;
417
448
  lineWidth = 0;
418
- heightChar *= scale;
419
- height += textSize;
449
+ heightChar *= scaleY;
450
+ height += textSizeY;
420
451
  //
421
452
  var tx0 = 0;
422
453
  var ty0 = 0;
@@ -443,13 +474,6 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
443
474
  }
444
475
  break;
445
476
  case EShapeTextDirection.TOP_TO_BOTTOM:
446
- // Swap normals
447
- work.set(vnx, vny);
448
- vnx = -hnx;
449
- vny = -hny;
450
- hnx = work.x;
451
- hny = work.y;
452
- // Get text bbox
453
477
  getTextBBox(rotateAlignVerticalRight(textAlignVertical), rotateAlignHorizontalRight(textAlignHorizontal), textOffsetVertical, textOffsetHorizontal, textPaddingVertical, textPaddingHorizontal, width, height, x1, y1, x2, y2, x3, y3, x0, y0, hnx, hny, vnx, vny, work);
454
478
  tx0 = work.x;
455
479
  ty0 = work.y;
@@ -470,13 +494,6 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
470
494
  }
471
495
  break;
472
496
  case EShapeTextDirection.BOTTOM_TO_TOP:
473
- // Swap normals
474
- work.set(vnx, vny);
475
- vnx = hnx;
476
- vny = hny;
477
- hnx = -work.x;
478
- hny = -work.y;
479
- // Get text bbox
480
497
  getTextBBox(rotateAlignVerticalLeft(textAlignVertical), rotateAlignHorizontalLeft(textAlignHorizontal), textOffsetVertical, textOffsetHorizontal, textPaddingVertical, textPaddingHorizontal, width, height, x3, y3, x0, y0, x1, y1, x2, y2, hnx, hny, vnx, vny, work);
481
498
  tx0 = work.x;
482
499
  ty0 = work.y;
@@ -508,6 +525,8 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
508
525
  textWorld[5] = vny;
509
526
  textWorld[6] = lineWidthMaximum;
510
527
  textWorld[7] = height;
528
+ textWorld[8] = hnl;
529
+ textWorld[9] = vnl;
511
530
  }
512
531
  else {
513
532
  textWorld[0] = tx0;
@@ -518,6 +537,8 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
518
537
  textWorld[5] = vny;
519
538
  textWorld[6] = width;
520
539
  textWorld[7] = height;
540
+ textWorld[8] = hnl;
541
+ textWorld[9] = vnl;
521
542
  }
522
543
  // Texture
523
544
  var uvx0 = textureUvs.x0;
@@ -533,16 +554,16 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
533
554
  // Vertices & UVs
534
555
  var lhx = lineHeight * vnx;
535
556
  var lhy = lineHeight * vny;
536
- var snx = scale * hnx;
537
- var sny = scale * hny;
538
- var offsetY = (heightChar - textSize) * 0.5;
557
+ var snx = scaleX * hnx;
558
+ var sny = scaleX * hny;
559
+ var offsetY = (heightChar - textSizeY) * 0.5;
539
560
  var oyx = offsetY * vnx;
540
561
  var oyy = offsetY * vny;
541
562
  var offsetItalic = textStyle === EShapeTextStyle.NORMAL ? 0 : textSize * 0.25;
542
563
  var bx0 = tx0 - oyx + offsetItalic * snx;
543
564
  var by0 = ty0 - oyy + offsetItalic * sny;
544
- var bx3 = tx0 + oyx + textSize * vnx;
545
- var by3 = ty0 + oyy + textSize * vny;
565
+ var bx3 = tx0 + oyx + textSizeY * vnx;
566
+ var by3 = ty0 + oyy + textSizeY * vny;
546
567
  var cx0 = bx0;
547
568
  var cy0 = by0;
548
569
  var cx3 = bx3;
@@ -569,11 +590,11 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
569
590
  lineCount += 1;
570
591
  if (data) {
571
592
  var advance = data.advance;
572
- if (lineWidthMaximum < (lineWidth + advance) * scale) {
593
+ if (lineWidthMaximum < (lineWidth + advance) * scaleX) {
573
594
  var dots = textAtlasCharacters["..."];
574
595
  if (dots) {
575
596
  if (1 < lineCount &&
576
- lineWidthMaximum < (lineWidth + dots.advance) * scale) {
597
+ lineWidthMaximum < (lineWidth + dots.advance) * scaleX) {
577
598
  lineWidth = lineWidthPrevious;
578
599
  iv -= 8;
579
600
  lineCount -= 1;
@@ -624,13 +645,13 @@ export var buildTextVertex = function (vertices, uvs, voffset, vcount, originX,
624
645
  cx3 = bx3;
625
646
  cy3 = by3;
626
647
  writeCharacterEmpty(vertices, uvs, iv, cx0, cy0, cx3, cy3, uvx0, uvy0, uvx3, uvy3);
627
- adjustTextAlignment(vertices, hnx, hny, lineCount, iv, width - lineWidth * scale, textDirection, textAlignHorizontal, textAlignVertical);
648
+ adjustTextAlignment(vertices, hnx, hny, lineCount, iv, width - lineWidth * scaleX, textDirection, textAlignHorizontal, textAlignVertical);
628
649
  lineWidth = 0;
629
650
  lineCount = 0;
630
651
  }
631
652
  }
632
653
  lineWidth += advancePrevious;
633
- adjustTextAlignment(vertices, hnx, hny, lineCount, iv, width - lineWidth * scale, textDirection, textAlignHorizontal, textAlignVertical);
654
+ adjustTextAlignment(vertices, hnx, hny, lineCount, iv, width - lineWidth * scaleX, textDirection, textAlignHorizontal, textAlignVertical);
634
655
  for (var ivmax = (voffset + vcount) * 2; iv < ivmax; iv += 2) {
635
656
  vertices[iv + 0] = tx0;
636
657
  vertices[iv + 1] = ty0;