5#ifndef FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
6#define FLUTTER_SHELL_COMMON_SNAPSHOT_CONTROLLER_H_
8#include "flutter/common/settings.h"
9#include "flutter/display_list/image/dl_image.h"
10#include "flutter/flow/surface.h"
11#include "flutter/fml/synchronization/sync_switch.h"
12#include "flutter/lib/ui/snapshot_delegate.h"
13#include "flutter/shell/common/snapshot_surface_producer.h"
26 virtual const std::unique_ptr<Surface>&
GetSurface()
const = 0;
28 virtual const std::unique_ptr<SnapshotSurfaceProducer>&
34 static std::unique_ptr<SnapshotController>
Make(
const Delegate& delegate,
53 const std::shared_ptr<impeller::RuntimeStage>& runtime_stage) = 0;
60 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 void CacheRuntimeStage(const std::shared_ptr< impeller::RuntimeStage > &runtime_stage)=0
virtual void MakeRasterSnapshot(sk_sp< DisplayList > display_list, SkISize 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)
virtual sk_sp< DlImage > MakeRasterSnapshotSync(sk_sp< DisplayList > display_list, SkISize picture_size)=0
const Delegate & GetDelegate()
virtual ~SnapshotController()=default
SnapshotController(const Delegate &delegate)
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
Dart_NativeFunction function
sk_sp< const SkImage > image