5#ifndef FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_
6#define FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_
12#include "third_party/skia/include/core/SkImage.h"
13#include "third_party/skia/include/gpu/ganesh/GrBackendSurface.h"
14#include "third_party/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h"
15#include "third_party/skia/include/gpu/ganesh/GrDirectContext.h"
29 const GrBackendTexture& p_texture,
31 sk_sp<GrDirectContext> p_context,
32 sk_sp<SkImage> p_image =
nullptr,
33 const std::string& p_error =
"")
63 sk_sp<DisplayList> display_list,
64 const SkImageInfo& image_info) = 0;
80 sk_sp<DisplayList> display_list,
82 std::function<
void(sk_sp<DlImage>)>
callback) = 0;
93 const std::shared_ptr<impeller::RuntimeStage>& runtime_stage) = 0;
virtual bool MakeRenderContextCurrent()=0
virtual void MakeRasterSnapshot(sk_sp< DisplayList > display_list, DlISize picture_size, std::function< void(sk_sp< DlImage >)> callback)=0
virtual std::shared_ptr< TextureRegistry > GetTextureRegistry()=0
Gets the registry of external textures currently in use by the rasterizer. These textures may be upda...
virtual sk_sp< DlImage > MakeRasterSnapshotSync(sk_sp< DisplayList > display_list, DlISize picture_size)=0
virtual sk_sp< SkImage > ConvertToRasterImage(sk_sp< SkImage > image)=0
virtual GrDirectContext * GetGrContext()=0
virtual std::unique_ptr< GpuImageResult > MakeSkiaGpuImage(sk_sp< DisplayList > display_list, const SkImageInfo &image_info)=0
Attempts to create a GrBackendTexture for the specified DisplayList. May result in a raster bitmap if...
virtual void CacheRuntimeStage(const std::shared_ptr< impeller::RuntimeStage > &runtime_stage)=0
FlutterVulkanImage * image
FlutterDesktopBinaryReply callback
A data structure used by the Skia implementation of deferred GPU based images.
sk_sp< GrDirectContext > context
GpuImageResult(const GrBackendTexture &p_texture, sk_sp< GrDirectContext > p_context, sk_sp< SkImage > p_image=nullptr, const std::string &p_error="")
const GrBackendTexture texture