solid_color_layer_impl.h revision 5b892326406927b709cdaf6c384d4ababf456332
1// Copyright 2012 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 CC_LAYERS_SOLID_COLOR_LAYER_IMPL_H_ 6#define CC_LAYERS_SOLID_COLOR_LAYER_IMPL_H_ 7 8#include "base/memory/scoped_ptr.h" 9#include "cc/base/cc_export.h" 10#include "cc/layers/layer_impl.h" 11 12namespace cc { 13 14class CC_EXPORT SolidColorLayerImpl : public LayerImpl { 15 public: 16 static scoped_ptr<SolidColorLayerImpl> Create(LayerTreeImpl* tree_impl, 17 int id) { 18 return make_scoped_ptr(new SolidColorLayerImpl(tree_impl, id)); 19 } 20 21 static void AppendSolidQuads( 22 RenderPass* render_pass, 23 const OcclusionTracker<LayerImpl>& occlusion_tracker, 24 SharedQuadState* shared_quad_state, 25 const gfx::Rect& visible_content_rect, 26 const gfx::Transform& target_space_transform, 27 SkColor color); 28 29 virtual ~SolidColorLayerImpl(); 30 31 // LayerImpl overrides. 32 virtual scoped_ptr<LayerImpl> CreateLayerImpl(LayerTreeImpl* tree_impl) 33 OVERRIDE; 34 virtual void AppendQuads(RenderPass* render_pass, 35 const OcclusionTracker<LayerImpl>& occlusion_tracker, 36 AppendQuadsData* append_quads_data) OVERRIDE; 37 38 protected: 39 SolidColorLayerImpl(LayerTreeImpl* tree_impl, int id); 40 41 private: 42 virtual const char* LayerTypeAsString() const OVERRIDE; 43 44 DISALLOW_COPY_AND_ASSIGN(SolidColorLayerImpl); 45}; 46 47} // namespace cc 48 49#endif // CC_LAYERS_SOLID_COLOR_LAYER_IMPL_H_ 50