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_DEBUG_BORDER_DRAW_QUAD_H_
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#define CC_QUADS_DEBUG_BORDER_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 DebugBorderDrawQuad : public DrawQuad {
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public:
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DebugBorderDrawQuad();
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)              int width);
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  void SetAll(const SharedQuadState* shared_quad_state,
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& rect,
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& opaque_rect,
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              const gfx::Rect& visible_rect,
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              bool needs_blending,
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              SkColor color,
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              int width);
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  SkColor color;
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  int width;
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  virtual void IterateResources(const ResourceIteratorCallback& callback)
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      OVERRIDE;
382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  static const DebugBorderDrawQuad* MaterialCast(const DrawQuad*);
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)
412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private:
425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE;
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)};
442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)}  // namespace cc
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#endif  // CC_QUADS_DEBUG_BORDER_DRAW_QUAD_H_
48