@eclipse-glsp/client 2.2.0-next.333 → 2.2.0-next.334

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 (214) hide show
  1. package/css/change-bounds.css +36 -2
  2. package/css/glsp-sprotty.css +18 -2
  3. package/css/helper-lines.css +3 -3
  4. package/lib/base/default.module.d.ts.map +1 -1
  5. package/lib/base/default.module.js +3 -0
  6. package/lib/base/default.module.js.map +1 -1
  7. package/lib/base/feedback/css-feedback.d.ts +7 -2
  8. package/lib/base/feedback/css-feedback.d.ts.map +1 -1
  9. package/lib/base/feedback/css-feedback.js +10 -2
  10. package/lib/base/feedback/css-feedback.js.map +1 -1
  11. package/lib/base/feedback/feeback-emitter.d.ts +2 -2
  12. package/lib/base/feedback/feeback-emitter.d.ts.map +1 -1
  13. package/lib/base/feedback/feeback-emitter.js +5 -2
  14. package/lib/base/feedback/feeback-emitter.js.map +1 -1
  15. package/lib/base/index.d.ts +1 -0
  16. package/lib/base/index.d.ts.map +1 -1
  17. package/lib/base/index.js +1 -0
  18. package/lib/base/index.js.map +1 -1
  19. package/lib/base/mouse-position-tracker.d.ts +22 -0
  20. package/lib/base/mouse-position-tracker.d.ts.map +1 -0
  21. package/lib/base/mouse-position-tracker.js +40 -0
  22. package/lib/base/mouse-position-tracker.js.map +1 -0
  23. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts +2 -0
  24. package/lib/features/accessibility/view-key-tools/movement-key-tool.d.ts.map +1 -1
  25. package/lib/features/accessibility/view-key-tools/movement-key-tool.js +15 -7
  26. package/lib/features/accessibility/view-key-tools/movement-key-tool.js.map +1 -1
  27. package/lib/features/bounds/bounds-module.d.ts.map +1 -1
  28. package/lib/features/bounds/bounds-module.js +2 -0
  29. package/lib/features/bounds/bounds-module.js.map +1 -1
  30. package/lib/features/bounds/freeform-layout.d.ts +17 -1
  31. package/lib/features/bounds/freeform-layout.d.ts.map +1 -1
  32. package/lib/features/bounds/freeform-layout.js +14 -5
  33. package/lib/features/bounds/freeform-layout.js.map +1 -1
  34. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts +5 -4
  35. package/lib/features/bounds/glsp-hidden-bounds-updater.d.ts.map +1 -1
  36. package/lib/features/bounds/glsp-hidden-bounds-updater.js +51 -39
  37. package/lib/features/bounds/glsp-hidden-bounds-updater.js.map +1 -1
  38. package/lib/features/bounds/hbox-layout.d.ts +18 -2
  39. package/lib/features/bounds/hbox-layout.d.ts.map +1 -1
  40. package/lib/features/bounds/hbox-layout.js +14 -5
  41. package/lib/features/bounds/hbox-layout.js.map +1 -1
  42. package/lib/features/bounds/index.d.ts +1 -0
  43. package/lib/features/bounds/index.d.ts.map +1 -1
  44. package/lib/features/bounds/index.js +1 -0
  45. package/lib/features/bounds/index.js.map +1 -1
  46. package/lib/features/bounds/layout-data.d.ts +27 -0
  47. package/lib/features/bounds/layout-data.d.ts.map +1 -0
  48. package/lib/features/bounds/layout-data.js +48 -0
  49. package/lib/features/bounds/layout-data.js.map +1 -0
  50. package/lib/features/bounds/local-bounds.d.ts +3 -1
  51. package/lib/features/bounds/local-bounds.d.ts.map +1 -1
  52. package/lib/features/bounds/local-bounds.js +14 -0
  53. package/lib/features/bounds/local-bounds.js.map +1 -1
  54. package/lib/features/bounds/vbox-layout.d.ts +18 -2
  55. package/lib/features/bounds/vbox-layout.d.ts.map +1 -1
  56. package/lib/features/bounds/vbox-layout.js +14 -5
  57. package/lib/features/bounds/vbox-layout.js.map +1 -1
  58. package/lib/features/change-bounds/index.d.ts +1 -0
  59. package/lib/features/change-bounds/index.d.ts.map +1 -1
  60. package/lib/features/change-bounds/index.js +1 -0
  61. package/lib/features/change-bounds/index.js.map +1 -1
  62. package/lib/features/change-bounds/model.d.ts +19 -3
  63. package/lib/features/change-bounds/model.d.ts.map +1 -1
  64. package/lib/features/change-bounds/model.js +92 -4
  65. package/lib/features/change-bounds/model.js.map +1 -1
  66. package/lib/features/change-bounds/movement-restrictor.d.ts +1 -0
  67. package/lib/features/change-bounds/movement-restrictor.d.ts.map +1 -1
  68. package/lib/features/change-bounds/movement-restrictor.js +7 -1
  69. package/lib/features/change-bounds/movement-restrictor.js.map +1 -1
  70. package/lib/features/change-bounds/point-position-updater.d.ts +3 -0
  71. package/lib/features/change-bounds/point-position-updater.d.ts.map +1 -1
  72. package/lib/features/change-bounds/point-position-updater.js +7 -2
  73. package/lib/features/change-bounds/point-position-updater.js.map +1 -1
  74. package/lib/features/change-bounds/position-snapper.d.ts +4 -0
  75. package/lib/features/change-bounds/position-snapper.d.ts.map +1 -1
  76. package/lib/features/change-bounds/position-snapper.js +4 -0
  77. package/lib/features/change-bounds/position-snapper.js.map +1 -1
  78. package/lib/features/change-bounds/snap.d.ts +6 -0
  79. package/lib/features/change-bounds/snap.d.ts.map +1 -1
  80. package/lib/features/change-bounds/snap.js +6 -0
  81. package/lib/features/change-bounds/snap.js.map +1 -1
  82. package/lib/features/change-bounds/tracker.d.ts +32 -0
  83. package/lib/features/change-bounds/tracker.d.ts.map +1 -0
  84. package/lib/features/change-bounds/tracker.js +60 -0
  85. package/lib/features/change-bounds/tracker.js.map +1 -0
  86. package/lib/features/debug/debug-bounds-decorator.d.ts +4 -1
  87. package/lib/features/debug/debug-bounds-decorator.d.ts.map +1 -1
  88. package/lib/features/debug/debug-bounds-decorator.js +14 -7
  89. package/lib/features/debug/debug-bounds-decorator.js.map +1 -1
  90. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts +9 -22
  91. package/lib/features/element-template/mouse-tracking-element-position-listener.d.ts.map +1 -1
  92. package/lib/features/element-template/mouse-tracking-element-position-listener.js +30 -46
  93. package/lib/features/element-template/mouse-tracking-element-position-listener.js.map +1 -1
  94. package/lib/features/helper-lines/helper-line-feedback.d.ts +2 -2
  95. package/lib/features/helper-lines/helper-line-feedback.d.ts.map +1 -1
  96. package/lib/features/helper-lines/helper-line-feedback.js +1 -1
  97. package/lib/features/helper-lines/helper-line-feedback.js.map +1 -1
  98. package/lib/features/helper-lines/helper-line-manager-default.d.ts +2 -1
  99. package/lib/features/helper-lines/helper-line-manager-default.d.ts.map +1 -1
  100. package/lib/features/helper-lines/helper-line-manager-default.js +23 -0
  101. package/lib/features/helper-lines/helper-line-manager-default.js.map +1 -1
  102. package/lib/features/helper-lines/helper-line-manager.d.ts +10 -2
  103. package/lib/features/helper-lines/helper-line-manager.d.ts.map +1 -1
  104. package/lib/features/routing/edge-router.d.ts +4 -0
  105. package/lib/features/routing/edge-router.d.ts.map +1 -1
  106. package/lib/features/routing/edge-router.js +37 -0
  107. package/lib/features/routing/edge-router.js.map +1 -1
  108. package/lib/features/select/select-mouse-listener.d.ts +3 -0
  109. package/lib/features/select/select-mouse-listener.d.ts.map +1 -1
  110. package/lib/features/select/select-mouse-listener.js +30 -2
  111. package/lib/features/select/select-mouse-listener.js.map +1 -1
  112. package/lib/features/tools/base-tools.d.ts +24 -15
  113. package/lib/features/tools/base-tools.d.ts.map +1 -1
  114. package/lib/features/tools/base-tools.js +0 -18
  115. package/lib/features/tools/base-tools.js.map +1 -1
  116. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts +42 -0
  117. package/lib/features/tools/change-bounds/change-bounds-manager.d.ts.map +1 -0
  118. package/lib/features/tools/change-bounds/change-bounds-manager.js +136 -0
  119. package/lib/features/tools/change-bounds/change-bounds-manager.js.map +1 -0
  120. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts +6 -0
  121. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.d.ts.map +1 -1
  122. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js +14 -8
  123. package/lib/features/tools/change-bounds/change-bounds-tool-feedback.js.map +1 -1
  124. package/lib/features/tools/change-bounds/change-bounds-tool-module.d.ts.map +1 -1
  125. package/lib/features/tools/change-bounds/change-bounds-tool-module.js +2 -0
  126. package/lib/features/tools/change-bounds/change-bounds-tool-module.js.map +1 -1
  127. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts +6 -15
  128. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.d.ts.map +1 -1
  129. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js +24 -72
  130. package/lib/features/tools/change-bounds/change-bounds-tool-move-feedback.js.map +1 -1
  131. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts +14 -25
  132. package/lib/features/tools/change-bounds/change-bounds-tool.d.ts.map +1 -1
  133. package/lib/features/tools/change-bounds/change-bounds-tool.js +63 -109
  134. package/lib/features/tools/change-bounds/change-bounds-tool.js.map +1 -1
  135. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts +136 -0
  136. package/lib/features/tools/change-bounds/change-bounds-tracker.d.ts.map +1 -0
  137. package/lib/features/tools/change-bounds/change-bounds-tracker.js +301 -0
  138. package/lib/features/tools/change-bounds/change-bounds-tracker.js.map +1 -0
  139. package/lib/features/tools/change-bounds/index.d.ts +2 -0
  140. package/lib/features/tools/change-bounds/index.d.ts.map +1 -1
  141. package/lib/features/tools/change-bounds/index.js +2 -0
  142. package/lib/features/tools/change-bounds/index.js.map +1 -1
  143. package/lib/features/tools/change-bounds/view.d.ts.map +1 -1
  144. package/lib/features/tools/change-bounds/view.js +1 -16
  145. package/lib/features/tools/change-bounds/view.js.map +1 -1
  146. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts +7 -9
  147. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.d.ts.map +1 -1
  148. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js +27 -47
  149. package/lib/features/tools/edge-edit/edge-edit-tool-feedback.js.map +1 -1
  150. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts +2 -2
  151. package/lib/features/tools/edge-edit/edge-edit-tool.d.ts.map +1 -1
  152. package/lib/features/tools/edge-edit/edge-edit-tool.js +5 -5
  153. package/lib/features/tools/edge-edit/edge-edit-tool.js.map +1 -1
  154. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts +1 -0
  155. package/lib/features/tools/marquee-selection/marquee-mouse-tool.d.ts.map +1 -1
  156. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js +3 -0
  157. package/lib/features/tools/marquee-selection/marquee-mouse-tool.js.map +1 -1
  158. package/lib/features/tools/node-creation/node-creation-tool.d.ts +2 -4
  159. package/lib/features/tools/node-creation/node-creation-tool.d.ts.map +1 -1
  160. package/lib/features/tools/node-creation/node-creation-tool.js +8 -11
  161. package/lib/features/tools/node-creation/node-creation-tool.js.map +1 -1
  162. package/lib/utils/gmodel-util.d.ts +20 -1
  163. package/lib/utils/gmodel-util.d.ts.map +1 -1
  164. package/lib/utils/gmodel-util.js +38 -16
  165. package/lib/utils/gmodel-util.js.map +1 -1
  166. package/lib/utils/layout-utils.d.ts +1 -0
  167. package/lib/utils/layout-utils.d.ts.map +1 -1
  168. package/lib/utils/layout-utils.js +5 -1
  169. package/lib/utils/layout-utils.js.map +1 -1
  170. package/package.json +3 -3
  171. package/src/base/default.module.ts +4 -1
  172. package/src/base/feedback/css-feedback.ts +10 -2
  173. package/src/base/feedback/feeback-emitter.ts +6 -3
  174. package/src/base/index.ts +1 -0
  175. package/src/base/mouse-position-tracker.ts +25 -0
  176. package/src/features/accessibility/view-key-tools/movement-key-tool.ts +12 -7
  177. package/src/features/bounds/bounds-module.ts +2 -0
  178. package/src/features/bounds/freeform-layout.ts +16 -6
  179. package/src/features/bounds/glsp-hidden-bounds-updater.ts +63 -46
  180. package/src/features/bounds/hbox-layout.ts +18 -9
  181. package/src/features/bounds/index.ts +1 -0
  182. package/src/features/bounds/layout-data.ts +48 -0
  183. package/src/features/bounds/local-bounds.ts +20 -4
  184. package/src/features/bounds/vbox-layout.ts +18 -10
  185. package/src/features/change-bounds/index.ts +1 -0
  186. package/src/features/change-bounds/model.ts +104 -4
  187. package/src/features/change-bounds/movement-restrictor.ts +10 -0
  188. package/src/features/change-bounds/point-position-updater.spec.ts +2 -0
  189. package/src/features/change-bounds/point-position-updater.ts +6 -0
  190. package/src/features/change-bounds/position-snapper.ts +4 -0
  191. package/src/features/change-bounds/snap.ts +6 -0
  192. package/src/features/change-bounds/tracker.ts +63 -0
  193. package/src/features/debug/debug-bounds-decorator.tsx +17 -7
  194. package/src/features/element-template/mouse-tracking-element-position-listener.ts +49 -71
  195. package/src/features/helper-lines/helper-line-feedback.ts +2 -1
  196. package/src/features/helper-lines/helper-line-manager-default.ts +37 -2
  197. package/src/features/helper-lines/helper-line-manager.ts +11 -2
  198. package/src/features/routing/edge-router.ts +42 -0
  199. package/src/features/select/select-mouse-listener.ts +15 -1
  200. package/src/features/tools/base-tools.ts +31 -19
  201. package/src/features/tools/change-bounds/change-bounds-manager.ts +145 -0
  202. package/src/features/tools/change-bounds/change-bounds-tool-feedback.ts +17 -6
  203. package/src/features/tools/change-bounds/change-bounds-tool-module.ts +2 -0
  204. package/src/features/tools/change-bounds/change-bounds-tool-move-feedback.ts +31 -81
  205. package/src/features/tools/change-bounds/change-bounds-tool.ts +89 -148
  206. package/src/features/tools/change-bounds/change-bounds-tracker.ts +455 -0
  207. package/src/features/tools/change-bounds/index.ts +2 -0
  208. package/src/features/tools/change-bounds/view.tsx +2 -14
  209. package/src/features/tools/edge-edit/edge-edit-tool-feedback.ts +34 -52
  210. package/src/features/tools/edge-edit/edge-edit-tool.ts +4 -3
  211. package/src/features/tools/marquee-selection/marquee-mouse-tool.ts +4 -0
  212. package/src/features/tools/node-creation/node-creation-tool.ts +7 -7
  213. package/src/utils/gmodel-util.ts +41 -5
  214. package/src/utils/layout-utils.ts +4 -0
@@ -10,7 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  var ChangeBoundsTool_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.ChangeBoundsListener = exports.ValidatedElementAndBounds = exports.ChangeBoundsTool = void 0;
13
+ exports.ChangeBoundsListener = exports.ChangeBoundsTool = void 0;
14
14
  /********************************************************************************
15
15
  * Copyright (c) 2019-2023 EclipseSource and others.
16
16
  *
@@ -28,17 +28,14 @@ exports.ChangeBoundsListener = exports.ValidatedElementAndBounds = exports.Chang
28
28
  ********************************************************************************/
29
29
  const inversify_1 = require("inversify");
30
30
  const sprotty_1 = require("@eclipse-glsp/sprotty");
31
+ const __1 = require("..");
31
32
  const drag_aware_mouse_listener_1 = require("../../../base/drag-aware-mouse-listener");
32
33
  const css_feedback_1 = require("../../../base/feedback/css-feedback");
33
34
  const selection_service_1 = require("../../../base/selection-service");
34
- const utils_1 = require("../../../utils");
35
35
  const gmodel_util_1 = require("../../../utils/gmodel-util");
36
36
  const bounds_1 = require("../../bounds");
37
- const change_bounds_1 = require("../../change-bounds");
38
37
  const model_1 = require("../../change-bounds/model");
39
38
  const movement_restrictor_1 = require("../../change-bounds/movement-restrictor");
40
- const position_snapper_1 = require("../../change-bounds/position-snapper");
41
- const helper_lines_1 = require("../../helper-lines");
42
39
  const base_tools_1 = require("../base-tools");
43
40
  const change_bounds_tool_feedback_1 = require("./change-bounds-tool-feedback");
44
41
  const change_bounds_tool_move_feedback_1 = require("./change-bounds-tool-move-feedback");
@@ -72,6 +69,9 @@ let ChangeBoundsTool = ChangeBoundsTool_1 = class ChangeBoundsTool extends base_
72
69
  }
73
70
  this.toDisposeOnDisable.push(this.mouseTool.registerListener(feedbackMoveMouseListener), this.mouseTool.registerListener(changeBoundsListener), this.selectionService.onSelectionChanged(change => changeBoundsListener.selectionChanged(change.root, change.selectedElements)));
74
71
  }
72
+ createChangeBoundsTracker() {
73
+ return this.changeBoundsManager.createTracker();
74
+ }
75
75
  createMoveMouseListener() {
76
76
  return new change_bounds_tool_move_feedback_1.FeedbackMoveMouseListener(this);
77
77
  }
@@ -96,25 +96,17 @@ __decorate([
96
96
  __metadata("design:type", Object)
97
97
  ], ChangeBoundsTool.prototype, "movementRestrictor", void 0);
98
98
  __decorate([
99
- (0, inversify_1.inject)(position_snapper_1.PositionSnapper),
100
- __metadata("design:type", position_snapper_1.PositionSnapper)
101
- ], ChangeBoundsTool.prototype, "positionSnapper", void 0);
99
+ (0, inversify_1.inject)(sprotty_1.TYPES.IChangeBoundsManager),
100
+ __metadata("design:type", __1.ChangeBoundsManager)
101
+ ], ChangeBoundsTool.prototype, "changeBoundsManager", void 0);
102
102
  exports.ChangeBoundsTool = ChangeBoundsTool = ChangeBoundsTool_1 = __decorate([
103
103
  (0, inversify_1.injectable)()
104
104
  ], ChangeBoundsTool);
105
- var ValidatedElementAndBounds;
106
- (function (ValidatedElementAndBounds) {
107
- function isValid(move) {
108
- var _a;
109
- return (_a = move.valid) !== null && _a !== void 0 ? _a : true;
110
- }
111
- ValidatedElementAndBounds.isValid = isValid;
112
- })(ValidatedElementAndBounds || (exports.ValidatedElementAndBounds = ValidatedElementAndBounds = {}));
113
105
  class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseListener {
114
106
  constructor(tool) {
115
107
  super();
116
108
  this.tool = tool;
117
- this.positionUpdater = new change_bounds_1.PointPositionUpdater(tool.positionSnapper);
109
+ this.tracker = tool.createChangeBoundsTracker();
118
110
  this.handleFeedback = tool.createFeedbackEmitter();
119
111
  this.resizeFeedback = tool.createFeedbackEmitter();
120
112
  }
@@ -135,20 +127,26 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
135
127
  this.activeResizeElement = (_b = (_a = this.activeResizeHandle) === null || _a === void 0 ? void 0 : _a.parent) !== null && _b !== void 0 ? _b : this.findResizeElement(target);
136
128
  if (this.activeResizeElement) {
137
129
  if (event) {
138
- this.positionUpdater.updateLastDragPosition(event);
130
+ this.tracker.startTracking();
139
131
  }
140
132
  this.initialBounds = {
141
133
  newSize: this.activeResizeElement.bounds,
142
134
  newPosition: this.activeResizeElement.bounds,
143
135
  elementId: this.activeResizeElement.id
144
136
  };
145
- this.handleFeedback.add(change_bounds_tool_feedback_1.ShowChangeBoundsToolResizeFeedbackAction.create(this.activeResizeElement.id), change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction.create());
137
+ // we trigger the local bounds calculation once to get the correct layout information for reszing
138
+ // for any sub-sequent calls the layout information will be updated automatically
139
+ this.tool
140
+ .createFeedbackEmitter()
141
+ .add(bounds_1.LocalRequestBoundsAction.create(target.root, [this.activeResizeElement.id]))
142
+ .submit()
143
+ .dispose();
144
+ this.handleFeedback.add(change_bounds_tool_feedback_1.ShowChangeBoundsToolResizeFeedbackAction.create({ elementId: this.activeResizeElement.id }), change_bounds_tool_feedback_1.HideChangeBoundsToolResizeFeedbackAction.create());
146
145
  this.handleFeedback.submit();
147
146
  return true;
148
147
  }
149
148
  else {
150
- this.positionUpdater.resetPosition();
151
- this.handleFeedback.dispose();
149
+ this.dispose();
152
150
  return false;
153
151
  }
154
152
  }
@@ -160,59 +158,59 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
160
158
  draggingMouseMove(target, event) {
161
159
  // rely on the FeedbackMoveMouseListener to update the element bounds of selected elements
162
160
  // consider resize handles ourselves
163
- if (this.activeResizeHandle && !this.positionUpdater.isLastDragPositionUndefined()) {
164
- if (!this.initialBounds) {
165
- const element = this.activeResizeHandle.parent;
166
- this.initialBounds = { elementId: element.id, newSize: element.bounds, newPosition: element.bounds };
161
+ if (this.activeResizeHandle && this.tracker.isTracking()) {
162
+ const resize = this.tracker.resizeElements(this.activeResizeHandle, { snap: event, symmetric: event, restrict: event });
163
+ this.addResizeFeedback(resize, target, event);
164
+ const resizeAction = this.resizeBoundsAction(resize);
165
+ if (resizeAction.bounds.length > 0) {
166
+ this.resizeFeedback.add(resizeAction, () => this.resetBounds());
167
+ this.tracker.updateTrackingPosition(resize.handleMove.moveVector);
167
168
  }
168
- const positionUpdate = this.positionUpdater.updatePosition(target, event, (0, helper_lines_1.getDirectionFrom)(this.activeResizeHandle.location));
169
- if (positionUpdate) {
170
- const resizeActions = this.handleResizeOnClient(positionUpdate).filter(action => action);
171
- if (resizeActions.length > 0) {
172
- this.resizeFeedback.add(bounds_1.SetBoundsFeedbackAction.create(resizeActions), () => this.resetBoundsAction());
173
- this.addResizeFeedback(resizeActions, this.activeResizeHandle, target, event);
174
- this.resizeFeedback.submit();
175
- }
169
+ else {
170
+ this.resizeFeedback.add(undefined, () => this.resetBounds());
176
171
  }
172
+ this.resizeFeedback.submit();
177
173
  }
178
174
  return super.draggingMouseMove(target, event);
179
175
  }
180
- filterResizeOnClient(resize, positionUpdate) {
181
- return true;
176
+ resizeBoundsAction(resize) {
177
+ // we do not want to resize elements beyond their valid size, not even for feedback, as the next layout cycle usually corrects this
178
+ const elementResizes = resize.elementResizes.filter(elementResize => elementResize.valid.size);
179
+ return bounds_1.SetBoundsFeedbackAction.create(elementResizes.map(elementResize => this.toElementAndBounds(elementResize)));
182
180
  }
183
- addResizeFeedback(resizeActions, handle, target, event) {
181
+ toElementAndBounds(elementResize) {
182
+ return {
183
+ elementId: elementResize.element.id,
184
+ newSize: elementResize.toBounds,
185
+ newPosition: elementResize.toBounds
186
+ };
187
+ }
188
+ addResizeFeedback(resize, target, event) {
189
+ const handle = resize.handleMove.element;
184
190
  // handle feedback
185
191
  this.resizeFeedback.add((0, css_feedback_1.applyCssClasses)(handle, ChangeBoundsListener.CSS_CLASS_ACTIVE), (0, css_feedback_1.deleteCssClasses)(handle, ChangeBoundsListener.CSS_CLASS_ACTIVE));
192
+ // graph feedback
193
+ this.resizeFeedback.add(css_feedback_1.ModifyCSSFeedbackAction.create({ add: [__1.CSS_RESIZE_MODE] }), css_feedback_1.ModifyCSSFeedbackAction.create({ remove: [__1.CSS_RESIZE_MODE] }));
186
194
  // cursor feedback
187
- const cursorClass = handle.isNeResize()
188
- ? css_feedback_1.CursorCSS.RESIZE_NE
189
- : handle.isNwResize()
190
- ? css_feedback_1.CursorCSS.RESIZE_NW
191
- : handle.isSeResize()
192
- ? css_feedback_1.CursorCSS.RESIZE_SE
193
- : css_feedback_1.CursorCSS.RESIZE_SW;
195
+ const cursorClass = model_1.SResizeHandle.getCursorCss(resize.handleMove.element);
194
196
  this.resizeFeedback.add((0, css_feedback_1.cursorFeedbackAction)(cursorClass), (0, css_feedback_1.cursorFeedbackAction)(css_feedback_1.CursorCSS.DEFAULT));
195
- // restriction feedback
196
- resizeActions.forEach(elementResize => {
197
- const element = handle.root.index.getById(elementResize.elementId);
198
- if (element && this.tool.movementRestrictor) {
199
- if (!elementResize.valid) {
200
- this.resizeFeedback.add((0, movement_restrictor_1.createMovementRestrictionFeedback)(element, this.tool.movementRestrictor), () => (0, movement_restrictor_1.removeMovementRestrictionFeedback)(element, this.tool.movementRestrictor));
201
- }
202
- else {
203
- this.resizeFeedback.add((0, movement_restrictor_1.removeMovementRestrictionFeedback)(element, this.tool.movementRestrictor));
204
- }
197
+ const movementRestrictor = this.tool.changeBoundsManager.movementRestrictor;
198
+ resize.elementResizes.forEach(elementResize => {
199
+ if (movementRestrictor) {
200
+ this.resizeFeedback.add((0, movement_restrictor_1.movementRestrictionFeedback)(elementResize.element, movementRestrictor, elementResize.valid.move), (0, movement_restrictor_1.removeMovementRestrictionFeedback)(elementResize.element, movementRestrictor));
205
201
  }
202
+ this.resizeFeedback.add((0, css_feedback_1.toggleCssClasses)(elementResize.element, !elementResize.valid.size, 'resize-not-allowed'), (0, css_feedback_1.deleteCssClasses)(elementResize.element, 'resize-not-allowed'));
206
203
  });
204
+ this.resizeFeedback.add((0, css_feedback_1.toggleCssClasses)(resize.handleMove.element, !resize.valid.size, 'resize-not-allowed'), (0, css_feedback_1.deleteCssClasses)(resize.handleMove.element, 'resize-not-allowed'));
207
205
  }
208
- resetBoundsAction() {
206
+ resetBounds() {
209
207
  // reset the bounds to the initial bounds and ensure that we do not show helper line feedback anymore (MoveFinishedEventAction)
210
208
  return this.initialBounds
211
209
  ? [bounds_1.SetBoundsFeedbackAction.create([this.initialBounds]), change_bounds_tool_feedback_1.MoveFinishedEventAction.create()]
212
210
  : [change_bounds_tool_feedback_1.MoveFinishedEventAction.create()];
213
211
  }
214
- draggingMouseUp(target, _event) {
215
- if (this.positionUpdater.isLastDragPositionUndefined()) {
212
+ draggingMouseUp(target, event) {
213
+ if (!this.tracker.isTracking()) {
216
214
  return [];
217
215
  }
218
216
  const actions = [];
@@ -239,14 +237,12 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
239
237
  const selectedElements = (0, gmodel_util_1.getMatchingElements)(target.index, gmodel_util_1.isNonRoutableSelectedMovableBoundsAware);
240
238
  const selectionSet = new Set(selectedElements);
241
239
  const newBounds = selectedElements
242
- .filter(element => this.isValidElement(element, selectionSet))
240
+ .filter(element => this.isValidMove(element, selectionSet))
243
241
  .map(gmodel_util_1.toElementAndBounds);
244
242
  return newBounds.length > 0 ? [sprotty_1.ChangeBoundsOperation.create(newBounds)] : [];
245
243
  }
246
- isValidElement(element, selectedElements = new Set()) {
247
- return (this.isValidMove(element, element.bounds) &&
248
- this.isValidSize(element, element.bounds) &&
249
- !this.isChildOfSelected(selectedElements, element));
244
+ isValidMove(element, selectedElements = new Set()) {
245
+ return this.tool.changeBoundsManager.hasValidPosition(element) && !this.isChildOfSelected(selectedElements, element);
250
246
  }
251
247
  isChildOfSelected(selectedElements, element) {
252
248
  if (selectedElements.size === 0) {
@@ -279,7 +275,7 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
279
275
  return newRoutingPoints.length > 0 ? [sprotty_1.ChangeRoutingPointsOperation.create(newRoutingPoints)] : [];
280
276
  }
281
277
  handleResizeOnServer(activeResizeHandle) {
282
- if (this.isValidElement(activeResizeHandle.parent) && this.initialBounds) {
278
+ if (this.initialBounds && this.isValidResize(activeResizeHandle.parent)) {
283
279
  const elementAndBounds = (0, gmodel_util_1.toElementAndBounds)(activeResizeHandle.parent);
284
280
  if (!this.initialBounds.newPosition || !elementAndBounds.newPosition) {
285
281
  return [];
@@ -295,6 +291,9 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
295
291
  }
296
292
  return [];
297
293
  }
294
+ isValidResize(element) {
295
+ return this.tool.changeBoundsManager.isValid(element);
296
+ }
298
297
  selectionChanged(root, selectedElements) {
299
298
  if (this.activeResizeElement && selectedElements.includes(this.activeResizeElement.id)) {
300
299
  // our active element is still selected, nothing to do
@@ -307,61 +306,16 @@ class ChangeBoundsListener extends drag_aware_mouse_listener_1.DragAwareMouseLis
307
306
  return;
308
307
  }
309
308
  }
310
- this.updateResizeElement(root);
311
- this.disposeAllButHandles();
309
+ this.dispose();
312
310
  }
313
311
  isActiveResizeElement(element) {
314
312
  return element !== undefined && this.activeResizeElement !== undefined && element.id === this.activeResizeElement.id;
315
313
  }
316
- handleResizeOnClient(positionUpdate) {
317
- if (!this.activeResizeHandle) {
318
- return [];
319
- }
320
- if (this.isActiveResizeElement(this.activeResizeHandle.parent)) {
321
- switch (this.activeResizeHandle.location) {
322
- case model_1.ResizeHandleLocation.TopLeft:
323
- return this.handleTopLeftResize(this.activeResizeHandle.parent, positionUpdate);
324
- case model_1.ResizeHandleLocation.TopRight:
325
- return this.handleTopRightResize(this.activeResizeHandle.parent, positionUpdate);
326
- case model_1.ResizeHandleLocation.BottomLeft:
327
- return this.handleBottomLeftResize(this.activeResizeHandle.parent, positionUpdate);
328
- case model_1.ResizeHandleLocation.BottomRight:
329
- return this.handleBottomRightResize(this.activeResizeHandle.parent, positionUpdate);
330
- }
331
- }
332
- return [];
333
- }
334
- handleTopLeftResize(resizeElement, positionUpdate) {
335
- return this.createSetBoundsAction(resizeElement, { x: resizeElement.bounds.x + positionUpdate.x, y: resizeElement.bounds.y + positionUpdate.y }, { width: resizeElement.bounds.width - positionUpdate.x, height: resizeElement.bounds.height - positionUpdate.y });
336
- }
337
- handleTopRightResize(resizeElement, positionUpdate) {
338
- return this.createSetBoundsAction(resizeElement, { x: resizeElement.bounds.x, y: resizeElement.bounds.y + positionUpdate.y }, { width: resizeElement.bounds.width + positionUpdate.x, height: resizeElement.bounds.height - positionUpdate.y });
339
- }
340
- handleBottomLeftResize(resizeElement, positionUpdate) {
341
- return this.createSetBoundsAction(resizeElement, { x: resizeElement.bounds.x + positionUpdate.x, y: resizeElement.bounds.y }, { width: resizeElement.bounds.width - positionUpdate.x, height: resizeElement.bounds.height + positionUpdate.y });
342
- }
343
- handleBottomRightResize(resizeElement, positionUpdate) {
344
- return this.createSetBoundsAction(resizeElement, { x: resizeElement.bounds.x, y: resizeElement.bounds.y }, { width: resizeElement.bounds.width + positionUpdate.x, height: resizeElement.bounds.height + positionUpdate.y });
345
- }
346
- createSetBoundsAction(element, newPosition, newSize) {
347
- if (!(0, utils_1.isValidSize)(element, newSize)) {
348
- // we are not allowing any invalid sizes (breaking min size), not even during client feedback
349
- return [];
350
- }
351
- const valid = this.isValidMove(element, newPosition);
352
- return [{ elementId: element.id, newPosition, newSize, valid }];
353
- }
354
- isValidSize(element, size) {
355
- return (0, utils_1.isValidSize)(element, size);
356
- }
357
- isValidMove(element, newPosition) {
358
- return (0, utils_1.isValidMove)(element, newPosition, this.tool.movementRestrictor);
359
- }
360
314
  disposeAllButHandles() {
361
315
  // We do not dispose the handle feedback as we want to keep showing the handles on selected elements
362
316
  // this.handleFeedback.dispose();
363
317
  this.resizeFeedback.dispose();
364
- this.positionUpdater.resetPosition();
318
+ this.tracker.dispose();
365
319
  this.activeResizeElement = undefined;
366
320
  this.activeResizeHandle = undefined;
367
321
  this.initialBounds = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,yCAAyD;AAEzD,mDAqB+B;AAC/B,uFAAiF;AACjF,sEAAyH;AAEzH,uEAAuF;AACvF,0CAA0D;AAC1D,4DAQoC;AACpC,yCAAuD;AACvD,uDAA2D;AAC3D,qDAA6F;AAC7F,iFAIiD;AACjD,2EAAuE;AACvE,qDAAsD;AACtD,8CAA6C;AAC7C,+EAIuC;AACvC,yFAA+E;AAE/E;;;;;;;;;;;;GAYG;AAEI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,yBAAY;IAQ9C,IAAI,EAAE;QACF,OAAO,kBAAgB,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM;QACF,oEAAoE;QACpE,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjE,IAAI,oBAAU,CAAC,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5D,CAAC;QAED,wFAAwF;QACxF,MAAM,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAC/D,IAAI,oBAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CACxB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAC1D,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EACrD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAClI,CAAC;IACN,CAAC;IAES,uBAAuB;QAC7B,OAAO,IAAI,4DAAyB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAES,0BAA0B;QAChC,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;;AAtCQ,4CAAgB;AAClB,mBAAE,GAAG,yBAAyB,AAA5B,CAA6B;AAEF;IAAnC,IAAA,kBAAM,EAAC,oCAAgB,CAAC;8BAA6B,oCAAgB;0DAAC;AACtB;IAAhD,IAAA,kBAAM,EAAC,4BAAkB,CAAC;IAAE,IAAA,oBAAQ,GAAE;8BAA+B,4BAAkB;4DAAC;AACjC;IAAvD,IAAA,kBAAM,EAAC,eAAK,CAAC,mBAAmB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;4DAAmD;AAC/D;IAAjC,IAAA,kBAAM,EAAC,kCAAe,CAAC;8BAA2B,kCAAe;yDAAC;2BAN1D,gBAAgB;IAD5B,IAAA,sBAAU,GAAE;GACA,gBAAgB,CAuC5B;AAMD,IAAiB,yBAAyB,CAIzC;AAJD,WAAiB,yBAAyB;IACtC,SAAgB,OAAO,CAAC,IAAsB;;QAC1C,OAAO,MAAC,IAAkC,CAAC,KAAK,mCAAI,IAAI,CAAC;IAC7D,CAAC;IAFe,iCAAO,UAEtB,CAAA;AACL,CAAC,EAJgB,yBAAyB,yCAAzB,yBAAyB,QAIzC;AAED,MAAa,oBAAqB,SAAQ,kDAAsB;IAa5D,YAAsB,IAAsB;QACxC,KAAK,EAAE,CAAC;QADU,SAAI,GAAJ,IAAI,CAAkB;QAExC,IAAI,CAAC,eAAe,GAAG,IAAI,oCAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAEQ,SAAS,CAAC,MAAqB,EAAE,KAAiB;QACvD,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,qEAAqE;QACrE,uEAAuE;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,YAAY,oBAAU,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,2DAA2D;QAC3D,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC;IACd,CAAC;IAES,mBAAmB,CAAC,MAAqB,EAAE,KAAkB;;QACnE,IAAI,CAAC,kBAAkB,GAAG,MAAM,YAAY,qBAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,IAAI,CAAC,mBAAmB,GAAG,MAAA,MAAA,IAAI,CAAC,kBAAkB,0CAAE,MAAM,mCAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,aAAa,GAAG;gBACjB,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;gBACxC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;gBAC5C,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE;aACzC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,sEAAwC,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAC5E,sEAAwC,CAAC,MAAM,EAAE,CACpD,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,MAAqB;QAC7C,0EAA0E;QAC1E,gEAAgE;QAChE,OAAO,IAAA,6BAAmB,EAAC,MAAM,EAAE,mBAAW,CAAC,CAAC;IACpD,CAAC;IAEkB,iBAAiB,CAAC,MAAqB,EAAE,KAAiB;QACzE,0FAA0F;QAC1F,oCAAoC;QACpC,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACjF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBAC/C,IAAI,CAAC,aAAa,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACzG,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAA,+BAAgB,EAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9H,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gCAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACvG,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC9E,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;gBACjC,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAES,oBAAoB,CAAC,MAAiC,EAAE,cAAqB;QACnF,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB,CACvB,aAA0C,EAC1C,MAAqB,EACrB,MAAqB,EACrB,KAAiB;QAEjB,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CACnB,IAAA,8BAAe,EAAC,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAC9D,IAAA,+BAAgB,EAAC,MAAM,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,CAClE,CAAC;QAEF,kBAAkB;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE;YACnC,CAAC,CAAC,wBAAS,CAAC,SAAS;YACrB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;gBACnB,CAAC,CAAC,wBAAS,CAAC,SAAS;gBACrB,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;oBACnB,CAAC,CAAC,wBAAS,CAAC,SAAS;oBACrB,CAAC,CAAC,wBAAS,CAAC,SAAS,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAA,mCAAoB,EAAC,WAAW,CAAC,EAAE,IAAA,mCAAoB,EAAC,wBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAEpG,uBAAuB;QACvB,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;oBACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAA,uDAAiC,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CACnG,IAAA,uDAAiC,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAmB,CAAC,CAC5E,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAA,uDAAiC,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAmB,CAAC,CAAC,CAAC;gBACvG,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,iBAAiB;QACvB,+HAA+H;QAC/H,OAAO,IAAI,CAAC,aAAa;YACrB,CAAC,CAAC,CAAC,gCAAuB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,qDAAuB,CAAC,MAAM,EAAE,CAAC;YAC1F,CAAC,CAAC,CAAC,qDAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAEQ,eAAe,CAAC,MAAqB,EAAE,MAAkB;QAC9D,IAAI,IAAI,CAAC,eAAe,CAAC,2BAA2B,EAAE,EAAE,CAAC;YACrD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEQ,kBAAkB,CAAC,OAAsB,EAAE,KAAiB;QACjE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAES,kBAAkB,CAAC,MAAqB;QAC9C,MAAM,UAAU,GAAgB,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAES,0BAA0B,CAAC,MAAqB;QACtD,MAAM,gBAAgB,GAAG,IAAA,iCAAmB,EAAC,MAAM,CAAC,KAAK,EAAE,qDAAuC,CAAC,CAAC;QACpG,MAAM,YAAY,GAAiC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC7E,MAAM,SAAS,GAAuB,gBAAgB;aACjD,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;aAC7D,GAAG,CAAC,gCAAkB,CAAC,CAAC;QAC7B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,+BAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,CAAC;IAES,cAAc,CAAC,OAAgC,EAAE,mBAAiD,IAAI,GAAG,EAAE;QACjH,OAAO,CACH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;YACzC,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CACrD,CAAC;IACN,CAAC;IAES,iBAAiB,CAAC,gBAAoC,EAAE,OAAsB;QACpF,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,YAAY,uBAAa,EAAE,CAAC;YACtC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YACzB,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,+BAA+B,CAAC,MAAqB;QAC3D,MAAM,gBAAgB,GAA8B,EAAE,CAAC;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACpD,IAAI,cAAc,EAAE,CAAC;YACjB,wFAAwF;YACxF,IAAA,4BAAc,EAAC,MAAM,CAAC,KAAK,EAAE,qDAAuC,EAAE,OAAO,CAAC,EAAE;gBAC5E,IAAI,OAAO,YAAY,6BAAmB,EAAE,CAAC;oBACzC,OAAO,CAAC,aAAa;yBAChB,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAA,yCAA2B,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;yBAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChD,OAAO,CAAC,aAAa;yBAChB,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAA,yCAA2B,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC;yBAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,sCAA4B,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtG,CAAC;IAES,oBAAoB,CAAC,kBAAiC;QAC5D,IAAI,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvE,MAAM,gBAAgB,GAAG,IAAA,gCAAkB,EAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACnE,OAAO,EAAE,CAAC;YACd,CAAC;YACD,IACI,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC;gBAC3E,CAAC,mBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EACzE,CAAC;gBACC,+GAA+G;gBAC/G,mFAAmF;gBACnF,mEAAmE;gBACnE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,OAAO,CAAC,+BAAqB,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,IAAgB,EAAE,gBAA0B;QACzD,IAAI,IAAI,CAAC,mBAAmB,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,CAAC;YACrF,sDAAsD;YACtD,OAAO;QACX,CAAC;QAED,+DAA+D;QAC/D,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,OAAO;YACX,CAAC;QACL,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAES,qBAAqB,CAAC,OAAuB;QACnD,OAAO,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACzH,CAAC;IAES,oBAAoB,CAAC,cAAqB;QAChD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,QAAQ,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBACvC,KAAK,4BAAoB,CAAC,OAAO;oBAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBACpF,KAAK,4BAAoB,CAAC,QAAQ;oBAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBACrF,KAAK,4BAAoB,CAAC,UAAU;oBAChC,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;gBACvF,KAAK,4BAAoB,CAAC,WAAW;oBACjC,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC5F,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,mBAAmB,CAAC,aAAoC,EAAE,cAAqB;QACrF,OAAO,IAAI,CAAC,qBAAqB,CAC7B,aAAa,EACb,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAC9F,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CACnH,CAAC;IACN,CAAC;IAES,oBAAoB,CAAC,aAAoC,EAAE,cAAqB;QACtF,OAAO,IAAI,CAAC,qBAAqB,CAC7B,aAAa,EACb,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,EAC3E,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CACnH,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,aAAoC,EAAE,cAAqB;QACxF,OAAO,IAAI,CAAC,qBAAqB,CAC7B,aAAa,EACb,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAC3E,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CACnH,CAAC;IACN,CAAC;IAES,uBAAuB,CAAC,aAAoC,EAAE,cAAqB;QACzF,OAAO,IAAI,CAAC,qBAAqB,CAC7B,aAAa,EACb,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EACxD,EAAE,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,EAAE,CACnH,CAAC;IACN,CAAC;IAES,qBAAqB,CAAC,OAAgC,EAAE,WAAkB,EAAE,OAAkB;QACpG,IAAI,CAAC,IAAA,mBAAW,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACjC,6FAA6F;YAC7F,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAES,WAAW,CAAC,OAAgC,EAAE,IAAe;QACnE,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,WAAW,CAAC,OAAgC,EAAE,WAAkB;QACtE,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC3E,CAAC;IAES,oBAAoB;QAC1B,oGAAoG;QACpG,iCAAiC;QACjC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IAEQ,OAAO;QACZ,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;;AA3UL,oDA4UC;AA3UmB,qCAAgB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"change-bounds-tool.js","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ /********************************************************************************
2
+ * Copyright (c) 2024 EclipseSource and others.
3
+ *
4
+ * This program and the accompanying materials are made available under the
5
+ * terms of the Eclipse Public License v. 2.0 which is available at
6
+ * http://www.eclipse.org/legal/epl-2.0.
7
+ *
8
+ * This Source Code may also be made available under the following Secondary
9
+ * Licenses when the conditions for such availability set forth in the Eclipse
10
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ * with the GNU Classpath Exception which is available at
12
+ * https://www.gnu.org/software/classpath/license.html.
13
+ *
14
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
+ ********************************************************************************/
16
+ import { Bounds, Dimension, GModelElement, GRoutingHandle, Locateable, Movement, Point, ResolvedElementMove, TypeGuard, Vector } from '@eclipse-glsp/sprotty';
17
+ import { ChangeBoundsManager } from '..';
18
+ import { BoundsAwareModelElement, MoveableElement, ResizableModelElement } from '../../../utils';
19
+ import { DiagramMovementCalculator, ResizeHandleLocation, SResizeHandle } from '../../change-bounds';
20
+ export interface ElementTrackingOptions {
21
+ /** Snap position. Default: true. */
22
+ snap: boolean | MouseEvent | KeyboardEvent | any;
23
+ /** Restrict position. Default: true */
24
+ restrict: boolean | MouseEvent | KeyboardEvent | any;
25
+ /** Validate operation. Default: true */
26
+ validate: boolean;
27
+ /** Skip operations that do not trigger change. Default: true */
28
+ skipStatic: boolean;
29
+ }
30
+ export interface MoveOptions extends ElementTrackingOptions {
31
+ /** Skip operations are invalid. Default: false */
32
+ skipInvalid: boolean;
33
+ }
34
+ export declare const DEFAULT_MOVE_OPTIONS: MoveOptions;
35
+ export type MoveableElements = MoveableElement[] | {
36
+ ctx: GModelElement;
37
+ elementIDs: string[];
38
+ guard?: TypeGuard<MoveableElement>;
39
+ };
40
+ export interface TrackedElementMove extends ResolvedElementMove {
41
+ moveVector: Vector;
42
+ sourceVector: Vector;
43
+ valid: boolean;
44
+ }
45
+ export type TypedElementMove<T extends MoveableElement> = TrackedElementMove & {
46
+ element: T;
47
+ };
48
+ export interface TrackedMove extends Movement {
49
+ elementMoves: TrackedElementMove[];
50
+ valid: boolean;
51
+ options: MoveOptions;
52
+ }
53
+ export declare namespace TrackedMove {
54
+ function is(obj: any): obj is TrackedMove;
55
+ }
56
+ export interface ResizeOptions extends ElementTrackingOptions {
57
+ /** Skip resizes that do not actually change the dimension of the element. Default: true. */
58
+ skipStatic: boolean;
59
+ /** Perform symmetric resize on the opposite side. Default: false. */
60
+ symmetric: boolean | MouseEvent | KeyboardEvent | any;
61
+ /**
62
+ * Avoids resizes smaller than the minimum size which will result in invalid sizes.
63
+ * Please note that the snapping will be applied before the constraining so an element may still be resized to an unsnapped size.
64
+ *
65
+ * Default: true.
66
+ */
67
+ constrainResize: boolean;
68
+ /** Skip resizes that produce an invalid size. Default: false. */
69
+ skipInvalidSize: boolean;
70
+ /** Skip resizes that produce an invalid move. Default: false. */
71
+ skipInvalidMove: boolean;
72
+ }
73
+ export declare const DEFAULT_RESIZE_OPTIONS: ResizeOptions;
74
+ export interface TrackedHandleMove extends TypedElementMove<MoveableResizeHandle> {
75
+ }
76
+ export interface TrackedElementResize {
77
+ element: BoundsAwareModelElement;
78
+ fromBounds: Bounds;
79
+ toBounds: Bounds;
80
+ valid: {
81
+ size: boolean;
82
+ move: boolean;
83
+ };
84
+ }
85
+ export interface TrackedResize extends Movement {
86
+ handleMove: TrackedHandleMove;
87
+ elementResizes: TrackedElementResize[];
88
+ valid: {
89
+ size: boolean;
90
+ move: boolean;
91
+ };
92
+ options: ResizeOptions;
93
+ }
94
+ export declare class ChangeBoundsTracker {
95
+ readonly manager: ChangeBoundsManager;
96
+ protected diagramMovement: DiagramMovementCalculator;
97
+ constructor(manager: ChangeBoundsManager);
98
+ startTracking(): this;
99
+ updateTrackingPosition(param: Vector | Movement | TrackedMove): void;
100
+ isTracking(): boolean;
101
+ stopTracking(): this;
102
+ moveElements(elements: MoveableElements, opts?: Partial<MoveOptions>): TrackedMove;
103
+ protected resolveMoveOptions(opts?: Partial<MoveOptions>): MoveOptions;
104
+ protected calculateDiagramMovement(): Movement;
105
+ protected getMoveableElements(elements: MoveableElements, options: MoveOptions): MoveableElement[];
106
+ protected skipElementMove(elementMove: TrackedElementMove, options: MoveOptions): boolean;
107
+ protected calculateElementMove<T extends MoveableElement>(element: T, vector: Vector, options: MoveOptions): TypedElementMove<T>;
108
+ protected snapPosition(elementMove: TrackedElementMove, opts: MoveOptions): Point;
109
+ protected restrictMovement(elementMove: TrackedElementMove, opts: MoveOptions): Point;
110
+ protected validateElementMove(elementMove: TrackedElementMove, opts: MoveOptions): boolean;
111
+ resizeElements(handle: SResizeHandle, opts?: Partial<ResizeOptions>): TrackedResize;
112
+ protected resolveResizeOptions(opts?: Partial<ResizeOptions>): ResizeOptions;
113
+ protected calculateHandleMove(handle: MoveableResizeHandle, diagramMovement: Vector, opts?: Partial<ResizeOptions>): TrackedHandleMove;
114
+ protected getResizeableElements(handle: SResizeHandle, options: ResizeOptions): ResizableModelElement[];
115
+ protected skipElementResize(elementResize: TrackedElementResize, options: ResizeOptions): boolean;
116
+ protected calculateElementResize(element: ResizableModelElement, handleMove: TrackedHandleMove, options: ResizeOptions): TrackedElementResize;
117
+ protected calculateElementBounds(element: ResizableModelElement, handleMove: TrackedHandleMove, options: ResizeOptions): Bounds;
118
+ protected calculateSymmetricHandleMove(handleMove: TrackedHandleMove, options: ResizeOptions): TrackedHandleMove;
119
+ protected calculateBounds(src: Readonly<Bounds>, handleMove?: TrackedHandleMove): Bounds;
120
+ protected doCalculateBounds(src: Readonly<Bounds>, vector: Vector, location: ResizeHandleLocation): Bounds;
121
+ protected constrainResizeVector(src: Readonly<Bounds>, handleMove: TrackedHandleMove, minimum: Dimension): Vector;
122
+ dispose(): void;
123
+ }
124
+ export declare class MoveableResizeHandle extends SResizeHandle implements Locateable {
125
+ protected handle: SResizeHandle;
126
+ location: ResizeHandleLocation;
127
+ readonly position: Point;
128
+ constructor(handle: SResizeHandle, location?: ResizeHandleLocation, position?: Point);
129
+ opposite(): MoveableResizeHandle;
130
+ }
131
+ export declare class MoveableRoutingHandle extends GRoutingHandle implements Locateable {
132
+ protected handle: GRoutingHandle;
133
+ readonly position: Point;
134
+ constructor(handle: GRoutingHandle, position: Point);
135
+ }
136
+ //# sourceMappingURL=change-bounds-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-bounds-tracker.d.ts","sourceRoot":"","sources":["../../../../src/features/tools/change-bounds/change-bounds-tracker.ts"],"names":[],"mappings":"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"}