Revert "Push physical layers with paths instead of rects in RenderPhysicalModel. (#13942)" (#13988)
This reverts commit 57b4a52555388a613d3e4d5378b5bdf761d5f8df.
diff --git a/bin/internal/engine.version b/bin/internal/engine.version
index 14a110d..609a229 100644
--- a/bin/internal/engine.version
+++ b/bin/internal/engine.version
@@ -1 +1 @@
-d8740c70a58ada74aff5b773e2bec9d622c42a97
+6a724f0d3e22d41246baf3447d7ba2c9ff886765
diff --git a/packages/flutter/lib/src/rendering/layer.dart b/packages/flutter/lib/src/rendering/layer.dart
index b5e04c3..7224c4a 100644
--- a/packages/flutter/lib/src/rendering/layer.dart
+++ b/packages/flutter/lib/src/rendering/layer.dart
@@ -755,20 +755,20 @@
/// Creates a composited layer that uses a physical model to producing
/// lighting effects.
///
- /// The [clipPath], [elevation], and [color] arguments must not be null.
+ /// The [clipRRect], [elevation], and [color] arguments must not be null.
PhysicalModelLayer({
- @required this.clipPath,
+ @required this.clipRRect,
@required this.elevation,
@required this.color,
- }) : assert(clipPath != null),
+ }) : assert(clipRRect != null),
assert(elevation != null),
assert(color != null);
- /// The path to clip in the parent's coordinate system.
+ /// The rounded-rect to clip in the parent's coordinate system.
///
/// The scene must be explicitly recomposited after this property is changed
/// (as described at [Layer]).
- Path clipPath;
+ RRect clipRRect;
/// The z-coordinate at which to place this physical object.
///
@@ -784,8 +784,8 @@
@override
void addToScene(ui.SceneBuilder builder, Offset layerOffset) {
- builder.pushPhysicalShape(
- path: clipPath.shift(layerOffset),
+ builder.pushPhysicalModel(
+ rrect: clipRRect.shift(layerOffset),
elevation: elevation,
color: color,
);
@@ -796,6 +796,7 @@
@override
void debugFillProperties(DiagnosticPropertiesBuilder description) {
super.debugFillProperties(description);
+ description.add(new DiagnosticsProperty<RRect>('clipRRect', clipRRect));
description.add(new DoubleProperty('elevation', elevation));
description.add(new DiagnosticsProperty<Color>('color', color));
}
diff --git a/packages/flutter/lib/src/rendering/proxy_box.dart b/packages/flutter/lib/src/rendering/proxy_box.dart
index eb4e6ef..79e9e22 100644
--- a/packages/flutter/lib/src/rendering/proxy_box.dart
+++ b/packages/flutter/lib/src/rendering/proxy_box.dart
@@ -1426,10 +1426,9 @@
_updateClip();
final RRect offsetClipRRect = _clip.shift(offset);
final Rect offsetBounds = offsetClipRRect.outerRect;
- final Path offsetClipPath = new Path()..addRRect(offsetClipRRect);
if (needsCompositing) {
final PhysicalModelLayer physicalModel = new PhysicalModelLayer(
- clipPath: offsetClipPath,
+ clipRRect: offsetClipRRect,
elevation: elevation,
color: color,
);
@@ -1446,7 +1445,7 @@
_transparentPaint,
);
canvas.drawShadow(
- offsetClipPath,
+ new Path()..addRRect(offsetClipRRect),
shadowColor,
elevation,
color.alpha != 0xFF,