Unverified Commit 210a905f authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Remove unused offset from Layer.addToScene/addChildrenToScene (#91753)

parent 5d587f95
......@@ -527,7 +527,7 @@ abstract class Layer extends AbstractNode with DiagnosticableTreeMixin {
/// Return the engine layer for retained rendering. When there's no
/// corresponding engine layer, null is returned.
@protected
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]);
void addToScene(ui.SceneBuilder builder);
void _addToSceneWithRetainedRendering(ui.SceneBuilder builder) {
// There can't be a loop by adding a retained layer subtree whose
......@@ -709,9 +709,9 @@ class PictureLayer extends Layer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(picture != null);
builder.addPicture(layerOffset, picture!, isComplexHint: isComplexHint, willChangeHint: willChangeHint);
builder.addPicture(Offset.zero, picture!, isComplexHint: isComplexHint, willChangeHint: willChangeHint);
}
@override
......@@ -788,13 +788,12 @@ class TextureLayer extends Layer {
final ui.FilterQuality filterQuality;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
final Rect shiftedRect = layerOffset == Offset.zero ? rect : rect.shift(layerOffset);
void addToScene(ui.SceneBuilder builder) {
builder.addTexture(
textureId,
offset: shiftedRect.topLeft,
width: shiftedRect.width,
height: shiftedRect.height,
offset: rect.topLeft,
width: rect.width,
height: rect.height,
freeze: freeze,
filterQuality: filterQuality,
);
......@@ -827,13 +826,12 @@ class PlatformViewLayer extends Layer {
final int viewId;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
final Rect shiftedRect = layerOffset == Offset.zero ? rect : rect.shift(layerOffset);
void addToScene(ui.SceneBuilder builder) {
builder.addPlatformView(
viewId,
offset: shiftedRect.topLeft,
width: shiftedRect.width,
height: shiftedRect.height,
offset: rect.topLeft,
width: rect.width,
height: rect.height,
);
}
}
......@@ -898,10 +896,9 @@ class PerformanceOverlayLayer extends Layer {
final bool checkerboardOffscreenLayers;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(optionsMask != null);
final Rect shiftedOverlayRect = layerOffset == Offset.zero ? overlayRect : overlayRect.shift(layerOffset);
builder.addPerformanceOverlay(optionsMask, shiftedOverlayRect);
builder.addPerformanceOverlay(optionsMask, overlayRect);
builder.setRasterizerTracingThreshold(rasterizerThreshold);
builder.setCheckerboardRasterCacheImages(checkerboardRasterCacheImages);
builder.setCheckerboardOffscreenLayers(checkerboardOffscreenLayers);
......@@ -1092,8 +1089,8 @@ class ContainerLayer extends Layer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
addChildrenToScene(builder, layerOffset);
void addToScene(ui.SceneBuilder builder) {
addChildrenToScene(builder);
}
/// Uploads all of this layer's children to the engine.
......@@ -1103,14 +1100,10 @@ class ContainerLayer extends Layer {
/// to apply effects to the scene using the [SceneBuilder] API, then insert
/// their children using [addChildrenToScene], then reverse the aforementioned
/// effects before returning from [addToScene].
void addChildrenToScene(ui.SceneBuilder builder, [ Offset childOffset = Offset.zero ]) {
void addChildrenToScene(ui.SceneBuilder builder) {
Layer? child = firstChild;
while (child != null) {
if (childOffset == Offset.zero) {
child._addToSceneWithRetainedRendering(builder);
} else {
child.addToScene(builder, childOffset);
}
child._addToSceneWithRetainedRendering(builder);
child = child.nextSibling;
}
}
......@@ -1233,15 +1226,15 @@ class OffsetLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
// Skia has a fast path for concatenating scale/translation only matrices.
// Hence pushing a translation-only transform layer should be fast. For
// retained rendering, we don't want to push the offset down to each leaf
// node. Otherwise, changing an offset layer on the very high level could
// cascade the change to too many leaves.
engineLayer = builder.pushOffset(
layerOffset.dx + offset.dx,
layerOffset.dy + offset.dy,
offset.dx,
offset.dy,
oldLayer: _engineLayer as ui.OffsetEngineLayer?,
);
addChildrenToScene(builder);
......@@ -1355,7 +1348,7 @@ class ClipRectLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(clipRect != null);
assert(clipBehavior != null);
bool enabled = true;
......@@ -1364,16 +1357,15 @@ class ClipRectLayer extends ContainerLayer {
return true;
}());
if (enabled) {
final Rect shiftedClipRect = layerOffset == Offset.zero ? clipRect! : clipRect!.shift(layerOffset);
engineLayer = builder.pushClipRect(
shiftedClipRect,
clipRect!,
clipBehavior: clipBehavior,
oldLayer: _engineLayer as ui.ClipRectEngineLayer?,
);
} else {
engineLayer = null;
}
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
if (enabled)
builder.pop();
}
......@@ -1439,7 +1431,7 @@ class ClipRRectLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(clipRRect != null);
assert(clipBehavior != null);
bool enabled = true;
......@@ -1448,16 +1440,15 @@ class ClipRRectLayer extends ContainerLayer {
return true;
}());
if (enabled) {
final RRect shiftedClipRRect = layerOffset == Offset.zero ? clipRRect! : clipRRect!.shift(layerOffset);
engineLayer = builder.pushClipRRect(
shiftedClipRRect,
clipRRect!,
clipBehavior: clipBehavior,
oldLayer: _engineLayer as ui.ClipRRectEngineLayer?,
);
} else {
engineLayer = null;
}
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
if (enabled)
builder.pop();
}
......@@ -1523,7 +1514,7 @@ class ClipPathLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(clipPath != null);
assert(clipBehavior != null);
bool enabled = true;
......@@ -1532,16 +1523,15 @@ class ClipPathLayer extends ContainerLayer {
return true;
}());
if (enabled) {
final Path shiftedPath = layerOffset == Offset.zero ? clipPath! : clipPath!.shift(layerOffset);
engineLayer = builder.pushClipPath(
shiftedPath,
clipPath!,
clipBehavior: clipBehavior,
oldLayer: _engineLayer as ui.ClipPathEngineLayer?,
);
} else {
engineLayer = null;
}
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
if (enabled)
builder.pop();
}
......@@ -1578,13 +1568,13 @@ class ColorFilterLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(colorFilter != null);
engineLayer = builder.pushColorFilter(
colorFilter!,
oldLayer: _engineLayer as ui.ColorFilterEngineLayer?,
);
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
builder.pop();
}
......@@ -1620,13 +1610,13 @@ class ImageFilterLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(imageFilter != null);
engineLayer = builder.pushImageFilter(
imageFilter!,
oldLayer: _engineLayer as ui.ImageFilterEngineLayer?,
);
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
builder.pop();
}
......@@ -1677,12 +1667,11 @@ class TransformLayer extends OffsetLayer {
bool _inverseDirty = true;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(transform != null);
_lastEffectiveTransform = transform;
final Offset totalOffset = offset + layerOffset;
if (totalOffset != Offset.zero) {
_lastEffectiveTransform = Matrix4.translationValues(totalOffset.dx, totalOffset.dy, 0.0)
if (offset != Offset.zero) {
_lastEffectiveTransform = Matrix4.translationValues(offset.dx, offset.dy, 0.0)
..multiply(_lastEffectiveTransform!);
}
engineLayer = builder.pushTransform(
......@@ -1773,7 +1762,7 @@ class OpacityLayer extends OffsetLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(alpha != null);
bool enabled = firstChild != null; // don't add this layer if there's no child
if (!enabled) {
......@@ -1792,14 +1781,14 @@ class OpacityLayer extends OffsetLayer {
assert(_engineLayer is ui.OpacityEngineLayer?);
engineLayer = builder.pushOpacity(
realizedAlpha,
offset: offset + layerOffset,
offset: offset,
oldLayer: _engineLayer as ui.OpacityEngineLayer?,
);
} else {
assert(_engineLayer is ui.OffsetEngineLayer?);
engineLayer = builder.pushOffset(
layerOffset.dx + offset.dx,
layerOffset.dy + offset.dy,
offset.dx,
offset.dy,
oldLayer: _engineLayer as ui.OffsetEngineLayer?,
);
}
......@@ -1884,19 +1873,17 @@ class ShaderMaskLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(shader != null);
assert(maskRect != null);
assert(blendMode != null);
assert(layerOffset != null);
final Rect shiftedMaskRect = layerOffset == Offset.zero ? maskRect! : maskRect!.shift(layerOffset);
engineLayer = builder.pushShaderMask(
shader!,
shiftedMaskRect,
maskRect! ,
blendMode!,
oldLayer: _engineLayer as ui.ShaderMaskEngineLayer?,
);
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
builder.pop();
}
......@@ -1954,14 +1941,14 @@ class BackdropFilterLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(filter != null);
engineLayer = builder.pushBackdropFilter(
filter!,
blendMode: blendMode,
oldLayer: _engineLayer as ui.BackdropFilterEngineLayer?,
);
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
builder.pop();
}
}
......@@ -2067,7 +2054,7 @@ class PhysicalModelLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(clipPath != null);
assert(clipBehavior != null);
assert(elevation != null);
......@@ -2081,7 +2068,7 @@ class PhysicalModelLayer extends ContainerLayer {
}());
if (enabled) {
engineLayer = builder.pushPhysicalShape(
path: layerOffset == Offset.zero ? clipPath! : clipPath!.shift(layerOffset),
path: clipPath!,
elevation: elevation!,
color: color!,
shadowColor: shadowColor,
......@@ -2091,7 +2078,7 @@ class PhysicalModelLayer extends ContainerLayer {
} else {
engineLayer = null;
}
addChildrenToScene(builder, layerOffset);
addChildrenToScene(builder);
if (enabled)
builder.pop();
}
......@@ -2202,9 +2189,9 @@ class LeaderLayer extends ContainerLayer {
}
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(offset != null);
_lastOffset = offset + layerOffset;
_lastOffset = offset;
if (_lastOffset != Offset.zero)
engineLayer = builder.pushTransform(
Matrix4.translationValues(_lastOffset!.dx, _lastOffset!.dy, 0.0).storage,
......@@ -2472,7 +2459,7 @@ class FollowerLayer extends ContainerLayer {
bool get alwaysNeedsAddToScene => true;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
assert(link != null);
assert(showWhenUnlinked != null);
if (link.leader == null && !showWhenUnlinked!) {
......@@ -2490,7 +2477,7 @@ class FollowerLayer extends ContainerLayer {
);
addChildrenToScene(builder);
builder.pop();
_lastOffset = unlinkedOffset! + layerOffset;
_lastOffset = unlinkedOffset;
} else {
_lastOffset = null;
final Matrix4 matrix = Matrix4.translationValues(unlinkedOffset!.dx, unlinkedOffset!.dy, .0);
......
......@@ -54,8 +54,8 @@ class _ProxyLayer extends Layer {
final Layer _layer;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
_layer.addToScene(builder, layerOffset);
void addToScene(ui.SceneBuilder builder) {
_layer.addToScene(builder);
}
@override
......@@ -319,8 +319,8 @@ Rect _calculateSubtreeBounds(RenderObject object) {
/// screenshots render to the scene in the local coordinate system of the layer.
class _ScreenshotContainerLayer extends OffsetLayer {
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
addChildrenToScene(builder, layerOffset);
void addToScene(ui.SceneBuilder builder) {
addChildrenToScene(builder);
}
}
......@@ -2665,7 +2665,7 @@ class _InspectorOverlayLayer extends Layer {
double? _textPainterMaxWidth;
@override
void addToScene(ui.SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {
void addToScene(ui.SceneBuilder builder) {
if (!selection.active)
return;
......@@ -2694,7 +2694,7 @@ class _InspectorOverlayLayer extends Layer {
_lastState = state;
_picture = _buildPicture(state);
}
builder.addPicture(layerOffset, _picture);
builder.addPicture(Offset.zero, _picture);
}
ui.Picture _buildPicture(_InspectorOverlayRenderState state) {
......
......@@ -845,7 +845,7 @@ class _TestAnnotatedLayer extends Layer {
final Size? size;
@override
EngineLayer? addToScene(SceneBuilder builder, [Offset layerOffset = Offset.zero]) {
EngineLayer? addToScene(SceneBuilder builder) {
return null;
}
......
......@@ -608,7 +608,7 @@ class FakePicture extends Fake implements Picture {
class ConcreteLayer extends Layer {
@override
void addToScene(SceneBuilder builder, [ Offset layerOffset = Offset.zero ]) {}
void addToScene(SceneBuilder builder) {}
}
class _TestAlwaysNeedsAddToSceneLayer extends ContainerLayer {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment