5#ifndef FLUTTER_SHELL_COMMON_SHELL_TEST_EXTERNAL_VIEW_EMBEDDER_H_
6#define FLUTTER_SHELL_COMMON_SHELL_TEST_EXTERNAL_VIEW_EMBEDDER_H_
8#include "flutter/flow/embedded_views.h"
9#include "flutter/fml/raster_thread_merger.h"
23 bool support_thread_merging);
46 void CancelFrame()
override;
51 raster_thread_merger)
override;
54 void PrepareFlutterView(
SkISize frame_size,
55 double device_pixel_ratio)
override;
58 void PrerollCompositeEmbeddedView(
60 std::unique_ptr<EmbeddedViewParams>
params)
override;
68 DlCanvas* CompositeEmbeddedView(int64_t view_id)
override;
71 void PushVisitedPlatformView(int64_t view_id)
override;
74 void PushFilterToVisitedPlatformViews(
75 const std::shared_ptr<const DlImageFilter>& filter,
76 const SkRect& filter_rect)
override;
79 void SubmitFlutterView(
80 int64_t flutter_view_id,
82 const std::shared_ptr<impeller::AiksContext>& aiks_context,
83 std::unique_ptr<SurfaceFrame>
frame)
override;
86 void EndFrame(
bool should_resubmit_frame,
88 raster_thread_merger)
override;
94 bool SupportsDynamicThreadMerging()
override;
100 bool support_thread_merging_;
102 std::map<int64_t, std::unique_ptr<EmbedderViewSlice>> slices_;
103 std::map<int64_t, MutatorsStack> mutators_stacks_;
104 std::map<int64_t, EmbeddedViewParams> current_composition_params_;
105 std::vector<int64_t> visited_platform_views_;
106 std::atomic<int> submitted_frame_count_;
107 std::atomic<SkISize> last_submitted_frame_size_;
Developer-facing API for rendering anything within the engine.
The external view embedder used by |ShellTestPlatformViewGL|.
int GetSubmittedFrameCount()
void UpdatePostPrerollResult(PostPrerollResult post_preroll_result)
MutatorsStack GetStack(int64_t)
std::vector< int64_t > GetVisitedPlatformViews()
SkISize GetLastSubmittedFrameSize()
std::function< void(bool, fml::RefPtr< fml::RasterThreadMerger >)> EndFrameCallBack
~ShellTestExternalViewEmbedder()=default
ShellTestExternalViewEmbedder(const EndFrameCallBack &end_frame_call_back, PostPrerollResult post_preroll_result, bool support_thread_merging)
const EmbeddedViewParams * params
Dart_NativeFunction function