Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
210a905f
Unverified
Commit
210a905f
authored
Oct 14, 2021
by
Michael Goderbauer
Committed by
GitHub
Oct 14, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unused offset from Layer.addToScene/addChildrenToScene (#91753)
parent
5d587f95
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
60 additions
and
73 deletions
+60
-73
layer.dart
packages/flutter/lib/src/rendering/layer.dart
+52
-65
widget_inspector.dart
packages/flutter/lib/src/widgets/widget_inspector.dart
+6
-6
layer_annotations_test.dart
packages/flutter/test/rendering/layer_annotations_test.dart
+1
-1
layers_test.dart
packages/flutter/test/rendering/layers_test.dart
+1
-1
No files found.
packages/flutter/lib/src/rendering/layer.dart
View file @
210a905f
...
...
@@ -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:
shiftedR
ect
.
topLeft
,
width:
shiftedR
ect
.
width
,
height:
shiftedR
ect
.
height
,
offset:
r
ect
.
topLeft
,
width:
r
ect
.
width
,
height:
r
ect
.
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:
shiftedR
ect
.
topLeft
,
width:
shiftedR
ect
.
width
,
height:
shiftedR
ect
.
height
,
offset:
r
ect
.
topLeft
,
width:
r
ect
.
width
,
height:
r
ect
.
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
);
...
...
packages/flutter/lib/src/widgets/widget_inspector.dart
View file @
210a905f
...
...
@@ -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
)
{
...
...
packages/flutter/test/rendering/layer_annotations_test.dart
View file @
210a905f
...
...
@@ -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
;
}
...
...
packages/flutter/test/rendering/layers_test.dart
View file @
210a905f
...
...
@@ -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
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment