diff --git a/engine/src/flutter/impeller/BUILD.gn b/engine/src/flutter/impeller/BUILD.gn index 83484c0b99..af76525a58 100644 --- a/engine/src/flutter/impeller/BUILD.gn +++ b/engine/src/flutter/impeller/BUILD.gn @@ -54,7 +54,7 @@ group("impeller") { "aiks", "display_list", "entity", - "image", + "image:image_skia_backend", "renderer", "renderer/backend", "typographer", diff --git a/engine/src/flutter/impeller/entity/BUILD.gn b/engine/src/flutter/impeller/entity/BUILD.gn index bf8ce3db73..b5452df16e 100644 --- a/engine/src/flutter/impeller/entity/BUILD.gn +++ b/engine/src/flutter/impeller/entity/BUILD.gn @@ -217,7 +217,7 @@ impeller_component("entity") { ":framebuffer_blend_entity_shaders", ":modern_entity_shaders", "../archivist", - "../image", + "../image:image_skia_backend", "../renderer", "../scene", "../typographer", diff --git a/engine/src/flutter/impeller/image/BUILD.gn b/engine/src/flutter/impeller/image/BUILD.gn index 0343f0604c..7c9953a983 100644 --- a/engine/src/flutter/impeller/image/BUILD.gn +++ b/engine/src/flutter/impeller/image/BUILD.gn @@ -11,8 +11,6 @@ impeller_component("image") { ] sources = [ - "backends/skia/compressed_image_skia.cc", - "backends/skia/compressed_image_skia.h", "compressed_image.cc", "decompressed_image.cc", ] @@ -22,6 +20,20 @@ impeller_component("image") { "../geometry", ] + deps = [ "//flutter/fml" ] +} + +impeller_component("image_skia_backend") { + public = [ "backends/skia/compressed_image_skia.h" ] + + sources = [ "backends/skia/compressed_image_skia.cc" ] + + public_deps = [ + ":image", + "../base", + "../geometry", + ] + deps = [ "//flutter/fml", "//third_party/skia", @@ -32,7 +44,7 @@ impeller_component("image_unittests") { testonly = true sources = [] deps = [ - ":image", + ":image_skia_backend", "//flutter/testing", ] } diff --git a/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.cc b/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.cc index 26fd6d70f4..4963058344 100644 --- a/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.cc +++ b/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.cc @@ -14,6 +14,15 @@ namespace impeller { +std::shared_ptr CompressedImageSkia::Create( + std::shared_ptr allocation) { + // There is only one backend today. + if (!allocation) { + return nullptr; + } + return std::make_shared(std::move(allocation)); +} + CompressedImageSkia::CompressedImageSkia( std::shared_ptr allocation) : CompressedImage(std::move(allocation)) {} diff --git a/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.h b/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.h index 856c5304cc..53c26cc167 100644 --- a/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.h +++ b/engine/src/flutter/impeller/image/backends/skia/compressed_image_skia.h @@ -11,6 +11,9 @@ namespace impeller { class CompressedImageSkia final : public CompressedImage { public: + static std::shared_ptr Create( + std::shared_ptr allocation); + CompressedImageSkia(std::shared_ptr allocation); ~CompressedImageSkia() override; diff --git a/engine/src/flutter/impeller/image/compressed_image.cc b/engine/src/flutter/impeller/image/compressed_image.cc index 15b4e01487..95f62b88bd 100644 --- a/engine/src/flutter/impeller/image/compressed_image.cc +++ b/engine/src/flutter/impeller/image/compressed_image.cc @@ -4,19 +4,8 @@ #include "impeller/image/compressed_image.h" -#include "impeller/image/backends/skia/compressed_image_skia.h" - namespace impeller { -std::shared_ptr CompressedImage::Create( - std::shared_ptr allocation) { - // There is only one backend today. - if (!allocation) { - return nullptr; - } - return std::make_shared(std::move(allocation)); -} - CompressedImage::CompressedImage(std::shared_ptr allocation) : source_(std::move(allocation)) {} diff --git a/engine/src/flutter/impeller/image/compressed_image.h b/engine/src/flutter/impeller/image/compressed_image.h index 58c5a5050d..ad0134339a 100644 --- a/engine/src/flutter/impeller/image/compressed_image.h +++ b/engine/src/flutter/impeller/image/compressed_image.h @@ -17,9 +17,6 @@ class ImageSource; class CompressedImage { public: - static std::shared_ptr Create( - std::shared_ptr allocation); - virtual ~CompressedImage(); [[nodiscard]] virtual DecompressedImage Decode() const = 0; diff --git a/engine/src/flutter/impeller/playground/BUILD.gn b/engine/src/flutter/impeller/playground/BUILD.gn index e574e80445..53bcfc5181 100644 --- a/engine/src/flutter/impeller/playground/BUILD.gn +++ b/engine/src/flutter/impeller/playground/BUILD.gn @@ -45,6 +45,7 @@ impeller_component("playground") { "../entity:framebuffer_blend_entity_shaders", "../entity:modern_entity_shaders", "../fixtures:shader_fixtures", + "../image:image_skia_backend", "../renderer", "../scene/shaders", "imgui:imgui_impeller_backend", diff --git a/engine/src/flutter/impeller/playground/playground.cc b/engine/src/flutter/impeller/playground/playground.cc index 5080e8842e..8d53dcb9b2 100644 --- a/engine/src/flutter/impeller/playground/playground.cc +++ b/engine/src/flutter/impeller/playground/playground.cc @@ -8,6 +8,7 @@ #include #include "fml/time/time_point.h" +#include "impeller/image/backends/skia/compressed_image_skia.h" #include "impeller/image/decompressed_image.h" #include "impeller/renderer/command_buffer.h" #include "impeller/runtime_stage/runtime_stage.h" @@ -340,7 +341,7 @@ bool Playground::OpenPlaygroundHere(SinglePassCallback pass_callback) { std::shared_ptr Playground::LoadFixtureImageCompressed( std::shared_ptr mapping) const { - auto compressed_image = CompressedImage::Create(std::move(mapping)); + auto compressed_image = CompressedImageSkia::Create(std::move(mapping)); if (!compressed_image) { VALIDATION_LOG << "Could not create compressed image."; return nullptr;