| // Copyright 2015 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef SKY_COMPOSITOR_LAYER_TREE_H_ | 
 | #define SKY_COMPOSITOR_LAYER_TREE_H_ | 
 |  | 
 | #include <memory> | 
 |  | 
 | #include "base/macros.h" | 
 | #include "sky/compositor/layer.h" | 
 | #include "third_party/skia/include/core/SkSize.h" | 
 |  | 
 | namespace sky { | 
 | namespace compositor { | 
 |  | 
 | class LayerTree { | 
 |  public: | 
 |   LayerTree(); | 
 |   ~LayerTree(); | 
 |  | 
 |   Layer* root_layer() const { return root_layer_.get(); } | 
 |  | 
 |   void set_root_layer(std::unique_ptr<Layer> root_layer) { | 
 |     root_layer_ = std::move(root_layer); | 
 |   } | 
 |  | 
 |   const SkISize& frame_size() const { return frame_size_; } | 
 |  | 
 |   void set_frame_size(const SkISize& frame_size) { frame_size_ = frame_size; } | 
 |  | 
 |  private: | 
 |   SkISize frame_size_;  // Physical pixels. | 
 |   std::unique_ptr<Layer> root_layer_; | 
 |  | 
 |   DISALLOW_COPY_AND_ASSIGN(LayerTree); | 
 | }; | 
 |  | 
 | }  // namespace compositor | 
 | }  // namespace sky | 
 |  | 
 | #endif  // SKY_COMPOSITOR_LAYER_TREE_H_ |