5#ifndef FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_
6#define FLUTTER_LIB_UI_SNAPSHOT_DELEGATE_H_
13#include "third_party/skia/include/core/SkImage.h"
14#include "third_party/skia/include/gpu/ganesh/GrBackendSurface.h"
15#include "third_party/skia/include/gpu/ganesh/GrContextThreadSafeProxy.h"
16#include "third_party/skia/include/gpu/ganesh/GrDirectContext.h"
30 const GrBackendTexture& p_texture,
32 sk_sp<GrDirectContext> p_context,
33 sk_sp<SkImage> p_image =
nullptr,
34 const std::string& p_error =
"")
64 sk_sp<DisplayList> display_list,
65 const SkImageInfo& image_info) = 0;
82 std::function<
void(sk_sp<DlImage>)>
callback,
86 sk_sp<DisplayList> display_list,
99 const std::shared_ptr<impeller::RuntimeStage>& runtime_stage) = 0;
virtual bool MakeRenderContextCurrent()=0
virtual sk_sp< DlImage > MakeTextureImage(sk_sp< SkImage > image, SnapshotPixelFormat pixel_format)=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 void MakeRasterSnapshot(sk_sp< DisplayList > display_list, DlISize picture_size, std::function< void(sk_sp< DlImage >)> callback, SnapshotPixelFormat pixel_format)=0
virtual sk_sp< DlImage > MakeRasterSnapshotSync(sk_sp< DisplayList > display_list, DlISize picture_size, SnapshotPixelFormat pixel_format)=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