5#ifndef FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
6#define FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
27 virtual const std::unique_ptr<Surface>&
GetSurface()
const = 0;
30 virtual const std::unique_ptr<SnapshotSurfaceProducer>&
36 static std::unique_ptr<SnapshotController>
Make(
const Delegate& delegate,
42 sk_sp<DisplayList> display_list,
44 std::function<
void(
const sk_sp<DlImage>&)>
callback,
51 sk_sp<DisplayList> display_list,
65 const std::shared_ptr<impeller::RuntimeStage>& runtime_stage) = 0;
74 const Delegate& delegate_;
virtual ~Delegate()=default
virtual const std::unique_ptr< SnapshotSurfaceProducer > & GetSnapshotSurfaceProducer() const =0
virtual const std::unique_ptr< Surface > & GetSurface() const =0
virtual std::shared_ptr< const fml::SyncSwitch > GetIsGpuDisabledSyncSwitch() const =0
virtual std::shared_ptr< impeller::AiksContext > GetAiksContext() const =0
virtual bool IsAiksContextInitialized() const =0
virtual void CacheRuntimeStage(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(const sk_sp< DlImage > &)> callback, SnapshotPixelFormat pixel_format)=0
virtual sk_sp< SkImage > ConvertToRasterImage(sk_sp< SkImage > image)=0
static std::unique_ptr< SnapshotController > Make(const Delegate &delegate, const Settings &settings)
const Delegate & GetDelegate()
virtual sk_sp< DlImage > MakeTextureImage(sk_sp< SkImage > image, SnapshotPixelFormat pixel_format)=0
virtual sk_sp< DlImage > MakeRasterSnapshotSync(sk_sp< DisplayList > display_list, DlISize picture_size, SnapshotPixelFormat pixel_format)=0
virtual ~SnapshotController()=default
FlutterVulkanImage * image
FlutterDesktopBinaryReply callback
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)