Flutter Engine
 
Loading...
Searching...
No Matches
embedder_render_target_skia.cc
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
6
8
9namespace flutter {
10
12 FlutterBackingStore backing_store,
13 sk_sp<SkSurface> render_surface,
14 fml::closure on_release,
15 MakeOrClearCurrentCallback on_make_current,
16 MakeOrClearCurrentCallback on_clear_current)
17 : EmbedderRenderTarget(backing_store, std::move(on_release)),
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)) {
21 FML_DCHECK(render_surface_);
22}
23
25
27 return render_surface_;
28}
29
34
35std::shared_ptr<impeller::AiksContext>
37 return nullptr;
38}
39
41 return DlISize(render_surface_->width(), render_surface_->height());
42}
43
46 if (on_make_current_ != nullptr) {
47 return on_make_current_();
48 }
49
50 return {true, false};
51}
52
55 if (on_clear_current_ != nullptr) {
56 return on_clear_current_();
57 }
58
59 return {true, false};
60}
61
62} // namespace flutter
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)
#define FML_DCHECK(condition)
Definition logging.h:122
impeller::ISize32 DlISize
std::function< void()> closure
Definition closure.h:14
Definition ref_ptr.h:261