• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
5 #include "flutter/shell/platform/embedder/embedder_render_target.h"
6 
7 #include "flutter/fml/logging.h"
8 
9 namespace flutter {
10 
EmbedderRenderTarget(FlutterBackingStore backing_store,sk_sp<SkSurface> render_surface,fml::closure on_release)11 EmbedderRenderTarget::EmbedderRenderTarget(FlutterBackingStore backing_store,
12                                            sk_sp<SkSurface> render_surface,
13                                            fml::closure on_release)
14     : backing_store_(backing_store),
15       render_surface_(std::move(render_surface)),
16       on_release_(on_release) {
17   // TODO(38468): The optimization to elide backing store updates between frames
18   // has not been implemented yet.
19   backing_store_.did_update = true;
20   FML_DCHECK(render_surface_);
21 }
22 
~EmbedderRenderTarget()23 EmbedderRenderTarget::~EmbedderRenderTarget() {
24   if (on_release_) {
25     on_release_();
26   }
27 }
28 
GetBackingStore() const29 const FlutterBackingStore* EmbedderRenderTarget::GetBackingStore() const {
30   return &backing_store_;
31 }
32 
GetRenderSurface()33 sk_sp<SkSurface> EmbedderRenderTarget::GetRenderSurface() {
34   return render_surface_;
35 }
36 
37 }  // namespace flutter
38