diff --git a/lib/web_ui/lib/src/engine/html/scene_builder.dart b/lib/web_ui/lib/src/engine/html/scene_builder.dart index 705b3aa4bc589..bdeca3aed8345 100644 --- a/lib/web_ui/lib/src/engine/html/scene_builder.dart +++ b/lib/web_ui/lib/src/engine/html/scene_builder.dart @@ -23,7 +23,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { /// The surface currently being built. PersistedContainerSurface get _currentSurface => _surfaceStack.last; - ui.EngineLayer _pushSurface(PersistedContainerSurface surface) { + T _pushSurface(T surface) { // Only attempt to update if the update is requested and the surface is in // the live tree. if (surface.oldLayer != null) { @@ -65,7 +65,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { double dy, { ui.OffsetEngineLayer? oldLayer, }) { - return _pushSurface(PersistedOffset(oldLayer as PersistedOffset?, dx, dy)) as ui.OffsetEngineLayer; + return _pushSurface(PersistedOffset(oldLayer as PersistedOffset?, dx, dy)); } /// Pushes a transform operation onto the operation stack. @@ -96,7 +96,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { } else { matrix = toMatrix32(matrix4); } - return _pushSurface(PersistedTransform(oldLayer as PersistedTransform?, matrix)) as ui.TransformEngineLayer; + return _pushSurface(PersistedTransform(oldLayer as PersistedTransform?, matrix)); } /// Pushes a rectangular clip operation onto the operation stack. @@ -113,8 +113,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { }) { assert(clipBehavior != null); // ignore: unnecessary_null_comparison assert(clipBehavior != ui.Clip.none); - return _pushSurface(PersistedClipRect(oldLayer as PersistedClipRect?, rect, clipBehavior)) - as ui.ClipRectEngineLayer; + return _pushSurface(PersistedClipRect(oldLayer as PersistedClipRect?, rect, clipBehavior)); } /// Pushes a rounded-rectangular clip operation onto the operation stack. @@ -128,7 +127,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.Clip? clipBehavior, ui.ClipRRectEngineLayer? oldLayer, }) { - return _pushSurface(PersistedClipRRect(oldLayer, rrect, clipBehavior)) as ui.ClipRRectEngineLayer; + return _pushSurface(PersistedClipRRect(oldLayer, rrect, clipBehavior)); } /// Pushes a path clip operation onto the operation stack. @@ -144,7 +143,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { }) { assert(clipBehavior != null); // ignore: unnecessary_null_comparison assert(clipBehavior != ui.Clip.none); - return _pushSurface(PersistedClipPath(oldLayer as PersistedClipPath?, path, clipBehavior)) as ui.ClipPathEngineLayer; + return _pushSurface(PersistedClipPath(oldLayer as PersistedClipPath?, path, clipBehavior)); } /// Pushes an opacity operation onto the operation stack. @@ -161,7 +160,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.Offset offset = ui.Offset.zero, ui.OpacityEngineLayer? oldLayer, }) { - return _pushSurface(PersistedOpacity(oldLayer as PersistedOpacity?, alpha, offset)) as ui.OpacityEngineLayer; + return _pushSurface(PersistedOpacity(oldLayer as PersistedOpacity?, alpha, offset)); } /// Pushes a color filter operation onto the operation stack. @@ -180,7 +179,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.ColorFilterEngineLayer? oldLayer, }) { assert(filter != null); // ignore: unnecessary_null_comparison - return _pushSurface(PersistedColorFilter(oldLayer as PersistedColorFilter?, filter)) as ui.ColorFilterEngineLayer; + return _pushSurface(PersistedColorFilter(oldLayer as PersistedColorFilter?, filter)); } /// Pushes an image filter operation onto the operation stack. @@ -199,7 +198,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.ImageFilterEngineLayer? oldLayer, }) { assert(filter != null); // ignore: unnecessary_null_comparison - return _pushSurface(PersistedImageFilter(oldLayer as PersistedImageFilter?, filter)) as ui.ImageFilterEngineLayer; + return _pushSurface(PersistedImageFilter(oldLayer as PersistedImageFilter?, filter)); } /// Pushes a backdrop filter operation onto the operation stack. @@ -213,7 +212,7 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.ImageFilter filter, { ui.BackdropFilterEngineLayer? oldLayer, }) { - return _pushSurface(PersistedBackdropFilter(oldLayer as PersistedBackdropFilter?, filter as EngineImageFilter)) as ui.BackdropFilterEngineLayer; + return _pushSurface(PersistedBackdropFilter(oldLayer as PersistedBackdropFilter?, filter as EngineImageFilter)); } /// Pushes a shader mask operation onto the operation stack. @@ -254,14 +253,14 @@ class SurfaceSceneBuilder implements ui.SceneBuilder { ui.PhysicalShapeEngineLayer? oldLayer, }) { assert(color != null, 'color must not be null'); // ignore: unnecessary_null_comparison - return _pushSurface(PersistedPhysicalShape( + return _pushSurface(PersistedPhysicalShape( oldLayer as PersistedPhysicalShape?, path as SurfacePath, elevation, color.value, shadowColor?.value ?? 0xFF000000, clipBehavior, - )) as ui.PhysicalShapeEngineLayer; + )); } /// Add a retained engine layer subtree from previous frames.