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_QUADS_CHECKERBOARD_DRAW_QUAD_H_ 6 #define CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_ 7 8 #include "base/memory/scoped_ptr.h" 9 #include "cc/base/cc_export.h" 10 #include "cc/quads/draw_quad.h" 11 #include "third_party/skia/include/core/SkColor.h" 12 13 namespace cc { 14 15 class CC_EXPORT CheckerboardDrawQuad : public DrawQuad { 16 public: 17 static scoped_ptr<CheckerboardDrawQuad> Create(); 18 19 void SetNew(const SharedQuadState* shared_quad_state, 20 gfx::Rect rect, 21 SkColor color); 22 23 void SetAll(const SharedQuadState* shared_quad_state, 24 gfx::Rect rect, 25 gfx::Rect opaque_rect, 26 gfx::Rect visible_rect, 27 bool needs_blending, 28 SkColor color); 29 30 SkColor color; 31 32 virtual void IterateResources(const ResourceIteratorCallback& callback) 33 OVERRIDE; 34 35 static const CheckerboardDrawQuad* MaterialCast(const DrawQuad*); 36 37 private: 38 virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE; 39 CheckerboardDrawQuad(); 40 }; 41 42 } // namespace cc 43 44 #endif // CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_ 45