12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Copyright 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#ifndef CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/memory/scoped_ptr.h"
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/base/cc_export.h"
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "cc/quads/draw_quad.h"
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "third_party/skia/include/core/SkColor.h"
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)namespace cc {
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class CC_EXPORT CheckerboardDrawQuad : public DrawQuad {
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public:
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  CheckerboardDrawQuad();
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  void SetNew(const SharedQuadState* shared_quad_state,
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& rect,
21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)              const gfx::Rect& visible_rect,
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              SkColor color);
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  void SetAll(const SharedQuadState* shared_quad_state,
255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& rect,
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& opaque_rect,
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& visible_rect,
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              bool needs_blending,
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              SkColor color);
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  SkColor color;
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual void IterateResources(const ResourceIteratorCallback& callback)
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    OVERRIDE;
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static const CheckerboardDrawQuad* MaterialCast(const DrawQuad*);
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private:
395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace cc
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // CC_QUADS_CHECKERBOARD_DRAW_QUAD_H_
45