12 #if FML_OS_IOS_SIMULATOR
14 OwningContext owning_context,
16 if (!texture && !is_fake_image) {
19 return sk_sp<DlImageImpeller>(
20 new DlImageImpeller(std::move(texture),
owning_context, is_fake_image));
24 OwningContext owning_context) {
28 return sk_sp<DlImageImpeller>(
35 std::shared_ptr<Texture> y_texture,
36 std::shared_ptr<Texture> uv_texture,
38 if (!aiks_context || !y_texture || !uv_texture) {
42 std::move(y_texture), std::move(uv_texture), yuv_color_space);
45 auto snapshot = yuv_to_rgb_filter_contents->RenderToSnapshot(
52 "MakeYUVToRGBFilter Snapshot");
53 if (!snapshot.has_value()) {
59 DlImageImpeller::DlImageImpeller(std::shared_ptr<Texture> texture,
60 OwningContext owning_context
61 #ifdef FML_OS_IOS_SIMULATOR
66 : texture_(
std::move(texture)),
67 owning_context_(owning_context)
68 #ifdef FML_OS_IOS_SIMULATOR
70 is_fake_image_(is_fake_image)
108 const auto size = texture_ ? texture_->GetSize() :
ISize{};
109 return SkISize::Make(size.width, size.height);
116 return texture_ ? flutter::DlISize(texture_->GetSize()) : flutter::DlISize();
121 auto size =
sizeof(*this);
123 size += texture_->GetTextureDescriptor().GetByteSizeOfBaseMipLevel();
ContentContext & GetContentContext() const
size_t GetApproximateByteSize() const override
static sk_sp< DlImageImpeller > MakeFromYUVTextures(AiksContext *aiks_context, std::shared_ptr< Texture > y_texture, std::shared_ptr< Texture > uv_texture, YUVColorSpace yuv_color_space)
bool isTextureBacked() const override
std::shared_ptr< impeller::Texture > impeller_texture() const override
SkISize dimensions() const override
static sk_sp< DlImageImpeller > Make(std::shared_ptr< Texture > texture, OwningContext owning_context=OwningContext::kIO)
flutter::DlISize GetSize() const override
sk_sp< SkImage > skia_image() const override
~DlImageImpeller() override
bool isUIThreadSafe() const override
bool isOpaque() const override
OwningContext owning_context() const override
void SetBlendMode(BlendMode blend_mode)
static std::shared_ptr< FilterContents > MakeYUVToRGBFilter(std::shared_ptr< Texture > y_texture, std::shared_ptr< Texture > uv_texture, YUVColorSpace yuv_color_space)