From c02a60e95be31ce1c8ab9db1ba1e60f4aa75705a Mon Sep 17 00:00:00 2001 From: Harry Terkelsen Date: Tue, 21 Jul 2020 09:13:14 -0700 Subject: [PATCH] Mark used pictures so they aren't deleted on the next frame. (#19913) --- lib/web_ui/lib/src/engine/compositor/canvas.dart | 2 +- lib/web_ui/lib/src/engine/compositor/picture.dart | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/web_ui/lib/src/engine/compositor/canvas.dart b/lib/web_ui/lib/src/engine/compositor/canvas.dart index 2d93ea842a..350d0b90c7 100644 --- a/lib/web_ui/lib/src/engine/compositor/canvas.dart +++ b/lib/web_ui/lib/src/engine/compositor/canvas.dart @@ -169,7 +169,7 @@ class CkCanvas { } void drawPicture(CkPicture picture) { - skCanvas.drawPicture(picture._skPicture); + skCanvas.drawPicture(picture.skiaObject.skiaObject); } void drawPoints(CkPaint paint, ui.PointMode pointMode, diff --git a/lib/web_ui/lib/src/engine/compositor/picture.dart b/lib/web_ui/lib/src/engine/compositor/picture.dart index 9ab1ec55d0..75075a914b 100644 --- a/lib/web_ui/lib/src/engine/compositor/picture.dart +++ b/lib/web_ui/lib/src/engine/compositor/picture.dart @@ -5,13 +5,11 @@ part of engine; class CkPicture implements ui.Picture { - final SkPicture _skPicture; - final SkiaObject skiaObject; + final SkiaObject skiaObject; final ui.Rect? cullRect; CkPicture(SkPicture picture, this.cullRect) - : _skPicture = picture, - skiaObject = SkPictureSkiaObject(picture); + : skiaObject = SkPictureSkiaObject(picture); @override int get approximateBytesUsed => 0; @@ -23,7 +21,8 @@ class CkPicture implements ui.Picture { @override Future toImage(int width, int height) { - throw UnsupportedError('Picture.toImage not yet implemented for CanvasKit and HTML'); + throw UnsupportedError( + 'Picture.toImage not yet implemented for CanvasKit and HTML'); } } -- GitLab