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