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_STREAM_VIDEO_DRAW_QUAD_H_ 6 #define CC_QUADS_STREAM_VIDEO_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 "ui/gfx/transform.h" 12 13 namespace cc { 14 15 class CC_EXPORT StreamVideoDrawQuad : public DrawQuad { 16 public: 17 StreamVideoDrawQuad(); 18 19 void SetNew(const SharedQuadState* shared_quad_state, 20 const gfx::Rect& rect, 21 const gfx::Rect& opaque_rect, 22 const gfx::Rect& visible_rect, 23 unsigned resource_id, 24 const gfx::Transform& matrix); 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::Transform& matrix); 33 34 unsigned resource_id; 35 gfx::Transform matrix; 36 37 virtual void IterateResources(const ResourceIteratorCallback& callback) 38 OVERRIDE; 39 40 static const StreamVideoDrawQuad* MaterialCast(const DrawQuad*); 41 42 private: 43 virtual void ExtendValue(base::debug::TracedValue* value) const OVERRIDE; 44 }; 45 46 } // namespace cc 47 48 #endif // CC_QUADS_STREAM_VIDEO_DRAW_QUAD_H_ 49