@wcardinal/wcardinal-ui 0.372.0 → 0.374.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 (372) hide show
  1. package/dist/types/wcardinal/ui/d-align-horizontal.d.ts +1 -1
  2. package/dist/types/wcardinal/ui/d-align-vertical.d.ts +1 -1
  3. package/dist/types/wcardinal/ui/d-align-with.d.ts +1 -1
  4. package/dist/types/wcardinal/ui/d-animation.d.ts +5 -5
  5. package/dist/types/wcardinal/ui/d-base-interactive.d.ts +1 -1
  6. package/dist/types/wcardinal/ui/d-base-point.d.ts +1 -1
  7. package/dist/types/wcardinal/ui/d-base-state-matcher.d.ts +1 -1
  8. package/dist/types/wcardinal/ui/d-base-state-set-impl-observable.d.ts +1 -1
  9. package/dist/types/wcardinal/ui/d-base.d.ts +1 -1
  10. package/dist/types/wcardinal/ui/d-border-mask.d.ts +1 -1
  11. package/dist/types/wcardinal/ui/d-button-base-when.d.ts +1 -1
  12. package/dist/types/wcardinal/ui/d-button-file.d.ts +1 -1
  13. package/dist/types/wcardinal/ui/d-button-select.d.ts +2 -2
  14. package/dist/types/wcardinal/ui/d-chart-axis-base-options.d.ts +4 -4
  15. package/dist/types/wcardinal/ui/d-chart-axis-position.d.ts +1 -1
  16. package/dist/types/wcardinal/ui/d-chart-axis-tick-position.d.ts +1 -1
  17. package/dist/types/wcardinal/ui/d-chart-coordinate-direction.d.ts +1 -1
  18. package/dist/types/wcardinal/ui/d-chart-coordinate-tick-major-step-function.d.ts +1 -1
  19. package/dist/types/wcardinal/ui/d-chart-coordinate-tick-minor-step-function.d.ts +1 -1
  20. package/dist/types/wcardinal/ui/d-chart-selection-shape.d.ts +1 -1
  21. package/dist/types/wcardinal/ui/d-chart-selection.d.ts +2 -2
  22. package/dist/types/wcardinal/ui/d-chart-series-scalar.d.ts +1 -1
  23. package/dist/types/wcardinal/ui/d-color-type.d.ts +1 -1
  24. package/dist/types/wcardinal/ui/d-coordinate.d.ts +3 -3
  25. package/dist/types/wcardinal/ui/d-corner-mask.d.ts +1 -1
  26. package/dist/types/wcardinal/ui/d-diagram-base-controller.d.ts +1 -1
  27. package/dist/types/wcardinal/ui/d-diagram-canvas-editor-snap.d.ts +1 -1
  28. package/dist/types/wcardinal/ui/d-diagram-canvas-tile.d.ts +1 -1
  29. package/dist/types/wcardinal/ui/d-diagram-data-mapper.d.ts +1 -1
  30. package/dist/types/wcardinal/ui/d-diagram-layers.d.ts +1 -1
  31. package/dist/types/wcardinal/ui/d-diagram-serialized.d.ts +6 -6
  32. package/dist/types/wcardinal/ui/d-dialog-close-on.d.ts +1 -1
  33. package/dist/types/wcardinal/ui/d-dialog-gesture-mode.d.ts +1 -1
  34. package/dist/types/wcardinal/ui/d-dialog-gesture.d.ts +1 -1
  35. package/dist/types/wcardinal/ui/d-dialog-mode.d.ts +1 -1
  36. package/dist/types/wcardinal/ui/d-dialog-select-search-dismissable.d.ts +1 -1
  37. package/dist/types/wcardinal/ui/d-dialog-select-search-function.d.ts +1 -1
  38. package/dist/types/wcardinal/ui/d-dialog-select.d.ts +2 -2
  39. package/dist/types/wcardinal/ui/d-dynamic-text-style-word-wrap.d.ts +1 -1
  40. package/dist/types/wcardinal/ui/d-dynamic-text-style.d.ts +1 -1
  41. package/dist/types/wcardinal/ui/d-font.d.ts +3 -3
  42. package/dist/types/wcardinal/ui/d-item-updater.d.ts +2 -2
  43. package/dist/types/wcardinal/ui/d-layout-clear-type.d.ts +1 -1
  44. package/dist/types/wcardinal/ui/d-layout-direction.d.ts +1 -1
  45. package/dist/types/wcardinal/ui/d-link-menu-item-id.d.ts +1 -1
  46. package/dist/types/wcardinal/ui/d-link-menu.d.ts +1 -1
  47. package/dist/types/wcardinal/ui/d-link-target.d.ts +1 -1
  48. package/dist/types/wcardinal/ui/d-link.d.ts +4 -4
  49. package/dist/types/wcardinal/ui/d-list-data-selection.d.ts +1 -1
  50. package/dist/types/wcardinal/ui/d-list-data.d.ts +1 -1
  51. package/dist/types/wcardinal/ui/d-list-item-accessor.d.ts +6 -6
  52. package/dist/types/wcardinal/ui/d-map-tile-url-builder.d.ts +1 -1
  53. package/dist/types/wcardinal/ui/d-menu-item-link.d.ts +2 -2
  54. package/dist/types/wcardinal/ui/d-menu-item-options-union.d.ts +1 -1
  55. package/dist/types/wcardinal/ui/d-menu-sided-selection.d.ts +1 -1
  56. package/dist/types/wcardinal/ui/d-menus.d.ts +2 -2
  57. package/dist/types/wcardinal/ui/d-on-options.d.ts +2 -2
  58. package/dist/types/wcardinal/ui/d-picker-datetime-mask.d.ts +1 -1
  59. package/dist/types/wcardinal/ui/d-picker-datetime.d.ts +3 -3
  60. package/dist/types/wcardinal/ui/d-scalar-expression.d.ts +7 -7
  61. package/dist/types/wcardinal/ui/d-scalar-function.d.ts +1 -1
  62. package/dist/types/wcardinal/ui/d-state-aware.d.ts +3 -3
  63. package/dist/types/wcardinal/ui/d-table-body-cell-link.d.ts +2 -2
  64. package/dist/types/wcardinal/ui/d-table-body-cell-options.d.ts +1 -1
  65. package/dist/types/wcardinal/ui/d-table-body-cell.d.ts +1 -1
  66. package/dist/types/wcardinal/ui/d-table-body-row.d.ts +1 -1
  67. package/dist/types/wcardinal/ui/d-table-column-editing.d.ts +4 -4
  68. package/dist/types/wcardinal/ui/d-table-column-formatter.d.ts +1 -1
  69. package/dist/types/wcardinal/ui/d-table-column-getter.d.ts +1 -1
  70. package/dist/types/wcardinal/ui/d-table-column-renderable.d.ts +1 -1
  71. package/dist/types/wcardinal/ui/d-table-column-selecting.d.ts +2 -2
  72. package/dist/types/wcardinal/ui/d-table-column-setter.d.ts +1 -1
  73. package/dist/types/wcardinal/ui/d-table-column-state.d.ts +1 -1
  74. package/dist/types/wcardinal/ui/d-table-column-type.d.ts +1 -1
  75. package/dist/types/wcardinal/ui/d-table-column-update.d.ts +1 -1
  76. package/dist/types/wcardinal/ui/d-table-data-filter.d.ts +2 -2
  77. package/dist/types/wcardinal/ui/d-table-data-selection.d.ts +3 -3
  78. package/dist/types/wcardinal/ui/d-table-data-sorter.d.ts +3 -3
  79. package/dist/types/wcardinal/ui/d-table-data-tree-item-accessor.d.ts +3 -3
  80. package/dist/types/wcardinal/ui/d-table-data-tree-selection.d.ts +1 -1
  81. package/dist/types/wcardinal/ui/d-table-data.d.ts +3 -3
  82. package/dist/types/wcardinal/ui/d-tree-data-mapped-impl.d.ts +3 -2
  83. package/dist/types/wcardinal/ui/d-tree-data-selection.d.ts +1 -1
  84. package/dist/types/wcardinal/ui/d-tree-node-iteratee.d.ts +1 -1
  85. package/dist/types/wcardinal/ui/d-view-constraint.d.ts +1 -1
  86. package/dist/types/wcardinal/ui/d-view-to-target.d.ts +1 -1
  87. package/dist/types/wcardinal/ui/d-view.d.ts +1 -1
  88. package/dist/types/wcardinal/ui/shape/action/e-shape-action-expression-with-parameter.d.ts +1 -1
  89. package/dist/types/wcardinal/ui/shape/action/e-shape-action-expression.d.ts +1 -1
  90. package/dist/types/wcardinal/ui/shape/action/e-shape-action-open-dialog-opener.d.ts +1 -1
  91. package/dist/types/wcardinal/ui/shape/action/e-shape-action-open-opener.d.ts +1 -1
  92. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-blink-type.d.ts +1 -1
  93. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-blink.d.ts +1 -1
  94. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color-brightness.d.ts +2 -2
  95. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color-code.d.ts +2 -2
  96. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color-target.d.ts +1 -1
  97. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color-type-legacy.d.ts +1 -1
  98. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color-type.d.ts +1 -1
  99. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-color.d.ts +3 -3
  100. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-cursor.d.ts +1 -1
  101. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-text-type.d.ts +1 -1
  102. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-change-text.d.ts +1 -1
  103. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-deserializers.d.ts +1 -1
  104. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-emit-event.d.ts +1 -1
  105. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-gesture-operation-type.d.ts +1 -1
  106. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-gesture-type.d.ts +1 -1
  107. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-gesture.d.ts +3 -3
  108. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-misc-execute.d.ts +1 -1
  109. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-misc-type.d.ts +1 -1
  110. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-misc.d.ts +2 -2
  111. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-on-input-action.d.ts +1 -1
  112. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open-dialog-extension.d.ts +3 -3
  113. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open-dialog-type.d.ts +1 -1
  114. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open-dialog.d.ts +5 -5
  115. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open-type.d.ts +1 -1
  116. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-open.d.ts +3 -3
  117. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-show-hide-layer.d.ts +1 -1
  118. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-show-hide-shape.d.ts +1 -1
  119. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-show-hide-type.d.ts +1 -1
  120. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-show-hide.d.ts +1 -1
  121. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-move-type.d.ts +1 -1
  122. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-move.d.ts +1 -1
  123. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-resize-type.d.ts +1 -1
  124. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-resize.d.ts +1 -1
  125. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-rotate-type.d.ts +1 -1
  126. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-rotate.d.ts +1 -1
  127. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-transform-type.d.ts +1 -1
  128. package/dist/types/wcardinal/ui/shape/action/e-shape-action-value-type.d.ts +1 -1
  129. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge-side.d.ts +1 -1
  130. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-edge-type.d.ts +1 -1
  131. package/dist/types/wcardinal/ui/shape/e-shape-acceptor-type.d.ts +1 -1
  132. package/dist/types/wcardinal/ui/shape/e-shape-capability.d.ts +1 -1
  133. package/dist/types/wcardinal/ui/shape/e-shape-connector-body.d.ts +1 -1
  134. package/dist/types/wcardinal/ui/shape/e-shape-connector-container-impl.d.ts +1 -1
  135. package/dist/types/wcardinal/ui/shape/e-shape-connector-container.d.ts +2 -1
  136. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge-container-impl.d.ts +2 -1
  137. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge-container.d.ts +3 -2
  138. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge-impl.d.ts +1 -1
  139. package/dist/types/wcardinal/ui/shape/e-shape-connector-edge.d.ts +2 -2
  140. package/dist/types/wcardinal/ui/shape/e-shape-copy-part.d.ts +1 -1
  141. package/dist/types/wcardinal/ui/shape/e-shape-corner.d.ts +1 -1
  142. package/dist/types/wcardinal/ui/shape/e-shape-data-mapping.d.ts +1 -1
  143. package/dist/types/wcardinal/ui/shape/e-shape-data-value-formatter.d.ts +1 -1
  144. package/dist/types/wcardinal/ui/shape/e-shape-data-value-order.d.ts +1 -1
  145. package/dist/types/wcardinal/ui/shape/e-shape-data-value-range.d.ts +1 -1
  146. package/dist/types/wcardinal/ui/shape/e-shape-data-value-scope.d.ts +1 -1
  147. package/dist/types/wcardinal/ui/shape/e-shape-data-value-state.d.ts +1 -1
  148. package/dist/types/wcardinal/ui/shape/e-shape-data-value-type.d.ts +1 -1
  149. package/dist/types/wcardinal/ui/shape/e-shape-deleter.d.ts +2 -0
  150. package/dist/types/wcardinal/ui/shape/e-shape-deserializers.d.ts +2 -2
  151. package/dist/types/wcardinal/ui/shape/e-shape-points-formatted.d.ts +2 -2
  152. package/dist/types/wcardinal/ui/shape/e-shape-points-formatter.d.ts +1 -1
  153. package/dist/types/wcardinal/ui/shape/e-shape-points-marker-container.d.ts +1 -1
  154. package/dist/types/wcardinal/ui/shape/e-shape-points-marker-type.d.ts +1 -1
  155. package/dist/types/wcardinal/ui/shape/e-shape-points-marker.d.ts +1 -1
  156. package/dist/types/wcardinal/ui/shape/e-shape-points-style.d.ts +1 -1
  157. package/dist/types/wcardinal/ui/shape/e-shape-points-styles.d.ts +1 -1
  158. package/dist/types/wcardinal/ui/shape/e-shape-resource-manager-deserialization-mode.d.ts +1 -1
  159. package/dist/types/wcardinal/ui/shape/e-shape-runtime-reset.d.ts +1 -1
  160. package/dist/types/wcardinal/ui/shape/e-shape-runtimes.d.ts +1 -1
  161. package/dist/types/wcardinal/ui/shape/e-shape-stroke-side.d.ts +1 -1
  162. package/dist/types/wcardinal/ui/shape/e-shape-stroke-style.d.ts +1 -1
  163. package/dist/types/wcardinal/ui/shape/e-shape-text-align-horizontal.d.ts +1 -1
  164. package/dist/types/wcardinal/ui/shape/e-shape-text-align-vertical.d.ts +1 -1
  165. package/dist/types/wcardinal/ui/shape/e-shape-text-direction.d.ts +1 -1
  166. package/dist/types/wcardinal/ui/shape/e-shape-text.d.ts +3 -3
  167. package/dist/types/wcardinal/ui/shape/e-shape-type.d.ts +1 -1
  168. package/dist/types/wcardinal/ui/shape/e-shape-uploaded-constructor.d.ts +1 -1
  169. package/dist/types/wcardinal/ui/shape/e-shape-uploadeds.d.ts +1 -1
  170. package/dist/types/wcardinal/ui/shape/e-shape.d.ts +6 -8
  171. package/dist/types/wcardinal/ui/shape/variant/build-line.d.ts +2 -2
  172. package/dist/types/wcardinal/ui/shape/variant/create-line-of-any-uploaded.d.ts +1 -1
  173. package/dist/types/wcardinal/ui/shape/variant/deserialize-bar.d.ts +1 -1
  174. package/dist/types/wcardinal/ui/shape/variant/deserialize-button.d.ts +1 -1
  175. package/dist/types/wcardinal/ui/shape/variant/deserialize-circle.d.ts +1 -1
  176. package/dist/types/wcardinal/ui/shape/variant/deserialize-connector-elbow.d.ts +1 -1
  177. package/dist/types/wcardinal/ui/shape/variant/deserialize-connector-line.d.ts +1 -1
  178. package/dist/types/wcardinal/ui/shape/variant/deserialize-embedded-acceptor-edge.d.ts +1 -1
  179. package/dist/types/wcardinal/ui/shape/variant/deserialize-group-shadowed.d.ts +1 -1
  180. package/dist/types/wcardinal/ui/shape/variant/deserialize-group.d.ts +1 -1
  181. package/dist/types/wcardinal/ui/shape/variant/deserialize-image-sdf.d.ts +1 -1
  182. package/dist/types/wcardinal/ui/shape/variant/deserialize-image.d.ts +1 -1
  183. package/dist/types/wcardinal/ui/shape/variant/deserialize-label.d.ts +1 -1
  184. package/dist/types/wcardinal/ui/shape/variant/deserialize-line-of-circles.d.ts +1 -1
  185. package/dist/types/wcardinal/ui/shape/variant/deserialize-line-of-rectangle-roundeds.d.ts +1 -1
  186. package/dist/types/wcardinal/ui/shape/variant/deserialize-line-of-rectangles.d.ts +1 -1
  187. package/dist/types/wcardinal/ui/shape/variant/deserialize-line-of-triangle-roundeds.d.ts +1 -1
  188. package/dist/types/wcardinal/ui/shape/variant/deserialize-line-of-triangles.d.ts +1 -1
  189. package/dist/types/wcardinal/ui/shape/variant/deserialize-line.d.ts +1 -1
  190. package/dist/types/wcardinal/ui/shape/variant/deserialize-null.d.ts +1 -1
  191. package/dist/types/wcardinal/ui/shape/variant/deserialize-rectangle-pivoted.d.ts +1 -1
  192. package/dist/types/wcardinal/ui/shape/variant/deserialize-rectangle-rounded.d.ts +1 -1
  193. package/dist/types/wcardinal/ui/shape/variant/deserialize-rectangle.d.ts +1 -1
  194. package/dist/types/wcardinal/ui/shape/variant/deserialize-semicircle.d.ts +1 -1
  195. package/dist/types/wcardinal/ui/shape/variant/deserialize-triangle-rounded.d.ts +1 -1
  196. package/dist/types/wcardinal/ui/shape/variant/deserialize-triangle.d.ts +1 -1
  197. package/dist/types/wcardinal/ui/shape/variant/e-shape-bar-position.d.ts +1 -1
  198. package/dist/types/wcardinal/ui/shape/variant/e-shape-base.d.ts +10 -13
  199. package/dist/types/wcardinal/ui/shape/variant/e-shape-connector-line.d.ts +6 -5
  200. package/dist/types/wcardinal/ui/shape/variant/e-shape-group-size-parent.d.ts +4 -3
  201. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-base-hit-part.d.ts +1 -1
  202. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-base-points-hit-tester-to-range.d.ts +1 -1
  203. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-base-points-hit-tester-to-threshold.d.ts +1 -1
  204. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-base-points-hit-tester.d.ts +1 -1
  205. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-hit-tester-to-range.d.ts +1 -1
  206. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-hit-tester-to-threshold.d.ts +1 -1
  207. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-points-hit-tester.d.ts +1 -1
  208. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-of-any-value.d.ts +1 -1
  209. package/dist/types/wcardinal/ui/shape/variant/e-shape-line-points.d.ts +1 -1
  210. package/dist/types/wcardinal/ui/shape/variant/e-shape-lock-part.d.ts +8 -0
  211. package/dist/types/wcardinal/ui/shape/variant/e-shape-lock.d.ts +9 -0
  212. package/dist/types/wcardinal/ui/shape/variant/index.d.ts +2 -0
  213. package/dist/types/wcardinal/ui/snapper/e-snapper-target-value.d.ts +1 -1
  214. package/dist/types/wcardinal/ui/snapper/e-snapper.d.ts +1 -1
  215. package/dist/types/wcardinal/ui/util/deep-partial.d.ts +1 -1
  216. package/dist/types/wcardinal/ui/util/dynamic-font-atlas-character-type.d.ts +1 -1
  217. package/dist/types/wcardinal/ui/util/dynamic-font-atlas-characters.d.ts +1 -1
  218. package/dist/types/wcardinal/ui/util/dynamic-sdf-font-generator.d.ts +1 -1
  219. package/dist/types/wcardinal/ui/util/number-formatter-function.d.ts +1 -1
  220. package/dist/types/wcardinal/ui/util/util-attach.d.ts +1 -1
  221. package/dist/types/wcardinal/ui/util/util-click-outside.d.ts +1 -1
  222. package/dist/types/wcardinal/ui/util/util-curve.d.ts +2 -2
  223. package/dist/types/wcardinal/ui/util/util-file-opener.d.ts +2 -2
  224. package/dist/types/wcardinal/ui/util/util-gesture-easing.d.ts +2 -2
  225. package/dist/types/wcardinal/ui/util/util-gesture-mode.d.ts +1 -1
  226. package/dist/types/wcardinal/ui/util/util-gesture-modifier.d.ts +1 -1
  227. package/dist/types/wcardinal/ui/util/util-gesture-modifiers.d.ts +1 -1
  228. package/dist/types/wcardinal/ui/util/util-gesture.d.ts +7 -7
  229. package/dist/types/wcardinal/ui/util/util-html-element-when.d.ts +1 -1
  230. package/dist/types/wcardinal/ui/util/util-html-element.d.ts +7 -7
  231. package/dist/types/wcardinal/ui/util/util-pointer-event.d.ts +2 -2
  232. package/dist/types/wcardinal/ui/util/util-wheel-event.d.ts +2 -2
  233. package/dist/wcardinal/ui/d-animation-base.js +1 -2
  234. package/dist/wcardinal/ui/d-animation-base.js.map +1 -1
  235. package/dist/wcardinal/ui/d-animation-empty.js +1 -2
  236. package/dist/wcardinal/ui/d-animation-empty.js.map +1 -1
  237. package/dist/wcardinal/ui/d-animation-fade-in.js +1 -2
  238. package/dist/wcardinal/ui/d-animation-fade-in.js.map +1 -1
  239. package/dist/wcardinal/ui/d-base.js +1 -2
  240. package/dist/wcardinal/ui/d-base.js.map +1 -1
  241. package/dist/wcardinal/ui/d-button-select.js +1 -2
  242. package/dist/wcardinal/ui/d-button-select.js.map +1 -1
  243. package/dist/wcardinal/ui/d-chart-axis-base-bar.js +3 -2
  244. package/dist/wcardinal/ui/d-chart-axis-base-bar.js.map +1 -1
  245. package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js +7 -6
  246. package/dist/wcardinal/ui/d-chart-axis-base-tick-container.js.map +1 -1
  247. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js +7 -6
  248. package/dist/wcardinal/ui/d-chart-axis-guide-simple-shape-impl.js.map +1 -1
  249. package/dist/wcardinal/ui/d-chart-selection-simple.js +1 -2
  250. package/dist/wcardinal/ui/d-chart-selection-simple.js.map +1 -1
  251. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js +1 -2
  252. package/dist/wcardinal/ui/d-chart-selection-sub-impl.js.map +1 -1
  253. package/dist/wcardinal/ui/d-chart-series-line-of-any.js +4 -4
  254. package/dist/wcardinal/ui/d-chart-series-line-of-any.js.map +1 -1
  255. package/dist/wcardinal/ui/d-chart-series-line.js +4 -4
  256. package/dist/wcardinal/ui/d-chart-series-line.js.map +1 -1
  257. package/dist/wcardinal/ui/d-chart-series-linear.js +3 -2
  258. package/dist/wcardinal/ui/d-chart-series-linear.js.map +1 -1
  259. package/dist/wcardinal/ui/d-diagram-base.js +1 -2
  260. package/dist/wcardinal/ui/d-diagram-base.js.map +1 -1
  261. package/dist/wcardinal/ui/d-diagram-canvas-base.js +1 -2
  262. package/dist/wcardinal/ui/d-diagram-canvas-base.js.map +1 -1
  263. package/dist/wcardinal/ui/d-diagram-canvas-editor-snap.js +5 -4
  264. package/dist/wcardinal/ui/d-diagram-canvas-editor-snap.js.map +1 -1
  265. package/dist/wcardinal/ui/d-dialog-processing.js +1 -2
  266. package/dist/wcardinal/ui/d-dialog-processing.js.map +1 -1
  267. package/dist/wcardinal/ui/d-dialog-select.js +1 -2
  268. package/dist/wcardinal/ui/d-dialog-select.js.map +1 -1
  269. package/dist/wcardinal/ui/d-menu-item-base.js +1 -2
  270. package/dist/wcardinal/ui/d-menu-item-base.js.map +1 -1
  271. package/dist/wcardinal/ui/d-menu-sided-selection.js +1 -2
  272. package/dist/wcardinal/ui/d-menu-sided-selection.js.map +1 -1
  273. package/dist/wcardinal/ui/d-menu-sided.js +1 -2
  274. package/dist/wcardinal/ui/d-menu-sided.js.map +1 -1
  275. package/dist/wcardinal/ui/d-pagination.js +1 -2
  276. package/dist/wcardinal/ui/d-pagination.js.map +1 -1
  277. package/dist/wcardinal/ui/d-pane.js +1 -2
  278. package/dist/wcardinal/ui/d-pane.js.map +1 -1
  279. package/dist/wcardinal/ui/d-scroll-bar.js +1 -2
  280. package/dist/wcardinal/ui/d-scroll-bar.js.map +1 -1
  281. package/dist/wcardinal/ui/d-slider-value.js +1 -2
  282. package/dist/wcardinal/ui/d-slider-value.js.map +1 -1
  283. package/dist/wcardinal/ui/d-table-body-cell-button.js +1 -2
  284. package/dist/wcardinal/ui/d-table-body-cell-button.js.map +1 -1
  285. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js +1 -2
  286. package/dist/wcardinal/ui/d-table-body-cell-select-dialog.js.map +1 -1
  287. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js +1 -2
  288. package/dist/wcardinal/ui/d-table-body-cell-select-promise.js.map +1 -1
  289. package/dist/wcardinal/ui/d-table-body.js +1 -2
  290. package/dist/wcardinal/ui/d-table-body.js.map +1 -1
  291. package/dist/wcardinal/ui/d-table-category.js +1 -2
  292. package/dist/wcardinal/ui/d-table-category.js.map +1 -1
  293. package/dist/wcardinal/ui/d-table-data-list-selection.js +1 -2
  294. package/dist/wcardinal/ui/d-table-data-list-selection.js.map +1 -1
  295. package/dist/wcardinal/ui/d-table-data-tree-selection-impl.js +1 -2
  296. package/dist/wcardinal/ui/d-table-data-tree-selection-impl.js.map +1 -1
  297. package/dist/wcardinal/ui/d-table-header.js +1 -2
  298. package/dist/wcardinal/ui/d-table-header.js.map +1 -1
  299. package/dist/wcardinal/ui/d-table-row.js +1 -2
  300. package/dist/wcardinal/ui/d-table-row.js.map +1 -1
  301. package/dist/wcardinal/ui/d-tree-data-mapped-impl.js.map +1 -1
  302. package/dist/wcardinal/ui/d-tree-item-button.js +1 -2
  303. package/dist/wcardinal/ui/d-tree-item-button.js.map +1 -1
  304. package/dist/wcardinal/ui/d-view-impl.js +1 -2
  305. package/dist/wcardinal/ui/d-view-impl.js.map +1 -1
  306. package/dist/wcardinal/ui/shape/e-shape-capability.js +1 -1
  307. package/dist/wcardinal/ui/shape/e-shape-capability.js.map +1 -1
  308. package/dist/wcardinal/ui/shape/e-shape-connector-container-impl.js +4 -2
  309. package/dist/wcardinal/ui/shape/e-shape-connector-container-impl.js.map +1 -1
  310. package/dist/wcardinal/ui/shape/e-shape-connector-container.js.map +1 -1
  311. package/dist/wcardinal/ui/shape/e-shape-connector-edge-container-impl.js +3 -3
  312. package/dist/wcardinal/ui/shape/e-shape-connector-edge-container-impl.js.map +1 -1
  313. package/dist/wcardinal/ui/shape/e-shape-connector-edge-container.js.map +1 -1
  314. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js +2 -2
  315. package/dist/wcardinal/ui/shape/e-shape-connector-edge-impl.js.map +1 -1
  316. package/dist/wcardinal/ui/shape/e-shape-connector-edge.js.map +1 -1
  317. package/dist/wcardinal/ui/shape/e-shape-deleter.js +18 -2
  318. package/dist/wcardinal/ui/shape/e-shape-deleter.js.map +1 -1
  319. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js +5 -4
  320. package/dist/wcardinal/ui/shape/e-shape-runtime-impl.js.map +1 -1
  321. package/dist/wcardinal/ui/shape/e-shape-transforms.js +5 -4
  322. package/dist/wcardinal/ui/shape/e-shape-transforms.js.map +1 -1
  323. package/dist/wcardinal/ui/shape/e-shape.js.map +1 -1
  324. package/dist/wcardinal/ui/shape/variant/deserialize-connector-line.js +3 -2
  325. package/dist/wcardinal/ui/shape/variant/deserialize-connector-line.js.map +1 -1
  326. package/dist/wcardinal/ui/shape/variant/e-shape-base.js +59 -73
  327. package/dist/wcardinal/ui/shape/variant/e-shape-base.js.map +1 -1
  328. package/dist/wcardinal/ui/shape/variant/e-shape-connector-line.js +18 -18
  329. package/dist/wcardinal/ui/shape/variant/e-shape-connector-line.js.map +1 -1
  330. package/dist/wcardinal/ui/shape/variant/e-shape-group-size-editor.js +33 -26
  331. package/dist/wcardinal/ui/shape/variant/e-shape-group-size-editor.js.map +1 -1
  332. package/dist/wcardinal/ui/shape/variant/e-shape-group-size-layout.js +3 -2
  333. package/dist/wcardinal/ui/shape/variant/e-shape-group-size-layout.js.map +1 -1
  334. package/dist/wcardinal/ui/shape/variant/e-shape-group-size-parent.js.map +1 -1
  335. package/dist/wcardinal/ui/shape/variant/e-shape-group.js +2 -0
  336. package/dist/wcardinal/ui/shape/variant/e-shape-group.js.map +1 -1
  337. package/dist/wcardinal/ui/shape/variant/e-shape-lock-part.js +8 -0
  338. package/dist/wcardinal/ui/shape/variant/e-shape-lock-part.js.map +1 -0
  339. package/dist/wcardinal/ui/shape/variant/e-shape-lock.js +31 -0
  340. package/dist/wcardinal/ui/shape/variant/e-shape-lock.js.map +1 -0
  341. package/dist/wcardinal/ui/shape/variant/index.js +2 -0
  342. package/dist/wcardinal/ui/shape/variant/index.js.map +1 -1
  343. package/dist/wcardinal/ui/shape/variant/to-resized.js +3 -2
  344. package/dist/wcardinal/ui/shape/variant/to-resized.js.map +1 -1
  345. package/dist/wcardinal/ui/snapper/e-snapper-grid.js +1 -2
  346. package/dist/wcardinal/ui/snapper/e-snapper-grid.js.map +1 -1
  347. package/dist/wcardinal/ui/snapper/e-snapper-target.js +1 -2
  348. package/dist/wcardinal/ui/snapper/e-snapper-target.js.map +1 -1
  349. package/dist/wcardinal/ui/snapper/e-snapper.js +1 -2
  350. package/dist/wcardinal/ui/snapper/e-snapper.js.map +1 -1
  351. package/dist/wcardinal/ui/theme/dark/d-theme-dark-atlas.js +1 -1
  352. package/dist/wcardinal/ui/theme/dark/d-theme-dark-atlas.js.map +1 -1
  353. package/dist/wcardinal/ui/theme/dark/d-theme-dark-table-body-cells.js.map +1 -1
  354. package/dist/wcardinal/ui/theme/white/d-theme-white-atlas.js +1 -1
  355. package/dist/wcardinal/ui/theme/white/d-theme-white-atlas.js.map +1 -1
  356. package/dist/wcardinal/ui/theme/white/d-theme-white-table-body-cells.js.map +1 -1
  357. package/dist/wcardinal/ui/util/dynamic-sdf-font-generator.js.map +1 -1
  358. package/dist/wcardinal/ui/util/util-input-number.js +1 -2
  359. package/dist/wcardinal/ui/util/util-input-number.js.map +1 -1
  360. package/dist/wcardinal/ui/util/util-input.js +1 -2
  361. package/dist/wcardinal/ui/util/util-input.js.map +1 -1
  362. package/dist/wcardinal-ui-theme-dark.js +2 -2
  363. package/dist/wcardinal-ui-theme-dark.min.js +2 -2
  364. package/dist/wcardinal-ui-theme-dark.min.js.map +1 -1
  365. package/dist/wcardinal-ui-theme-white.js +2 -2
  366. package/dist/wcardinal-ui-theme-white.min.js +2 -2
  367. package/dist/wcardinal-ui-theme-white.min.js.map +1 -1
  368. package/dist/wcardinal-ui.cjs.js +251 -240
  369. package/dist/wcardinal-ui.js +249 -238
  370. package/dist/wcardinal-ui.min.js +2 -2
  371. package/dist/wcardinal-ui.min.js.map +1 -1
  372. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-container.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\n\nexport interface EShapeConnectorContainer {\n\tadd(target: EShapeConnectorEdge): boolean;\n\tremove(target: EShapeConnectorEdge): boolean;\n\tclear(): boolean;\n\tcopy(source: EShapeConnectorContainer): this;\n\teach(iteratee: (edge: EShapeConnectorEdge) => void): this;\n\tcontains(target: EShapeConnectorEdge): boolean;\n\tsize(): number;\n\tfit(forcibly?: boolean): void;\n\tattach(): this;\n\tdetach(): this;\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-container.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\n\nexport interface EShapeConnectorContainer {\n\tadd(target: EShapeConnectorEdge): boolean;\n\tremove(target: EShapeConnectorEdge): boolean;\n\tclear(): boolean;\n\tcopy(source: EShapeConnectorContainer): this;\n\teach(iteratee: (edge: EShapeConnectorEdge) => void): this;\n\tcontains(target: EShapeConnectorEdge): boolean;\n\tsize(): number;\n\tfit(forcibly?: boolean): void;\n\tattach(): this;\n\tdetach(exceptions?: Set<EShape>): this;\n}\n"]}
@@ -101,10 +101,10 @@ var EShapeConnectorEdgeContainerImpl = /** @class */ (function () {
101
101
  this.unlock();
102
102
  return this;
103
103
  };
104
- EShapeConnectorEdgeContainerImpl.prototype.detach = function () {
104
+ EShapeConnectorEdgeContainerImpl.prototype.detach = function (exceptions) {
105
105
  this.lock();
106
- this._tail.detach();
107
- this._head.detach();
106
+ this._tail.detach(exceptions);
107
+ this._head.detach(exceptions);
108
108
  this.unlock();
109
109
  return this;
110
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-edge-container-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-container-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\nimport {\n\tEShapeConnectorEdgeContainer,\n\tEShapeConnectorEdgeContainerSerialized\n} from \"./e-shape-connector-edge-container\";\nimport { EShapeConnectorEdgeImpl } from \"./e-shape-connector-edge-impl\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\n\nexport class EShapeConnectorEdgeContainerImpl implements EShapeConnectorEdgeContainer {\n\tprotected _parent: EShapeConnector;\n\tprotected _lockCount: number;\n\tprotected _isChanged: boolean;\n\tprotected _onChange: () => void;\n\tprotected _tail: EShapeConnectorEdge;\n\tprotected _head: EShapeConnectorEdge;\n\n\tconstructor(parent: EShapeConnector, onChange: () => void) {\n\t\tthis._parent = parent;\n\t\tthis._lockCount = 0;\n\t\tthis._isChanged = false;\n\t\tthis._onChange = onChange;\n\t\tconst onChangeBound = (): void => {\n\t\t\tthis.onChange();\n\t\t};\n\t\tconst tail = new EShapeConnectorEdgeImpl(parent, onChangeBound);\n\t\tconst head = new EShapeConnectorEdgeImpl(parent, onChangeBound);\n\t\ttail.other = head;\n\t\thead.other = tail;\n\t\tthis._tail = tail;\n\t\tthis._head = head;\n\t}\n\n\tlock(): this {\n\t\tthis._lockCount += 1;\n\t\tif (this._lockCount === 1) {\n\t\t\tthis._isChanged = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\tunlock(): this {\n\t\tthis._lockCount -= 1;\n\t\tif (this._lockCount === 0) {\n\t\t\tif (this._isChanged) {\n\t\t\t\tthis._onChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected onChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._onChange();\n\t}\n\n\tget tail(): EShapeConnectorEdge {\n\t\treturn this._tail;\n\t}\n\n\tget head(): EShapeConnectorEdge {\n\t\treturn this._head;\n\t}\n\n\tcopy(source: EShapeConnectorEdgeContainer): this {\n\t\tthis.lock();\n\t\tthis._tail.copy(source.tail);\n\t\tthis._head.copy(source.head);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tfit(forcibly?: boolean): this {\n\t\tthis.lock();\n\t\tthis._tail.fit(forcibly);\n\t\tthis._head.fit(forcibly);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst tailId = this._tail.serialize(manager);\n\t\tconst headId = this._head.serialize(manager);\n\t\treturn manager.addResource(`[${tailId},${headId}]`);\n\t}\n\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeConnectorEdgeContainerSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(\n\t\t\t\t\tresources[resourceId]\n\t\t\t\t) as EShapeConnectorEdgeContainerSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tthis._tail.deserialize(parsed[0], mapping, manager);\n\t\t\tthis._head.deserialize(parsed[1], mapping, manager);\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tattach(): this {\n\t\tthis.lock();\n\t\tconst tail = this._tail;\n\t\tconst head = this._head;\n\t\ttail.attach();\n\t\thead.attach();\n\t\ttail.fit(true);\n\t\thead.fit(true);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tdetach(): this {\n\t\tthis.lock();\n\t\tthis._tail.detach();\n\t\tthis._head.detach();\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-edge-container-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-container-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\nimport {\n\tEShapeConnectorEdgeContainer,\n\tEShapeConnectorEdgeContainerSerialized\n} from \"./e-shape-connector-edge-container\";\nimport { EShapeConnectorEdgeImpl } from \"./e-shape-connector-edge-impl\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\n\nexport class EShapeConnectorEdgeContainerImpl implements EShapeConnectorEdgeContainer {\n\tprotected _parent: EShapeConnector;\n\tprotected _lockCount: number;\n\tprotected _isChanged: boolean;\n\tprotected _onChange: () => void;\n\tprotected _tail: EShapeConnectorEdge;\n\tprotected _head: EShapeConnectorEdge;\n\n\tconstructor(parent: EShapeConnector, onChange: () => void) {\n\t\tthis._parent = parent;\n\t\tthis._lockCount = 0;\n\t\tthis._isChanged = false;\n\t\tthis._onChange = onChange;\n\t\tconst onChangeBound = (): void => {\n\t\t\tthis.onChange();\n\t\t};\n\t\tconst tail = new EShapeConnectorEdgeImpl(parent, onChangeBound);\n\t\tconst head = new EShapeConnectorEdgeImpl(parent, onChangeBound);\n\t\ttail.other = head;\n\t\thead.other = tail;\n\t\tthis._tail = tail;\n\t\tthis._head = head;\n\t}\n\n\tlock(): this {\n\t\tthis._lockCount += 1;\n\t\tif (this._lockCount === 1) {\n\t\t\tthis._isChanged = false;\n\t\t}\n\t\treturn this;\n\t}\n\n\tunlock(): this {\n\t\tthis._lockCount -= 1;\n\t\tif (this._lockCount === 0) {\n\t\t\tif (this._isChanged) {\n\t\t\t\tthis._onChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tprotected onChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._onChange();\n\t}\n\n\tget tail(): EShapeConnectorEdge {\n\t\treturn this._tail;\n\t}\n\n\tget head(): EShapeConnectorEdge {\n\t\treturn this._head;\n\t}\n\n\tcopy(source: EShapeConnectorEdgeContainer): this {\n\t\tthis.lock();\n\t\tthis._tail.copy(source.tail);\n\t\tthis._head.copy(source.head);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tfit(forcibly?: boolean): this {\n\t\tthis.lock();\n\t\tthis._tail.fit(forcibly);\n\t\tthis._head.fit(forcibly);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst tailId = this._tail.serialize(manager);\n\t\tconst headId = this._head.serialize(manager);\n\t\treturn manager.addResource(`[${tailId},${headId}]`);\n\t}\n\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeConnectorEdgeContainerSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(\n\t\t\t\t\tresources[resourceId]\n\t\t\t\t) as EShapeConnectorEdgeContainerSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tthis._tail.deserialize(parsed[0], mapping, manager);\n\t\t\tthis._head.deserialize(parsed[1], mapping, manager);\n\t\t\tthis.unlock();\n\t\t}\n\t}\n\n\tattach(): this {\n\t\tthis.lock();\n\t\tconst tail = this._tail;\n\t\tconst head = this._head;\n\t\ttail.attach();\n\t\thead.attach();\n\t\ttail.fit(true);\n\t\thead.fit(true);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tdetach(exceptions?: Set<EShape>): this {\n\t\tthis.lock();\n\t\tthis._tail.detach(exceptions);\n\t\tthis._head.detach(exceptions);\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-edge-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-container.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\n\nexport type EShapeConnectorEdgeContainerSerialized = [number, number];\n\nexport interface EShapeConnectorEdgeContainer {\n\ttail: EShapeConnectorEdge;\n\thead: EShapeConnectorEdge;\n\tlock(): void;\n\tunlock(): void;\n\tcopy(source: EShapeConnectorEdgeContainer): this;\n\tfit(forcibly?: boolean): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void;\n\tattach(): this;\n\tdetach(): this;\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-edge-container.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-container.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeConnectorEdge } from \"./e-shape-connector-edge\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\n\nexport type EShapeConnectorEdgeContainerSerialized = [number, number];\n\nexport interface EShapeConnectorEdgeContainer {\n\ttail: EShapeConnectorEdge;\n\thead: EShapeConnectorEdge;\n\tlock(): void;\n\tunlock(): void;\n\tcopy(source: EShapeConnectorEdgeContainer): this;\n\tfit(forcibly?: boolean): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void;\n\tattach(): this;\n\tdetach(exceptions?: Set<EShape>): this;\n}\n"]}
@@ -415,9 +415,9 @@ var EShapeConnectorEdgeImpl = /** @class */ (function () {
415
415
  }
416
416
  return this;
417
417
  };
418
- EShapeConnectorEdgeImpl.prototype.detach = function () {
418
+ EShapeConnectorEdgeImpl.prototype.detach = function (exceptions) {
419
419
  var shape = this._acceptor.shape;
420
- if (shape) {
420
+ if (shape != null && (exceptions == null || !exceptions.has(shape))) {
421
421
  if (shape.connector.remove(this)) {
422
422
  this.onAcceptorChange();
423
423
  }
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-edge-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Matrix, ObservablePoint } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeAcceptors } from \"./e-shape-acceptors\";\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdge, EShapeConnectorEdgeSerialized } from \"./e-shape-connector-edge\";\nimport { EShapeConnectorEdgeAcceptor } from \"./e-shape-connector-edge-acceptor\";\nimport { EShapeConnectorEdgeAcceptorImpl } from \"./e-shape-connector-edge-acceptor-impl\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\nimport { EShapeAcceptorEdgeSide } from \"./e-shape-acceptor-edge-side\";\n\nexport class EShapeConnectorEdgeImpl implements EShapeConnectorEdge {\n\tprotected static WORK_MATRIX?: Matrix;\n\n\tprotected _parent: EShapeConnector;\n\tprotected _onChange: () => void;\n\tprotected _acceptor: EShapeConnectorEdgeAcceptor;\n\tprotected _acceptorTransformNew: Matrix;\n\tprotected _acceptorTransformOld: Matrix;\n\tprotected _hasAcceptorTransformOld: boolean;\n\tprotected _localIdRequired: number;\n\tprotected _localId: number;\n\tprotected _local: IPoint;\n\tprotected _normalIdRequired: number;\n\tprotected _normalId: number;\n\tprotected _normal: IPoint;\n\tprotected _side: EShapeAcceptorEdgeSide;\n\tprotected _margin: number;\n\tprotected _other: EShapeConnectorEdge | null;\n\tprotected _lockCount: number;\n\tprotected _isAcceptorChanged: boolean;\n\tprotected _isLocalChanged: boolean;\n\tprotected _isNormalChanged: boolean;\n\tprotected _isOtherChanged: boolean;\n\n\tconstructor(parent: EShapeConnector, onChange: () => void) {\n\t\tthis._parent = parent;\n\t\tthis._onChange = onChange;\n\t\tthis._acceptor = new EShapeConnectorEdgeAcceptorImpl(this);\n\t\tthis._acceptorTransformNew = new Matrix();\n\t\tthis._acceptorTransformOld = new Matrix();\n\t\tthis._hasAcceptorTransformOld = false;\n\n\t\tthis._local = new ObservablePoint((): void => {\n\t\t\tthis.onLocalChange();\n\t\t}, undefined);\n\t\tthis._localIdRequired = 0;\n\t\tthis._localId = 0;\n\n\t\tthis._normal = new ObservablePoint((): void => {\n\t\t\tthis.onNormalChange();\n\t\t}, undefined);\n\t\tthis._normalIdRequired = 0;\n\t\tthis._normalId = 0;\n\n\t\tthis._side = EShapeAcceptorEdgeSide.TOP;\n\n\t\tthis._margin = 0;\n\n\t\tthis._other = null;\n\n\t\tthis._lockCount = 0;\n\t\tthis._isAcceptorChanged = false;\n\t\tthis._isLocalChanged = false;\n\t\tthis._isNormalChanged = false;\n\t\tthis._isOtherChanged = false;\n\t}\n\n\tlock(): void {\n\t\tthis._lockCount += 1;\n\t\tif (this._lockCount === 1) {\n\t\t\tthis._isAcceptorChanged = false;\n\t\t\tthis._isLocalChanged = false;\n\t\t\tthis._isNormalChanged = false;\n\t\t\tthis._isOtherChanged = false;\n\t\t}\n\t}\n\n\tunlock(): void {\n\t\tthis._lockCount -= 1;\n\t\tif (this._lockCount === 0) {\n\t\t\tlet isChanged = false;\n\n\t\t\tif (this._isLocalChanged) {\n\t\t\t\tthis._localIdRequired += 1;\n\t\t\t\tthis._localId = this._localIdRequired;\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isNormalChanged) {\n\t\t\t\tthis._normalIdRequired += 1;\n\t\t\t\tthis._normalId = this._normalIdRequired;\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isOtherChanged) {\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isAcceptorChanged) {\n\t\t\t\tthis._hasAcceptorTransformOld = false;\n\t\t\t\tif (!this._isLocalChanged) {\n\t\t\t\t\tthis._localIdRequired += 1;\n\t\t\t\t}\n\t\t\t\tif (!this._isNormalChanged) {\n\t\t\t\t\tthis._normalIdRequired += 1;\n\t\t\t\t}\n\t\t\t\tif (this.doFit()) {\n\t\t\t\t\tisChanged = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isChanged) {\n\t\t\t\tthis._onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tget parent(): EShapeConnector {\n\t\treturn this._parent;\n\t}\n\n\tget acceptor(): EShapeConnectorEdgeAcceptor {\n\t\treturn this._acceptor;\n\t}\n\n\tget local(): IPoint {\n\t\treturn this._local;\n\t}\n\n\tget localId(): number {\n\t\treturn this._localId;\n\t}\n\n\tget normal(): IPoint {\n\t\treturn this._normal;\n\t}\n\n\tget normalId(): number {\n\t\treturn this._normalId;\n\t}\n\n\tget side(): EShapeAcceptorEdgeSide {\n\t\treturn this._side;\n\t}\n\n\tset side(side: EShapeAcceptorEdgeSide) {\n\t\tif (this._side !== side) {\n\t\t\tthis._side = side;\n\t\t\tthis.onOtherChange();\n\t\t}\n\t}\n\n\tget margin(): number {\n\t\treturn this._margin;\n\t}\n\n\tset margin(margin: number) {\n\t\tif (this._margin !== margin) {\n\t\t\tthis._margin = margin;\n\t\t\tthis.onOtherChange();\n\t\t}\n\t}\n\n\tget other(): EShapeConnectorEdge | null {\n\t\treturn this._other;\n\t}\n\n\tset other(other: EShapeConnectorEdge | null) {\n\t\tthis._other = other;\n\t}\n\n\tset(\n\t\tacceptorShape?: EShape | null,\n\t\tacceptorEdge?: string | null,\n\t\tacceptorX?: number | null,\n\t\tacceptorY?: number | null,\n\t\tmargin?: number,\n\t\tx?: number,\n\t\ty?: number,\n\t\tnx?: number,\n\t\tny?: number,\n\t\tside?: EShapeAcceptorEdgeSide\n\t): this {\n\t\tthis.lock();\n\t\tthis._acceptor.set(acceptorShape, acceptorEdge, acceptorX, acceptorY);\n\n\t\tconst local = this._local;\n\t\tif (x != null && y != null) {\n\t\t\tlocal.set(x, y);\n\t\t} else if (x != null) {\n\t\t\tlocal.x = x;\n\t\t} else if (y != null) {\n\t\t\tlocal.y = y;\n\t\t}\n\n\t\tconst normal = this._normal;\n\t\tif (nx != null && ny != null) {\n\t\t\tnormal.set(nx, ny);\n\t\t} else if (nx != null) {\n\t\t\tnormal.x = nx;\n\t\t} else if (ny != null) {\n\t\t\tnormal.y = ny;\n\t\t}\n\n\t\tif (side != null) {\n\t\t\tthis.side = side;\n\t\t}\n\n\t\tif (margin != null) {\n\t\t\tthis.margin = margin;\n\t\t}\n\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tcopy(source: EShapeConnectorEdge): this {\n\t\tthis.lock();\n\t\tthis._acceptor.copy(source.acceptor);\n\t\tthis._local.copyFrom(source.local);\n\t\tthis._normal.copyFrom(source.normal);\n\t\tthis.side = source.side;\n\t\tthis.margin = source.margin;\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst acceptor = this._acceptor;\n\t\tconst shape = acceptor.shape;\n\t\tconst shapeUuid = shape ? shape.uuid : null;\n\t\tconst edge = acceptor.edge;\n\t\tconst edgeId = edge != null ? manager.addResource(edge) : -1;\n\t\tconst local = this._local;\n\t\tconst normal = this._normal;\n\t\tconst side = this._side;\n\t\treturn manager.addResource(\n\t\t\t`[${shapeUuid},${edgeId},${local.x},${local.y},${this._margin},${normal.x},${normal.y},${acceptor.x},${acceptor.y},${side}]`\n\t\t);\n\t}\n\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeConnectorEdgeSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeConnectorEdgeSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tlet shape: EShape | null = null;\n\t\t\tconst shapeUuid = parsed[0];\n\t\t\tif (shapeUuid != null) {\n\t\t\t\tshape = mapping.find(shapeUuid) || null;\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tconst acceptor = this._acceptor;\n\t\t\tacceptor.shape = shape;\n\t\t\tconst edgeId = parsed[1];\n\t\t\tacceptor.edge = 0 <= edgeId && edgeId < resources.length ? resources[edgeId] : null;\n\t\t\tacceptor.x = parsed[7] ?? null;\n\t\t\tacceptor.y = parsed[8] ?? null;\n\t\t\tthis._local.set(parsed[2], parsed[3]);\n\t\t\tconst normalX = parsed[5];\n\t\t\tconst normalY = parsed[6];\n\t\t\tconst normal = this._normal;\n\t\t\tif (normalX != null && normalY != null) {\n\t\t\t\tnormal.set(normalX, normalY);\n\t\t\t} else {\n\t\t\t\tnormal.set(1, 0);\n\t\t\t}\n\t\t\tthis.side = parsed[9] ?? EShapeAcceptorEdgeSide.TOP;\n\t\t\tthis.margin = parsed[4] || 0;\n\t\t\tthis.unlock();\n\t\t\tif (shape) {\n\t\t\t\tshape.connector.add(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tfit(forcibly?: boolean): this {\n\t\tif (forcibly) {\n\t\t\tthis._localIdRequired += 1;\n\t\t\tthis._normalIdRequired += 1;\n\t\t}\n\t\tthis.doFit();\n\t\treturn this;\n\t}\n\n\tprotected doFit(): boolean {\n\t\tconst localIdRequired = this._localIdRequired;\n\t\tconst isLocalDirty = this._localId !== localIdRequired;\n\t\tconst normalIdRequired = this._normalIdRequired;\n\t\tconst isNormalDirty = this._normalId !== normalIdRequired;\n\t\tif (isLocalDirty || isNormalDirty) {\n\t\t\tthis._localId = localIdRequired;\n\t\t\tthis._normalId = normalIdRequired;\n\n\t\t\tconst acceptor = this._acceptor;\n\t\t\tconst acceptorShape = acceptor.shape;\n\t\t\tconst acceptorEdge = acceptor.edge;\n\t\t\tif (acceptorShape != null && acceptorEdge != null) {\n\t\t\t\tconst edge = EShapeAcceptors.get(acceptorShape.type).get(\n\t\t\t\t\tacceptorShape,\n\t\t\t\t\tacceptorEdge\n\t\t\t\t);\n\t\t\t\tif (edge) {\n\t\t\t\t\tconst oat = this._acceptorTransformOld;\n\t\t\t\t\tconst nat = this._acceptorTransformNew;\n\t\t\t\t\tthis.toAcceptorTransform(acceptorShape, nat);\n\n\t\t\t\t\tconst other = this._other;\n\t\t\t\t\tconst isOtherDangling =\n\t\t\t\t\t\tthis._hasAcceptorTransformOld &&\n\t\t\t\t\t\tother != null &&\n\t\t\t\t\t\tother.acceptor.shape == null;\n\t\t\t\t\tconst work = (EShapeConnectorEdgeImpl.WORK_MATRIX ??= new Matrix());\n\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\toat.copyTo(work).invert().prepend(nat);\n\t\t\t\t\t}\n\t\t\t\t\tthis._acceptorTransformNew = oat;\n\t\t\t\t\tthis._acceptorTransformOld = nat;\n\t\t\t\t\tthis._hasAcceptorTransformOld = true;\n\n\t\t\t\t\tthis.lock();\n\t\t\t\t\tif (isLocalDirty) {\n\t\t\t\t\t\tconst l = this._local;\n\t\t\t\t\t\tconst olx = l.x;\n\t\t\t\t\t\tconst oly = l.y;\n\t\t\t\t\t\tconst size = acceptorShape.size;\n\t\t\t\t\t\tconst pivot = acceptorShape.transform.pivot;\n\t\t\t\t\t\tconst x = pivot.x + size.x * (acceptor.x ?? edge.x);\n\t\t\t\t\t\tconst y = pivot.y + size.y * (acceptor.y ?? edge.y);\n\t\t\t\t\t\tconst nlx = nat.a * x + nat.c * y + nat.tx;\n\t\t\t\t\t\tconst nly = nat.b * x + nat.d * y + nat.ty;\n\t\t\t\t\t\tl.set(nlx, nly);\n\n\t\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\t\tconst ol = other.local;\n\t\t\t\t\t\t\tconst oolx = ol.x;\n\t\t\t\t\t\t\tconst ooly = ol.y;\n\t\t\t\t\t\t\tconst nolx = work.a * oolx + work.c * ooly + work.tx;\n\t\t\t\t\t\t\tconst noly = work.b * oolx + work.d * ooly + work.ty;\n\t\t\t\t\t\t\tconst odx = oolx - olx;\n\t\t\t\t\t\t\tconst ody = ooly - oly;\n\t\t\t\t\t\t\tconst ndx = nolx - nlx;\n\t\t\t\t\t\t\tconst ndy = noly - nly;\n\t\t\t\t\t\t\tconst od = odx * odx + ody * ody;\n\t\t\t\t\t\t\tconst nd = ndx * ndx + ndy * ndy;\n\t\t\t\t\t\t\tif (0.000001 < nd) {\n\t\t\t\t\t\t\t\tconst f = Math.sqrt(od / nd);\n\t\t\t\t\t\t\t\tol.set(nlx + ndx * f, nly + ndy * f);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tol.set(nolx, noly);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (isNormalDirty) {\n\t\t\t\t\t\tconst en = edge.normal;\n\t\t\t\t\t\tconst enx = en.x;\n\t\t\t\t\t\tconst eny = en.y;\n\t\t\t\t\t\tconst nx = nat.a * enx + nat.c * eny;\n\t\t\t\t\t\tconst ny = nat.b * enx + nat.d * eny;\n\t\t\t\t\t\tconst sd = nx * nx + ny * ny;\n\t\t\t\t\t\tconst n = this._normal;\n\t\t\t\t\t\tif (0.000001 < sd) {\n\t\t\t\t\t\t\tconst f = 1 / Math.sqrt(sd);\n\t\t\t\t\t\t\tn.set(nx * f, ny * f);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tn.set(enx, eny);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\t\tconst on = other.normal;\n\t\t\t\t\t\t\tconst oonx = on.x;\n\t\t\t\t\t\t\tconst oony = on.y;\n\t\t\t\t\t\t\tconst nonx = work.a * oonx + work.c * oony;\n\t\t\t\t\t\t\tconst nony = work.b * oonx + work.d * oony;\n\t\t\t\t\t\t\tconst osd = nonx * nonx + nony * nony;\n\t\t\t\t\t\t\tif (0.000001 < osd) {\n\t\t\t\t\t\t\t\tconst f = 1 / Math.sqrt(osd);\n\t\t\t\t\t\t\t\ton.set(nonx * f, nony * f);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ton.set(oonx, oony);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst result = this._isLocalChanged || this._isNormalChanged;\n\t\t\t\t\tthis.unlock();\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected toAcceptorTransform(shape: EShape, result: Matrix): Matrix {\n\t\tshape.updateTransform();\n\t\tconst parent = this._parent;\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent) {\n\t\t\tparent.updateTransform();\n\t\t\treturn result\n\t\t\t\t.copyFrom(parentParent.transform.worldTransform)\n\t\t\t\t.invert()\n\t\t\t\t.append(shape.transform.worldTransform);\n\t\t} else {\n\t\t\treturn result.copyFrom(shape.transform.worldTransform);\n\t\t}\n\t}\n\n\tonAcceptorChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isLocalChanged = false;\n\t\t\tthis._isNormalChanged = false;\n\t\t\tthis._isAcceptorChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._hasAcceptorTransformOld = false;\n\t\tthis.fit(true);\n\t}\n\n\tprotected onLocalChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isLocalChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._localIdRequired += 1;\n\t\tthis._localId = this._localIdRequired;\n\t\tthis._onChange();\n\t}\n\n\tprotected onNormalChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isNormalChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._normalIdRequired += 1;\n\t\tthis._normalId = this._normalIdRequired;\n\t\tthis._onChange();\n\t}\n\n\tprotected onOtherChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isOtherChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._onChange();\n\t}\n\n\tattach(): this {\n\t\tconst shape = this._acceptor.shape;\n\t\tif (shape) {\n\t\t\tif (shape.connector.add(this)) {\n\t\t\t\tthis.onAcceptorChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tdetach(): this {\n\t\tconst shape = this._acceptor.shape;\n\t\tif (shape) {\n\t\t\tif (shape.connector.remove(this)) {\n\t\t\t\tthis.onAcceptorChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-edge-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Matrix, ObservablePoint } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeAcceptors } from \"./e-shape-acceptors\";\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdge, EShapeConnectorEdgeSerialized } from \"./e-shape-connector-edge\";\nimport { EShapeConnectorEdgeAcceptor } from \"./e-shape-connector-edge-acceptor\";\nimport { EShapeConnectorEdgeAcceptorImpl } from \"./e-shape-connector-edge-acceptor-impl\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\nimport { EShapeAcceptorEdgeSide } from \"./e-shape-acceptor-edge-side\";\n\nexport class EShapeConnectorEdgeImpl implements EShapeConnectorEdge {\n\tprotected static WORK_MATRIX?: Matrix;\n\n\tprotected _parent: EShapeConnector;\n\tprotected _onChange: () => void;\n\tprotected _acceptor: EShapeConnectorEdgeAcceptor;\n\tprotected _acceptorTransformNew: Matrix;\n\tprotected _acceptorTransformOld: Matrix;\n\tprotected _hasAcceptorTransformOld: boolean;\n\tprotected _localIdRequired: number;\n\tprotected _localId: number;\n\tprotected _local: IPoint;\n\tprotected _normalIdRequired: number;\n\tprotected _normalId: number;\n\tprotected _normal: IPoint;\n\tprotected _side: EShapeAcceptorEdgeSide;\n\tprotected _margin: number;\n\tprotected _other: EShapeConnectorEdge | null;\n\tprotected _lockCount: number;\n\tprotected _isAcceptorChanged: boolean;\n\tprotected _isLocalChanged: boolean;\n\tprotected _isNormalChanged: boolean;\n\tprotected _isOtherChanged: boolean;\n\n\tconstructor(parent: EShapeConnector, onChange: () => void) {\n\t\tthis._parent = parent;\n\t\tthis._onChange = onChange;\n\t\tthis._acceptor = new EShapeConnectorEdgeAcceptorImpl(this);\n\t\tthis._acceptorTransformNew = new Matrix();\n\t\tthis._acceptorTransformOld = new Matrix();\n\t\tthis._hasAcceptorTransformOld = false;\n\n\t\tthis._local = new ObservablePoint((): void => {\n\t\t\tthis.onLocalChange();\n\t\t}, undefined);\n\t\tthis._localIdRequired = 0;\n\t\tthis._localId = 0;\n\n\t\tthis._normal = new ObservablePoint((): void => {\n\t\t\tthis.onNormalChange();\n\t\t}, undefined);\n\t\tthis._normalIdRequired = 0;\n\t\tthis._normalId = 0;\n\n\t\tthis._side = EShapeAcceptorEdgeSide.TOP;\n\n\t\tthis._margin = 0;\n\n\t\tthis._other = null;\n\n\t\tthis._lockCount = 0;\n\t\tthis._isAcceptorChanged = false;\n\t\tthis._isLocalChanged = false;\n\t\tthis._isNormalChanged = false;\n\t\tthis._isOtherChanged = false;\n\t}\n\n\tlock(): void {\n\t\tthis._lockCount += 1;\n\t\tif (this._lockCount === 1) {\n\t\t\tthis._isAcceptorChanged = false;\n\t\t\tthis._isLocalChanged = false;\n\t\t\tthis._isNormalChanged = false;\n\t\t\tthis._isOtherChanged = false;\n\t\t}\n\t}\n\n\tunlock(): void {\n\t\tthis._lockCount -= 1;\n\t\tif (this._lockCount === 0) {\n\t\t\tlet isChanged = false;\n\n\t\t\tif (this._isLocalChanged) {\n\t\t\t\tthis._localIdRequired += 1;\n\t\t\t\tthis._localId = this._localIdRequired;\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isNormalChanged) {\n\t\t\t\tthis._normalIdRequired += 1;\n\t\t\t\tthis._normalId = this._normalIdRequired;\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isOtherChanged) {\n\t\t\t\tisChanged = true;\n\t\t\t}\n\n\t\t\tif (this._isAcceptorChanged) {\n\t\t\t\tthis._hasAcceptorTransformOld = false;\n\t\t\t\tif (!this._isLocalChanged) {\n\t\t\t\t\tthis._localIdRequired += 1;\n\t\t\t\t}\n\t\t\t\tif (!this._isNormalChanged) {\n\t\t\t\t\tthis._normalIdRequired += 1;\n\t\t\t\t}\n\t\t\t\tif (this.doFit()) {\n\t\t\t\t\tisChanged = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isChanged) {\n\t\t\t\tthis._onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tget parent(): EShapeConnector {\n\t\treturn this._parent;\n\t}\n\n\tget acceptor(): EShapeConnectorEdgeAcceptor {\n\t\treturn this._acceptor;\n\t}\n\n\tget local(): IPoint {\n\t\treturn this._local;\n\t}\n\n\tget localId(): number {\n\t\treturn this._localId;\n\t}\n\n\tget normal(): IPoint {\n\t\treturn this._normal;\n\t}\n\n\tget normalId(): number {\n\t\treturn this._normalId;\n\t}\n\n\tget side(): EShapeAcceptorEdgeSide {\n\t\treturn this._side;\n\t}\n\n\tset side(side: EShapeAcceptorEdgeSide) {\n\t\tif (this._side !== side) {\n\t\t\tthis._side = side;\n\t\t\tthis.onOtherChange();\n\t\t}\n\t}\n\n\tget margin(): number {\n\t\treturn this._margin;\n\t}\n\n\tset margin(margin: number) {\n\t\tif (this._margin !== margin) {\n\t\t\tthis._margin = margin;\n\t\t\tthis.onOtherChange();\n\t\t}\n\t}\n\n\tget other(): EShapeConnectorEdge | null {\n\t\treturn this._other;\n\t}\n\n\tset other(other: EShapeConnectorEdge | null) {\n\t\tthis._other = other;\n\t}\n\n\tset(\n\t\tacceptorShape?: EShape | null,\n\t\tacceptorEdge?: string | null,\n\t\tacceptorX?: number | null,\n\t\tacceptorY?: number | null,\n\t\tmargin?: number,\n\t\tx?: number,\n\t\ty?: number,\n\t\tnx?: number,\n\t\tny?: number,\n\t\tside?: EShapeAcceptorEdgeSide\n\t): this {\n\t\tthis.lock();\n\t\tthis._acceptor.set(acceptorShape, acceptorEdge, acceptorX, acceptorY);\n\n\t\tconst local = this._local;\n\t\tif (x != null && y != null) {\n\t\t\tlocal.set(x, y);\n\t\t} else if (x != null) {\n\t\t\tlocal.x = x;\n\t\t} else if (y != null) {\n\t\t\tlocal.y = y;\n\t\t}\n\n\t\tconst normal = this._normal;\n\t\tif (nx != null && ny != null) {\n\t\t\tnormal.set(nx, ny);\n\t\t} else if (nx != null) {\n\t\t\tnormal.x = nx;\n\t\t} else if (ny != null) {\n\t\t\tnormal.y = ny;\n\t\t}\n\n\t\tif (side != null) {\n\t\t\tthis.side = side;\n\t\t}\n\n\t\tif (margin != null) {\n\t\t\tthis.margin = margin;\n\t\t}\n\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tcopy(source: EShapeConnectorEdge): this {\n\t\tthis.lock();\n\t\tthis._acceptor.copy(source.acceptor);\n\t\tthis._local.copyFrom(source.local);\n\t\tthis._normal.copyFrom(source.normal);\n\t\tthis.side = source.side;\n\t\tthis.margin = source.margin;\n\t\tthis.unlock();\n\t\treturn this;\n\t}\n\n\tserialize(manager: EShapeResourceManagerSerialization): number {\n\t\tconst acceptor = this._acceptor;\n\t\tconst shape = acceptor.shape;\n\t\tconst shapeUuid = shape ? shape.uuid : null;\n\t\tconst edge = acceptor.edge;\n\t\tconst edgeId = edge != null ? manager.addResource(edge) : -1;\n\t\tconst local = this._local;\n\t\tconst normal = this._normal;\n\t\tconst side = this._side;\n\t\treturn manager.addResource(\n\t\t\t`[${shapeUuid},${edgeId},${local.x},${local.y},${this._margin},${normal.x},${normal.y},${acceptor.x},${acceptor.y},${side}]`\n\t\t);\n\t}\n\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void {\n\t\tconst resources = manager.resources;\n\t\tif (0 <= resourceId && resourceId < resources.length) {\n\t\t\tlet parsed = manager.getExtension<EShapeConnectorEdgeSerialized>(resourceId);\n\t\t\tif (parsed == null) {\n\t\t\t\tparsed = JSON.parse(resources[resourceId]) as EShapeConnectorEdgeSerialized;\n\t\t\t\tmanager.setExtension(resourceId, parsed);\n\t\t\t}\n\t\t\tlet shape: EShape | null = null;\n\t\t\tconst shapeUuid = parsed[0];\n\t\t\tif (shapeUuid != null) {\n\t\t\t\tshape = mapping.find(shapeUuid) || null;\n\t\t\t}\n\t\t\tthis.lock();\n\t\t\tconst acceptor = this._acceptor;\n\t\t\tacceptor.shape = shape;\n\t\t\tconst edgeId = parsed[1];\n\t\t\tacceptor.edge = 0 <= edgeId && edgeId < resources.length ? resources[edgeId] : null;\n\t\t\tacceptor.x = parsed[7] ?? null;\n\t\t\tacceptor.y = parsed[8] ?? null;\n\t\t\tthis._local.set(parsed[2], parsed[3]);\n\t\t\tconst normalX = parsed[5];\n\t\t\tconst normalY = parsed[6];\n\t\t\tconst normal = this._normal;\n\t\t\tif (normalX != null && normalY != null) {\n\t\t\t\tnormal.set(normalX, normalY);\n\t\t\t} else {\n\t\t\t\tnormal.set(1, 0);\n\t\t\t}\n\t\t\tthis.side = parsed[9] ?? EShapeAcceptorEdgeSide.TOP;\n\t\t\tthis.margin = parsed[4] || 0;\n\t\t\tthis.unlock();\n\t\t\tif (shape) {\n\t\t\t\tshape.connector.add(this);\n\t\t\t}\n\t\t}\n\t}\n\n\tfit(forcibly?: boolean): this {\n\t\tif (forcibly) {\n\t\t\tthis._localIdRequired += 1;\n\t\t\tthis._normalIdRequired += 1;\n\t\t}\n\t\tthis.doFit();\n\t\treturn this;\n\t}\n\n\tprotected doFit(): boolean {\n\t\tconst localIdRequired = this._localIdRequired;\n\t\tconst isLocalDirty = this._localId !== localIdRequired;\n\t\tconst normalIdRequired = this._normalIdRequired;\n\t\tconst isNormalDirty = this._normalId !== normalIdRequired;\n\t\tif (isLocalDirty || isNormalDirty) {\n\t\t\tthis._localId = localIdRequired;\n\t\t\tthis._normalId = normalIdRequired;\n\n\t\t\tconst acceptor = this._acceptor;\n\t\t\tconst acceptorShape = acceptor.shape;\n\t\t\tconst acceptorEdge = acceptor.edge;\n\t\t\tif (acceptorShape != null && acceptorEdge != null) {\n\t\t\t\tconst edge = EShapeAcceptors.get(acceptorShape.type).get(\n\t\t\t\t\tacceptorShape,\n\t\t\t\t\tacceptorEdge\n\t\t\t\t);\n\t\t\t\tif (edge) {\n\t\t\t\t\tconst oat = this._acceptorTransformOld;\n\t\t\t\t\tconst nat = this._acceptorTransformNew;\n\t\t\t\t\tthis.toAcceptorTransform(acceptorShape, nat);\n\n\t\t\t\t\tconst other = this._other;\n\t\t\t\t\tconst isOtherDangling =\n\t\t\t\t\t\tthis._hasAcceptorTransformOld &&\n\t\t\t\t\t\tother != null &&\n\t\t\t\t\t\tother.acceptor.shape == null;\n\t\t\t\t\tconst work = (EShapeConnectorEdgeImpl.WORK_MATRIX ??= new Matrix());\n\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\toat.copyTo(work).invert().prepend(nat);\n\t\t\t\t\t}\n\t\t\t\t\tthis._acceptorTransformNew = oat;\n\t\t\t\t\tthis._acceptorTransformOld = nat;\n\t\t\t\t\tthis._hasAcceptorTransformOld = true;\n\n\t\t\t\t\tthis.lock();\n\t\t\t\t\tif (isLocalDirty) {\n\t\t\t\t\t\tconst l = this._local;\n\t\t\t\t\t\tconst olx = l.x;\n\t\t\t\t\t\tconst oly = l.y;\n\t\t\t\t\t\tconst size = acceptorShape.size;\n\t\t\t\t\t\tconst pivot = acceptorShape.transform.pivot;\n\t\t\t\t\t\tconst x = pivot.x + size.x * (acceptor.x ?? edge.x);\n\t\t\t\t\t\tconst y = pivot.y + size.y * (acceptor.y ?? edge.y);\n\t\t\t\t\t\tconst nlx = nat.a * x + nat.c * y + nat.tx;\n\t\t\t\t\t\tconst nly = nat.b * x + nat.d * y + nat.ty;\n\t\t\t\t\t\tl.set(nlx, nly);\n\n\t\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\t\tconst ol = other.local;\n\t\t\t\t\t\t\tconst oolx = ol.x;\n\t\t\t\t\t\t\tconst ooly = ol.y;\n\t\t\t\t\t\t\tconst nolx = work.a * oolx + work.c * ooly + work.tx;\n\t\t\t\t\t\t\tconst noly = work.b * oolx + work.d * ooly + work.ty;\n\t\t\t\t\t\t\tconst odx = oolx - olx;\n\t\t\t\t\t\t\tconst ody = ooly - oly;\n\t\t\t\t\t\t\tconst ndx = nolx - nlx;\n\t\t\t\t\t\t\tconst ndy = noly - nly;\n\t\t\t\t\t\t\tconst od = odx * odx + ody * ody;\n\t\t\t\t\t\t\tconst nd = ndx * ndx + ndy * ndy;\n\t\t\t\t\t\t\tif (0.000001 < nd) {\n\t\t\t\t\t\t\t\tconst f = Math.sqrt(od / nd);\n\t\t\t\t\t\t\t\tol.set(nlx + ndx * f, nly + ndy * f);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tol.set(nolx, noly);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (isNormalDirty) {\n\t\t\t\t\t\tconst en = edge.normal;\n\t\t\t\t\t\tconst enx = en.x;\n\t\t\t\t\t\tconst eny = en.y;\n\t\t\t\t\t\tconst nx = nat.a * enx + nat.c * eny;\n\t\t\t\t\t\tconst ny = nat.b * enx + nat.d * eny;\n\t\t\t\t\t\tconst sd = nx * nx + ny * ny;\n\t\t\t\t\t\tconst n = this._normal;\n\t\t\t\t\t\tif (0.000001 < sd) {\n\t\t\t\t\t\t\tconst f = 1 / Math.sqrt(sd);\n\t\t\t\t\t\t\tn.set(nx * f, ny * f);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tn.set(enx, eny);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isOtherDangling) {\n\t\t\t\t\t\t\tconst on = other.normal;\n\t\t\t\t\t\t\tconst oonx = on.x;\n\t\t\t\t\t\t\tconst oony = on.y;\n\t\t\t\t\t\t\tconst nonx = work.a * oonx + work.c * oony;\n\t\t\t\t\t\t\tconst nony = work.b * oonx + work.d * oony;\n\t\t\t\t\t\t\tconst osd = nonx * nonx + nony * nony;\n\t\t\t\t\t\t\tif (0.000001 < osd) {\n\t\t\t\t\t\t\t\tconst f = 1 / Math.sqrt(osd);\n\t\t\t\t\t\t\t\ton.set(nonx * f, nony * f);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ton.set(oonx, oony);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tconst result = this._isLocalChanged || this._isNormalChanged;\n\t\t\t\t\tthis.unlock();\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\tprotected toAcceptorTransform(shape: EShape, result: Matrix): Matrix {\n\t\tshape.updateTransform();\n\t\tconst parent = this._parent;\n\t\tconst parentParent = parent.parent;\n\t\tif (parentParent) {\n\t\t\tparent.updateTransform();\n\t\t\treturn result\n\t\t\t\t.copyFrom(parentParent.transform.worldTransform)\n\t\t\t\t.invert()\n\t\t\t\t.append(shape.transform.worldTransform);\n\t\t} else {\n\t\t\treturn result.copyFrom(shape.transform.worldTransform);\n\t\t}\n\t}\n\n\tonAcceptorChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isLocalChanged = false;\n\t\t\tthis._isNormalChanged = false;\n\t\t\tthis._isAcceptorChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._hasAcceptorTransformOld = false;\n\t\tthis.fit(true);\n\t}\n\n\tprotected onLocalChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isLocalChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._localIdRequired += 1;\n\t\tthis._localId = this._localIdRequired;\n\t\tthis._onChange();\n\t}\n\n\tprotected onNormalChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isNormalChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._normalIdRequired += 1;\n\t\tthis._normalId = this._normalIdRequired;\n\t\tthis._onChange();\n\t}\n\n\tprotected onOtherChange(): void {\n\t\tif (0 < this._lockCount) {\n\t\t\tthis._isOtherChanged = true;\n\t\t\treturn;\n\t\t}\n\t\tthis._onChange();\n\t}\n\n\tattach(): this {\n\t\tconst shape = this._acceptor.shape;\n\t\tif (shape) {\n\t\t\tif (shape.connector.add(this)) {\n\t\t\t\tthis.onAcceptorChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\tdetach(exceptions?: Set<EShape>): this {\n\t\tconst shape = this._acceptor.shape;\n\t\tif (shape != null && (exceptions == null || !exceptions.has(shape))) {\n\t\t\tif (shape.connector.remove(this)) {\n\t\t\t\tthis.onAcceptorChange();\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-connector-edge.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdgeAcceptor } from \"./e-shape-connector-edge-acceptor\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\nimport { EShapeAcceptorEdgeSide } from \"./e-shape-acceptor-edge-side\";\n\nexport type EShapeConnectorEdgeSerialized = [\n\tnumber | null,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber?,\n\tnumber?,\n\t(number | null)?,\n\t(number | null)?,\n\tnumber?\n];\n\nexport interface EShapeConnectorEdge {\n\treadonly parent: EShapeConnector;\n\treadonly acceptor: EShapeConnectorEdgeAcceptor;\n\treadonly local: IPoint;\n\treadonly localId: number;\n\treadonly normal: IPoint;\n\treadonly normalId: number;\n\tside: EShapeAcceptorEdgeSide;\n\tmargin: number;\n\n\tlock(): void;\n\tunlock(): void;\n\tset(\n\t\tacceptorShape?: EShape | null,\n\t\tacceptorEdge?: string | null,\n\t\tacceptorX?: number | null,\n\t\tacceptorY?: number | null,\n\t\tmargin?: number,\n\t\tx?: number,\n\t\ty?: number,\n\t\tnx?: number,\n\t\tny?: number,\n\t\tside?: EShapeAcceptorEdgeSide\n\t): this;\n\tcopy(source: EShapeConnectorEdge): this;\n\tfit(forcibly?: boolean): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void;\n\tattach(): this;\n\tdetach(): this;\n}\n"]}
1
+ {"version":3,"file":"e-shape-connector-edge.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-connector-edge.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeConnector } from \"./e-shape-connector\";\nimport { EShapeConnectorEdgeAcceptor } from \"./e-shape-connector-edge-acceptor\";\nimport { EShapeResourceManagerDeserialization } from \"./e-shape-resource-manager-deserialization\";\nimport { EShapeResourceManagerSerialization } from \"./e-shape-resource-manager-serialization\";\nimport { EShapeUuidMapping } from \"./e-shape-uuid-mapping\";\nimport { EShapeAcceptorEdgeSide } from \"./e-shape-acceptor-edge-side\";\n\nexport type EShapeConnectorEdgeSerialized = [\n\tnumber | null,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber,\n\tnumber?,\n\tnumber?,\n\t(number | null)?,\n\t(number | null)?,\n\tnumber?\n];\n\nexport interface EShapeConnectorEdge {\n\treadonly parent: EShapeConnector;\n\treadonly acceptor: EShapeConnectorEdgeAcceptor;\n\treadonly local: IPoint;\n\treadonly localId: number;\n\treadonly normal: IPoint;\n\treadonly normalId: number;\n\tside: EShapeAcceptorEdgeSide;\n\tmargin: number;\n\n\tlock(): void;\n\tunlock(): void;\n\tset(\n\t\tacceptorShape?: EShape | null,\n\t\tacceptorEdge?: string | null,\n\t\tacceptorX?: number | null,\n\t\tacceptorY?: number | null,\n\t\tmargin?: number,\n\t\tx?: number,\n\t\ty?: number,\n\t\tnx?: number,\n\t\tny?: number,\n\t\tside?: EShapeAcceptorEdgeSide\n\t): this;\n\tcopy(source: EShapeConnectorEdge): this;\n\tfit(forcibly?: boolean): this;\n\tserialize(manager: EShapeResourceManagerSerialization): number;\n\tdeserialize(\n\t\tresourceId: number,\n\t\tmapping: EShapeUuidMapping,\n\t\tmanager: EShapeResourceManagerDeserialization\n\t): void;\n\tattach(): this;\n\tdetach(exceptions?: Set<EShape>): this;\n}\n"]}
@@ -6,14 +6,26 @@ import { EShapeSearch } from "./e-shape-search";
6
6
  var EShapeDeleter = /** @class */ (function () {
7
7
  function EShapeDeleter() {
8
8
  }
9
+ EShapeDeleter.addAll = function (shapes, result) {
10
+ for (var i = 0, imax = shapes.length; i < imax; ++i) {
11
+ var shape = shapes[i];
12
+ result.add(shape);
13
+ this.addAll(shape.children, result);
14
+ }
15
+ return result;
16
+ };
9
17
  EShapeDeleter.delete = function (parent, shapes, generateListOfDetachedShapes) {
18
+ var _a;
10
19
  var children = parent.children;
11
20
  var length = children.length;
12
21
  // Update indices
22
+ var exceptions = ((_a = EShapeDeleter.EXCEPTIONS) !== null && _a !== void 0 ? _a : (EShapeDeleter.EXCEPTIONS = new Set()));
13
23
  for (var i = 0; i < length; ++i) {
14
24
  var child = children[i];
15
25
  if (child.selected) {
16
26
  child.index = length + i;
27
+ exceptions.add(child);
28
+ this.addAll(child.children, exceptions);
17
29
  }
18
30
  else {
19
31
  child.index = i;
@@ -30,9 +42,10 @@ var EShapeDeleter = /** @class */ (function () {
30
42
  child.parent = null;
31
43
  child.selected = false;
32
44
  child.uploaded = undefined;
33
- child.onDetach();
45
+ child.onDetach(exceptions);
34
46
  }
35
47
  else {
48
+ exceptions.clear();
36
49
  var size = children.length - (i + 1);
37
50
  if (0 < size) {
38
51
  var result = children.splice(i + 1, size);
@@ -51,6 +64,7 @@ var EShapeDeleter = /** @class */ (function () {
51
64
  }
52
65
  }
53
66
  }
67
+ exceptions.clear();
54
68
  if (0 < children.length) {
55
69
  var result = children.splice(0, children.length);
56
70
  if (shapes != null) {
@@ -74,9 +88,10 @@ var EShapeDeleter = /** @class */ (function () {
74
88
  child.parent = null;
75
89
  child.selected = false;
76
90
  child.uploaded = undefined;
77
- child.onDetach();
91
+ child.onDetach(exceptions);
78
92
  }
79
93
  else {
94
+ exceptions.clear();
80
95
  children.length = i + 1;
81
96
  if (shapes != null) {
82
97
  shapes.length = 0;
@@ -86,6 +101,7 @@ var EShapeDeleter = /** @class */ (function () {
86
101
  return null;
87
102
  }
88
103
  }
104
+ exceptions.clear();
89
105
  if (0 < children.length) {
90
106
  children.length = 0;
91
107
  if (shapes != null) {
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-deleter.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-deleter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;IAAA;IAiGA,CAAC;IAhGO,oBAAM,GAAb,UACC,MAAgC,EAChC,MAAiB,EACjB,4BAAsC;QAEtC,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE/B,iBAAiB;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;YAChC,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACnB,KAAK,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;aACzB;iBAAM;gBACN,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB;SACD;QAED,OAAO;QACP,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAE7C,SAAS;QACT,IAAI,4BAA4B,KAAK,IAAI,EAAE;YAC1C,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC;oBACtB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACvB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;iBACjB;qBAAM;oBACN,IAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,IAAI,EAAE;wBACb,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;wBAC5C,IAAI,MAAM,IAAI,IAAI,EAAE;4BACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;yBAClB;wBACD,MAAM,CAAC,sBAAsB,EAAE,CAAC;wBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,MAAM,CAAC;qBACd;yBAAM;wBACN,IAAI,MAAM,IAAI,IAAI,EAAE;4BACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;yBAClB;wBACD,OAAO,IAAI,CAAC;qBACZ;iBACD;aACD;YACD,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE;gBACxB,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACnD,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClB;gBACD,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,MAAM,CAAC;aACd;iBAAM;gBACN,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClB;gBACD,OAAO,IAAI,CAAC;aACZ;SACD;aAAM;YACN,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;gBACrC,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,KAAK,CAAC,QAAQ,EAAE;oBACnB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;oBACpB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACvB,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;oBAC3B,KAAK,CAAC,QAAQ,EAAE,CAAC;iBACjB;qBAAM;oBACN,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;oBACxB,IAAI,MAAM,IAAI,IAAI,EAAE;wBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;qBAClB;oBACD,MAAM,CAAC,sBAAsB,EAAE,CAAC;oBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC;iBACZ;aACD;YACD,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE;gBACxB,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpB,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClB;gBACD,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,CAAC;aACjB;iBAAM;gBACN,IAAI,MAAM,IAAI,IAAI,EAAE;oBACnB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBAClB;aACD;YACD,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IACF,oBAAC;AAAD,CAAC,AAjGD,IAiGC","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeSearch } from \"./e-shape-search\";\n\nexport class EShapeDeleter {\n\tstatic delete(\n\t\tparent: EShape | EShapeContainer,\n\t\tshapes?: EShape[],\n\t\tgenerateListOfDetachedShapes?: boolean\n\t): EShape[] | null {\n\t\tconst children = parent.children;\n\t\tconst length = children.length;\n\n\t\t// Update indices\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.selected) {\n\t\t\t\tchild.index = length + i;\n\t\t\t} else {\n\t\t\t\tchild.index = i;\n\t\t\t}\n\t\t}\n\n\t\t// Sort\n\t\tchildren.sort(EShapeSearch.COMPARATOR_INDEX);\n\n\t\t// Detach\n\t\tif (generateListOfDetachedShapes === true) {\n\t\t\tfor (let i = length - 1; 0 <= i; --i) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (child.selected) {\n\t\t\t\t\tchild.index -= length;\n\t\t\t\t\tchild.parent = null;\n\t\t\t\t\tchild.selected = false;\n\t\t\t\t\tchild.uploaded = undefined;\n\t\t\t\t\tchild.onDetach();\n\t\t\t\t} else {\n\t\t\t\t\tconst size = children.length - (i + 1);\n\t\t\t\t\tif (0 < size) {\n\t\t\t\t\t\tconst result = children.splice(i + 1, size);\n\t\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t\t\tparent.toDirty();\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 < children.length) {\n\t\t\t\tconst result = children.splice(0, children.length);\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = length - 1; 0 <= i; --i) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (child.selected) {\n\t\t\t\t\tchild.parent = null;\n\t\t\t\t\tchild.selected = false;\n\t\t\t\t\tchild.uploaded = undefined;\n\t\t\t\t\tchild.onDetach();\n\t\t\t\t} else {\n\t\t\t\t\tchildren.length = i + 1;\n\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t}\n\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (0 < children.length) {\n\t\t\t\tchildren.length = 0;\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t} else {\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-deleter.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-deleter.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { EShape } from \"./e-shape\";\nimport { EShapeContainer } from \"./e-shape-container\";\nimport { EShapeSearch } from \"./e-shape-search\";\n\nexport class EShapeDeleter {\n\tprivate static EXCEPTIONS?: Set<EShape>;\n\n\tprivate static addAll(shapes: EShape[], result: Set<EShape>): Set<EShape> {\n\t\tfor (let i = 0, imax = shapes.length; i < imax; ++i) {\n\t\t\tconst shape = shapes[i];\n\t\t\tresult.add(shape);\n\t\t\tthis.addAll(shape.children, result);\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic delete(\n\t\tparent: EShape | EShapeContainer,\n\t\tshapes?: EShape[],\n\t\tgenerateListOfDetachedShapes?: boolean\n\t): EShape[] | null {\n\t\tconst children = parent.children;\n\t\tconst length = children.length;\n\n\t\t// Update indices\n\t\tconst exceptions = (EShapeDeleter.EXCEPTIONS ??= new Set<EShape>());\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tconst child = children[i];\n\t\t\tif (child.selected) {\n\t\t\t\tchild.index = length + i;\n\t\t\t\texceptions.add(child);\n\t\t\t\tthis.addAll(child.children, exceptions);\n\t\t\t} else {\n\t\t\t\tchild.index = i;\n\t\t\t}\n\t\t}\n\n\t\t// Sort\n\t\tchildren.sort(EShapeSearch.COMPARATOR_INDEX);\n\n\t\t// Detach\n\t\tif (generateListOfDetachedShapes === true) {\n\t\t\tfor (let i = length - 1; 0 <= i; --i) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (child.selected) {\n\t\t\t\t\tchild.index -= length;\n\t\t\t\t\tchild.parent = null;\n\t\t\t\t\tchild.selected = false;\n\t\t\t\t\tchild.uploaded = undefined;\n\t\t\t\t\tchild.onDetach(exceptions);\n\t\t\t\t} else {\n\t\t\t\t\texceptions.clear();\n\t\t\t\t\tconst size = children.length - (i + 1);\n\t\t\t\t\tif (0 < size) {\n\t\t\t\t\t\tconst result = children.splice(i + 1, size);\n\t\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t\t\tparent.toDirty();\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\texceptions.clear();\n\t\t\tif (0 < children.length) {\n\t\t\t\tconst result = children.splice(0, children.length);\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t\treturn result;\n\t\t\t} else {\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t}\n\t\t} else {\n\t\t\tfor (let i = length - 1; 0 <= i; --i) {\n\t\t\t\tconst child = children[i];\n\t\t\t\tif (child.selected) {\n\t\t\t\t\tchild.parent = null;\n\t\t\t\t\tchild.selected = false;\n\t\t\t\t\tchild.uploaded = undefined;\n\t\t\t\t\tchild.onDetach(exceptions);\n\t\t\t\t} else {\n\t\t\t\t\texceptions.clear();\n\t\t\t\t\tchildren.length = i + 1;\n\t\t\t\t\tif (shapes != null) {\n\t\t\t\t\t\tshapes.length = 0;\n\t\t\t\t\t}\n\t\t\t\t\tparent.onChildTransformChange();\n\t\t\t\t\tparent.toDirty();\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t\texceptions.clear();\n\t\t\tif (0 < children.length) {\n\t\t\t\tchildren.length = 0;\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t\tparent.onChildTransformChange();\n\t\t\t\tparent.toDirty();\n\t\t\t} else {\n\t\t\t\tif (shapes != null) {\n\t\t\t\t\tshapes.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\t}\n}\n"]}
@@ -7,6 +7,7 @@ import { UtilKeyboardEvent } from "../util/util-keyboard-event";
7
7
  import { EShapeState } from "./e-shape-state";
8
8
  import { DBaseState } from "../d-base-state";
9
9
  import { EShapeRuntimeReset } from "./e-shape-runtime-reset";
10
+ import { EShapeLockPart } from "./variant/e-shape-lock-part";
10
11
  var EShapeRuntimeImpl = /** @class */ (function () {
11
12
  function EShapeRuntimeImpl(shape) {
12
13
  var transform = shape.transform;
@@ -29,12 +30,12 @@ var EShapeRuntimeImpl = /** @class */ (function () {
29
30
  this.interactive = false;
30
31
  }
31
32
  EShapeRuntimeImpl.prototype.initialize = function (shape) {
32
- shape.disallowUploadedUpdate();
33
+ shape.lock(EShapeLockPart.UPLOADED);
33
34
  var actions = this.actions;
34
35
  for (var i = 0, imax = actions.length; i < imax; ++i) {
35
36
  actions[i].initialize(shape, this);
36
37
  }
37
- shape.allowUploadedUpdate();
38
+ shape.unlock(EShapeLockPart.UPLOADED, true);
38
39
  };
39
40
  EShapeRuntimeImpl.prototype.isActionable = function () {
40
41
  return 0 < this.actions.length;
@@ -361,9 +362,9 @@ var EShapeRuntimeImpl = /** @class */ (function () {
361
362
  if (isEffectTimeUp) {
362
363
  this.effect = NaN;
363
364
  }
364
- shape.disallowUploadedUpdate();
365
+ shape.lock(EShapeLockPart.UPLOADED);
365
366
  this.onUpdate(shape, time);
366
- shape.allowUploadedUpdate();
367
+ shape.unlock(EShapeLockPart.UPLOADED, true);
367
368
  var wasStateChanged = this.isStateChanged;
368
369
  shape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);
369
370
  this.isStateChanged = wasStateChanged;
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-runtime-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-impl.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, 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\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: 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.sizeX = size.x;\n\t\tthis.sizeY = 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\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\tshape.allowUploadedUpdate();\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): 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].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\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].onClick(shape, this, e);\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\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\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].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\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\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\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\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): 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].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\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].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\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\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].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\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\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].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): 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].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\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].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): 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].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\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(EShapeRuntimeImpl.TRANSIENT_STATES);\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.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\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-impl.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-runtime-impl.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, 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\";\nimport { EShapeRuntime } from \"./e-shape-runtime\";\nimport { EShapeRuntimeReset } from \"./e-shape-runtime-reset\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\n\nexport class EShapeRuntimeImpl implements EShapeRuntime {\n\tstatic readonly TRANSIENT_STATES = [\n\t\tEShapeState.CLICKED,\n\t\tEShapeState.DBL_CLICKED,\n\t\tEShapeState.DOWN,\n\t\tEShapeState.UP,\n\t\tEShapeState.UP_OUTSIDE,\n\n\t\tEShapeState.RIGHT_CLICKED,\n\t\tEShapeState.RIGHT_DOWN,\n\t\tEShapeState.RIGHT_UP,\n\t\tEShapeState.RIGHT_UP_OUTSIDE,\n\n\t\tEShapeState.ACTIVATED,\n\t\tEShapeState.DEACTIVATED\n\t];\n\n\treadonly x: number;\n\treadonly y: number;\n\treadonly sizeX: number;\n\treadonly sizeY: number;\n\treadonly rotation: number;\n\treadonly actions: EShapeActionRuntime[];\n\treadonly fill: EShapeFillLike;\n\treadonly stroke: EShapeStrokeLike;\n\treadonly text: EShapeTextLike;\n\treadonly cursor?: string;\n\treadonly interactive: boolean;\n\n\treset: EShapeRuntimeReset;\n\twritten: EShapeRuntimeReset;\n\teffect: number;\n\tisStateChanged: 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.sizeX = size.x;\n\t\tthis.sizeY = 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.lock(EShapeLockPart.UPLOADED);\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\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n\n\tisActionable(): boolean {\n\t\treturn 0 < this.actions.length;\n\t}\n\n\tonResize(shape: EShape): 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].onResize(shape, this);\n\t\t}\n\t}\n\n\tonClick(shape: EShape, e: InteractionEvent | KeyboardEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isClicked = true;\n\t\t}\n\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].onClick(shape, this, e);\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\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isDblClicked = true;\n\t\t}\n\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].onDblClick(shape, this, e, interactionManager);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonOver(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isHovered) {\n\t\t\t// State\n\t\t\tstate.isHovered = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOver(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonOut(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isHovered) {\n\t\t\t// State\n\t\t\tshape.state.isHovered = false;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onOut(shape, this, e);\n\t\t\t}\n\t\t}\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\tconst state = shape.state;\n\t\tif (!state.isDown) {\n\t\t\tif (!state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.DOWN, DBaseState.PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onDown(shape, this, e);\n\t\t\t\t\taction.onPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isDown = true;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\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\tif (state.isPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.UP, DBaseState.PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onUp(shape, this, e);\n\t\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.UP_OUTSIDE, DBaseState.PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onUpOutside(shape, this, e);\n\t\t\t\taction.onUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onUpOutside(shape, this, e);\n\t\t\t}\n\t\t}\n\t}\n\n\tonMove(shape: EShape, e: InteractionEvent): 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].onMove(shape, this, e);\n\t\t}\n\t}\n\n\tonKeyDown(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\n\t\tif (UtilKeyboardEvent.isActivateKey(e)) {\n\t\t\tthis.onDown(shape, e);\n\t\t}\n\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].onKeyDown(shape, this, e);\n\t\t}\n\n\t\t// Done\n\t\treturn false;\n\t}\n\n\tonKeyUp(shape: EShape, e: KeyboardEvent): boolean {\n\t\t// State\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\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].onKeyUp(shape, this, e);\n\t\t}\n\n\t\t// Done\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\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].onFocus(shape, this);\n\t\t}\n\t}\n\n\tonBlur(shape: EShape): 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].onBlur(shape, this);\n\t\t}\n\t}\n\n\tonRightClick(shape: EShape, e: InteractionEvent): void {\n\t\t// State\n\t\tconst state = shape.state;\n\t\tif (state.isActionable) {\n\t\t\tstate.isRightClicked = true;\n\t\t}\n\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].onRightClick(shape, this, e);\n\t\t}\n\t}\n\n\tonRightDown(shape: EShape, e: InteractionEvent): 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].onRightDowning(shape, this, e);\n\t\t}\n\n\t\tconst state = shape.state;\n\t\tif (!state.isRightDown) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.addAll(EShapeState.RIGHT_DOWN, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\t// Focus\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightDown(shape, this, e);\n\t\t\t\t\taction.onRightPressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightDown = false;\n\n\t\t\t\t// Focus\n\t\t\t\tconst layer = DApplications.getLayer(shape);\n\t\t\t\tif (layer) {\n\t\t\t\t\tconst focusController = layer.getFocusController();\n\t\t\t\t\tfocusController.focus(focusController.findParent(shape));\n\t\t\t\t}\n\n\t\t\t\t// Actions\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightDown(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUp(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (!state.isRightUp) {\n\t\t\tif (state.isRightPressed) {\n\t\t\t\t// State\n\t\t\t\tstate.set(EShapeState.RIGHT_UP, EShapeState.RIGHT_PRESSED);\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tconst action = actions[i];\n\t\t\t\t\taction.onRightUp(shape, this, e);\n\t\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// State\n\t\t\t\tstate.isRightUp = true;\n\n\t\t\t\t// Actions\n\t\t\t\tconst actions = this.actions;\n\t\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\t\tactions[i].onRightUp(shape, this, e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tonRightUpOutside(shape: EShape, e: InteractionEvent): void {\n\t\tconst state = shape.state;\n\t\tif (state.isRightPressed) {\n\t\t\t// State\n\t\t\tstate.set(EShapeState.RIGHT_UP_OUTSIDE, EShapeState.RIGHT_PRESSED);\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tconst action = actions[i];\n\t\t\t\taction.onRightUpOutside(shape, this, e);\n\t\t\t\taction.onRightUnpressed(shape, this, e);\n\t\t\t}\n\t\t} else {\n\t\t\t// State\n\t\t\tstate.isRightUpOutside = true;\n\n\t\t\t// Actions\n\t\t\tconst actions = this.actions;\n\t\t\tfor (let i = 0, imax = actions.length; i < imax; ++i) {\n\t\t\t\tactions[i].onRightUpOutside(shape, this, e);\n\t\t\t}\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.lock(EShapeLockPart.UPLOADED);\n\t\t\tthis.onUpdate(shape, time);\n\t\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t\t\tconst wasStateChanged = this.isStateChanged;\n\t\t\tshape.state.removeAll(EShapeRuntimeImpl.TRANSIENT_STATES);\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.sizeY;\n\t\t\t}\n\t\t\tif (target & EShapeRuntimeReset.WIDTH) {\n\t\t\t\tshape.size.x = this.sizeX;\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"]}
@@ -6,6 +6,7 @@ import { EShapeEditor } from "./e-shape-editor";
6
6
  import { EShapeBase } from "./variant/e-shape-base";
7
7
  import { toSizeNormalized } from "./variant/to-size-normalized";
8
8
  import { EShapeCapability } from "./e-shape-capability";
9
+ import { EShapeLockPart } from "./variant/e-shape-lock-part";
9
10
  var EShapeTransforms = /** @class */ (function () {
10
11
  function EShapeTransforms() {
11
12
  }
@@ -29,10 +30,10 @@ var EShapeTransforms = /** @class */ (function () {
29
30
  // Size
30
31
  editor.size.copyFrom(shape.size);
31
32
  //
32
- shape.disallowOnTransformChange();
33
+ shape.lock(EShapeLockPart.TRANSFORM);
33
34
  };
34
35
  EShapeTransforms.finalize = function (shape) {
35
- shape.allowOnTransformChange(true);
36
+ shape.unlock(EShapeLockPart.TRANSFORM, true);
36
37
  };
37
38
  EShapeTransforms.apply = function (shape, transform, capability) {
38
39
  var editor = shape.editor;
@@ -46,7 +47,7 @@ var EShapeTransforms = /** @class */ (function () {
46
47
  }
47
48
  };
48
49
  EShapeTransforms.applyLocal = function (shape, localTransform, capability, size) {
49
- shape.disallowUploadedUpdate();
50
+ shape.lock(EShapeLockPart.UPLOADED);
50
51
  // Reconstruct the position, the rotation and the size
51
52
  var a = localTransform.a;
52
53
  var b = localTransform.b;
@@ -106,7 +107,7 @@ var EShapeTransforms = /** @class */ (function () {
106
107
  }
107
108
  }
108
109
  //
109
- shape.allowUploadedUpdate();
110
+ shape.unlock(EShapeLockPart.UPLOADED, true);
110
111
  };
111
112
  return EShapeTransforms;
112
113
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"e-shape-transforms.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-transforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Matrix } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeEditor } from \"./e-shape-editor\";\nimport { EShapeBase } from \"./variant/e-shape-base\";\nimport { toSizeNormalized } from \"./variant/to-size-normalized\";\nimport { EShapeCapability } from \"./e-shape-capability\";\n\nexport class EShapeTransforms {\n\tstatic prepare(shape: EShape): void {\n\t\tconst editor = shape.editor || new EShapeEditor();\n\t\tshape.editor = editor;\n\n\t\t// Transform\n\t\tshape.updateTransform();\n\t\tconst parent = shape.parent;\n\t\tif (parent instanceof EShapeBase) {\n\t\t\tparent.transform.internalTransform\n\t\t\t\t.copyTo(editor.internalTransformParentInverse)\n\t\t\t\t.invert();\n\t\t} else {\n\t\t\teditor.internalTransformParentInverse.identity();\n\t\t}\n\t\tshape.transform.internalTransform.copyTo(editor.internalTransform);\n\n\t\t// Rotation\n\t\teditor.rotation = shape.transform.rotation;\n\n\t\t// Size\n\t\teditor.size.copyFrom(shape.size);\n\n\t\t//\n\t\tshape.disallowOnTransformChange();\n\t}\n\n\tstatic finalize(shape: EShape): void {\n\t\tshape.allowOnTransformChange(true);\n\t}\n\n\tstatic apply(shape: EShape, transform: Matrix, capability: EShapeCapability): void {\n\t\tconst editor = shape.editor;\n\t\tif (editor != null) {\n\t\t\tconst newLocalTransform = editor.localTransform;\n\t\t\teditor.internalTransformParentInverse\n\t\t\t\t.copyTo(newLocalTransform)\n\t\t\t\t.append(transform)\n\t\t\t\t.append(editor.internalTransform);\n\t\t\tthis.applyLocal(shape, newLocalTransform, capability, editor.size);\n\t\t}\n\t}\n\n\tstatic applyLocal(\n\t\tshape: EShape,\n\t\tlocalTransform: Matrix,\n\t\tcapability: EShapeCapability,\n\t\tsize?: IPoint\n\t): void {\n\t\tshape.disallowUploadedUpdate();\n\n\t\t// Reconstruct the position, the rotation and the size\n\t\tconst a = localTransform.a;\n\t\tconst b = localTransform.b;\n\t\tconst c = localTransform.c;\n\t\tconst d = localTransform.d;\n\t\tconst tx = localTransform.tx;\n\t\tconst ty = localTransform.ty;\n\n\t\t// Transform\n\t\tconst transform = shape.transform;\n\n\t\t// Capability\n\t\tconst cposition = !!(capability & EShapeCapability.POSITION);\n\t\tconst crotation = !!(capability & EShapeCapability.ROTATION);\n\t\tconst cskew = !!(capability & EShapeCapability.SKEW);\n\t\tconst cwidth = !!(capability & EShapeCapability.WIDTH);\n\t\tconst cheight = !!(capability & EShapeCapability.HEIGHT);\n\n\t\t// Rotation and skew\n\t\tif (crotation || cskew) {\n\t\t\t// Rotation\n\t\t\tconst rx = Math.atan2(-c, d); // rotation - skewX\n\t\t\tconst ry = Math.atan2(+b, a); // rotation + skewY\n\t\t\tif (crotation) {\n\t\t\t\ttransform.rotation = (rx + ry) * 0.5; // Here, assumes `skewX` === `skewY`\n\t\t\t}\n\n\t\t\t// Skew\n\t\t\tif (cskew) {\n\t\t\t\tconst skew = (ry - rx) * 0.5;\n\t\t\t\ttransform.skew.set(skew, skew);\n\t\t\t}\n\t\t}\n\n\t\t// Position\n\t\tif (cposition) {\n\t\t\t// Assumes the pivot is invariant.\n\t\t\t// tx = position.x - (a * px + c * py)\n\t\t\t// ty = position.y - (b * px + d * py)\n\t\t\t//\n\t\t\t// Thus,\n\t\t\t// position.x = tx + (a * px + c * py)\n\t\t\t// position.y = ty + (b * px + d * py)\n\t\t\tconst pivot = transform.pivot;\n\t\t\tconst px = pivot.x;\n\t\t\tconst py = pivot.y;\n\t\t\ttransform.position.set(tx + (a * px + c * py), ty + (b * px + d * py));\n\t\t}\n\n\t\t// Scale\n\t\tif (size != null && (cwidth || cheight)) {\n\t\t\tconst w = toSizeNormalized(size.x * Math.sqrt(a * a + b * b));\n\t\t\tconst h = toSizeNormalized(size.y * Math.sqrt(c * c + d * d));\n\t\t\tconst s = shape.size;\n\t\t\tif (cwidth && cheight) {\n\t\t\t\ts.set(w, h);\n\t\t\t} else if (cwidth) {\n\t\t\t\ts.x = w;\n\t\t\t} else {\n\t\t\t\ts.y = h;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tshape.allowUploadedUpdate();\n\t}\n}\n"]}
1
+ {"version":3,"file":"e-shape-transforms.js","sourceRoot":"","sources":["../../../../src/main/typescript/wcardinal/ui/shape/e-shape-transforms.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { IPoint, Matrix } from \"pixi.js\";\nimport { EShape } from \"./e-shape\";\nimport { EShapeEditor } from \"./e-shape-editor\";\nimport { EShapeBase } from \"./variant/e-shape-base\";\nimport { toSizeNormalized } from \"./variant/to-size-normalized\";\nimport { EShapeCapability } from \"./e-shape-capability\";\nimport { EShapeLockPart } from \"./variant/e-shape-lock-part\";\n\nexport class EShapeTransforms {\n\tstatic prepare(shape: EShape): void {\n\t\tconst editor = shape.editor || new EShapeEditor();\n\t\tshape.editor = editor;\n\n\t\t// Transform\n\t\tshape.updateTransform();\n\t\tconst parent = shape.parent;\n\t\tif (parent instanceof EShapeBase) {\n\t\t\tparent.transform.internalTransform\n\t\t\t\t.copyTo(editor.internalTransformParentInverse)\n\t\t\t\t.invert();\n\t\t} else {\n\t\t\teditor.internalTransformParentInverse.identity();\n\t\t}\n\t\tshape.transform.internalTransform.copyTo(editor.internalTransform);\n\n\t\t// Rotation\n\t\teditor.rotation = shape.transform.rotation;\n\n\t\t// Size\n\t\teditor.size.copyFrom(shape.size);\n\n\t\t//\n\t\tshape.lock(EShapeLockPart.TRANSFORM);\n\t}\n\n\tstatic finalize(shape: EShape): void {\n\t\tshape.unlock(EShapeLockPart.TRANSFORM, true);\n\t}\n\n\tstatic apply(shape: EShape, transform: Matrix, capability: EShapeCapability): void {\n\t\tconst editor = shape.editor;\n\t\tif (editor != null) {\n\t\t\tconst newLocalTransform = editor.localTransform;\n\t\t\teditor.internalTransformParentInverse\n\t\t\t\t.copyTo(newLocalTransform)\n\t\t\t\t.append(transform)\n\t\t\t\t.append(editor.internalTransform);\n\t\t\tthis.applyLocal(shape, newLocalTransform, capability, editor.size);\n\t\t}\n\t}\n\n\tstatic applyLocal(\n\t\tshape: EShape,\n\t\tlocalTransform: Matrix,\n\t\tcapability: EShapeCapability,\n\t\tsize?: IPoint\n\t): void {\n\t\tshape.lock(EShapeLockPart.UPLOADED);\n\n\t\t// Reconstruct the position, the rotation and the size\n\t\tconst a = localTransform.a;\n\t\tconst b = localTransform.b;\n\t\tconst c = localTransform.c;\n\t\tconst d = localTransform.d;\n\t\tconst tx = localTransform.tx;\n\t\tconst ty = localTransform.ty;\n\n\t\t// Transform\n\t\tconst transform = shape.transform;\n\n\t\t// Capability\n\t\tconst cposition = !!(capability & EShapeCapability.POSITION);\n\t\tconst crotation = !!(capability & EShapeCapability.ROTATION);\n\t\tconst cskew = !!(capability & EShapeCapability.SKEW);\n\t\tconst cwidth = !!(capability & EShapeCapability.WIDTH);\n\t\tconst cheight = !!(capability & EShapeCapability.HEIGHT);\n\n\t\t// Rotation and skew\n\t\tif (crotation || cskew) {\n\t\t\t// Rotation\n\t\t\tconst rx = Math.atan2(-c, d); // rotation - skewX\n\t\t\tconst ry = Math.atan2(+b, a); // rotation + skewY\n\t\t\tif (crotation) {\n\t\t\t\ttransform.rotation = (rx + ry) * 0.5; // Here, assumes `skewX` === `skewY`\n\t\t\t}\n\n\t\t\t// Skew\n\t\t\tif (cskew) {\n\t\t\t\tconst skew = (ry - rx) * 0.5;\n\t\t\t\ttransform.skew.set(skew, skew);\n\t\t\t}\n\t\t}\n\n\t\t// Position\n\t\tif (cposition) {\n\t\t\t// Assumes the pivot is invariant.\n\t\t\t// tx = position.x - (a * px + c * py)\n\t\t\t// ty = position.y - (b * px + d * py)\n\t\t\t//\n\t\t\t// Thus,\n\t\t\t// position.x = tx + (a * px + c * py)\n\t\t\t// position.y = ty + (b * px + d * py)\n\t\t\tconst pivot = transform.pivot;\n\t\t\tconst px = pivot.x;\n\t\t\tconst py = pivot.y;\n\t\t\ttransform.position.set(tx + (a * px + c * py), ty + (b * px + d * py));\n\t\t}\n\n\t\t// Scale\n\t\tif (size != null && (cwidth || cheight)) {\n\t\t\tconst w = toSizeNormalized(size.x * Math.sqrt(a * a + b * b));\n\t\t\tconst h = toSizeNormalized(size.y * Math.sqrt(c * c + d * d));\n\t\t\tconst s = shape.size;\n\t\t\tif (cwidth && cheight) {\n\t\t\t\ts.set(w, h);\n\t\t\t} else if (cwidth) {\n\t\t\t\ts.x = w;\n\t\t\t} else {\n\t\t\t\ts.y = h;\n\t\t\t}\n\t\t}\n\n\t\t//\n\t\tshape.unlock(EShapeLockPart.UPLOADED, true);\n\t}\n}\n"]}