1 // Copyright 2013 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_CONTENT_DRAW_QUAD_BASE_H_ 6 #define CC_QUADS_CONTENT_DRAW_QUAD_BASE_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/khronos/GLES2/gl2.h" 12 #include "ui/gfx/point.h" 13 #include "ui/gfx/size.h" 14 15 namespace cc { 16 17 class CC_EXPORT ContentDrawQuadBase : public DrawQuad { 18 public: 19 void SetNew(const SharedQuadState* shared_quad_state, 20 DrawQuad::Material material, 21 const gfx::Rect& rect, 22 const gfx::Rect& opaque_rect, 23 const gfx::Rect& visible_rect, 24 const gfx::RectF& tex_coord_rect, 25 const gfx::Size& texture_size, 26 bool swizzle_contents); 27 28 void SetAll(const SharedQuadState* shared_quad_state, 29 DrawQuad::Material material, 30 const gfx::Rect& rect, 31 const gfx::Rect& opaque_rect, 32 const gfx::Rect& visible_rect, 33 bool needs_blending, 34 const gfx::RectF& tex_coord_rect, 35 const gfx::Size& texture_size, 36 bool swizzle_contents); 37 38 gfx::RectF tex_coord_rect; 39 gfx::Size texture_size; 40 bool swizzle_contents; 41 42 protected: 43 ContentDrawQuadBase(); 44 virtual ~ContentDrawQuadBase(); 45 virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE; 46 }; 47 48 } // namespace cc 49 50 #endif // CC_QUADS_CONTENT_DRAW_QUAD_BASE_H_ 51