13 sk_sp<SkSurface> render_surface,
18 render_surface_(
std::move(render_surface)),
19 on_make_current_(
std::move(on_make_current)),
20 on_clear_current_(
std::move(on_clear_current)) {
27 return render_surface_;
35std::shared_ptr<impeller::AiksContext>
41 return DlISize(render_surface_->width(), render_surface_->height());
46 if (on_make_current_ !=
nullptr) {
47 return on_make_current_();
55 if (on_clear_current_ !=
nullptr) {
56 return on_clear_current_();
Describes a surface whose backing store is managed by the embedder. The type of surface depends on th...
std::function< SetCurrentResult()> MakeOrClearCurrentCallback
impeller::RenderTarget * GetImpellerRenderTarget() const override
An impeller render target the rasterizer can use to draw into the backing store.
SetCurrentResult MaybeClearCurrent() const override
Clear the current render target.
std::shared_ptr< impeller::AiksContext > GetAiksContext() const override
Returns the AiksContext that should be used for rendering, if this render target is backed by Impelle...
DlISize GetRenderTargetSize() const override
Returns the size of the render target.
SetCurrentResult MaybeMakeCurrent() const override
Make the render target current.
sk_sp< SkSurface > GetSkiaSurface() const override
A render surface the rasterizer can use to draw into the backing store of this render target.
EmbedderRenderTargetSkia(FlutterBackingStore backing_store, sk_sp< SkSurface > render_surface, fml::closure on_release, MakeOrClearCurrentCallback on_make_current, MakeOrClearCurrentCallback on_clear_current)
~EmbedderRenderTargetSkia() override
#define FML_DCHECK(condition)
impeller::ISize32 DlISize
std::function< void()> closure