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