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