Skip to content

Commit 2c51fce

Browse files
authored
Update deprecated vector_math calls (flutter#169477)
We updated pkg:vector_math to eliminate MANY dynamic calls. This PR updates the API calls to the soundly typed variants. Should be ZERO behavior changes, so no tests changes included.
1 parent d810bad commit 2c51fce

24 files changed

+72
-65
lines changed

packages/flutter/lib/src/cupertino/nav_bar.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,7 +1742,7 @@ class _RenderLargeTitle extends RenderShiftedBox {
17421742

17431743
super.applyPaintTransform(child, transform);
17441744

1745-
transform.scale(_scale, _scale);
1745+
transform.scaleByDouble(_scale, _scale, _scale, 1);
17461746
}
17471747

17481748
@override
@@ -1776,8 +1776,8 @@ class _RenderLargeTitle extends RenderShiftedBox {
17761776

17771777
final Matrix4 transform =
17781778
Matrix4.identity()
1779-
..scale(1.0 / _scale, 1.0 / _scale, 1.0)
1780-
..translate(-childOffset.dx, -childOffset.dy);
1779+
..scaleByDouble(1.0 / _scale, 1.0 / _scale, 1.0, 1)
1780+
..translateByDouble(-childOffset.dx, -childOffset.dy, 0, 1);
17811781

17821782
return result.addWithRawTransform(
17831783
transform: transform,
@@ -2357,7 +2357,7 @@ class _BackChevron extends StatelessWidget {
23572357
switch (textDirection) {
23582358
case TextDirection.rtl:
23592359
iconWidget = Transform(
2360-
transform: Matrix4.identity()..scale(-1.0, 1.0, 1.0),
2360+
transform: Matrix4.identity()..scaleByDouble(-1.0, 1.0, 1.0, 1),
23612361
alignment: Alignment.center,
23622362
transformHitTests: false,
23632363
child: iconWidget,

packages/flutter/lib/src/cupertino/text_selection.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,9 @@ class CupertinoTextSelectionControls extends TextSelectionControls {
141141
return Transform(
142142
transform:
143143
Matrix4.identity()
144-
..translate(desiredSize.width / 2, desiredSize.height / 2)
144+
..translateByDouble(desiredSize.width / 2, desiredSize.height / 2, 0, 1)
145145
..rotateZ(math.pi)
146-
..translate(-desiredSize.width / 2, -desiredSize.height / 2),
146+
..translateByDouble(-desiredSize.width / 2, -desiredSize.height / 2, 0, 1),
147147
child: handle,
148148
);
149149
// iOS should draw an invisible box so the handle can still receive gestures

packages/flutter/lib/src/gestures/hit_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class _OffsetTransformPart extends _TransformPart {
103103

104104
@override
105105
Matrix4 multiply(Matrix4 rhs) {
106-
return rhs.clone()..leftTranslate(offset.dx, offset.dy);
106+
return rhs.clone()..leftTranslateByDouble(offset.dx, offset.dy, 0, 1);
107107
}
108108
}
109109

packages/flutter/lib/src/material/flexible_space_bar.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,8 @@ class _FlexibleSpaceBarState extends State<FlexibleSpaceBar> {
333333
begin: widget.expandedTitleScale,
334334
end: 1.0,
335335
).transform(t);
336-
final Matrix4 scaleTransform = Matrix4.identity()..scale(scaleValue, scaleValue, 1.0);
336+
final Matrix4 scaleTransform =
337+
Matrix4.identity()..scaleByDouble(scaleValue, scaleValue, 1.0, 1);
337338
final Alignment titleAlignment = _getTitleAlignment(effectiveCenterTitle);
338339
children.add(
339340
Padding(

packages/flutter/lib/src/material/input_decorator.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1604,8 +1604,8 @@ class _RenderDecoration extends RenderBox
16041604
final double dy = lerpDouble(0.0, floatingY - labelOffset.dy, t)!;
16051605
_labelTransform =
16061606
Matrix4.identity()
1607-
..translate(dx, labelOffset.dy + dy)
1608-
..scale(scale);
1607+
..translateByDouble(dx, labelOffset.dy + dy, 0, 1)
1608+
..scaleByDouble(scale, scale, scale, 1);
16091609
layer = context.pushTransform(
16101610
needsCompositing,
16111611
offset,
@@ -1636,7 +1636,7 @@ class _RenderDecoration extends RenderBox
16361636
final Offset labelOffset = _boxParentData(label!).offset;
16371637
transform
16381638
..multiply(_labelTransform!)
1639-
..translate(-labelOffset.dx, -labelOffset.dy);
1639+
..translateByDouble(-labelOffset.dx, -labelOffset.dy, 0, 1);
16401640
}
16411641
super.applyPaintTransform(child, transform);
16421642
}

packages/flutter/lib/src/material/page_transitions_theme.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,10 +1261,10 @@ void _updateScaledTransform(Matrix4 transform, double scale, Size size) {
12611261
if (scale == 1.0) {
12621262
return;
12631263
}
1264-
transform.scale(scale, scale);
1264+
transform.scaleByDouble(scale, scale, scale, 1);
12651265
final double dx = ((size.width * scale) - size.width) / 2;
12661266
final double dy = ((size.height * scale) - size.height) / 2;
1267-
transform.translate(-dx, -dy);
1267+
transform.translateByDouble(-dx, -dy, 0, 1);
12681268
}
12691269

12701270
mixin _ZoomTransitionBase<S extends StatefulWidget> on State<S> {

packages/flutter/lib/src/material/text_selection_toolbar.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ class _TextSelectionToolbarTrailingEdgeAlignRenderBox extends RenderProxyBox {
370370
@override
371371
void applyPaintTransform(RenderObject child, Matrix4 transform) {
372372
final ToolbarItemsParentData childParentData = child.parentData! as ToolbarItemsParentData;
373-
transform.translate(childParentData.offset.dx, childParentData.offset.dy);
373+
transform.translateByDouble(childParentData.offset.dx, childParentData.offset.dy, 0, 1);
374374
super.applyPaintTransform(child, transform);
375375
}
376376
}

packages/flutter/lib/src/painting/gradient.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class GradientRotation extends GradientTransform {
121121
final double originY = -sinRadians * center.dx + oneMinusCosRadians * center.dy;
122122

123123
return Matrix4.identity()
124-
..translate(originX, originY)
124+
..translateByDouble(originX, originY, 0, 1)
125125
..rotateZ(radians);
126126
}
127127

packages/flutter/lib/src/rendering/box.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ import 'dart:ui' as ui show ViewConstraints, lerpDouble;
1717

1818
import 'package:flutter/foundation.dart';
1919
import 'package:flutter/gestures.dart';
20-
21-
import 'package:vector_math/vector_math_64.dart';
20+
import 'package:vector_math/vector_math_64.dart' show Matrix4, Vector3;
2221

2322
import 'debug.dart';
2423
import 'object.dart';
@@ -3037,7 +3036,7 @@ abstract class RenderBox extends RenderObject {
30373036
}());
30383037
final BoxParentData childParentData = child.parentData! as BoxParentData;
30393038
final Offset offset = childParentData.offset;
3040-
transform.translate(offset.dx, offset.dy);
3039+
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
30413040
}
30423041

30433042
/// Convert the given point from the global coordinate system in logical pixels

packages/flutter/lib/src/rendering/layer.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import 'package:flutter/foundation.dart';
1818
import 'package:flutter/gestures.dart';
1919
import 'package:flutter/painting.dart';
2020
import 'package:flutter/scheduler.dart';
21-
import 'package:vector_math/vector_math_64.dart';
21+
import 'package:vector_math/vector_math_64.dart' show Vector4;
2222

2323
import 'debug.dart';
2424

@@ -1491,7 +1491,7 @@ class OffsetLayer extends ContainerLayer {
14911491
@override
14921492
void applyTransform(Layer? child, Matrix4 transform) {
14931493
assert(child != null);
1494-
transform.translate(offset.dx, offset.dy);
1494+
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
14951495
}
14961496

14971497
@override
@@ -1519,7 +1519,7 @@ class OffsetLayer extends ContainerLayer {
15191519
ui.Scene _createSceneForImage(Rect bounds, {double pixelRatio = 1.0}) {
15201520
final ui.SceneBuilder builder = ui.SceneBuilder();
15211521
final Matrix4 transform = Matrix4.diagonal3Values(pixelRatio, pixelRatio, 1);
1522-
transform.translate(-(bounds.left + offset.dx), -(bounds.top + offset.dy));
1522+
transform.translateByDouble(-(bounds.left + offset.dx), -(bounds.top + offset.dy), 0, 1);
15231523
builder.pushTransform(transform.storage);
15241524
return buildScene(builder);
15251525
}
@@ -2578,7 +2578,7 @@ class LeaderLayer extends ContainerLayer {
25782578
@override
25792579
void applyTransform(Layer? child, Matrix4 transform) {
25802580
if (offset != Offset.zero) {
2581-
transform.translate(offset.dx, offset.dy);
2581+
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
25822582
}
25832583
}
25842584

@@ -2826,7 +2826,7 @@ class FollowerLayer extends ContainerLayer {
28262826
// of the leader layer, to account for the leader's additional paint offset
28272827
// and layer offset (LeaderLayer.offset).
28282828
leader.applyTransform(null, forwardTransform);
2829-
forwardTransform.translate(linkedOffset!.dx, linkedOffset!.dy);
2829+
forwardTransform.translateByDouble(linkedOffset!.dx, linkedOffset!.dy, 0, 1);
28302830

28312831
final Matrix4 inverseTransform = _collectTransformForLayerChain(inverseLayers);
28322832

0 commit comments

Comments
 (0)