1 // Copyright 2014 The Chromium 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 #ifndef CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_LAYER_H_ 6 #define CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_LAYER_H_ 7 8 #include <memory> 9 10 #include "base/macros.h" 11 #include "base/memory/ref_counted.h" 12 #include "cc/layers/layer.h" 13 #include "cc/paint/filter_operations.h" 14 #include "ui/gfx/geometry/size.h" 15 16 namespace android { 17 18 // A simple wrapper for cc::Layer. You can override this to contain 19 // layers and add functionalities to it. 20 class Layer : public base::RefCounted<Layer> { 21 public: 22 virtual scoped_refptr<cc::Layer> layer() = 0; 23 24 protected: Layer()25 Layer() {} ~Layer()26 virtual ~Layer() {} 27 28 private: 29 friend class base::RefCounted<Layer>; 30 31 DISALLOW_COPY_AND_ASSIGN(Layer); 32 }; 33 34 } // namespace android 35 36 #endif // CHROME_BROWSER_ANDROID_COMPOSITOR_LAYER_LAYER_H_ 37