5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_TEST_COMPOSITOR_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_TEST_COMPOSITOR_H_
15#include "third_party/skia/include/gpu/ganesh/GrDirectContext.h"
24 GrDirectContext* context)>;
size_t GetBackingStoresCreatedCount() const
void AddOnCreateRenderTargetCallback(const fml::closure &callback)
bool present_callback_is_one_shot_
void AddOnPresentCallback(const fml::closure &callback)
void SetNextSceneCallback(const NextSceneCallback &next_scene_callback)
sk_sp< SkSurface > GetSurface(const FlutterBackingStore *backing_store) const
size_t GetBackingStoresCollectedCount() const
void AddOnCollectRenderTargetCallback(const fml::closure &callback)
const DlISize surface_size_
std::vector< fml::closure > on_create_render_target_callbacks_
sk_sp< SkImage > GetLastComposition()
std::vector< fml::closure > on_present_callbacks_
size_t GetPendingBackingStoresCount() const
virtual void SetRenderTargetType(EmbedderTestBackingStoreProducer::RenderTargetType type, FlutterSoftwarePixelFormat software_pixfmt)=0
std::function< void(FlutterViewId view_id, const FlutterLayer **layers, size_t layers_count)> PresentCallback
bool CollectBackingStore(const FlutterBackingStore *backing_store)
std::function< void(sk_sp< SkImage > image)> NextSceneCallback
std::vector< fml::closure > on_collect_render_target_callbacks_
NextSceneCallback next_scene_callback_
sk_sp< GrDirectContext > GetGrContext()
bool CreateBackingStore(const FlutterBackingStoreConfig *config, FlutterBackingStore *backing_store_out)
void SetNextPresentCallback(const PresentCallback &next_present_callback)
Allows tests to install a callback to notify them when the entire render tree has been finalized so t...
size_t backing_stores_created_
bool Present(FlutterViewId view_id, const FlutterLayer **layers, size_t layers_count)
sk_sp< GrDirectContext > context_
PresentCallback present_callback_
virtual bool UpdateOffscrenComposition(const FlutterLayer **layers, size_t layers_count)=0
size_t backing_stores_collected_
sk_sp< SkImage > last_composition_
virtual ~EmbedderTestCompositor()
void SetPresentCallback(const PresentCallback &present_callback, bool one_shot)
std::unique_ptr< EmbedderTestBackingStoreProducer > backingstore_producer_
std::function< sk_sp< SkImage >(const FlutterLayer &layer, GrDirectContext *context)> PlatformViewRendererCallback
PlatformViewRendererCallback platform_view_renderer_callback_
void SetPlatformViewRendererCallback(const PlatformViewRendererCallback &callback)
FML_DISALLOW_COPY_AND_ASSIGN(EmbedderTestCompositor)
FlutterSoftwarePixelFormat
FlutterVulkanImage * image
const FlutterLayer size_t layers_count
const FlutterLayer ** layers
G_BEGIN_DECLS FlutterViewId view_id
FlutterDesktopBinaryReply callback
std::function< void()> closure