@@ -330,7 +330,7 @@ class TextureLayer extends Layer {
330
330
331
331
@override
332
332
ui.EngineLayer addToScene (ui.SceneBuilder builder, [ Offset layerOffset = Offset .zero ]) {
333
- final Rect shiftedRect = rect.shift (layerOffset);
333
+ final Rect shiftedRect = layerOffset == Offset .zero ? rect : rect.shift (layerOffset);
334
334
builder.addTexture (
335
335
textureId,
336
336
offset: shiftedRect.topLeft,
@@ -370,7 +370,7 @@ class PlatformViewLayer extends Layer {
370
370
371
371
@override
372
372
ui.EngineLayer addToScene (ui.SceneBuilder builder, [ Offset layerOffset = Offset .zero ]) {
373
- final Rect shiftedRect = rect.shift (layerOffset);
373
+ final Rect shiftedRect = layerOffset == Offset .zero ? rect : rect.shift (layerOffset);
374
374
builder.addPlatformView (
375
375
viewId,
376
376
offset: shiftedRect.topLeft,
@@ -449,7 +449,8 @@ class PerformanceOverlayLayer extends Layer {
449
449
@override
450
450
ui.EngineLayer addToScene (ui.SceneBuilder builder, [ Offset layerOffset = Offset .zero ]) {
451
451
assert (optionsMask != null );
452
- builder.addPerformanceOverlay (optionsMask, overlayRect.shift (layerOffset));
452
+ final Rect shiftedOverlayRect = layerOffset == Offset .zero ? overlayRect : overlayRect.shift (layerOffset);
453
+ builder.addPerformanceOverlay (optionsMask, shiftedOverlayRect);
453
454
builder.setRasterizerTracingThreshold (rasterizerThreshold);
454
455
builder.setCheckerboardRasterCacheImages (checkerboardRasterCacheImages);
455
456
builder.setCheckerboardOffscreenLayers (checkerboardOffscreenLayers);
@@ -1018,8 +1019,10 @@ class ClipRectLayer extends ContainerLayer {
1018
1019
enabled = ! debugDisableClipLayers;
1019
1020
return true ;
1020
1021
}());
1021
- if (enabled)
1022
- builder.pushClipRect (clipRect.shift (layerOffset), clipBehavior: clipBehavior);
1022
+ if (enabled) {
1023
+ final Rect shiftedClipRect = layerOffset == Offset .zero ? clipRect : clipRect.shift (layerOffset);
1024
+ builder.pushClipRect (shiftedClipRect, clipBehavior: clipBehavior);
1025
+ }
1023
1026
addChildrenToScene (builder, layerOffset);
1024
1027
if (enabled)
1025
1028
builder.pop ();
@@ -1097,8 +1100,10 @@ class ClipRRectLayer extends ContainerLayer {
1097
1100
enabled = ! debugDisableClipLayers;
1098
1101
return true ;
1099
1102
}());
1100
- if (enabled)
1101
- builder.pushClipRRect (clipRRect.shift (layerOffset), clipBehavior: clipBehavior);
1103
+ if (enabled) {
1104
+ final RRect shiftedClipRRect = layerOffset == Offset .zero ? clipRRect : clipRRect.shift (layerOffset);
1105
+ builder.pushClipRRect (shiftedClipRRect, clipBehavior: clipBehavior);
1106
+ }
1102
1107
addChildrenToScene (builder, layerOffset);
1103
1108
if (enabled)
1104
1109
builder.pop ();
@@ -1176,8 +1181,10 @@ class ClipPathLayer extends ContainerLayer {
1176
1181
enabled = ! debugDisableClipLayers;
1177
1182
return true ;
1178
1183
}());
1179
- if (enabled)
1180
- builder.pushClipPath (clipPath.shift (layerOffset), clipBehavior: clipBehavior);
1184
+ if (enabled) {
1185
+ final Path shiftedPath = layerOffset == Offset .zero ? clipPath : clipPath.shift (layerOffset);
1186
+ builder.pushClipPath (shiftedPath, clipBehavior: clipBehavior);
1187
+ }
1181
1188
addChildrenToScene (builder, layerOffset);
1182
1189
if (enabled)
1183
1190
builder.pop ();
@@ -1414,7 +1421,8 @@ class ShaderMaskLayer extends ContainerLayer {
1414
1421
1415
1422
@override
1416
1423
ui.EngineLayer addToScene (ui.SceneBuilder builder, [ Offset layerOffset = Offset .zero ]) {
1417
- builder.pushShaderMask (shader, maskRect.shift (layerOffset), blendMode);
1424
+ final Rect shiftedMaskRect = layerOffset == Offset .zero ? maskRect : maskRect.shift (layerOffset);
1425
+ builder.pushShaderMask (shader, shiftedMaskRect, blendMode);
1418
1426
addChildrenToScene (builder, layerOffset);
1419
1427
builder.pop ();
1420
1428
return null ; // this does not return an engine layer yet.
@@ -1590,7 +1598,7 @@ class PhysicalModelLayer extends ContainerLayer {
1590
1598
}());
1591
1599
if (enabled) {
1592
1600
engineLayer = builder.pushPhysicalShape (
1593
- path: clipPath.shift (layerOffset),
1601
+ path: layerOffset == Offset .zero ? clipPath : clipPath.shift (layerOffset),
1594
1602
elevation: elevation,
1595
1603
color: color,
1596
1604
shadowColor: shadowColor,
0 commit comments