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.
5 #ifndef CCYUVVideoDrawQuad_h
6 #define CCYUVVideoDrawQuad_h
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
10 #include "CCDrawQuad.h"
11 #include "CCVideoLayerImpl.h"
15 class CCYUVVideoDrawQuad
: public CCDrawQuad
{
17 static scoped_ptr
<CCYUVVideoDrawQuad
> create(const CCSharedQuadState
*, const IntRect
&, const CCVideoLayerImpl::FramePlane
& yPlane
, const CCVideoLayerImpl::FramePlane
& uPlane
, const CCVideoLayerImpl::FramePlane
& vPlane
);
19 const CCVideoLayerImpl::FramePlane
& yPlane() const { return m_yPlane
; }
20 const CCVideoLayerImpl::FramePlane
& uPlane() const { return m_uPlane
; }
21 const CCVideoLayerImpl::FramePlane
& vPlane() const { return m_vPlane
; }
23 static const CCYUVVideoDrawQuad
* materialCast(const CCDrawQuad
*);
25 CCYUVVideoDrawQuad(const CCSharedQuadState
*, const IntRect
&, const CCVideoLayerImpl::FramePlane
& yPlane
, const CCVideoLayerImpl::FramePlane
& uPlane
, const CCVideoLayerImpl::FramePlane
& vPlane
);
27 CCVideoLayerImpl::FramePlane m_yPlane
;
28 CCVideoLayerImpl::FramePlane m_uPlane
;
29 CCVideoLayerImpl::FramePlane m_vPlane
;
31 DISALLOW_COPY_AND_ASSIGN(CCYUVVideoDrawQuad
);