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 gfx::Rect rect, 22 gfx::Rect opaque_rect, 23 const gfx::RectF& tex_coord_rect, 24 gfx::Size texture_size, 25 bool swizzle_contents); 26 27 void SetAll(const SharedQuadState* shared_quad_state, 28 DrawQuad::Material material, 29 gfx::Rect rect, 30 gfx::Rect opaque_rect, 31 gfx::Rect visible_rect, 32 bool needs_blending, 33 const gfx::RectF& tex_coord_rect, 34 gfx::Size texture_size, 35 bool swizzle_contents); 36 37 gfx::RectF tex_coord_rect; 38 gfx::Size texture_size; 39 bool swizzle_contents; 40 41 protected: 42 ContentDrawQuadBase(); 43 virtual ~ContentDrawQuadBase(); 44 virtual void ExtendValue(base::DictionaryValue* value) const OVERRIDE; 45 }; 46 47 } // namespace cc 48 49 #endif // CC_QUADS_CONTENT_DRAW_QUAD_BASE_H_ 50