23 bool support_thread_merging);
51 raster_thread_merger)
override;
55 double device_pixel_ratio)
override;
60 std::unique_ptr<EmbeddedViewParams>
params)
override;
75 const std::shared_ptr<const DlImageFilter>& filter,
76 const SkRect& filter_rect)
override;
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;
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_;
The external view embedder used by |ShellTestPlatformViewGL|.
void UpdatePostPrerollResult(PostPrerollResult post_preroll_result)
MutatorsStack GetStack(int64_t)
DlCanvas * GetRootCanvas() override
void BeginFrame(GrDirectContext *context, const fml::RefPtr< fml::RasterThreadMerger > &raster_thread_merger) override
void PrerollCompositeEmbeddedView(int64_t view_id, std::unique_ptr< EmbeddedViewParams > params) override
std::vector< int64_t > GetVisitedPlatformViews()
void PrepareFlutterView(SkISize frame_size, double device_pixel_ratio) override
std::function< void(bool, fml::RefPtr< fml::RasterThreadMerger >)> EndFrameCallBack
PostPrerollResult PostPrerollAction(const fml::RefPtr< fml::RasterThreadMerger > &raster_thread_merger) override
void PushFilterToVisitedPlatformViews(const std::shared_ptr< const DlImageFilter > &filter, const SkRect &filter_rect) override
bool SupportsDynamicThreadMerging() override
void EndFrame(bool should_resubmit_frame, const fml::RefPtr< fml::RasterThreadMerger > &raster_thread_merger) override
DlCanvas * CompositeEmbeddedView(int64_t view_id) override
void PushVisitedPlatformView(int64_t view_id) override
void SubmitFlutterView(int64_t flutter_view_id, GrDirectContext *context, const std::shared_ptr< impeller::AiksContext > &aiks_context, std::unique_ptr< SurfaceFrame > frame) override
~ShellTestExternalViewEmbedder()=default