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_TILE_DRAW_QUAD_H_ 6 #define CC_QUADS_TILE_DRAW_QUAD_H_ 7 8 #include "cc/quads/content_draw_quad_base.h" 9 10 namespace cc { 11 12 class CC_EXPORT TileDrawQuad : public ContentDrawQuadBase { 13 public: 14 static scoped_ptr<TileDrawQuad> Create(); 15 virtual ~TileDrawQuad(); 16 17 void SetNew(const SharedQuadState* shared_quad_state, 18 gfx::Rect rect, 19 gfx::Rect opaque_rect, 20 unsigned resource_id, 21 const gfx::RectF& tex_coord_rect, 22 gfx::Size texture_size, 23 bool swizzle_contents); 24 25 void SetAll(const SharedQuadState* shared_quad_state, 26 gfx::Rect rect, 27 gfx::Rect opaque_rect, 28 gfx::Rect visible_rect, 29 bool needs_blending, 30 unsigned resource_id, 31 const gfx::RectF& tex_coord_rect, 32 gfx::Size texture_size, 33 bool swizzle_contents); 34 35 unsigned resource_id; 36 37 virtual void IterateResources(const ResourceIteratorCallback& callback) 38 OVERRIDE; 39 40 static const TileDrawQuad* MaterialCast(const DrawQuad*); 41 42 private: 43 TileDrawQuad(); 44 virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE; 45 }; 46 47 } // namespace cc 48 49 #endif // CC_QUADS_TILE_DRAW_QUAD_H_ 50