| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "flutter/flow/layers/child_scene_layer.h" |
| |
| #include "flutter/flow/view_holder.h" |
| |
| namespace flutter { |
| |
| ChildSceneLayer::ChildSceneLayer(zx_koid_t layer_id, |
| const SkPoint& offset, |
| const SkSize& size, |
| bool hit_testable) |
| : layer_id_(layer_id), |
| offset_(offset), |
| size_(size), |
| hit_testable_(hit_testable) {} |
| |
| void ChildSceneLayer::Preroll(PrerollContext* context, const SkMatrix& matrix) { |
| TRACE_EVENT0("flutter", "ChildSceneLayer::Preroll"); |
| set_needs_system_composite(true); |
| } |
| |
| void ChildSceneLayer::Paint(PaintContext& context) const { |
| FML_NOTREACHED() << "This layer never needs painting."; |
| } |
| |
| void ChildSceneLayer::UpdateScene(SceneUpdateContext& context) { |
| FML_DCHECK(needs_system_composite()); |
| |
| auto* view_holder = ViewHolder::FromId(layer_id_); |
| FML_DCHECK(view_holder); |
| |
| view_holder->UpdateScene(context, offset_, size_, hit_testable_); |
| } |
| |
| } // namespace flutter |