5#ifndef FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
6#define FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
26 virtual const std::unique_ptr<Surface>&
GetSurface()
const = 0;
29 virtual const std::unique_ptr<SnapshotSurfaceProducer>&
35 static std::unique_ptr<SnapshotController>
Make(
const Delegate& delegate,
41 sk_sp<DisplayList> display_list,
43 std::function<
void(
const sk_sp<DlImage>&)>
callback) = 0;
54 const std::shared_ptr<impeller::RuntimeStage>& runtime_stage) = 0;
63 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)=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 ~SnapshotController()=default
virtual sk_sp< DlImage > MakeRasterSnapshotSync(sk_sp< DisplayList > display_list, DlISize picture_size)=0
FlutterVulkanImage * image
FlutterDesktopBinaryReply callback
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)