mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
Migrate deprecated vector_math calls
This commit is contained in:
parent
a79827a310
commit
e187d015c8
@ -1742,7 +1742,7 @@ class _RenderLargeTitle extends RenderShiftedBox {
|
||||
|
||||
super.applyPaintTransform(child, transform);
|
||||
|
||||
transform.scale(_scale, _scale);
|
||||
transform.scaledByDouble(_scale, _scale, _scale, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
@ -1776,8 +1776,8 @@ class _RenderLargeTitle extends RenderShiftedBox {
|
||||
|
||||
final Matrix4 transform =
|
||||
Matrix4.identity()
|
||||
..scale(1.0 / _scale, 1.0 / _scale, 1.0)
|
||||
..translate(-childOffset.dx, -childOffset.dy);
|
||||
..scaleByDouble(1.0 / _scale, 1.0 / _scale, 1.0, 1)
|
||||
..translateByDouble(-childOffset.dx, -childOffset.dy, 0, 1);
|
||||
|
||||
return result.addWithRawTransform(
|
||||
transform: transform,
|
||||
@ -2357,7 +2357,7 @@ class _BackChevron extends StatelessWidget {
|
||||
switch (textDirection) {
|
||||
case TextDirection.rtl:
|
||||
iconWidget = Transform(
|
||||
transform: Matrix4.identity()..scale(-1.0, 1.0, 1.0),
|
||||
transform: Matrix4.identity()..scaleByDouble(-1.0, 1.0, 1.0, 1),
|
||||
alignment: Alignment.center,
|
||||
transformHitTests: false,
|
||||
child: iconWidget,
|
||||
|
@ -141,9 +141,9 @@ class CupertinoTextSelectionControls extends TextSelectionControls {
|
||||
return Transform(
|
||||
transform:
|
||||
Matrix4.identity()
|
||||
..translate(desiredSize.width / 2, desiredSize.height / 2)
|
||||
..translateByDouble(desiredSize.width / 2, desiredSize.height / 2, 0, 1)
|
||||
..rotateZ(math.pi)
|
||||
..translate(-desiredSize.width / 2, -desiredSize.height / 2),
|
||||
..translateByDouble(-desiredSize.width / 2, -desiredSize.height / 2, 0, 1),
|
||||
child: handle,
|
||||
);
|
||||
// iOS should draw an invisible box so the handle can still receive gestures
|
||||
|
@ -103,7 +103,7 @@ class _OffsetTransformPart extends _TransformPart {
|
||||
|
||||
@override
|
||||
Matrix4 multiply(Matrix4 rhs) {
|
||||
return rhs.clone()..leftTranslate(offset.dx, offset.dy);
|
||||
return rhs.clone()..leftTranslateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -333,7 +333,8 @@ class _FlexibleSpaceBarState extends State<FlexibleSpaceBar> {
|
||||
begin: widget.expandedTitleScale,
|
||||
end: 1.0,
|
||||
).transform(t);
|
||||
final Matrix4 scaleTransform = Matrix4.identity()..scale(scaleValue, scaleValue, 1.0);
|
||||
final Matrix4 scaleTransform =
|
||||
Matrix4.identity()..scaleByDouble(scaleValue, scaleValue, 1.0, 1);
|
||||
final Alignment titleAlignment = _getTitleAlignment(effectiveCenterTitle);
|
||||
children.add(
|
||||
Padding(
|
||||
|
@ -1604,8 +1604,8 @@ class _RenderDecoration extends RenderBox
|
||||
final double dy = lerpDouble(0.0, floatingY - labelOffset.dy, t)!;
|
||||
_labelTransform =
|
||||
Matrix4.identity()
|
||||
..translate(dx, labelOffset.dy + dy)
|
||||
..scale(scale);
|
||||
..translateByDouble(dx, labelOffset.dy + dy,0,1)
|
||||
..scaleByDouble(scale, scale, scale, 1);
|
||||
layer = context.pushTransform(
|
||||
needsCompositing,
|
||||
offset,
|
||||
@ -1636,7 +1636,7 @@ class _RenderDecoration extends RenderBox
|
||||
final Offset labelOffset = _boxParentData(label!).offset;
|
||||
transform
|
||||
..multiply(_labelTransform!)
|
||||
..translate(-labelOffset.dx, -labelOffset.dy);
|
||||
..translateByDouble(-labelOffset.dx, -labelOffset.dy, 0, 1);
|
||||
}
|
||||
super.applyPaintTransform(child, transform);
|
||||
}
|
||||
|
@ -1261,10 +1261,10 @@ void _updateScaledTransform(Matrix4 transform, double scale, Size size) {
|
||||
if (scale == 1.0) {
|
||||
return;
|
||||
}
|
||||
transform.scale(scale, scale);
|
||||
transform.scaleByDouble(scale, scale, scale, 1);
|
||||
final double dx = ((size.width * scale) - size.width) / 2;
|
||||
final double dy = ((size.height * scale) - size.height) / 2;
|
||||
transform.translate(-dx, -dy);
|
||||
transform.translateByDouble(-dx, -dy, 0, 1);
|
||||
}
|
||||
|
||||
mixin _ZoomTransitionBase<S extends StatefulWidget> on State<S> {
|
||||
|
@ -370,7 +370,7 @@ class _TextSelectionToolbarTrailingEdgeAlignRenderBox extends RenderProxyBox {
|
||||
@override
|
||||
void applyPaintTransform(RenderObject child, Matrix4 transform) {
|
||||
final ToolbarItemsParentData childParentData = child.parentData! as ToolbarItemsParentData;
|
||||
transform.translate(childParentData.offset.dx, childParentData.offset.dy);
|
||||
transform.translateByDouble(childParentData.offset.dx, childParentData.offset.dy, 0, 1);
|
||||
super.applyPaintTransform(child, transform);
|
||||
}
|
||||
}
|
||||
|
@ -12,10 +12,7 @@ import 'dart:math' as math;
|
||||
import 'dart:ui' as ui show Gradient, lerpDouble;
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:vector_math/vector_math_64.dart';
|
||||
|
||||
import 'alignment.dart';
|
||||
import 'basic_types.dart';
|
||||
import 'package:flutter/rendering.dart';
|
||||
|
||||
class _ColorsAndStops {
|
||||
_ColorsAndStops(this.colors, this.stops);
|
||||
@ -121,7 +118,7 @@ class GradientRotation extends GradientTransform {
|
||||
final double originY = -sinRadians * center.dx + oneMinusCosRadians * center.dy;
|
||||
|
||||
return Matrix4.identity()
|
||||
..translate(originX, originY)
|
||||
..translateByDouble(originX, originY, 0, 1)
|
||||
..rotateZ(radians);
|
||||
}
|
||||
|
||||
|
@ -17,8 +17,7 @@ import 'dart:ui' as ui show ViewConstraints, lerpDouble;
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
|
||||
import 'package:vector_math/vector_math_64.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' show Matrix4, Vector3;
|
||||
|
||||
import 'debug.dart';
|
||||
import 'object.dart';
|
||||
@ -3037,7 +3036,7 @@ abstract class RenderBox extends RenderObject {
|
||||
}());
|
||||
final BoxParentData childParentData = child.parentData! as BoxParentData;
|
||||
final Offset offset = childParentData.offset;
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
|
||||
/// Convert the given point from the global coordinate system in logical pixels
|
||||
|
@ -18,7 +18,7 @@ import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/painting.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:vector_math/vector_math_64.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' show Vector4;
|
||||
|
||||
import 'debug.dart';
|
||||
|
||||
@ -1491,7 +1491,7 @@ class OffsetLayer extends ContainerLayer {
|
||||
@override
|
||||
void applyTransform(Layer? child, Matrix4 transform) {
|
||||
assert(child != null);
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
@ -1519,7 +1519,7 @@ class OffsetLayer extends ContainerLayer {
|
||||
ui.Scene _createSceneForImage(Rect bounds, {double pixelRatio = 1.0}) {
|
||||
final ui.SceneBuilder builder = ui.SceneBuilder();
|
||||
final Matrix4 transform = Matrix4.diagonal3Values(pixelRatio, pixelRatio, 1);
|
||||
transform.translate(-(bounds.left + offset.dx), -(bounds.top + offset.dy));
|
||||
transform.translateByDouble(-(bounds.left + offset.dx), -(bounds.top + offset.dy), 0, 1);
|
||||
builder.pushTransform(transform.storage);
|
||||
return buildScene(builder);
|
||||
}
|
||||
@ -2578,7 +2578,7 @@ class LeaderLayer extends ContainerLayer {
|
||||
@override
|
||||
void applyTransform(Layer? child, Matrix4 transform) {
|
||||
if (offset != Offset.zero) {
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2826,7 +2826,7 @@ class FollowerLayer extends ContainerLayer {
|
||||
// of the leader layer, to account for the leader's additional paint offset
|
||||
// and layer offset (LeaderLayer.offset).
|
||||
leader.applyTransform(null, forwardTransform);
|
||||
forwardTransform.translate(linkedOffset!.dx, linkedOffset!.dy);
|
||||
forwardTransform.translateByDouble(linkedOffset!.dx, linkedOffset!.dy, 0, 1);
|
||||
|
||||
final Matrix4 inverseTransform = _collectTransformForLayerChain(inverseLayers);
|
||||
|
||||
|
@ -1020,7 +1020,7 @@ class RenderListWheelViewport extends RenderBox
|
||||
final ListWheelParentData childParentData = child.parentData! as ListWheelParentData;
|
||||
// Save the final transform that accounts both for the offset and cylindrical transform.
|
||||
final Matrix4 transform = _centerOriginTransform(cylindricalTransform)
|
||||
..translate(paintOriginOffset.dx, paintOriginOffset.dy);
|
||||
..translateByDouble(paintOriginOffset.dx, paintOriginOffset.dy, 0, 1);
|
||||
childParentData.transform = transform;
|
||||
}
|
||||
|
||||
@ -1028,9 +1028,9 @@ class RenderListWheelViewport extends RenderBox
|
||||
/// magnified area.
|
||||
Matrix4 _magnifyTransform() {
|
||||
final Matrix4 magnify = Matrix4.identity();
|
||||
magnify.translate(size.width * (-_offAxisFraction + 0.5), size.height / 2);
|
||||
magnify.scale(_magnification, _magnification, _magnification);
|
||||
magnify.translate(-size.width * (-_offAxisFraction + 0.5), -size.height / 2);
|
||||
magnify.translateByDouble(size.width * (-_offAxisFraction + 0.5), size.height / 2, 0, 1);
|
||||
magnify.scaledByDouble(_magnification, _magnification, _magnification, 1.0);
|
||||
magnify.translateByDouble(-size.width * (-_offAxisFraction + 0.5), -size.height / 2, 0, 1);
|
||||
return magnify;
|
||||
}
|
||||
|
||||
@ -1039,14 +1039,18 @@ class RenderListWheelViewport extends RenderBox
|
||||
Matrix4 _centerOriginTransform(Matrix4 originalMatrix) {
|
||||
final Matrix4 result = Matrix4.identity();
|
||||
final Offset centerOriginTranslation = Alignment.center.alongSize(size);
|
||||
result.translate(
|
||||
result.translateByDouble(
|
||||
centerOriginTranslation.dx * (-_offAxisFraction * 2 + 1),
|
||||
centerOriginTranslation.dy,
|
||||
0,
|
||||
1,
|
||||
);
|
||||
result.multiply(originalMatrix);
|
||||
result.translate(
|
||||
result.translateByDouble(
|
||||
-centerOriginTranslation.dx * (-_offAxisFraction * 2 + 1),
|
||||
-centerOriginTranslation.dy,
|
||||
0,
|
||||
1,
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
@ -780,7 +780,7 @@ class PaintingContext extends ClipContext {
|
||||
final Matrix4 effectiveTransform =
|
||||
Matrix4.translationValues(offset.dx, offset.dy, 0.0)
|
||||
..multiply(transform)
|
||||
..translate(-offset.dx, -offset.dy);
|
||||
..translateByDouble(-offset.dx, -offset.dy, 0, 1);
|
||||
if (needsCompositing) {
|
||||
final TransformLayer layer = oldLayer ?? TransformLayer();
|
||||
layer.transform = effectiveTransform;
|
||||
|
@ -248,7 +248,7 @@ mixin RenderInlineChildrenContainerDefaults
|
||||
if (offset == null) {
|
||||
transform.setZero();
|
||||
} else {
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2606,14 +2606,14 @@ class RenderTransform extends RenderProxyBox {
|
||||
|
||||
/// Concatenates a translation by (x, y, z) into the transform.
|
||||
void translate(double x, [double y = 0.0, double z = 0.0]) {
|
||||
_transform!.translate(x, y, z);
|
||||
_transform!.translateByDouble(x, y, z, 1);
|
||||
markNeedsPaint();
|
||||
markNeedsSemanticsUpdate();
|
||||
}
|
||||
|
||||
/// Concatenates a scale into the transform.
|
||||
void scale(double x, [double? y, double? z]) {
|
||||
_transform!.scale(x, y, z);
|
||||
_transform!.scaledByDouble(x, y ?? x, z ?? x, 1);
|
||||
markNeedsPaint();
|
||||
markNeedsSemanticsUpdate();
|
||||
}
|
||||
@ -2625,19 +2625,19 @@ class RenderTransform extends RenderProxyBox {
|
||||
}
|
||||
final Matrix4 result = Matrix4.identity();
|
||||
if (_origin != null) {
|
||||
result.translate(_origin!.dx, _origin!.dy);
|
||||
result.translateByDouble(_origin!.dx, _origin!.dy, 0, 1);
|
||||
}
|
||||
Offset? translation;
|
||||
if (resolvedAlignment != null) {
|
||||
translation = resolvedAlignment.alongSize(size);
|
||||
result.translate(translation.dx, translation.dy);
|
||||
result.translateByDouble(translation.dx, translation.dy, 0, 1);
|
||||
}
|
||||
result.multiply(_transform!);
|
||||
if (resolvedAlignment != null) {
|
||||
result.translate(-translation!.dx, -translation.dy);
|
||||
result.translateByDouble(-translation!.dx, -translation.dy, 0, 1);
|
||||
}
|
||||
if (_origin != null) {
|
||||
result.translate(-_origin!.dx, -_origin!.dy);
|
||||
result.translateByDouble(-_origin!.dx, -_origin!.dy, 0, 1);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -2692,7 +2692,7 @@ class RenderTransform extends RenderProxyBox {
|
||||
final Matrix4 effectiveTransform =
|
||||
Matrix4.translationValues(offset.dx, offset.dy, 0.0)
|
||||
..multiply(transform)
|
||||
..translate(-offset.dx, -offset.dy);
|
||||
..translateByDouble(-offset.dx, -offset.dy, 0, 1);
|
||||
final ui.ImageFilter filter = ui.ImageFilter.matrix(
|
||||
effectiveTransform.storage,
|
||||
filterQuality: filterQuality!,
|
||||
@ -2911,8 +2911,8 @@ class RenderFittedBox extends RenderProxyBox {
|
||||
assert(scaleX.isFinite && scaleY.isFinite);
|
||||
_transform =
|
||||
Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0)
|
||||
..scale(scaleX, scaleY, 1.0)
|
||||
..translate(-sourceRect.left, -sourceRect.top);
|
||||
..scaleByDouble(scaleX, scaleY, 1.0, 1)
|
||||
..translateByDouble(-sourceRect.left, -sourceRect.top, 0, 1);
|
||||
assert(_transform!.storage.every((double value) => value.isFinite));
|
||||
}
|
||||
}
|
||||
@ -3072,7 +3072,7 @@ class RenderFractionalTranslation extends RenderProxyBox {
|
||||
|
||||
@override
|
||||
void applyPaintTransform(RenderBox child, Matrix4 transform) {
|
||||
transform.translate(translation.dx * size.width, translation.dy * size.height);
|
||||
transform.translateByDouble(translation.dx * size.width, translation.dy * size.height, 0, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -8,7 +8,7 @@ library;
|
||||
import 'dart:math' as math;
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:vector_math/vector_math_64.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' show Matrix4;
|
||||
|
||||
import 'box.dart';
|
||||
import 'layer.dart';
|
||||
@ -92,9 +92,9 @@ class RenderRotatedBox extends RenderBox with RenderObjectWithChildMixin<RenderB
|
||||
size = _isVertical ? Size(child!.size.height, child!.size.width) : child!.size;
|
||||
_paintTransform =
|
||||
Matrix4.identity()
|
||||
..translate(size.width / 2.0, size.height / 2.0)
|
||||
..translateByDouble(size.width / 2.0, size.height / 2.0, 0, 1)
|
||||
..rotateZ(_kQuarterTurnsInRadians * (quarterTurns % 4))
|
||||
..translate(-child!.size.width / 2.0, -child!.size.height / 2.0);
|
||||
..translateByDouble(-child!.size.width / 2.0, -child!.size.height / 2.0, 0, 1);
|
||||
} else {
|
||||
size = constraints.smallest;
|
||||
}
|
||||
|
@ -1135,7 +1135,7 @@ class SliverPhysicalParentData extends ParentData {
|
||||
/// [SliverPhysicalParentData].
|
||||
void applyPaintTransform(Matrix4 transform) {
|
||||
// Hit test logic relies on this always providing an invertible matrix.
|
||||
transform.translate(paintOffset.dx, paintOffset.dy);
|
||||
transform.translateByDouble(paintOffset.dx, paintOffset.dy, 0, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
@ -1913,12 +1913,12 @@ mixin RenderSliverHelpers implements RenderSliver {
|
||||
if (!rightWayUp) {
|
||||
delta = geometry!.paintExtent - child.size.width - delta;
|
||||
}
|
||||
transform.translate(delta, crossAxisDelta);
|
||||
transform.translateByDouble(delta, crossAxisDelta, 0, 1);
|
||||
case Axis.vertical:
|
||||
if (!rightWayUp) {
|
||||
delta = geometry!.paintExtent - child.size.height - delta;
|
||||
}
|
||||
transform.translate(crossAxisDelta, delta);
|
||||
transform.translateByDouble(crossAxisDelta, delta, 0, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2087,7 +2087,7 @@ class RenderShrinkWrappingViewport extends RenderViewportBase<SliverLogicalConta
|
||||
void applyPaintTransform(RenderObject child, Matrix4 transform) {
|
||||
// Hit test logic relies on this always providing an invertible matrix.
|
||||
final Offset offset = paintOffsetOf(child as RenderSliver);
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -542,7 +542,8 @@ class _RawAutocompleteState<T extends Object> extends State<RawAutocomplete<T>>
|
||||
OptionsViewOpenDirection.down => overlayRectInField.bottom - optionsViewBoundingBox.height,
|
||||
};
|
||||
|
||||
final Matrix4 transform = layoutInfo.childPaintTransform.clone()..translate(0.0, originY);
|
||||
final Matrix4 transform =
|
||||
layoutInfo.childPaintTransform.clone()..translateByDouble(0.0, originY, 0, 1);
|
||||
final Widget child = Builder(
|
||||
builder: (BuildContext context) => widget.optionsViewBuilder(context, _select, _options),
|
||||
);
|
||||
|
@ -334,7 +334,7 @@ class Icon extends StatelessWidget {
|
||||
switch (textDirection) {
|
||||
case TextDirection.rtl:
|
||||
iconWidget = Transform(
|
||||
transform: Matrix4.identity()..scale(-1.0, 1.0, 1.0),
|
||||
transform: Matrix4.identity()..scaleByDouble(-1.0, 1.0, 1.0, 1),
|
||||
alignment: Alignment.center,
|
||||
transformHitTests: false,
|
||||
child: iconWidget,
|
||||
|
@ -12,7 +12,8 @@ import 'dart:math' as math;
|
||||
import 'package:flutter/foundation.dart' show clampDouble;
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/physics.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' show Matrix4, Quad, Vector3;
|
||||
import 'package:flutter/rendering.dart';
|
||||
import 'package:vector_math/vector_math_64.dart' show Quad, Vector3;
|
||||
|
||||
import 'basic.dart';
|
||||
import 'framework.dart';
|
||||
@ -565,7 +566,7 @@ class _InteractiveViewerState extends State<InteractiveViewer> with TickerProvid
|
||||
}
|
||||
|
||||
final Matrix4 nextMatrix =
|
||||
matrix.clone()..translate(alignedTranslation.dx, alignedTranslation.dy);
|
||||
matrix.clone()..translateByDouble(alignedTranslation.dx, alignedTranslation.dy, 0, 1);
|
||||
|
||||
// Transform the viewport to determine where its four corners will be after
|
||||
// the child has been transformed.
|
||||
@ -658,7 +659,7 @@ class _InteractiveViewerState extends State<InteractiveViewer> with TickerProvid
|
||||
);
|
||||
final double clampedTotalScale = clampDouble(totalScale, widget.minScale, widget.maxScale);
|
||||
final double clampedScale = clampedTotalScale / currentScale;
|
||||
return matrix.clone()..scale(clampedScale);
|
||||
return matrix.clone()..scaleByDouble(clampedScale, clampedScale, clampedScale, 1);
|
||||
}
|
||||
|
||||
// Return a new matrix representing the given matrix after applying the given
|
||||
@ -669,9 +670,9 @@ class _InteractiveViewerState extends State<InteractiveViewer> with TickerProvid
|
||||
}
|
||||
final Offset focalPointScene = _transformer.toScene(focalPoint);
|
||||
return matrix.clone()
|
||||
..translate(focalPointScene.dx, focalPointScene.dy)
|
||||
..translateByDouble(focalPointScene.dx, focalPointScene.dy, 0, 1)
|
||||
..rotateZ(-rotation)
|
||||
..translate(-focalPointScene.dx, -focalPointScene.dy);
|
||||
..translateByDouble(-focalPointScene.dx, -focalPointScene.dy, 0, 1);
|
||||
}
|
||||
|
||||
// Returns true iff the given _GestureType is enabled.
|
||||
@ -1236,9 +1237,9 @@ Quad _transformViewport(Matrix4 matrix, Rect viewport) {
|
||||
Quad _getAxisAlignedBoundingBoxWithRotation(Rect rect, double rotation) {
|
||||
final Matrix4 rotationMatrix =
|
||||
Matrix4.identity()
|
||||
..translate(rect.size.width / 2, rect.size.height / 2)
|
||||
..translateByDouble(rect.size.width / 2, rect.size.height / 2, 0, 1)
|
||||
..rotateZ(rotation)
|
||||
..translate(-rect.size.width / 2, -rect.size.height / 2);
|
||||
..translateByDouble(-rect.size.width / 2, -rect.size.height / 2, 0, 1);
|
||||
final Quad boundariesRotated = Quad.points(
|
||||
rotationMatrix.transform3(Vector3(rect.left, rect.top, 0.0)),
|
||||
rotationMatrix.transform3(Vector3(rect.right, rect.top, 0.0)),
|
||||
|
@ -631,11 +631,13 @@ class _RenderMagnification extends RenderProxyBox {
|
||||
final Offset thisCenter = Alignment.center.alongSize(size) + offset;
|
||||
final Matrix4 matrix =
|
||||
Matrix4.identity()
|
||||
..translate(
|
||||
..translateByDouble(
|
||||
magnificationScale * ((focalPointOffset.dx * -1) - thisCenter.dx) + thisCenter.dx,
|
||||
magnificationScale * ((focalPointOffset.dy * -1) - thisCenter.dy) + thisCenter.dy,
|
||||
0,
|
||||
1,
|
||||
)
|
||||
..scale(magnificationScale);
|
||||
..scaleByDouble(magnificationScale, magnificationScale, magnificationScale, 1);
|
||||
final ImageFilter filter = ImageFilter.matrix(
|
||||
matrix.storage,
|
||||
filterQuality: FilterQuality.high,
|
||||
|
@ -2547,7 +2547,7 @@ final class _RenderDeferredLayoutBox extends RenderProxyBox
|
||||
void applyPaintTransform(RenderBox child, Matrix4 transform) {
|
||||
final BoxParentData childParentData = child.parentData! as BoxParentData;
|
||||
final Offset offset = childParentData.offset;
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2663,7 +2663,7 @@ class _RenderLayoutBuilder extends RenderProxyBox
|
||||
void applyPaintTransform(RenderBox child, Matrix4 transform) {
|
||||
final BoxParentData childParentData = child.parentData! as BoxParentData;
|
||||
final Offset offset = childParentData.offset;
|
||||
transform.translate(offset.dx, offset.dy);
|
||||
transform.translateByDouble(offset.dx, offset.dy, 0, 1);
|
||||
}
|
||||
|
||||
@protected
|
||||
|
@ -576,7 +576,7 @@ class _RenderSingleChildViewport extends RenderBox
|
||||
@override
|
||||
void applyPaintTransform(RenderBox child, Matrix4 transform) {
|
||||
final Offset paintOffset = _paintOffset;
|
||||
transform.translate(paintOffset.dx, paintOffset.dy);
|
||||
transform.translateByDouble(paintOffset.dx, paintOffset.dy,0,1);
|
||||
}
|
||||
|
||||
@override
|
||||
|
@ -420,7 +420,7 @@ class _RenderScaledInlineWidget extends RenderBox with RenderObjectWithChildMixi
|
||||
|
||||
@override
|
||||
void applyPaintTransform(RenderBox child, Matrix4 transform) {
|
||||
transform.scale(scale, scale);
|
||||
transform.scaleByDouble(scale, scale, scale, 1);
|
||||
}
|
||||
|
||||
@override
|
||||
|
Loading…
Reference in New Issue
Block a user