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)11EmbedderRenderTarget::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()23EmbedderRenderTarget::~EmbedderRenderTarget() { 24 if (on_release_) { 25 on_release_(); 26 } 27 } 28 GetBackingStore() const29const FlutterBackingStore* EmbedderRenderTarget::GetBackingStore() const { 30 return &backing_store_; 31 } 32 GetRenderSurface()33sk_sp<SkSurface> EmbedderRenderTarget::GetRenderSurface() { 34 return render_surface_; 35 } 36 37 } // namespace flutter 38