Skip to content

Commit 67a3010

Browse files
committed
🚚 Rename allowBoxFlipping to allowFlipping
1 parent 10271ac commit 67a3010

21 files changed

+845
-874
lines changed

packages/box_transform/lib/src/transformer.dart

Lines changed: 21 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ class BoxTransformer {
7777
required Flip initialFlip,
7878
Box clampingRect = Box.largest,
7979
Constraints constraints = const Constraints.unconstrained(),
80-
bool allowBoxFlipping = true,
81-
bool allowResizeOverflow = false,
80+
bool allowFlipping = true,
8281
}) {
8382
if (handle == HandlePosition.none) {
8483
log('Using bottomRight handle instead of none.');
@@ -89,12 +88,12 @@ class BoxTransformer {
8988

9089
// getFlipForBox uses delta instead of localPosition to know exactly when
9190
// to flip based on the current local position of the mouse cursor.
92-
final Flip currentFlip = !allowBoxFlipping
91+
final Flip currentFlip = !allowFlipping
9392
? Flip.none
9493
: getFlipForBox(initialBox, delta, handle, resizeMode);
9594

9695
// This sets the constraints such that it reflects flipRect state.
97-
if (allowBoxFlipping &&
96+
if (allowFlipping &&
9897
(constraints.minWidth == 0 || constraints.minHeight == 0)) {
9998
// Rect flipping is enabled, but minWidth or minHeight is 0 which
10099
// means it won't be able to flip. So we update the constraints
@@ -109,7 +108,7 @@ class BoxTransformer {
109108
maxWidth: constraints.maxWidth,
110109
maxHeight: constraints.maxHeight,
111110
);
112-
} else if (!allowBoxFlipping && constraints.isUnconstrained) {
111+
} else if (!allowFlipping && constraints.isUnconstrained) {
113112
// Rect flipping is disabled, but the constraints are unconstrained.
114113
// So we update the constraints to prevent flipping.
115114
constraints = Constraints(
@@ -120,19 +119,28 @@ class BoxTransformer {
120119
);
121120
}
122121

122+
// Symmetric resizing requires the delta to be doubled since it grows or
123+
// shrinks in all directions from center.
123124
if (resizeMode.hasSymmetry) delta = Vector2(delta.x * 2, delta.y * 2);
124125

125-
({Box rect, Box largest, bool hasValidFlip}) result = _calculateNewBox(
126+
// No constraints or clamping is done. Only delta is applied to the
127+
// initial box.
128+
Box explodedRect = _applyDelta(
126129
initialBox: initialBox,
127130
handle: handle,
128131
delta: delta,
129-
flip: currentFlip,
130132
resizeMode: resizeMode,
133+
allowFlipping: allowFlipping,
134+
);
135+
136+
final Resizer resizer = Resizer.from(resizeMode);
137+
final ({Box rect, Box largest, bool hasValidFlip}) result = resizer.resize(
138+
explodedRect: explodedRect,
131139
clampingRect: clampingRect,
140+
handle: handle,
132141
constraints: constraints,
133-
allowResizeOverflow: allowResizeOverflow,
134-
localPosition: localPosition,
135-
flipRect: allowBoxFlipping,
142+
initialRect: initialBox,
143+
flip: currentFlip,
136144
);
137145

138146
final Box newRect = result.rect;
@@ -187,7 +195,7 @@ class BoxTransformer {
187195
required HandlePosition handle,
188196
required Vector2 delta,
189197
required ResizeMode resizeMode,
190-
required bool flipRect,
198+
required bool allowFlipping,
191199
}) {
192200
double left;
193201
double top;
@@ -202,7 +210,7 @@ class BoxTransformer {
202210
double width = right - left;
203211
double height = bottom - top;
204212

205-
if (flipRect) {
213+
if (allowFlipping) {
206214
width = width.abs();
207215
height = height.abs();
208216
} else {
@@ -223,7 +231,7 @@ class BoxTransformer {
223231
top = initialBox.top + heightDelta;
224232
right = initialBox.right - widthDelta;
225233
bottom = initialBox.bottom - heightDelta;
226-
} else if (!flipRect) {
234+
} else if (!allowFlipping) {
227235
// If not flipping, then we know that handles are not allowed to
228236
// cross the opposite one. So we use handle with width and height
229237
// instead of left, top, right, bottom to construct the new box.
@@ -242,37 +250,4 @@ class BoxTransformer {
242250
max(top, bottom),
243251
);
244252
}
245-
246-
static ({Box rect, Box largest, bool hasValidFlip}) _calculateNewBox({
247-
required Box initialBox,
248-
required HandlePosition handle,
249-
required Vector2 delta,
250-
required Flip flip,
251-
required ResizeMode resizeMode,
252-
Box clampingRect = Box.largest,
253-
Constraints constraints = const Constraints.unconstrained(),
254-
bool allowResizeOverflow = true,
255-
required Vector2 localPosition,
256-
required bool flipRect,
257-
}) {
258-
// No constraints or clamping is done. Only delta is applied to the
259-
// initial box.
260-
Box explodedRect = _applyDelta(
261-
initialBox: initialBox,
262-
handle: handle,
263-
delta: delta,
264-
resizeMode: resizeMode,
265-
flipRect: flipRect,
266-
);
267-
268-
final Resizer resizer = Resizer.from(resizeMode);
269-
return resizer.resize(
270-
explodedRect: explodedRect,
271-
clampingRect: clampingRect,
272-
handle: handle,
273-
constraints: constraints,
274-
initialRect: initialBox,
275-
flip: flip,
276-
);
277-
}
278253
}

packages/box_transform/test/alternating_constraints_resizing_test.dart

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ void main() {
1111
initialBox: Box.fromLTWH(203.88, 324.76, 279.93, 231.05),
1212
handle: HandlePosition.bottomRight,
1313
initialLocalPosition: Vector2(14.41, 12.80),
14-
allowBoxFlipping: true,
14+
allowFlipping: true,
1515
localPosition: Vector2(-31.25, 304.11),
1616
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
1717
constraints: Constraints(
@@ -29,7 +29,7 @@ void main() {
2929
initialBox: Box.fromLTWH(131.21, 211.78, 234.27, 500.00),
3030
handle: HandlePosition.bottomRight,
3131
initialLocalPosition: Vector2(13.13, 11.73),
32-
allowBoxFlipping: true,
32+
allowFlipping: true,
3333
localPosition: Vector2(348.01, 88.01),
3434
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
3535
constraints: Constraints(
@@ -47,7 +47,7 @@ void main() {
4747
initialBox: Box.fromLTWH(131.21, 211.78, 500.00, 500.00),
4848
handle: HandlePosition.bottomRight,
4949
initialLocalPosition: Vector2(10.68, 13.07),
50-
allowBoxFlipping: true,
50+
allowFlipping: true,
5151
localPosition: Vector2(-191.14, -243.30),
5252
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
5353
constraints: Constraints(
@@ -65,7 +65,7 @@ void main() {
6565
initialBox: Box.fromLTWH(131.21, 211.78, 298.18, 243.64),
6666
handle: HandlePosition.bottomRight,
6767
initialLocalPosition: Vector2(13.42, 9.13),
68-
allowBoxFlipping: true,
68+
allowFlipping: true,
6969
localPosition: Vector2(-355.17, -346.76),
7070
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
7171
constraints: Constraints(
@@ -83,7 +83,7 @@ void main() {
8383
initialBox: Box.fromLTWH(60.80, 99.53, 70.41, 112.25),
8484
handle: HandlePosition.topLeft,
8585
initialLocalPosition: Vector2(13.70, 13.32),
86-
allowBoxFlipping: true,
86+
allowFlipping: true,
8787
localPosition: Vector2(447.61, 388.42),
8888
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
8989
constraints: Constraints(
@@ -101,7 +101,7 @@ void main() {
101101
initialBox: Box.fromLTWH(131.21, 211.78, 363.50, 262.85),
102102
handle: HandlePosition.bottomRight,
103103
initialLocalPosition: Vector2(10.53, 12.87),
104-
allowBoxFlipping: true,
104+
allowFlipping: true,
105105
localPosition: Vector2(195.37, 160.40),
106106
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
107107
constraints: Constraints(
@@ -119,7 +119,7 @@ void main() {
119119
initialBox: Box.fromLTWH(131.21, 211.78, 500.00, 361.55),
120120
handle: HandlePosition.bottomRight,
121121
initialLocalPosition: Vector2(9.96, 8.98),
122-
allowBoxFlipping: true,
122+
allowFlipping: true,
123123
localPosition: Vector2(-247.68, -530.13),
124124
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
125125
constraints: Constraints(
@@ -137,7 +137,7 @@ void main() {
137137
initialBox: Box.fromLTWH(131.21, 64.95, 203.06, 146.83),
138138
handle: HandlePosition.topRight,
139139
initialLocalPosition: Vector2(12.28, 12.90),
140-
allowBoxFlipping: true,
140+
allowFlipping: true,
141141
localPosition: Vector2(92.99, 409.93),
142142
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
143143
constraints: Constraints(
@@ -155,7 +155,7 @@ void main() {
155155
initialBox: Box.fromLTWH(131.21, 211.78, 346.01, 250.20),
156156
handle: HandlePosition.bottom,
157157
initialLocalPosition: Vector2(161.04, 12.82),
158-
allowBoxFlipping: true,
158+
allowFlipping: true,
159159
localPosition: Vector2(171.63, 206.83),
160160
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
161161
constraints: Constraints(
@@ -173,7 +173,7 @@ void main() {
173173
initialBox: Box.fromLTWH(131.21, 86.88, 346.01, 500.00),
174174
handle: HandlePosition.bottom,
175175
initialLocalPosition: Vector2(162.79, 16.76),
176-
allowBoxFlipping: true,
176+
allowFlipping: true,
177177
localPosition: Vector2(164.05, -225.87),
178178
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
179179
constraints: Constraints(
@@ -191,7 +191,7 @@ void main() {
191191
initialBox: Box.fromLTWH(131.21, 329.51, 346.01, 14.73),
192192
handle: HandlePosition.top,
193193
initialLocalPosition: Vector2(164.98, 9.81),
194-
allowBoxFlipping: true,
194+
allowFlipping: true,
195195
localPosition: Vector2(169.32, 306.53),
196196
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
197197
constraints: Constraints(
@@ -209,7 +209,7 @@ void main() {
209209
initialBox: Box.fromLTWH(131.21, 86.88, 346.01, 500.00),
210210
handle: HandlePosition.right,
211211
initialLocalPosition: Vector2(14.43, 243.43),
212-
allowBoxFlipping: true,
212+
allowFlipping: true,
213213
localPosition: Vector2(-151.23, 239.08),
214214
clampingRect: Box.fromLTWH(49.45, 64.95, 629.23, 809.07),
215215
constraints: Constraints(
@@ -229,7 +229,7 @@ void main() {
229229
initialBox: Box.fromLTWH(131.22, 237.64, 283.32, 218.74),
230230
handle: HandlePosition.bottomRight,
231231
initialLocalPosition: Vector2(15.15, 14.43),
232-
allowBoxFlipping: true,
232+
allowFlipping: true,
233233
localPosition: Vector2(347.37, 119.88),
234234
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
235235
constraints: Constraints(
@@ -250,7 +250,7 @@ void main() {
250250
initialBox: Box.fromLTWH(131.22, 237.64, 599.02, 324.18),
251251
handle: HandlePosition.bottomRight,
252252
initialLocalPosition: Vector2(14.01, 12.91),
253-
allowBoxFlipping: true,
253+
allowFlipping: true,
254254
localPosition: Vector2(30.30, 376.21),
255255
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
256256
constraints: Constraints(
@@ -271,7 +271,7 @@ void main() {
271271
initialBox: Box.fromLTWH(131.22, 237.64, 599.02, 636.38),
272272
handle: HandlePosition.bottomRight,
273273
initialLocalPosition: Vector2(16.07, 11.46),
274-
allowBoxFlipping: true,
274+
allowFlipping: true,
275275
localPosition: Vector2(-333.58, -566.04),
276276
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
277277
constraints: Constraints(
@@ -292,7 +292,7 @@ void main() {
292292
initialBox: Box.fromLTWH(131.22, 237.64, 249.37, 100.00),
293293
handle: HandlePosition.right,
294294
initialLocalPosition: Vector2(13.96, 33.22),
295-
allowBoxFlipping: true,
295+
allowFlipping: true,
296296
localPosition: Vector2(-192.62, 26.48),
297297
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
298298
constraints: Constraints(
@@ -313,7 +313,7 @@ void main() {
313313
initialBox: Box.fromLTWH(131.22, 237.64, 100.00, 100.00),
314314
handle: HandlePosition.bottomRight,
315315
initialLocalPosition: Vector2(15.59, 12.48),
316-
allowBoxFlipping: true,
316+
allowFlipping: true,
317317
localPosition: Vector2(-172.91, -183.30),
318318
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
319319
constraints: Constraints(
@@ -334,7 +334,7 @@ void main() {
334334
initialBox: Box.fromLTWH(31.22, 137.64, 100.00, 100.00),
335335
handle: HandlePosition.topLeft,
336336
initialLocalPosition: Vector2(14.98, 10.80),
337-
allowBoxFlipping: true,
337+
allowFlipping: true,
338338
localPosition: Vector2(138.90, 784.20),
339339
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
340340
constraints: Constraints(
@@ -355,7 +355,7 @@ void main() {
355355
initialBox: Box.fromLTWH(131.22, 237.64, 100.00, 636.38),
356356
handle: HandlePosition.bottomLeft,
357357
initialLocalPosition: Vector2(9.76, 12.04),
358-
allowBoxFlipping: true,
358+
allowFlipping: true,
359359
localPosition: Vector2(624.53, -578.96),
360360
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
361361
constraints: Constraints(
@@ -376,7 +376,7 @@ void main() {
376376
initialBox: Box.fromLTWH(231.22, 237.64, 499.02, 100.00),
377377
handle: HandlePosition.right,
378378
initialLocalPosition: Vector2(14.30, 39.93),
379-
allowBoxFlipping: true,
379+
allowFlipping: true,
380380
localPosition: Vector2(-420.96, 20.00),
381381
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
382382
constraints: Constraints(
@@ -397,7 +397,7 @@ void main() {
397397
initialBox: Box.fromLTWH(231.22, 237.64, 100.00, 100.00),
398398
handle: HandlePosition.left,
399399
initialLocalPosition: Vector2(14.23, 40.81),
400-
allowBoxFlipping: true,
400+
allowFlipping: true,
401401
localPosition: Vector2(-217.46, 46.11),
402402
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
403403
constraints: Constraints(
@@ -418,7 +418,7 @@ void main() {
418418
initialBox: Box.fromLTWH(19.63, 237.64, 311.59, 100.00),
419419
handle: HandlePosition.bottom,
420420
initialLocalPosition: Vector2(134.71, 12.45),
421-
allowBoxFlipping: true,
421+
allowFlipping: true,
422422
localPosition: Vector2(135.14, 119.74),
423423
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
424424
constraints: Constraints(
@@ -439,7 +439,7 @@ void main() {
439439
initialBox: Box.fromLTWH(19.63, 237.64, 311.59, 207.29),
440440
handle: HandlePosition.top,
441441
initialLocalPosition: Vector2(141.13, 12.66),
442-
allowBoxFlipping: true,
442+
allowFlipping: true,
443443
localPosition: Vector2(114.79, 170.97),
444444
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
445445
constraints: Constraints(
@@ -460,7 +460,7 @@ void main() {
460460
initialBox: Box.fromLTWH(19.63, 344.92, 311.59, 100.00),
461461
handle: HandlePosition.topRight,
462462
initialLocalPosition: Vector2(12.12, 13.11),
463-
allowBoxFlipping: true,
463+
allowFlipping: true,
464464
localPosition: Vector2(-235.58, 68.88),
465465
clampingRect: Box.fromLTWH(19.63, 50.26, 710.61, 823.75),
466466
constraints: Constraints(

0 commit comments

Comments
 (0)